数据链路层中的点对点通信详解
Posted Xiaohanahahah
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据链路层中的点对点通信详解相关的知识,希望对你有一定的参考价值。
在数据链路层的基本问题中我们知道了数据链路层的信道利用方式,下面我们首先详解点对点通信的实际协议
主要协议:
HDLC(High level Data Link Control ) 实现可靠传输 协议复杂
PPP(Point-to-Point Protocol) 使用得最多的数据链路层协议 PPPoE(PPP over Ethernet) 结合以太网的现实应用
PPP
考虑到现在物理层的01传输的安全性,还有传输层的可靠传输的保证性,我们在数据链路层不是那么注重可靠性,PPP只需完成数据链路的基本功能 每收到一帧,进行CRC检验
简单是PPP 协议的首要需求
他需要考虑的功能有:
封装成帧,透明性,多种网络层协议,多种类型链路,差错检测,检测连接状态,最大传输单元,网络层地址协商,数据压缩协商,身份验证
支持多种类型链路
支持SONET链路
支持Ethernet链路
支持ADSL链路
PPP 协议不需要的功能 :
纠错 流量控制 序号 多点线路 ( 只支持点到点链路 )半双工或单工链路( 只支持全双工链路)
组成
- 一个将 IP 数据报封装到串行链路的方法
- 链路控制协议 LCP (Link Control Protocol)
- 网络控制协议 NCP (Network Control Protocol)
流程
帧格式
- 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)
- 地址字段 A 只置为 0xFF。地址字段实际上并不起作用。
- 控制字段 C 通常置为 0x03。
- 协议字段为2 个字节
- 若为 0x0021 ,则信息字段就是IP 数据报。
- 若为 0xC021, 则信息字段是 PPP 链路控制数据。
- 若为 0x8021,则表示这是网络控制数据。
- 信息部分:用于封装网络层的数据
- 字符填充(异步传输)
- 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
- 若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。
- 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
- 比特填充(同步传输)
- 用在 SONET/SDH 链路时,是使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。
- FCS:帧检验序列(CRC的余数)
认证协议
PAP(口令鉴别协议)拉跨
两次握手,密码在链路上是明文传输的;连接建立后,需要不停地在链路上反复发送用户名和密码
首选:CHAP(口令握手鉴别协议):中心路由器进行主动询问,不允许连接方发起验证尝试连接。
以上是关于数据链路层中的点对点通信详解的主要内容,如果未能解决你的问题,请参考以下文章