YB体育数据链路层——封装成帧、透明传输、差错检测、最大传输单元MTU、以太网协议
发布时间:2024-02-22 02:26:39

  YB体育OSI模型中的数据链路层与物理层在TCP/IP协议中同属于网络接口层。

  数据链路层为物理连接之间提供了可靠的数据传输。数据链路层主要解决3个问题封装成帧、透明传输、差错检测。

  “帧”是数据链路层中数据的基本单位发送端在一段数据前后添加特定标记形成“帧”接收端根据前后特定标记识别出“帧”。

  假如帧数据中刚好存在帧首部、帧尾部的比特流那该怎么处理呢

  如果帧数据中就包含了ESCEOT比特流则在前面再加一个转义字符。

  “透明”在计算机领域是一个非常重要的术语透明即“当它不存在”。在特殊比特流前面加转义比特流将帧数据中的特殊比特流透明化以便能把这些比特流标识为正常的数据。

  数据在物理层以比特流的方式传输传输过程中可能发生差错0可能变成11可能变成0。数据链路层提供差错检测功能在发送的数据块中添加一些冗余信息以便接收方判断数据在传输过程中是否出错。

  奇偶检验码是一种通过增加冗余位使得码流中1的个数恒为奇数或偶数的编码方法YB体育。下面以码流中“1”恒为偶数讲解。

  当001100101在传输过程中有一个比特位发生变化变成了000100101接收端收到数据后发现“1”的个数为奇数个则认为此数据在传输过程中发生了错误。

  奇偶检验有局限性如果数据有两个比特位发生错误奇偶检验无法检测出错误。例如001100101在传输过程中前面的两位发生错误变成111100101由于“1”的个数还是偶数个则服务端认为此数据是正确的。

  目前在数据链路层广泛使用了CRC检测技术循环冗余检测。CRC校验码是在数据后面添加n位冗余码构成“数据n位冗余码”的帧发送出去。

  2、在数据尾部添加r个0使用模“2”除法除以多项式的位串。

  接收端将接收到的数据除以对应的二进制串1101如果余数为0则认为数据没有出错。

  数据链路层传输数据的基本单位是帧数据帧不可能无限大以太网的MTU一般为1500字节。

  路径MTU是指一条因特网传输路径中从源地址到目的地址所经过的“路径”上的所有IP跳的MTU的最小值。

  上图中计算机A向计算机B传输数据会经过几个小型网络小型网络之间的MTU各不相同。路径MTU就是此“路径”上最小的MTU路径MTU 1492

  以太网(Ethernet)是一种使用广泛的局域网技术可以完成相邻设备的数据帧传输是TCP/IP协议簇四层模型的网络接口层使用的协议。

  目的地址、原地址是接收端、发送端的MAC地址各占6个字节前面有提到MAC地址是6个字节的。

  帧数据是网络层交付给数据链路层的数据。数据链路层将网络层的数据加上头目的地址、源地址YB体育、类型加上尾CRC冗余校验码就组成了以太帧网协议的数据帧。

  2、路由器接收到A发送的数据帧后读取数据帧中的目的地址。路由器通过MAC地址表知道目的地址的设备插在了E3接口上则将数据帧发送给E3接口的设备YB体育。

  1、路由器收到A发送的数据帧后在MAC地址表中找不到目的地址与硬件接口的映射就会将数据帧广播给除了A以外的所有设备。

  2、将数据广播出去后路由器将收到B、C的响应信息并将C的MAC地址与硬件接口的映射更新到MAC地址表。

  以太网协议只能解决相邻节点的数据传输这种跨设备传输的问题将交给网络层解决。请看这篇博客