拨号上网是使用ppp协议和ISP的服务器,网络知识总结三:链路层相关协议补 ...

拨号上⽹是使⽤ppp协议和ISP的服务器,⽹络知识总结三:链
路层相关协议补充之PPP协议...
PPP协议概述
PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双⼯操做,并按照顺序传递数据包。
PPP协议⽀持如下功能:服务器
IP地址的动态分配和管理
同步或异步的物理层通讯
链路的配置、质量检测和纠错
多种配置参数选项协商
PPP是⽬前使⽤最普遍的数据链路层协议,不论是低速的拨号猫链接仍是⾼速的光纤链路,都适⽤PPP协议。因特⽹⽤户⼀般都要链接到某个ISP 才能接⼊到因特⽹。 PPP协议就是⽤户计算机和ISP进⾏通
讯时所使⽤的数据链路层协议。 ISP使⽤PPP协议为计算机分配⼀些⽹络参数(如IP地址、域名等)。⽹络
PPP协议是⼀个协议集,主要包含下⾯三部分session
LCP( Link Control Protocol)链路控制协议
NCP( Network Control Protocol)
PPP的扩展协议(如Multilink Protocol,
后⾯咱们会提到PPP链路创建过程当中涉及到了 认证, 但认证阶段使⽤到的CHAP/PAP等协议⾃⼰不属于PPP协议的范畴。(其实默认状况下“认证阶段”是缺省的,即PPP链路默认是不进⾏认证的)异步
PPP协议的六个阶段
1. 链路不可⽤阶段: 初始阶段
2. 链路创建阶段: LCP协商,(协商认证⽅式等)
3. 验证阶段: PAP/CHAP验证
**4. ⽹络层协议阶段:**NCP协商
5. PPP会话维持阶段: 维持PPP会话, 定时发送Echo Request报⽂,并等待Echo Reply报⽂
6. ⽹络终⽌阶段: 终⽌PPP会话,回到链路不可⽤阶段。ide
(⼀)PPP 帧
PPP帧从HDLC(High-level link Control)。
性能
Flag:标志位、⽤于标识帧的开始和结束
Addr:地址位,⽤于标识Station地址。PPP帧发源⾃HDLC帧,保留了此字段。对于PPP帧来讲,因为是点对点协议,不须要地址位。PPP帧的地址位恒为0xFF。(PPP协议被运⽤在点对点链路上,不须要知道对端的链路地址,由于点对点链路,如PPPoE帧头中,已经肯定了对端的地址)。
Control:在DHLC帧中,Control位⽤来标识帧的顺序和重传⾏为,但因为该功能在PPP协议中并⽆⼴泛实现,所以PPP帧中,Control值固定为)0x03.
Protocol:协议字段,标识所携带报⽂的类型。如0x0021时,表⽰PPP帧的信息字段是IP数据报⽂。不⼀样的Protocol标识Data字段的不⼀样含义。
ISO标准下 的协议域类型:
Protocol
对应的Data域的含义
0x0***-0x3***
⽹络层的数据报⽂
0x4***-0x7***
与NCP⽆关的第整流量
0x8***-0xb***
⽹络控制协议(NCP)的数据报⽂
0xc***-0xf***
链路控制协议(LCP)的数据报⽂
经常使⽤的⼏种Protocol取值:测试
Protocol
信息字段
0x0021
IP数据报
0x8021
⽹络控制数据NCP
0xC021
链路控制数据LCPPPPOE 协议
0xC023
安全性认证PAP
0xC223
安全性认证CHAP
+ Data: 信息字段,即PPP帧的负载(如LCP帧、NCP帧).信息域缺省时最⼤长度不能超过1500字节,其中包括填充域的内容
+ Pad: 填充字段
+ FCS:循环冗余码。 覆盖了两个Flag(不包括)之间的字段。spa
注:
因为Addr和Control字段在PPP帧中是固定值,在传输过程当中常⽤Address and Control Field Compression (ACFC)选项省略掉这两个字段。
PPP⼯做流程
a) LCP协商阶段:建⽴链路完成链路的启动、测试、任选参数的协商和最终链路的断开
b)认证阶段: LCP向对端发送协商请求, 双⽅肯定链路的配置参数后,LCP向认证层发送Up事件。经常使⽤的认证协议有PAP(⼝令验证协议)和CHAP(挑战握⼿验证协议)。
c) NCP协商阶段(IPCP等协议):调⽤链路层建⽴阶段选定的⽹络控制层协议。主要包括动态分配IP地址功能等。经常使⽤的NCP协议有IPCP协议。
d)会话维持阶段:进⾏PPPoE⼼跳保活
**d)PPP正常终结:**NCP分别终结,⽽后LCP终结,最后物理层终结
1、 LCP 协商
LCP(Link Control Protocol)⽤来建⽴链路完成链路的启动、测试、任选参数的协商和最终链路的断开
LCP的操做只关注链接的两端,⽽不在意Mac层协议(如以太⽹协议、WIFI),也就是不须要考虑具体的传输媒介是什么。
LCP帧
LCP帧以PPP帧为基础。格式以下:
LCP帧有本⾝特有的四个字段:Code、Ident、Length、LCP Data。
另外,(PPP帧的)字段Protocol的值应为0xC021,标识该PPP帧为LCP帧。
+ Code: 表⽰LCP数据报⽂(Request或Reply)类型。 值以下:
Code
Description
Code
Description
0x01
configure-request
0x08
Protocol-REJECT
0x02
configure-ACK
0x09
echo-request
0x03
configure-NACK
0x0A
echo-reply
0x04
configure-REJECT
0x0B
discard-request
0x05
teminate-request
0x0C
identification
0x06
terminate-ACK
0x0D
Time-Remaining
0x07
code-REJECT
+ Ident:标识域。LCP报⽂的序列号,⽤于匹配Request和Reply报⽂。 由Request帧的发送者⽣成,在以后的序列帧中递增。对于应答报⽂(如ACK,NACK,REJECT应答报⽂, Ident帧的值是从Request报⽂中copy过来的。(由此,Request⽅能够经过Ident字段识别Rely的对应关系)。
+ Length: LCP报⽂的长度,以字节为单位。 Code+Ident+Length+LCP Data
+ LCP Data: LCP数据报⽂。
不⼀样类型的LCP帧的做⽤:
帧 类型
⽤途
configure 帧
对链路两端进⾏最基本的配置
Terminate帧
链路通讯完成时,对链路链接进⾏清理操做
echo 帧
⽤来确认⼀些操做, ⼀个活动的链路随时会发送echo帧
discard-request 帧
⽤于测量链路的性能
identification 帧 Time-Remaining帧
⽤于⼀些管理操做
总的来讲,LCP帧根据⽤途能够分为三⼤类, 链路配置报⽂,链路终⽌报⽂,链路维护报⽂:
(1). 链路配置报⽂:
包含Config-Request、Config-Ack、Config-Nak和Config-Reject四种报⽂。
当通讯双⽅须要创建链路时,双⽅都须要发送Config-Request报⽂并携带⾃已所但愿协商的配置参数选项。当接收⽅收到Config-Request报⽂时,会根据是否识别、承认Configure-Request报⽂中的配置参数来在剩下的三种配置报⽂中选择⼀种应答。 若是识别且承认所有参数,则应答Configure-ACK报⽂(携带所有配置参数); 若是识别,但只承认部分配置参数,则应答configure-NACK报⽂(携带不承认的配置参数); 若是不能识别全部的配置,则应答configure-Reject报⽂(携带所有报⽂)。
LCP的配置选项(配置报⽂的数据域),是⼀些TLV(Type、Length、Value)组。
(2). 链路终⽌报⽂:
包含Terminate-Request和Terminate-Reply两种报⽂。
LCP报⽂中提供了⼀种机制来关闭⼀个点对点的链接,想要关断链路的⼀端会持续发送Terminate-Request报⽂,直到收到⼀个Terminate-Reply为⽌。接收端⼀旦收到了⼀个Terminate-Request报⽂后,必须回应⼀个Terminate-Reply报 ⽂,同时等待对端先将链路断开后,再完成本端的全部断开的操做。
(3). 链路维护报⽂:
链路维护报⽂中⽐较杂。好⽐,咱们须要定时进⾏PPP保活(确认当前PPP链路是否仍在活跃状态),则PPP链路双⽅分别发送Echo Request报⽂,若是对⽅回复了Echo Reply报⽂,则表⽰PPP链路仍在活跃状态。
LCP协商过程
ClientClientServerServerConfig-RequestConfig-AckConfig-RequestConfig-Ack
LCP 两端经过发送LCP Config-Request和Config-Ack交互协商选项。 LCP⼀⽅经过发送LCP Config-Request来向另外⼀⽅请求本⾝须要的LCP协商选项。若是Config-Request报⽂的接收⽅⽀持并接受这些选项则回复LCP Config-Ack报⽂。若是Config-Request部分(或者所有)不⽀持全部的LCP选项则回复其余报⽂。
(1)Config-ACK:若彻底⽀持对端的LCP选项,则回应Config-ACK报⽂,报⽂中必须彻底协带对端Request报⽂中的选项。
(2)Config-NAK:若⽀持对端的协商选项,但不承认该项协商的内容,则回应Config-NAK报⽂,在Config-NAK的选项中填上本⾝指望的内容,如:对端MRU值为1500,⽽本⾝指望MRU值为1492,则在Config-NAK报⽂中埴上本⾝的指望值1492。
(3)Config-Reject:若不能⽀持对端的协商选项,则回应Config-Reject报⽂,报⽂中带上不能⽀持的选项,如Windows拨号器会协商CBCP(被叫回呼),⽽ME60不⽀持CBCP功能,则回将此选项拒绝掉。
—-Config-request报⽂———
—-Config-Ack报⽂———
⼆. 认证阶段
PPP认证,经常使⽤认证协议有PAP(⼝令验证协议)和CHAP(挑战握⼿验证协议)
会话双⽅经过LCP协商好的认证⽅法进⾏认证,若是认证经过了,才能够进⾏下⾯的⽹络层的协商。认证过程在链路协商结束后就进⾏。
+ PAP验证: 两次握⼿,明⽂传输⼝令,安全性低
+ CHAP验证: 三次握⼿, 密⽂传输⼝令。

本文发布于:2024-09-23 14:30:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/371372.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:链路   协议   协商   配置   选项   阶段   参数   认证
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议