数据链路层及PPP协议


(上图为主机H1和主机H2进行通信时,从协议的层次上看数据的流动可见 路由器在转发分组时只用了下面三层)
数据进入路由器后要先从物理层上到网络层,在转发表中找到下一跳的地址后,再到物理层转发出去。
点对点信道(把H1/R1/R2/R3/H2都看成结点)的数据链路层在进行通信时的主要步骤:
(1)结点A的数据链路层把网络层传下来的IP数据报添加首部和尾部封装成帧
(2)结点A把封装好的帧发送给B的数据链路层
(3)若结点B收到的帧无差错,则把帧中提取的IP数据报(去头去尾)上发给网络层,若有差错,则丢弃
帧的头部和尾部能够确保接收方收到一个完整的信息,但是如果数据报中的数据和帧的头(1H)/尾部(4H)一方重合,就会造成接收方误判,而不能收到完整的数据报。
解决的一个办法是在和数据报头尾重合的数据前加上ESC(1BH)转义字符,如果数据中本身存在转义字符,那在转义字符前面再加转义字符
为了确保接收方无差错接受,还有一个办法是CRC检验(循环冗余)
简单来说就是做一个模2除法,这个方法能够得到一个n位的冗余码。
我们约定,被传送的数据为M,M有kbit,并且发送方和接收方事先约定好一个除数P,P有n+1bit
将M添加n个0与P进行模2运算,得到的余数就是冗余码FCS,FCS为n位
在这里插入图片描述
模2运算其实就是异或运算
如果得出的余数为0,表示没有差错,接受,反之丢弃。
帧检测序列FCS是在发送方生成的并且发送的数据帧为M+FCS,CRC检验在接收方执行
CRC检验能够实现无比特差错的传输
PPP协议是用户和ISP进行通信的一种链路层协议
PPP协议的特点:PPP协议只支持点对点链路,不支持多线路(一个主站轮流和多个从站进行通信),此外,支持全双工通信。
关于全双工/半双工/单工:全双工是在同一瞬时,A可以发送给B,B也可以发送给A,半双工和全双工不同的是在A发送给B时,B不能发送给A,即不能实现瞬时一起。
PPP协议的组成
(1)一个将IP数据报封装到串行链路的方法
(2)一个用来建立/配置和测试数据链路连接的链路控制协议(LCP
(3)一套网络控制协议NCP
PPP协议的帧格式
PPP帧的首部和尾部分别为4个字段和2个字段,首部的第一个字段和尾部的第二个字段都是标志字段(F),规定为0x7E,0x表示后面是16进制,标志字段表示一个帧的开始或结束,因此标志字段就是PPP帧的界定符,连续两帧之间只需用一个标志字段,如果连续出现两个标志字段,表示这个帧是空帧,应当丢弃
(1)首部的地址字段A规定为0xFF,控制字段C规定为0x03,且两个字段没有携带PPP帧的信息,
首部的第四个字段是2字节的协议字段,当协议字段为0x0021时,PPP帧的信息字段就是IP数据报,若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据。
(2)信息字段的长度是可变的,不超过1500字节
(3)尾部中的第1个字段是使用CRC的帧检测序列FCS
字节填充 当信息字段中出现和标志字符一样的比特组合时,当PPP使用异步传输时,它把转义符定义为0x7D
(1)把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)
(2)把信息字段中出现的每一个0x7D(即和转义字符一样的组合)转变为2字节序列(0x7D,0x5E)
(3)若信息字段中出现ASCII码的控制字符(即数值小于0x20),则在该字符前面要加一个0x7D字节。
由于在发送端进行了字节填充,因此在链路上传输的字节数超过了原来的字节数,但接收端在收到数据之后,再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息。
零比特传输
PPP协议在使用SONET,SDN链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(一个字符一个字符地传下去),通过零比特传输实现透明传输。零比特传输的具体做法是,在发送端只要出现连续5个1,就立即填入1个0,因此可以保证不会出现连续6个1,
接收端在接收一个帧时,先找到标志字段F确定一个帧的边界,接着再用硬件对其中的比特流进行扫描,每当发现连续5个1时,就把它后面的0删除。
PPP链路一开始是怎样初始化的?
当用户拨号接入ISP后,就建立了一条从个人电脑到ISP的链路,这时,个人电脑将向ISP发送一系列的链路控制协议LCP分组(分装成多个PPP帧),以便建立LCP连接,这些分组及其响应选择了一些将要使用的PPP参数,接着还要进行网络层配置,网络控制协议NCP给新接入的用户的个人电脑分配一个临时的IP地址,当用户通信完毕时,NCP释放网络连接,收回原来分配的IP地址,再释放链路层连接,最后释放物理层连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值