网络链路层之(2)PPP协议

打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3048

网络链路层之(2)PPP协议

  
   Author: Once Day Date: 2024年3月27日


  一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦…


   漫漫长路,有人对你微笑过嘛…


  全系列文章可参考专栏: 通讯网络技术_Once-Day的博客-CSDN博客。


  参考文章:
  

  • 《TCP/IP详解卷一》
  

  
1. 概述

ppp是一个协议集合,包罗三部分:


  • 将IP数据报封装到串行链路的方法。
  • 一系列的链路控制协议(Link Control Protocol,LCP),用来建立、设置和测试数据链路毗连。
  • 以及NCP(网络控制协议),每一个协议支持不同的网络层协议,如IP、OSI的网络层,DECnet,以及AppleTalk等。
PPP对物理层链路有最低要求,即必须支持双向操纵,以及异步或同步操纵。
ppp基本帧格式借用了HDLC的格式。
1999年公布的PPP over Ethernet(PPPoe),工作在以太网中,可以把PPP帧在封装在以太网帧中。
1.1 参考RFC文档

PPP协议的相关RFC文档包罗但不限于以下几个:

  • RFC 1661 - The Point-to-Point Protocol (PPP):
    这是PPP协议的紧张标准文档,描述了PPP的基本框架,包罗封装格式、链路控制协议(LCP)以及协议的工作流程。它是明白PPP如何在两个点之间传输数据包的底子。
  • RFC 1662 - PPP in HDLC-like Framing:
    该文档描述了PPP如何在雷同HDLC(高级数据链路控制)的帧中进行封装。它详细说明了帧的结构、透明传输和控制字符的使用方法。
  • RFC 1332 - The PPP Internet Protocol Control Protocol (IPCP):
    这份文档定义了IPCP,即PPP的网络控制协议之一,用于在PPP毗连上设置和测试IP参数,比方IP地址。
  • RFC 1994 - PPP Challenge Handshake Authentication Protocol (CHAP):
    CHAP为PPP提供了一种认证机制,这份RFC文档详细阐述了CHAP的工作原理和实施方式。
  • RFC 1570 - PPP LCP Extensions:
    此RFC提供了LCP的一些扩展,包罗对多链路聚合、回环检测和快速毗连选项的支持。
  • RFC 2516 - A Method for Transmitting PPP Over Ethernet (PPPoE):
    这份文档描述了PPPoE协议,它允许将PPP帧封装在以太网帧中,常用于DSL(数字用户线)互联网毗连。
1.2 详细说明

PPP(Point-to-Point Protocol)是一种数据链路层通讯协议,旨在建立直接毗连两个网络节点的标准方法。PPP的设计初衷是为了在串行毗连上封装网络层协议,这使得它在早期的拨号和ISDN互联网接入服务中得到了广泛应用。尽管现在宽带接入技术(如DSL和光纤)已经代替了传统的拨号服务,PPP仍旧在某些宽带和VPN场景中扮演着紧张角色。
PPP提供了几个紧张的功能:


  • 封装多种网络层协议:PPP可以或许封装IP、IPX等多种网络层协议,使其可以或许通过串行链路传输。
  • 链路控制协议(LCP):LCP用于建立、设置和测试数据链路毗连。它提供了协商链路选项的功能,包罗认证协议的选择、链路品格监控等。
  • 认证:PPP支持多种认证机制,包罗PAP(Password Authentication Protocol)和CHAP(Challenge-Handshake Authentication Protocol),加强了毗连的安全性。
  • 多协议支持:PPP定义了一种扩展的网络控制协议(NCP)框架,允许对各种网络层协议进行特定的选项协商。
一次典范的PPP会话开始于两个节点之间的物理或虚拟毗连,接着使用LCP来建立和设置数据链路。一旦LCP达成一致,认证阶段开始,节点大概需要通过PAP或CHAP等方式验证相互的身份。随后,NCP会协商网络层协议的参数,比如分配IP地址。末了,数据开始通过已设置好的链路传输。
PPP的设计使其适用于多种场景,包罗但不限于:


  • 拨号网络:在拨号互联网接入时代,PPP是建立毗连的标准手段。
  • VPN毗连:在某些范例的VPN实现中,PPP提供了在互联网上建立安全毗连的机制。
  • 宽带接入:如PPPoE(PPP over Ethernet),在DSL互联网接入中经常使用。
由于PPP的通用性和较高的安全性,它成为其时点对点通讯的毕竟标准。即便在现代网络中,PPP的某些概念和机制仍旧被应用于新的协议和网络架构中,表现出其设计的持久影响力。
当然,随着技术的发展,PPP在某些场合已被更高效、更安全的协议所更换,但在明白网络协议和网络汗青的背景下,学习PPP依然具有紧张意义。
2. 协议格式

2.1 帧格式




  • 标记字段用于帧定界,即收尾两个0x7E字符。
  • 地址和控制字段来自于HDLC协议,但在PPP中由于只有一个目的地和无需提供可靠服务。因此是固定的0xFF和0x03。该字段可通过地址和控制字段压缩(ACFC)的选项来省略他们。
  • 协议字段表示后面的数据范例,由于数据大概来自于网络控制协议NCP或者链路控制协议LCP以及网络层协议IP等。0x0021是IP数据报,0xC021是LCP的数据。协议字段压缩PFC可以减少长度到1字节。
  • 总信息长度MRU一般不凌驾1500。
  • FCS检验序列一般采用CRC-CCITT多项式:
                                                  C                               R                               C                               −                               C                               C                               I                               T                               T                               =                                           X                                  16                                          +                                           X                                  12                                          +                                           X                                  5                                          +                               1                                      CRC-CCITT=X^{16}+X^{12}+X^5+1                        CRC−CCITT=X16+X12+X5+1
    默以为16位FCS,但可以通过LCP选项启用32位FCS。
异步传输采用字节添补


  • 转义字符定义为0x7D(01111101)
  • 把数据段中出现的每一个0x7E字节转变成(0x7D,0x5E)序列
  • 把数据段中出现的每一个0x7D字节转变成(0x7D,0x5D)序列
  • 数据段中小于0x20的字符c,则改变成(0x7D,0x20+c)序列
同步传输时使用位添补(零比特添补)


  • 即SONET/SDH链路,一连串的比特一连传输。
  • 扫描整个字段,只要有5个一连的1,立即填入一个0。即不会出现一连六个1的序列,0x7E(01111110)。
2.2 LCP操纵过程

PPP协议的LCP分组:

代码字段给出了哀求或相应的操纵范例


  • 设置消息(开始基本设置,建立商定的选项)
  • 终止消息(扫除一条链路)
  • 回送哀求/应答消息(验证对方的操纵)
  • 放弃哀求消息(用于性能测试,丢弃没有相应的分组)
  • 标识和剩余时间消息(用于管理目的)
标识字段是有LCP哀求帧的发送方提供的序列号,并随每个后续消息进行递增。
长度字段给出LCP分组的字节长度,这不是PPP协议的一部分。
2.3 PPP协议工作状态




  • 在辨别阶段可进行用户身份认证。
  • NCP将根据网络层不同的协议进行设置,如IP协议将使用IP控制协议IPCP(IP Control Protocal)。







   Once Day

  

    也信美人终作土,不堪幽梦太匆匆......
    假如这篇文章为您带来了帮助或开导,不妨点个赞

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表