数据链路层中使用的是两种信道:点对点信道和广播信道
一、1.点对点信道的数据链路层在进行通信的主要步骤:
(1)、结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
(2)、结点A把封装好的帧发送给结点B的数据链路层。
(3)、若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出来IP数据报交给上面的网络层;否则丢弃这个帧。
注意的是:点对点信道传输帧只是在数据链路层把帧直接发送给对方。
2.点对点信道的三个基本问题
(1)、封装成帧
将数据封装成帧的形式,才进行发送给对方。首先帧有首部(SOH)、IP数据报和尾部(EOT)。帧长是由首部+IP数据报+尾部组成。发送帧时是从帧的首部(SOH)开始。
(2)、透明传输
透明传输:当创送的帧是用文本文件组成的帧时,其数据部分显然不会出现像SOH或EOT这样的帧定界控制符。在键盘上输入什么字符都可以放在帧上传输过去。
在透明传输中的问题是:当帧的数据部分是非ASCII码的文本文件时,在数据中可能会出现与控制字符(SOH或EOT)的某个字节的二进制代码时,数据链路层就会把部分帧收下,另外部分就会丢弃,这样会导致出错。解决这样的问题用字符填充:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入转义字符“ESC”。
(3)差错传输
点对点信道采用ppp协议
1.ppp协议满足的要求
(1)、简单
(2)、封装成帧
(3)、透明性
(4)、多种网络层协议
(5)、多种类型链路
(6)、差错检测
(7)、检测连接状态
(8)、最大传送单元
(9)、网络层地址协商
(10)、数据压缩协商
2.ppp协议的组成
ppp帧是由首部四个部分、信息部分和尾部两个部分组成。
ppp首部的第四个字段是两个字段的协议字段。
当协议字段为0x0021时,ppp帧的信息字段是IP数据报。
协议字段为0xC021,ppp帧的信息字段为ppp链路控制协议LCP的数据。
协议字段为0x8021,则信息字段为网络层的控制数据。
协议字段为0xC023,信息字段为鉴别数据。
ppp协议使用同步传输链路时,ppp协议采用硬件来完成比特填充。
ppp协议使用异步传输链路时,ppp协议采用字节填充
字节填充的方法:(1)、把信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E).
(2)、若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D转变成2个字节序列(0x7D,0x5D)。
(3)、若信息字段中出现ASCII码的控制字符,则在该字符前面要加入一个0x7D字节,同时将该字节的编码加以改变。