文档介绍:第三章数据链路层
计算机系网络工程研究所
使用点对点信道的数据链路层
数据链路与帧
链路(link)是一对相邻结点间的物理线路,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
两个计算机之间的通信路径往往需要经过多个这种链路。(也称为物理链路)
数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
现在最常用的方法是使用网络适配器(如以太网适配器,拨号适配器)来实现这些协议的硬件和软件。
一般的适配器都包括了数据链路层和物理层这两层的功能。(也称为逻辑链路)。
数据链路与帧
帧:数据链路层的协议数据单元(PDU)
采用与数据链路层相关的三层模型,来说明相邻结点间的通信。
数据链路与帧
IP 数据报
1010……0110
帧
取出
数据
链路层
网络层
链路
结点 A
结点 B
物理层
数据
链路层
结点 A
结点 B
帧
(a)
(b)
发送
帧
接收
链路
IP 数据报
1010……0110
帧
装入
数据链路与帧
点对点信道的数据链路层在进行通信的主要步骤:
结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
结点A把封装好的帧发给结点B的数据链路层
若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给网络层;否则丢弃这个帧(重发工作由上层完成,此处只确保无错传输)。
封装成帧
封装成帧(framing):在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界。
因特网上传输的分组(IP数据报),在网络层的IP数据报传送到数据链路层就成为帧的数据部分。在帧的数据部分前面和后面分别添加上首部和尾部,构成完整的帧。发送帧时,从帧的首部开始发送。
首部和尾部还包括必要的控制信息。每种数据链路层协议都要对帧首部和尾部的格式有明确的规定。并规定了帧的数据部分的长度上限——最大传送单元MTU。
封装成帧
帧结束
帧首部
IP 数据报
帧的数据部分
帧尾部
MTU
数据链路层的帧长
开始
发送
帧开始
封装成帧
帧定界的方法:
在数据完全是ASCII码组成的文本的时候,使用特殊的帧定界符对帧定界。
ASCII码由7位编码(128种编码),95种可打印的,33种不可打印的控制字符。
控制字符SOH(Start Of Header,值为0X01)放在帧的最前面,表示帧的开始。
控制字符EOT(End Of Transmission,值为0X04)表示帧的结束。
封装成帧
只有具有完整帧定界符的帧,才是正确有效的帧,否则丢弃。
SOH
装在帧中的数据部分
帧
帧开始符
帧结束符
发送在前
EOT