点对点协议PPP

在通信线路质量较差的年代,数据链路层往往会使用可靠传输协议,因此能实现可靠传输的高级数据链路控制HLDC(High-level Data Link Control)就被广泛使用,如今通信链路质量较好的情况下PPP(Point to Point Protocol)则是点对点通信中普遍使用的。

PPP协议的组成

PPP协议有三个组成部分,其内部包括了几个模块,分别实现不同的功能

  • 一个将数据报封装成帧的方法
  • 一个用来建立、配置、册数数据链路连接的链路控制协议LCP。通信双方可协商一些选项。
  • 一套网络控制协议NCP,其中每一个协议支持不同的网络层不同的协议

除了基本的组成部件之外,还有额外的两个功能组,包含了额外的功能,用于支持或强化基本功能

  • LCP支持协议,用于管理协商过程或用于配置选项,如CHAP,PAP鉴别协议
  • LCP可选特性协议,用于增强功能,如CCP加密协议,ECP压缩协议,PPP MP多链路协议

    PPP数据帧的组成

    已知数据链路层的传输单位为帧,是在网络层传输过来的数据报上再次进行封装得到的,其中包含了一些控制信息。
    image.png
    PPP帧的首部和尾部分为四个字段和两个字段。首部的第一个字段和尾部的第二个字段都是标志字段F(Flag),内容是0x7E(二进制01111110),标志着一个数据帧的开始和结束。是PPP帧的定界符。不过连续的两个PPP帧之间只要一个标志字段即可
    地址字段A(Adress)内容为0xFF(二进制11111111),控制字段C(Control)内容为0x03(二进制00000011),这两个字段设计时考虑以后方便扩充定义用途,但是至今仍未使用,因此这两个字段并不携带信息,往往协商省略以减少网络开销。
    第四个字段是两个字节的协议字段。该字段标识了信息部分的信息种类
0x0021 IP数据报
0xC021 PPP链路控制协议LCP数据
0x8021 网络层控制数据

信息字段的长度可变,但是不超过1500字节。
尾部的第一个字段是使用CRC的帧检验序列FCS

PPP协议的透明传输

已知PPP协议的定界符是0x7E,对于 异步传输。PPP协议定义转义符为0x7D(二进制01111101),使用字节填充
具体的填充方法如下

  • 若信息字段中出现的0x7E字节转为2字节(0x7D,0x5E)
  • 若信息字段中出现0x7D,则转为2字节(0x7D,0x5D)
  • 若信息字段出现ASCII码控制字符(数值小于0x20),转为2字节,同时改变该字符的编码。如0x03在控制字符中是传输结束,转为2字节(0x7D,0x23)

对于 同步传输。采用零比特填充。
具体填充方法如下
发送端先扫描整个信息字段。若发现5个连续的1,就填入一个0。(帧定界符0x7E为01111110,六个连续的1)

PPP协议的工作状态

PPP链路的初始化
点对点的连接开始通信时,要先进行PPP的初始化,也就是要进行一些配置,协商。
image.png
现有A,B两端

链路静止(死亡)阶段

代表没有建立物理层的链接的情况。该链路在这个阶段保持直到建立物理层链接(除了一根线连起来之后,还要在逻辑上建立起来),随后进入链路创建阶段
物理层连接的建立是什么意思—知乎回答

链路创建阶段

两端开始LCP的配置协商。A发送LCP的配置请求帧(Configure-Request),也是前面提到的PPP帧,只是这个配置请求帧的内容包含了一些配置选项。B接收到配置请求之后,根据配置请求的内容决定响应内容
配置响应有三种

  • 配置接受帧(Configure-Ack),所有选项都接受
  • 配置否认帧(Configure-Nak),所有选项都识别,但不接受具体的参数内容
  • 配置拒绝帧(Configure-Reject),部分选项无法识别(不支持某一特性)或接受,需要协商

B如果返回配置否认或拒绝帧,告诉A,你这条件不行,很难办事啊,A就尝试再发送一个不同的配置请求,B接受到一看不行,那就继续拒绝或否认给A,直到A发送了一个B能接受的条件,行,达成一致,这个链路的状态可认为是LCP打开(LCP要做的事完成了),随后进入下一步

鉴别阶段

B运行A正式连接之前,可能需要权限鉴别,是否使用权限鉴别在前一阶段进行协商。
使用口令鉴别协议PAP或挑战握手鉴别协议CHAP。鉴别失败进入链路终止阶段。成功则进入下一阶段

网络层协议阶段

NCP是数据链路层支持对多种网络协议进行配置协商的手段。包含了一系列的协议,对于网络层的IP协议,对应的NCP是IPCP,对于网络层IPX协议,对应的NCP是IPXCP。该阶段与LCP链路创建阶段较为相似。
以IPCP为例,完成鉴别之后
A发送IPCP配置请求帧(Configure-Request)
如果B不接受该配置内容,返回IPCP配置拒绝帧(Configure-Reject)或配置否认帧(Configure-Nak)
A可以再次尝试发送新的配置请求帧
B若接受配置内容,返回配置接受帧(Configure-Ack),建立IPCP的NCP链路
随后交换IP数据
交换完毕,A发送 IPCP终止请求帧 (Terminate-Request)
B返回IPCP终止接受帧(Terminate-Ack)给A
至此IPCP协商完成,创建一条NCP链路
因为现在的设备可以支持多个网络层协议,完成IPCP的协商后,还会取依次进行其他网络层协议对应的NCP协商,每协商成功一个,都会创建一条独特的NCP链路。所有协议协商完毕(可能失败)。即使所有NCP协商都失败了,还是会进入下一阶段,LCP仍是打开的,但是不能发送对应协议的数据
进入下一阶段

链路打开阶段

链路打开阶段,LCP链路与NCP链路是打开且可操作的。对于成功建立的NCP链路,可以用来传输数据。随后因为各样的原因,LCP链路被关闭(如主动断开连接),进入链路终止阶段。

链路终止阶段

A或B发送一个特定的LCP终止帧,并且另外一个设备返回LCP终止的应答帧。链路返回到死亡状态。如果已经请求终止,而物理层连接仍然活跃,PPP会向物理层发送信号,终止物理层连接。
注意:NCP链路是建立在LCP链路基础之上的,关闭NCP链路并不会关闭LCP链路,而关闭LCP链路会导致NCP链路关闭。

若有收获,就点个赞吧

0 人点赞

  • 书签
  • 添加书签 移除书签
  • 重学Java
    • JLS译本
    • Java发展回顾
    • Roadmap.sh
    • 基础
      • 包与模块
      • OOP
      • 数据类型
        • Java引用过程
      • 语句
        • 异常
        • 标签语句
        • for循环语句
        • switch选择语句
  • 数学
    • 概率论
    • 高等数学
      • 考研-高数
        • 微分方程
        • 汤家凤-函数与极限
      • 不定积分
      • 空间解析几何
      • 多元函数微分法及应用
  • 计算机网络
    • 概述
      • 简单结构
      • 互联网核心部分的分组转换技术
      • 性能指标
      • 体系结构
      • 互联网标准化(题外话)
    • 物理层
      • 一些基本概念
      • 物理层下的传输媒体
      • 信道复用技术
      • 宽带接入技术
    • 数据链路层
      • ALHOA、CSMA、CSMA/CD、CSMA/CA
      • 基本问题
      • 点对点通信的数据链路层
      • CRC循环冗余检验的基本原理
      • 点对点协议PPP
      • 广播通信的数据链路层
      • CSMA/CD协议
      • MAC地址
      • 集线器/交换机/网卡/以太网杂谈
      • VLAN虚拟局域网
    • 网络层
      • 为什么要有网络层(1)
      • 为什么要有网络层(2)
      • IP的组成
      • IP数据报的格式
      • 路由转发的方式
      • 子网划分与超网构造
      • 考研
        • RIP、OSPF、BGP协议
        • ARP、DHCP、ICMP协议
    • 传输层
      • 传输层概述
      • TCP(传输控制协议)
      • UDP(用户数据报协议)
      • 校验和计算
    • 应用层
  • 计算机组成原理
    • 计算机基本结构
      • 计算机的基本结构
    • 机器指令和程序
      • 数,运算,字符
      • 内存单元与寻址
      • 指令与指令序列
      • 寻址方式
      • 汇编语言(useless
      • 机器指令的编码
    • I/O组织结构
      • 访问I/O设备
      • 中断(硬)
      • 直接存储器访问
  • ---
    • 操作系统
      • 操作系统的基本功能
      • 操作系统的组织结构
      • 并发管理
        • 进程
    • 分布式数据库
      • 查询处理与优化
      • 设计
      • 结构
      • 概述
    • 数据挖掘
    • Scala
      • Scala入门--Scala环境的搭建
      • Scala入门-一些基本概念
      • Scala入门--常用容器类介绍
      • Scala入门--Scala的类和对象的特别之处
    • Android
      • 项目根目录的build.gradle文件
      • Android项目文件结构简介
      • Android-什么是Activity
      • app目录下的build.gradle文件
暂无相关搜索结果!
    展开/收起文章目录

    PHP网站源码承德英文网站建设推荐和县企业网站建设大芬外贸网站建设哪家好陇南百度关键词包年推广多少钱福永网站推广系统晋城百度关键词包年推广推荐内江至尊标王价格驻马店推广网站多少钱辽阳网站优化软件推荐呼和浩特SEO按天计费公司张家口关键词排名包年推广价格晋城百度seo报价飞来峡网站优化软件报价唐山seo网站优化哪家好金昌百度网站优化价格观澜网站关键词优化价格晋城百度网站优化排名推荐广安网站优化按天扣费推荐榆林网站推广工具哪家好抚顺企业网站建设大同百度网站优化呼和浩特网站优化推广报价赤峰网站建设设计公司本溪网站优化按天收费报价益阳百度标王多少钱松岗seo网站优化鸡西关键词按天收费价格湘潭网站优化按天扣费公司潍坊建网站多少钱贵阳百度标王多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化