PPPoE协议

1. 概述

        PPP(Point-to-Point Protocol)协议是一种在点到点链路上传输、封装网络层数据包的数据链路层协议。

        PPPoE(PPP over Ethernet)属于链路层协议,主要功能是在以太网提供点到点的连接,采用C/S架构,建立PPP会话,以及封装PPP数据包。

        PPPoE包含发现(Discover)和会话(Session)两个阶段。这两个阶段通过以太网的类型域(Ether_Type)进行区分。

        PPPoE报文包含固定格式的报文头和可变长度的payload,而payload:包含了版本、类型、代码、会话ID、长度、payload负载。

 2. PPPoE发现的四个阶段

    (1)PADI:PPPoE Active Discovery Initial

        因为笔记本一开始不知道拨号服务器的MAC地址, 所以广播了一个PADI报文。

        该报文包含了两个标记:主机唯一标识;服务名称。

        如果服务名称为空,则说明笔记本可以接受任何服务器的服务。

    (2)PADO:PPPoE Active Discovery Offer

         所有服务器接受到广播报文后,如果它可以提供相应的服务,则单播回复一个PADO报文。

         该报文包含服务器的名称。

        (3) PADR:PPPoE Active Discovery Request

        笔记本选择最先受到的Offer报文对应的服务器,并单播一个PADR报文。

        (4)PADS:PPPoE Active Discovery Session-confirmation

            服务器并给笔记本发送一个PADS报文,该报文包含会话ID。

            Discovery阶段完成之后,笔记本和服务器都知道了对方的MAC地址,并通过会话ID维护唯一的会话。

    2. PPPoE会话的两个阶段

        会话阶段分成两个部分:PPP认证协商;PPP报文传输。

        (1)LCP协商

        协商双方互相发送一个Config-Request报文。

        如果双方都回应了Config-ACK,则标志LCP链路建立成功。

        LCP协商包括认证方式(PAP或者CHAP)、最大接收单元MRU(Maximum Receive Unit)。

        (2)认证(PAP或者CHAP)

        PAP明文传输用户名和密码;

        CHAP为三次握手验证协议,安全性较高。

        (3)NCP协商

         NCP的主要功能是协商PPP报文的网络层参数,如:IP地址、DNS服务地址。

猜你喜欢

转载自blog.51cto.com/12594491/2366617
今日推荐