什么是以太网接入
AGG:Aggregation 汇聚设备 AN:Access Node 接入设备 HG:Home GateWay 家庭网关
大型园区网接入典型案例
PPPoE基本原理
以太网接入用户的认证-PPPoE PPPoE协议采用C/S模式,它将PPP帧封装为以太网帧,让PPP帧可以在以太网上进行传输,同时还能让以太网具备PPP的功能 其中PPPoE有两个阶段:Discovery、PPP Session
PPPoE的帧结构
其中payload(载荷)就是我们PPP的帧结构
PPPoE的建立以及协商过程
> Discovery阶段
该阶段主要用来客户端与服务端通过<code>二层广播/单播</code>建立一个虚连接,来确保可以通信
- 首先是客户端广播发送一个<code>PADI(PPPoE Access Discovery Initiation)报文</code>来寻找我们的服务器
- 服务器收到报文后,单播回复一个<code>PADO(PPPoE Access Discovery Offer)报文</code>来向客户端通告我能提供的服务
- 紧接着客户端单播回复一个<code>PADR(PPPoE Access Discovery Request)报文</code>来请求建立PPPoE Session的连接
- 再来服务器单播回复一个<code>PADS(PPPoE Access Discovery Session-Confirmation)报文</code>来向客户端确认该请求,并且里面包含了Session ID信息(用来标识一个客户端,来区分不同逻辑点到点链路)
> PPP Session阶段
在建立好连接之后,再进行我们的PPP的三个协商阶段 <code>LCP > CHAP/PAP > NCP</code>
PPPoE的配置
代码语言:javascript复制/*#####服务端的配置#####*/
/*首先是创建一个用于拨号验证的用户,用户类型为NetWork 服务类型为ppp*/
local-user [name] class [network]
password simple [password]
service-type ppp
/*再来创建一个域(一个aaa的验证方案),设置验证方式为ppp的本地验证模式*/
domain [name]
authentication ppp local
/*创建一个PPP分配地址池*/
ip pool [name] [start-address] [end-address]
/*创建一个虚拟模板(就类似创建一个虚拟连接)开启我们的ppp验证,引入我们ip地址池,并且设置自己的IP地址*/
ppp authentication-mode [chap/pap] domain [name]
remote address pool [pool-name]
ip address [address] [mask]
/*最后在物理口绑定我们的协议和模板*/
pppoe-server virtual-template [template-name]
/*#####客户端的配置#####*/
/*首先创建一个拨号组,并且放行里面所有的IP流量*/
diagnostic-logfile
dialer-group [id] rule [ip/tcp/udp] [permit/deny]
/*再创建一个拨号口,设置IP的获取方式是静态还是PPPoE下发,开启接口的绑定,绑定拨号组*/
interface Dialer [id]
ip address [ip-address/ppp-negotiate]
dialer bundle enable
dialer-group [group-id]
/*最后设置接口验证*/
ppp chap user [name]
ppp chap password [password]
/*dialer timer idle [time] 设置拨号间隔时长*/
/*最后进入物理接口,绑定我们的虚拟拨号接口*/
pppoe-client dial-bounld-number [id]