PPPoE原理与配置

  数字用户线路 DSL(Digital Subscriber Line)  是以 电话线 为传输介质的传输技术,人们通常把所有的 DSL技术统称为xDSL,x代表不同种类的数字用户线路技术。目前比较流行的宽带接入方式为ADSL,ADSL 非对称DSL技术,使用的是PPPoE(PPP over Ethernet)协议

DSL技术原理

  

  DSL是一种利用现有电话网络实现数据通信的宽带技术。在使用DSL接入网络时,用户侧会安装 调制解调器,然后通过现有的电话线与数字用户线路接入复用器(DSLAM)相连。DSLAM是各种DSL系统的局端设备,属于最后一公里接入设备。然后,通过 高速ATM网络或者以太网 将用户的数据流量转发给 宽带远程接入服务器(BRAS)。BRAS是面向宽带网络应用的接入网关,位于骨干网的边缘层。

 PPPoE原理

  • 基本原理

 

 

 

   问题:如何通过一台接入设备使多个主机接入网络呢?

   PPPoE利用以太网将大量主机组成网络,通过 一个远端接入设备 连入因特网,并运用PPP协议对接入的每个主机进行控制,具有适用 范围广、安全性高、计费方便 的特点。

  •  PPPoE报文

  

 

 

    • PPPoE报文是使用Ethernet格式来进行封装的。
    • 特殊字段解释:
    1. Type:表示协议类型字段,当值为 0x8863 时表示承载的是 PPPoE发现阶段的报文。当值为 0x8864 时表示承载的是 PPPoE会话阶段的报文
    2. VER:表示PPPoE版本号,值为0x01。
    3. Code:表示PPPoE报文类型,不同取值标识 不同的PPPoE报文类型 
    4. PPPoE会话ID,与以太网SMAC和DMAC一起定义了一个PPPoE会话。
    5. Length:表示PPPoE报文的Payload长度,不包括以太网头部和PPPoE头部的长度。
  • PPPoE协议报文

  

PPPoE通过这五种类型的报文来建立和终结PPPoE会话:

  • PADI(PPPoE Active Discovery Initiation)报文:用户主机发起的PPPoE服务器探测报文,目的MAC地址为广播地址。
  • PADO(PPPoE Active Discovery Offer)报文:PPPoE服务器收到PADI报文之后的回应报文,目的MAC地址为客户端主机的MAC地址。
  • PADR(PPPoE Active Discovery Request)报文:用户主机收到PPPoE服务器回应的PADO报文后,单播发起的请求报文,目的地址为此用户选定的那个PPPoE服务器的MAC地址。
  • PADS(PPPoE Active Discovery Session Configuration)报文:PPPoE服务器分配一个唯一的会话进程ID,并通过PADS报文发送给主机。
  • PADT(PPPoE Active Discovery Terminate)报文:当用户或者服务器需要终止会话时,可以发送这种PADT报文。
  •  PPPoE会话建立过程

  

 PPPoE会话建立过程分为  PPPoE协商 PPP协商

  • 用户客户端向服务器发送一个PADI报文,开始PPPOE接入。(广播形式
  • 服务器向客户端发送PADO报文,客户端可能会收到来自多个服务器的PADO报文
  • 在接收到的所有PADO报文中,PPPoE客户端选择最先收到的PADO报文对应的PPPoE服务器,并发送一个PADR报文给这个服务器。
  • 服务器产生一个Session ID,通过PADS发给客户端。
  • 客户端和服务器之间进行PPP的LCP协商,建立链路层通信。同时,协商使用CHAP认证方式。
  • 服务器通过Challenge报文发送给认证客户端,提供一个128bit的Challenge。
  • 客户端收到Challenge报文后,并将密码和Challenge做MD5算法运算后,在Response回应报文中把结果发送给服务器。
  • 服务器根据用户发送的信息判断用户是否合法,然后回应认证成功/失败报文,将认证结果返回给客户端。
  • 进行NCP(如IPCP)协商,通过服务器获取到规划的IP地址等参数。

PPPoE配置

   

[RTA]dialer-rule                   
// 进入Dialer-rule视图,在该视图下,可以通过拨号规则来配置发起PPPoE会话的条件 [RTA-dialer-rule]dialer-rule 1 ip permit [RTA-dialer-rule]quit [RTA]interface dialer 1      // 创建并进入Dialer接口 [RTA-Dialer1]dialer user enterprise  // 配置对端用户名,这个用户名必须与对端服务器上的PPP用户名相同 [RTA-Dialer1]dialer-group 1   // 将接口置于一个拨号访问组 [RTA-Dialer1]dialer bundle 1   // 设备通过Dialer bundle将物理接口与拨号接口关联起来 [RTA-Dialer1]ppp chap user enterprise@huawei // 配置PPP用户 [RTA-Dialer1]ppp chap password cipher huawei123 [RTA-Dialer1]ip address ppp-negotiate // 配置PPP协商
[RTA]interface GigabitEthernet 0/0/1 
[RTA-GigabitEthernet0/0/1]pppoe-client dial-bundle-number 1 on-demand    
// 实现Dialer Bundle和物理接口的绑定,用来指定PPPoE会话对应的Dialer Bundle [RTA-GigabitEthernet0/0/1]quit [RTA]ip route-static 0.0.0.0 0 dialer 1
// 允许在路由表中没有相应匹配表项的流量都能通过拨号接口发起PPPoE会话
<RTA>display interface Dialer 1
Dialer1 current state: UP
Line protocol current state: UP (spoofing)
Description: HUAWEI, AR Series, Dialer1 Interface
Route Port, The Maximum Transmit Unit is 1500, Hold timer is 10(sec)
Internet Address is negotiated, 192.168.10.254/32
Link layer protocol is PPP
LCP initial
Physical is Dialer
Bound to Dialer1:0:
Dialer1:0 current state : UP 
Line protocol current state : UP

Link layer protocol is PPP
LCP opened, IPCP opened
[RTA]display pppoe-client session summary 
 PPPoE Client Session:
 ID   Bundle  Dialer  Intf          Client-MAC    Server-MAC    State            
 0    1       1       GE0/0/1       54899876830c  000000000000  IDLE     
[RTA]display pppoe-client session summary 
 PPPoE Client Session:
 ID   Bundle  Dialer  Intf          Client-MAC    Server-MAC    State
 1    1       1       GE0/0/1       00e0fc0308f6  00e0fc036781  UP

State表示PPPoE会话的状态,包括以下四种:
  1. IDLE表示当前会话状态为空闲。
  2. PADI表示PPPoE会话处于发现阶段,并已经发送PADI报文。
  3. PADR表示PPPoE会话处于发现阶段,并已经发送PADR报文。
  4. UP表示PPPoE会话建立成功。

posted @ 2020-03-11 21:21  一个特立独行的猪  阅读(2955)  评论(0编辑  收藏  举报