数据链路层中的点对点通信详解

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链路

image.png

支持Ethernet链路

image.png

支持ADSL链路

image.png

 

PPP 协议不需要的功能 :

纠错  流量控制  序号  多点线路 ( 只支持点到点链路 )半双工或单工链路( 只支持全双工链路)

组成

  • 一个将 IP 数据报封装到串行链路的方法
  • 链路控制协议 LCP (Link Control Protocol)
  • 网络控制协议 NCP (Network Control Protocol)

流程

image.png

image.png

帧格式

image.png

  • 标志字段 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(口令握手鉴别协议):中心路由器进行主动询问,不允许连接方发起验证尝试连接。

image.png

以上是关于数据链路层中的点对点通信详解的主要内容,如果未能解决你的问题,请参考以下文章

数据链路层

第三章:数据链路层

[计算机网路]-第三章数据链路层

TCP/IP协议图--网络层中的IP协议

TCP/IP 协议图--网络层中的 IP 协议

第三章数据链路层