网络-03-物理层与数据链路层

162 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

物理层与数据链路层

本节将正式开始进入网络分层架构的介绍。本节将从网络层级结构开始,分析一个数据包在传输过程中会进行什么样的封装,经历哪几层。并且从比较简单的物理层和数据链路层开始(简单指的是对于开发人员不是那么重要),一窥网络传输的奥秘。

网络分层

为了促进网络的发展和研究,ISO组织于1985年确定了网络分层模型,这就是著名的OSI七层模型。经过不断的发展,开发人员发现划分成四层更加具备实战意义,也就是TCP/IP四层网络模型。

截屏2022-12-08 17.20.13.png

如图我们可以发现,四层其实就是把应用层,表示层和会话层都合并成了应用层,把数据链路层和物理层合并为了网络接口层。

在我们发送网络请求时,数据会被一层一层地封装起来,每一层都有属于自己的任务,最后会一层一层地解封装直到得到最终传输的数据。之所以要将不同的功能进行分层是为了解除耦合,再升级某一层功能后不会影响到其他层级的任务。

不同的层级使用的协议不同,同时最小单位的名称也不一样

截屏2022-12-08 18.10.13.png

记住每一个层级最小单位的名称有助于在后续的文章中了解到目前正在讲的设计到哪一层。

物理层

物理层定义了接口的标准,线缆的标准,传输的速率及方式等。

在物理层中的信号分成三种。

1.模拟信号,这种连续的信号适合长距离的传输,但是抗干扰能力比较差,收到干扰后比较难纠正,在过去的调制解调器之间连接电话线就是使用的模拟信号。

2.数字信号,这种离散的信号不适合长距离的传输,抗干扰能力比较强,目前家庭内使用的就是数字信号。

3.光信号,光信号抗干扰能力强,而且具有很强的长距离传输能力,但是对于传输线路要求较高,目前长距离传输信号都使用的光纤。

在物理层中的信道也分成三种。

1.单工通信,这种信道只能往一个方向进行传输,常见的有无线电广播,有线电视等。

2.半双工通信,这种信道可以双向传输,但是必须交替进行,同一时间只能往一个方向传输,比如对讲机,同轴电缆等。

3.全双工通信,这种信道可以同时双向传输,比如交换机,手机等。

作为开发工程师,对于物理层接触到的非常少,所以在这里简单地介绍一下,如果想要了解更多关于物理层的信息,可以查阅其他的文章哦。

数据链路层

什么叫做链路,链路是指一个节点到相邻节点的一段中间没有交换节点的物理线路。而我们需要对应的通信协议来控制数据的传输。

对于数据链路层需要解决三个问题。

1.封装成帧:上面说到帧是数据链路层的最小单位,帧中间的数据部分就是上一层传递下来的也就是数据包,在数据链路层中对数据包有大小的限制,这就是最大传输单元MTU,以太网的MTU为1500个字节。对于一个数据包,我们需要加上帧首部和帧尾部以及开始符和结束符。但是如果数据部分出现了开始符和结束符怎么办呢?

2.透明传输:开始符为SOH,结束符为EOT,如果在数据中出现了开始符和结束符,需要在数据后加上ESC字节填充进行转义。

3.差错校验:对于帧的数据部分和首部部分会通过计算得到FCS并填充到尾部中,当接收设备接收到数据会再次计算FCS,最后比较两个FCS,如果一致则接收否则丢弃数据。

同时对于数据链路层不同的链路用到的协议不同,接下来会介绍两种协议,分别是CSMA/CD协议以及PPP协议。

CSMA/CD

该协议叫做载波监听多路访问/冲突检测,名字非常的长但是其实为了检测正在发送的帧是否产生了冲突,主要应用在过去的半双工通信中,使用了该协议的网络被称为以太网,传输的就是以太网帧,最主要的使用格式就是Ethernet V2标准。现在通过交换机组成的网络已经支持了全双工通信,因此这种协议已经不再使用了,但是它传输的帧仍然是以太网帧。

该协议要求以太网帧至少要64字节。

截屏2022-12-09 16.08.37.png

PPP

该协议叫点对点协议,这种协议不需要源MAC和目标MAC,用于路由器之间传输数据。

截屏2022-12-09 16.25.11.png

总结

本节介绍了网络的分层,了解到一个数据需要经过什么样的封装。同时也简单介绍了网络分层中的网络层和数据链路层,由于这两层对于开发工程师不是经常接触到,所以介绍的内容比较少,如果感兴趣的话可以去搜索更详细的介绍。从下节开始,将进入网络层的介绍,网络层将是学习的重点之一。

感谢观看!