PPP在此阶段使用 LCP协商链路层参数。如果链路层参数协商不成功(FAIL),PPP连接建立不成功,PPP退回到 Dead阶段。如果链路层参数协商成功(OPENED),则PPP进入 Authenticate阶段。
链路控制协议(LinkControl Protocol,LCP)
建立、协商和测试数据链路层连接的方法
最大接收单元 MRU、 魔术字、认证协议、压缩、MP/SP
会,在 PAP认证过程中,被认证方会主动发起 authenticate-requeset。
魔术字为随机产生的一个数字,随机机制需要保证两端产生相同魔术字的可能性几乎为 0。如果收到的 Configure-Request报文和自身产生的魔术字相同,则发送一个Configure-Nak报文,携带一个新的魔术字。然后,不管新收到的 Configure-Nak报文中是否携带相同的魔术字,LCP都发送一个新的 Configure-Request报文,携带一个新的魔术字。Configure-Request报文最多发送发送10次,如果链路存在环路,则无法正常建立,如果链路没有环路,则报文交互会很快恢复正常。
Configure-Request(匹配请求)、Configure-Ack(匹配确认)、Configure-Nak(匹配否认)、和 Configure-Reject(匹配拒绝)
如果链路层参数协商不成功(FAIL),PPP连接建立不成功,PPP退回到 Dead阶段。
PAP和CHAP
CHAP(Challenge-Handshake Authentication Protocol)挑战握手协议
PAP(PasswordAuthenticationProtocol)密码认证协议
被认证方
明文的形式携带用户名和密码
authenticate-request、authenticate-ack、authenticate-nak
认证方在 AAA下,被认证方在接口下
认证方
认证会话 ID、随机数以及用户名(配置才会有,不配置没有)
challenge报文
被认证方收到此 Challenge报文之后,进行一次加密运算,运算公式为MD5{ Identifier+密码+Challenge }生成 16字节长的 hash值。
密码可以使用接口下的密码或者 AAA下的密码,本端接口上是否配置了 ppp chap password命令,使用接口下配置的密码,如果接口上未配置 ppp chap password命令,则根据此报文中验证方的用户名在本端的AAA中该用户对应的密码。
回复的报文是Response报文
认证会话 ID+hash值+本端的用户名
认证方密码配置在 AAA 下,被认证方配置在接口下或者AAA下。
三个报文
被认证方会以空(0)作为密码计算出来 hash值和被认证方的用户名发回认证方,认证方认证失败。
能,在IPCP的过程中会互推自己的IP地址
两端静态配置 IP地址的时候协商过程如下:
(1)R1和 R2都要发送 Configure-Request报文,在此报文中包含本地配置的 IP地址。 (2)R1和 R2接收到对端的 Configure-Request报文之后,检查其中的 IP地址,如果 IP地址是一个合法的单播 IP地址,而且和本地配置的 IP地址不同(没有 IP冲突),则认为对端可以使用该地址,回应一个 Configure-Ack报文。
(3)通过 IPCP 发送的信息,PPP 链路的两端都可以知道对端使用的 32位 IP 地址。
首先检查IP地址是否是一个合法的单播IP地址(非0.0.0.0),如果是合法的单播IP地址就判断是否和自己的接口IP地址冲突,如果不冲突就是合法的单播IP地址
为了防止环路,生成的网段范围小,减少不必要的资源浪费。
不会,二层封装需要MAC地址,会申请MAC地址。
HDLC不会封装MAC地址
PPPoE(PPPoverEthernet)协议是一种把 PPP 帧封装到以太网帧中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。
运营商希望把一个站点上的多台主机连接到同一台远程接入设备,同时接入设备能够提供与拨号上网类似的访问控制和计费功能。在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而 PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输 PPP报文的技术,即 PPPoE。
PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,并运用 PPP协议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。
PPPoE拨号可分为三个阶段,即 Discovery阶段、Session阶段和 Terminate阶段。
Discover阶段:获取对方以太网地址,以及确定唯一的 PPPoE会话确定唯一的 pppoe session ID
Session阶段:建立链路,认证、计费、协商网络层参数,协商完成就可以承载 ppp数据报文了。
Terminate阶段:断开 pppoe 会话
PADI(PPPoEActive Discovery Initial):用户主机发起的 PPPoE服务器探测报文,目的 MAC地址为广播地址。
PADO(PPPoEActiveDiscoveryOffer):PPPoE服务器收到 PADI报文之后的回应报文,目的 MAC地址为客户端主机的 MAC地址。
PADR(PPPoEActive Discovery Request)用户主机收到 PPPoE服务器回应的 PADO报文后,单播发起的请求报文,目的地址为此用户选定的那个 PPPoE服务器的 MAC地址。
PADS(PPPoEActiveDiscoverySession-confirmation)PPPoE服务器分配一个唯一的会话进程 ID,并通过 PADS报文发送给主机。
PPPoE会话阶段可分为两部分:PPP协商阶段和 PPP报文传输阶段。 PPP协商阶段:LCP 认证 NCP, ppp协商成功后就进入到了 ppp数据转发阶段。