点到点链路层协议PPP(PPPoE) 主要用于全双工异步链路上的点对点数据传输 。PPP是一种兼容性很好的公共标准协议 。
PPP协议的特点:
1.PPP支持全双工异步链路上的点对点数据传输 。
2.PPP具有良好的可扩展性;PPPoE是以太网链路上承载的PPP协议 。
3.PPP支持地址信息自动协商;LCP协议用于协商各种链路层参数 。网络控制协议用于网络层参数的协商,更好地支持对等邻居路由 。
4.PPP支持PAP和CHAP认证(可基于接口密码认证;它还可以提供基于本地数据库AAA认证的认证、授权和审计,更好地保证了网络的安全性 。
5.PPP支持多链路;支持压缩所有类型的消息/报头;无重传机制,网络开销低,速度快 。
PPP协议的组成:协议伞
文章插图
1、链路控制协议LCP;用于建立、拆除和监控公私伙伴关系数据链路
第二步:认证协议;PAP(密码认证协议)和CHAP(挑战握手认证协议);用于链路认证,支持单向认证和双向认证 。
第三步:网络层控制协议NCP(协议伞);用于不同网络层协议的连接建立和参数协商;协议包括IPV4CP(IPCP)、IPV6CP、IPXCP等 。
PPP链路的建立过程:
文章插图
1.死阶段也称为物理层不可用阶段 。当通信双方都检测到物理线路激活时,就会从Dead阶段迁移到create阶段,也就是链路建立阶段 。
2.在建立阶段,PPP链路将协商LCP参数 。协商内容包括最大接收单元MRU、认证方式、幻数等选项 。LCP参数协商成功后,将进入open状态,表示底层链路已经建立 。
3.在大多数情况下,链路两端的设备需要进行身份验证,然后才能进入网络层协议协商阶段 。默认情况下,PPP链接不需要身份验证 。如果需要身份验证,则必须在链路建立阶段指定身份验证协议 。认证方法由双方在链路建立阶段协商 。如果在此阶段再次收到配置请求消息,它将返回到链路建立阶段 。
4.在网络阶段,PPP链路进行NCP协商 。选择并配置一个网络层协议,并通过NCP协商来协商网络层参数 。只有当相应的网络层协议协商成功后,网络层协议才能通过这条PPP链路发送消息 。如果在此阶段收到配置请求消息,它也将返回到链路建立阶段 。
5.NCP协商成功后,PPP链路将保持通信状态 。在PPP运行过程中,连接可以随时中断,如物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等 。
导致链路进入Terminate阶段 。
6、在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段,直到通信双方重新建立PPP连接 。
PPP协议的帧格式:
文章插图
1、Flag字段标识一个物理帧的起始和结束,为二进制序列01111110(0X7E) 。
2、address字段,固定为11111111 (0XFF),是一个广播地址 。
3、control字段默认为00000011(0X03),表明为无序号帧 。
4、protocol字段用来说明PPP所封装的协议报文类型,0XC021代表LCP报文,0XC023代表PAP报文,0XC223代表CHAP报文,0X0021代表IPV4报文 。
5、FCS字段是个16位的校验和,用于检查PPP数据帧的完整性 。
Information字段包含协议字段中指定协议的数据包 。数据字段的默认最大长度(不包括协议字段)称为最大接收单元MRU(Maximum Receive Unit),MRU的缺省值为1500字节 。如果协议字段被设为0XC021,则说明通信双方正通过LCP报文进行PPP链路的协商和建立:
1、Code字段主要是用来标识LCP数据报文的类型 。配置信息报文(Configure Packets: 0x01),配置成功信息报文(Configure-Ack: 0X02),终止请求报文(Terminate-Request:0X05) 。
2、Identifier字段表示用来匹配请求和响应报文 。
3、length字段表示LCP的报文长度
Data字段为数据载荷,包含了多个TLV为可选项字段,包含类型、长度和数值
【请问ppp,ppp是什么意思啊】
LCP报文类型和工作过程:
文章插图
1、Configure-Request配置请求报文:链路层协商过程中发送的第一个报文,该报文表明点对点双方开始进行链路层参数的协商 。可以协商的内容如下:
---最大接收单元MRU,表示PPP数据帧中信息字段和填充字段的总长度;默认值为1500字节 。
---认证协议,PAP协议和CHAP协议,一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议并正确配置用户名和密码等认证信息 。
---魔术字,用来检测链路环路和其它异常情况;魔术字为随机产生的一个数字,随机机制需要保证两端产生相同魔术字的可能性几乎为0 。
---质量协议,用来做QOS,设置数据转发的优先级 。
---MP多链路参数,用于做多根链路的捆绑 。
---报头/报文压缩,是否需要做报文、报头压缩 。
2、Configure-Ack配置响应报文:收到对端发来的Configure-Request报文,如果参数取值完全接受,则以此报文响应 。
3、Configure-Nak配置不响应报文:收到对端发来的Configure-Request报文,如果参数取值不被本端认可,则发送此报文并且携带本端可接受的配置参数 。
4、Configure-Reject配置拒绝报文:收到对端发来的Configure-Request报文,如果本端不能识别对端发送的Configure-Request中的某些参数,则发送此报文并且携带那些本端不能认别的配置参数 。
文章插图
PPP认证模式一:PAP认证
文章插图
PAP认证协议被称为密码认证/两次握手认证协议,当LCP协商完成后,认证方要求被认证方使用PAP进行认证;被认证方将配置的用户名和密码信息使用Authenticate-Request报文以明文方式发送给认证方;认证方收到被认证方发送的用户名和密码信息之后,根据本地配置的用户名和密码数据库检查用户名和密码信息是否匹配,如果匹配,则返回Authenticate-Ack报文,表示认证成功 。否则返回Authenticate-Nak报文,认证失败;认证过程由被认证方主动发起 。
PPP认证模式二:CHAP认证
文章插图
CHAP认证被称为挑战握手认证协议/三次握手认证协议;为了匹配请求报文和回应报文,报文中含有Identifier字段,一次认证过程所使用的报文均使用相同的Identifier信息(报文ID) 。
当LCP协商完成后,认证方会发送一个Challenge报文给被认证方,Challenge报文中含有Identifier信息(报文ID)和一个随机产生的Challenge字符串(可防止重放攻击),此Identifier即为后续报文所使用的Identifier 。思科设备中,challenge报文中用户名是一定添加的,如果接口配置了用户名就发送,没有配置就使用主机名发送;当被认证方收到此Challenge报文之后,进行一次加密运算,运算公式为MD5{ Identifier+密码+Challenge },意思是将Identifier、密码和Challenge三部分连成一个字符串,然后对此字符串做MD5运算,得到一个16字节长的摘要信息,然后将此摘要信息和端口上配置的CHAP用户名一起封装在Response报文中发回认证方 。
认证方接收到被认证方发送的Response报文之后,按照其中的用户名在本地查找相应的密码信息,得到密码信息之后,进行一次加密运算,运算方式和被认证方的加密运算方式相同,然后将加密运算得到的摘要信息和Response报文中封装的摘要信息做比较,相同则认证成功,不相同则认证失败;使用CHAP认证方式时,被认证方的密码是被加密后才进行传输的,这样就极大的提高了安全性 。
思科设备上CHAP认证规则:
1、 如果被认证方收到的challenge报文中一定包含用户名,被认证方必须出示接口所配置的用户名和密码,被认证方会根据用户名在本地AAA认证数据库里面找有没有对应的用户名、密码条目;AAA认证数据库里密码出示优先级高于被认证方接口的配置密码,会使用AAA认证数据库里用户名和密码进行认证 。
NCP:网络控制协议,用于对两端设备IP地址信息进行确认(以IPV4CP为例) 。
文章插图
1. 每一端都要发送Configure-Request报文,在此报文中包含本地配置的IP地址;
2. 每一端接收到此Configure-Request报文之后,检查其中的IP地址,如果IP地址是一个合法的单播IP地址,而且和本地配置的IP地址不同(没有IP冲突),则认为对端可以使用该地址,回应一个Configure-Ack报文 。
文章插图
1、RTA向RTB发送一个Configure-Request报文,此报文中会包含一个IP地址0.0.0.0,表示向对端请求IP地址;
2、RTB收到上述Configure-Request报文后,认为其中包含的地址(0.0.0.0)不合法,使用Configure-Nak回应一个新的IP地址10.1.1.1;
3、RTA收到此Configure-Nak报文之后,更新本地IP地址,并重新发送一个Configure-Request报文,包含新的IP地址10.1.1.1;
4、RTB收到Configure-Request报文后,认为其中包含的IP地址为合法地址,回应一个Configure-Ack报文;RTB也要向RTA发送Configure-Request报文请求使用地址10.1.1.2,RTA认为此地址合法,回应Configure-Ack报文 。
- 新冠肺炎的全称是什么
- 安徽省新冠肺炎疫情最新消息是什么
- 马云创业4次分别是什么 马云几次创业
- 至今无新冠疫情的国家是什么
- Windows输入体验是什么?Windows输入体验在哪里?最近很多用户反映在使用Win...|windows输入体验是什么?
- tod住宅 利弊,tod项目是什么意思
- 七九河开下一句是什么,创业者的天堂下一句是啥
- 河南话锤子是什么意思 四川话锤子是什么意思
- PSVR是什么|Oculus创始人Palmer Luckey被PSVR 2所“震撼”
- 新冠肺炎的三级预防策略是什么