趣谈网络协议笔记-一

目录

第一模块 通信协议综述

第一讲 | 为什么要学习网络协议

第二讲 | 网络分层的真正含义是什么?

第三讲 | ifconfig:最熟悉又陌生的命令行

第四讲 | DHCP与PXE:IP是怎么来的,又是怎么没的


前言

在写这篇文章的时候我其实很矛盾的,矛盾什么呢?矛盾我该怎么记录自己的想法,想了很久,我也不是那种勤奋的人,但是也不想让别人感觉我太懒。
犹豫再三,我还是决定用自己的语言来对自己的所得进行重述。
家人,我真的很爱你们,但是真的,过去,很多时候在困扰着我,我不知为什么,总是摆脱不了!


正文

第一模块正如其名只是一个综述,不会对于每个细节都拿捏到极致,我也不会死扣细节,只希望能够对整体有一个了解,不能只见树木不见森林!

一. 数据通过http协议是怎么通过网络到达目的地的?

首先我需要编辑一个文本或者是html也就是我希望展示或者反馈给对方的内容。此时我必须知道我想要发送到目的地的ip地址对应的端口(http协议的默认端口为80),就像我们平常寄信一样,我至少需要知道对方的地址吧,邮递员至少能通过地址找到对应的位置,然后把信放到对应的收信箱里面,尽管没写收件人。
然后是将内容依次加上Http头(包括URL,请求的方式,内容的格式,Http协议的版本,内容的编码方式等),TCP头(包括请求的发送方和接收方的端口),IP头(包括发送方的接收方的IP地址),MAC头(包括发送方和接收方的MAC地址)。置于为什么要同时记录己方和目的地的各种信息,首先是为了能确保自己能够到达目的地,其次是为了确保自己能够回得来!
然后,信息会通过网卡从当前计算机发送到当前局域网的网关,网关是联系两个网络的通道。网关往往也带有路由的功能,带有一张路由表,记录着到达某个ip的下一个网关的ip地址,当然如果是在同一个局域网,那么就不用再进行路由操作了。
知道了下一个ip地址之后,通过arp协议可以知道该ip所对应的mac地址,毕竟物理层只认mac地址,而对ip无感。当前我所理解的是,物理层是能将数据传递到已知mac地址位置的一个黑盒,具体的还要等后续的深入学习。
以此往复,数据传输到了目的地址上。
目的地址在获得数据后,首先去除了MAC头,毕竟MAC地址已经核对上了。然后是对IP头进行分析,因为一台计算机可能有多张网卡,还有可能有虚拟机,匹配到网卡后去IP头。去掉IP头后就是TCP头中包含的端口信息,匹配端口后去掉TCP头,此时会发送一个TCP报文给请求方以表示传输无误,当然如果请求方在一定时间内没有收到回复报文,那么请求方会重新发送HTTP请求。接着是HTTP头中对于内容或者目的的描述,获取后去掉HTTP头即可拿到具体的请求内容。由此,数据就顺利到达了目的地。

二. 为什么网络要分层

人类的强大来源于合作,精通全部的人毕竟是少数,而且不可能指望一个人将所有人的工作揽到自己身上。所以,进行分层来操作是必须的。通过分层,可以很好的达成两个目的,第一,可以让各层达到解耦的状态,从而实现更好的复用;第二,可以让那些愚蠢的人类只关心那些浅表的东西,并且只专注于那些浅表的东西,这样一来,所谓的聪明人就会一直占据所有的理论制高点,维持自己的地位和话语权。

三. DHCP的大致流程&IP是怎么被保持占有的?

DHCP协议的主要目的是让连入局域网的终端能够做任何配置就能直接获取到IP地址从而连入局域网。目的有二,第一,人都是懒得,做任何事情都是有更简单的方式就一定会用更简单的方式来实现;第二,如果大多数人都是用DHCP协议那就能确保IP地址的充分利用。
当通过DHCP协议申请到的IP过了有效时间的一半,那么会在发送一次DHCP协议

四. 为什么需要IP而不是直接使用MAC地址

局域网相当于小区,IP地址相当于住所,MAC地址相当于住户,住户是有可能改变的,我这台机器有可能今天在这里,明天就在那里了。局域网管理ip比管理mac地址靠谱,因为ip地址是有限的且有一定规律和范围的,但是mac地址是相对无限且无序的。因此,我作为局域网,只需要管理好我旗下的IP地址,然后建立一张表来维护IP和MAC地址之间的匹配关系即可,简单且可控。


小结

感觉还是很粗浅,自己对于网络协议的理解,很多细节还是没有理解透彻,不过毕竟是第一模块,希望后续的章节能够填补我内心的空白!

猜你喜欢

转载自blog.csdn.net/qq_31433709/article/details/107572125