PPPOE接入模式的工作过程:
pppoe建立过程分为Discovery和PPP会话阶段,Discovery阶段主要是选择接入服务器,确定所要建立的PPP会话标识符Session ID,同时获得对方点到点的连接信息;PPP会话阶段执行标准的PPP过程。
|
图1:认证方式为pap
|
图2:认证方式为chap
Discovery阶段:1、设备主动发送广播包PADI寻找接入服务器,广播包中携带服务器名称类型TAGS表明主机需要的服务
2、接入服务器接受到PADI广播包后,有能力提供服务则回复PADO(此过程可以由多个接入服务器响应PADI)
3、设备选择一个接入服务器,并发PADR告知该接入服务器(其他服务器接收到该消息后停止向设备提供服务),该包中携带请求服务的类型(TAGS)
4、接入服务器接收到设备发送的PADR消息后,给设备分配一个唯一的SessionID,启动ppp会话并发送PADS会话确认。接下来进入PPP会话阶段
PPP会话阶段:该阶段主要进行LCP(链路配置),认证和NCP(网络控制)
PAP认证:设备以明文的方式发送用户名和密码到认证服务器,由认证服务器验证用户名和密码是否合法,若合法则进入阶段(NCP),否则返回错误设备端可进行若干次尝试,如果均认证失败则服务器关闭链路。
CHAP认证:认证服务器向设备发送一些随机字符串(携带在value字段),id和认证服务器的主机名作为挑战信息。设备端接收该该挑战请求之后(challenge)根据请求中的“随机字符串”+id+”认证服务器的主机名”+”账号密码”进行计算得出MD5,然后以reponse发送给认证服务器,同时一起发送的还有”设备端的用户名”+id+MD5。认证服务器收到后,通过ID找到它发送的挑战包,然后把ID,随机数,以及密码(通过本地数据库查找设备对应的密码)进行计算,得出MD5的值,若验证通过则进入阶段(NCP) ,否则返回错误设备端可进行若干次尝试,如果均认证失败则服务器关闭链路。
PPPOE地址释放:设备主动发送echo request进行pppoe保活,若3次未得到服务器的响应,则设备主动释放地址
设备PADI发送周期:第一次尝试后等待5s后进行第二次尝试,第二次完成之后等待10s进行第三次尝试,第三次完成之后等待50s进行第四次尝试,若还未得到服务器的响应则等待5s重复上述步骤
认证过程实例:
1、认证服务器发送挑战信息
2、设备响应挑战信息
3、认证通过