RFC 1483标准的制定是为了实现网络层上多种协议的数据包在ATM网络上的封装传送,在ATM技术中已成为在ATM网络上处理上层多种协议数据包的封装标准。
RFC 1483(Multiprotocal Encapsulation over ATM Adaptation Layer 5,ATM适配层5上的多协议封装)包括路由和桥接两种封装方法。
路由封装方法:允许在一条ATM虚电路上复用多个协议,在传统的PDU(协议数据单元)前加上IEEE802.2逻辑链路控制(LLC)信头,用来标识所传送的PDU的协议,这种方法称为LLC封装;
桥接封装方法:由一条ATM虚电路来承载,这种方法称为VC复用。
RFC 1483-Bridge1483桥接协议,使用该标准时,MODEM只是充当桥接设备,不提供任何协议转换或地址过滤功能,一般当MODEM能与DSLAM同步后,设置好其中的VPI/VCI后,基本上就可以实现用户上网,MODEM仅实现相当于HUB的功能。
桥接设备对接入数据链路层的数据进行LLC/ANAP封装,实现将网络层上多种协议封装处理后,通过用户侧和网络侧的PVC永久虚电路,传送到CO端DSLAM,在集中路由器上,使用BVI(Bridged-group Virtual Interface,桥接组虚拟接口)将桥接数据转发到相应的路由接口。
ADSL Modem作为桥接器,工作在二层,通过广播方式收录各用户的网卡MAC地址,并进行通信,这就不可避免引起广播风暴,网络实际效率降低。所以用户接入数量是有限制,对于小型企业还可行,对拥有大量设备的企业而言无法实现稳定的带宽。
IPoA(IP Over ATM) 是在ATM-LAN上传送IP数据包的一种技术。它规定了利用 ATM网络在ATM终端间建立连接,特别是建立交换型虚连接(SVC:Switched Virtual Circuit)进行IP数据通信的规范。
IPoA是RFC1557定义的经典IP接入方式,明确此标准只针对网络层的IP协议,用IP路由转发实现相互之间的通信。ATM是面向连接的传输方式,IP是非连接的协议。在建立虚连接之外,IPOA与网络接口层完成IP地址到硬件地址(ATM地址)的映射过程,封装并发送输出的数据分组,接收输入的数据分组并将其发送到对应的模块。
IPoA的主要功能有两个:地址解析和数据封装。IPoA是利用早期标准完成静态IP接入方式,IPoA用户上网方式是使用固定IP地址完成,这被称为ADSL专线,在公网IP地址日益稀少的情况下,动态分配IP地址的PPP技术应用更广。
PPP协议( Point to Point Protocol,点对点协议)是TCP/IP网络协议集合中的一个子协议,主要用来创建电话线路以及ISDN拨号接入ISP的连接,具有多种身份验证方法、数据压缩和加密以及通知IP地址等功能。PPP 是应用在广域网的,用于拨号的,在获取 IP 的过程是有鉴权认证的,鉴权不通过是无法获得 IP 的。
PPP协议由三部分构成:
1、 LCP协议
LCP(Link Control Protocol)用于建立、配置和测试数据通信链路,能够用来协商 PPP 协议的一些配置参数;处理不同大小的数据包;检测链路环路和错误;终止一条链路。
2、NCP 协议
NCP(Network Control Protocol)网络控制协议是 PPP 协议为不同网络层协议提供的一族网络控制协议。常用的是提供给 TCP/IP 网络的IPCP和提供给 SPX/IPX 网络的 IPXCP。其中,IPCP最为常用,在 PPP 协议进行 NCP 参数配置时用来协商网络层地址。
通过IPCP协议设备可以协商获得 IP 地址、DNS 等信息。
3、PPP协议数据帧
PPP协议是面向字节流的,数据帧之间需要使用一个标志字节来分隔。
4、PAP 和CHAP
PAP是一种两次握手验证协议:
1、被验证方直接将用户名和口令传递给验证方;
2、验证方将这个用户名和口令与自己 user 命令配置的用户列表进行比较,如果相同则通过验证。
CHAP 是三次握手协议:
1、验证方生成一段随机报文传递到对方,并同时将本端的主机名附带上一起发送给被验证方;
2、被验证方接到对端对本端的验证请求时,便根据此报文中验证方的主机名和本端的用户表查找用户口令字,用此用户的口令对这段随机报文进行加密,然后与自己的用户名一起传递给对方;
3、验证方根据对方的用户名查找 user 列表,找到对应的口令,用这个口令对随机报文加密,与对方加密的随机报文比较,若相同则验证通过,否则失败。CHAP 不用在网络上传递口令,保密性较好。
根据用户侧设备的不同分为两种方式:
用户PC + ADSL Modem,适用于单台主机
ADSL Modem采用RFC 1483-Bridge桥接标准将PPP包进行LLC/ANAP封装后,通过CPN和CO之间的PVC永久虚电路建立连接,实现PPP的动态接入。
用户PC作为PPPoE Client客户端,运行PPPoE 模拟拨号软件,将用户数据封装为PPP,再将PPP数据封装到以太网帧中,到ADSL路由器或ADSL Modem设备上进行LLC/ANAP封装,传送到集中路由器PPPoE Server服务端进行PAP或CHAP验证,通过验证后,PC将以IPCP协商形式从集中路由器获得IP地址。
PPPoE客户端通过ADSL CPE设备桥接方式传送数据到PPPoE 服务端。ADSL CPE设备需要配置地址转换NAT,默认路由和DHCP Server。
PPPoE拨号软件是我们在windows里不常见的拨号上网标志。国内目前主要使用PPPoEoA作为ADSL拨号上网方式。
与PPPoEoA的不同,PPPoEoA应用里,ADSL CPE设备主要起桥接作用。在PPPoA中ADSL CPE设备起纯粹的路由作用,在PPPoA中永久在线模式中,没有PPPoEoA的客户端和服务端概念,PPPoA协议采用PPPoA的接入技术,由PC终端直接发起PPP呼叫,用户侧ATM25网卡在收到上层的PPP包后,根据RFC2364封装标准对 PPP包进行AAL5层封装处理形成ATM信元流。CO端通过ATM网络和集中路由器进行对等的PPP协商,进行验证、获取IP地址和计费过程。
PPPoA也支持和PPPoEoA相似的按需模拟拨号模式,也采用Client/Server模式。PPPoA在欧洲应用较广。
ADSL接口的物理参数配置有以下3点:
相关配置命令:
(1) 进入ADSL接口视图。
[R1] interface atm interface-number
(2) 激活ADSL接口
[R1-Atm1/0] activate
ADSL接口视图下使用adsl standard命令配置ADSL接口使用的标准的命令。默认为自适应方式。
配置如下:
[R1-Atm1/0] adsl standard{ auto | g9923 | g9925 | gdmt | t1413 }
{ x I y I … } 表示从多个选项中仅选取一个
ADSL接口视图下使用adsl tx-attenuation命令配置ADSL接口发送功率衰减值。默认值为0,ADSL发送功率衰减,一般分为上行通道衰减和下行通道衰减。上行和下行通道衰减分别表示为上行/下行发送信号经线路传输,在到达局端ADSL接收端的信号的差值(dB)。
[R1-Atm1/0] adsl tx-attenuation attenuation
1、工作模式介绍
PPPoEoA会话有三种工作模式:永久在线模式、按需拨号模式、诊断模式。
永久在线模式:当物理线路连接后,设备会立即发起PPPoE呼叫,建立PPPoE会话。除非用户删除PPPoE会话,否则此PPPoE会话将一直存在。
按需拨号模式:当物理线路连接后,设备不会立即发起PPPoE呼叫,只有当有数据需要传送时,设备才会发起PPPoE呼叫,建立PPPoE会话。如果PPPoE链路的空闲时间超过用户配置的值,设备会自动中止PPPoE会话。
诊断模式:设备在配置完成后立即发起PPPoE呼叫,建立PPPoE会话。每隔用户配置的重建时间间隔,设备会自动断开该会话、并重新发起呼叫建立会话。通过定期建立、删除PPPoE会话,可以监控PPPoE链路是否处于正常工作状态。
PPPoE会话的工作模式由对应的拨号接口的配置决定:
Dialer接口的链路空闲时间(通过dialer timer idle命令配置)配置为0,且Dialer接口上未配置dialer diagnose命令时,PPPoE会话将工作在永久在线模式。
当Dialer接口的链路空闲时间(通过dialer timer idle命令配置)配置不为0,且Dialer接口上未配置dialer diagnose命令时,PPPoE会话将工作在按需拨号模式。
当Dialer接口上配置了dialer diagnose命令时,PPPoE会话将工作在诊断模式。
2、配置PPPoEoA客户端主要配置3个方面:
(1) Dialer拨号接口相关配置
(2) 虚拟以太网(VE)接口和PPPoE会话配置
(3) ADSL PVC永久虚电路和PPPoEoA映射的相关配置
3、配置拨号接口
在配置PPPoE会话之前,需要先配置一个Dialer拨号接口,并在接口上开启共享DDR。每个PPPoE会话唯一对应一个Dialer bundle,而每个Dialer bundle又唯一对应一个Dialer接口。这样就相当于通过一个Dialer接口可以创建一个PPPoE会话。
(1) 进入系统视图。
system-view
(2) 创建拨号访问组,并配置拨号控制规则。
dialer-group group-number rule { ip | ipv6 } { deny | permit | acl { acl-number | name acl-name } }
仅工作在按需拨号模式下需要配置本命令。
(3) 创建Dialer拨号接口,并进入该Dialer接口视图。
interface dialer number
(4) 配置接口IP地址。
ip address { address mask | ppp-negotiate }
缺省情况下,接口未配置IP地址。
(5) 开启共享DDR。
dialer bundle enable
缺省情况下,接口上未开启共享DDR。
(6) 配置该拨号接口关联的拨号访问组,将该接口与拨号控制规则关联起来。
dialer-group group-number
缺省情况下,接口不与任何拨号访问组相关联。
仅工作在按需拨号模式下需要配置本命令。
(7) 配置链路空闲时间。
dialer timer idle idle [ in | in-out ]
缺省情况下,链路空闲时间为120秒。
未配置dialer diagnose时,当idle配置为0时,PPPoE会话工作在永久在线模式下,不为0时工作在按需拨号模式下。
(8) 配置DDR应用工作在诊断模式。
dialer diagnose [ interval interval ]
缺省情况下,工作在非诊断模式。
当工作在永久在线模式或者诊断模式情况下不要配置本命令。
(9) (可选)配置DDR自动拨号的间隔时间。
dialer timer autodial autodial-interval
缺省情况下,DDR自动拨号的间隔时间为300秒。
当链路断开后将启动自动拨号定时器,等待自动拨号定时器超时后再重新发起呼叫。
为了在链路断开时可以尽快自动重新拨号,建议将自动拨号的时间间隔配置的小一些。
(10) (可选)配置Dialer接口的MTU值。
mtu size
缺省情况下,Dialer接口的MTU值为1500字节。
对于PPPoE Client应用的Dialer接口,应修改其MTU值,保证分片后的报文加上2个字节的PPP头和6个字节的PPPoE头之后的总长度不超过对应PPPoE会话所在接口的MTU值。
4、配置虚拟以太网(VE)接口
需要配置虚拟以太网(VE)接口替代PPPoE应用中的物理以太网口,在虚拟以太网(VE)接口上也需要建立一个PPPoE会话,并且指定该会话所对应的dialer bundle虚拟接口绑定。
(1) 在ADSL(ATM)接口视图下创建PVC,进入PVC视图
[R1-Atm1/0] pvc { pvc-name [ vpi/vci ] | vpi/vci }
VPI(0~255)、VCI(32-65535)。ADSL常见值有0/35、0/32.
(2) 为PVC配置PPPoEoA映射
[R1-atm-pvc-Atm1/0-0/60] map bridge virtual-ethernet interface-number
ADSL接口上的PVC映射到虚拟以太网(VE)接口,虚拟以太网(VE)接口映射到Dialer拨号接口。
5、显示和维护
显示PPPoE会话的概要信息
display pppoe-client session summary [ dial-bundle-number number ]
显示PPPoE会话的协议报文统计信息
display pppoe-client session packet [ dial-bundle-number number ]
清除PPPoE会话的协议报文统计信息
reset pppoe-client session packet [ dial-bundle-number number ]
1、PPPoEoA Client配置
(1)、PC1接口配置
[R1] dialer-group 1 rule ip permit //配置拨号访问组1
[R1] interface dialer 1 //创建拨号接口1
[R1-Dialer1] dialer bundle enable //共享DDR
[R1-Dialer1] dialer-group 1 //将Dialer1接口与拨号访问组1关联。
[R1-Dialer1] ip address ppp-negotiate //通过协商获取IP地址
[R1-Dialer1] ppp pap local-user user1 password simple 12345678 //创建用户名和密码
[R1-Dialer1] quit
(2)、创建虚拟以太网VE接口
[R1] interface virtual-ethernet 1
(3)、ADSL PVC永久虚电路和PPPoEoA映射的配置
[R1] interface atm1/0 //ADSL路由器由接口 ATM接口号1/0
[R1-Atm1/0] pvc 0/32 //创建永久虚电路PVC VPI/VCI 0/32
[R1-atm-pvc-Atm1/0-0/32] map bridge virtual-ethernet 1
ADSL接口上的PVC映射到虚拟以太网VE接口,虚拟以太网VE接口映射到Dialer拨号接口。
(4)、ADSL路由器进行NAT地址转换和默认路由配置
[R1] ip route-static 0.0.0.0 0.0.0.0 Dialer 1 //配置dialer 1作为默认路由出口
[R1] acl number 2000 //创建访问控制列表
[R1-acl-basic-2000] rule permit source 172.30.0.0 0.0.0.255 //配置允许nat转换的网段 私网IP
[R1-acl-basic-2000] rule deny
[R1-acl-basic-2000] quit
[R1] interface dialer 1 //拨号接口1
[R1-Dialer1] nat outbound 2000
2、PPPoE Server配置
(1)、增加一个PPPoE用户
class manage一般是管理账户,local-user test class network一般是接入账户,local-user test class manage才能启用telent 、ssh、terminal、http等等。network-admin是最高权限,network-operator 是访客权限只能查看不能配置操作。
[R2] local-user user1 class manage //创建管理账户
[R2-luser-user1] password simple 12345678
[R2-luser-user1] service-type ppp
(2)、配置域用户使用本地认证方案
[R2] domain system //创建域system
[R2-isp-system]authentication ppp local //使用PPP协议认证
(3)、添加本地名称为adsl的IP地址池(10个公网IP地址)
[R2-isp-system] ip pool adsl 202.18.18.1 202.18.18.10
(4)、配置虚拟模板参数
[R2] interface virtual-template 1 //创建虚拟模板接口 1 BVI
[R2-Virtual-Template1] ppp authentication-mode pap domain system //域system配置PPP认证方式为pap
[R2-Virtual-Template1] remote address pool adsl //指定地址池adsl
[R2-Virtual-Template1] ip address 202.18.18.1 255.255.255.0 //m网关
[R2-Virtual-Template1] quit
(5)、配置PPPoE参数
虚拟模板与物理接口绑定
[R2] interface GigabitEthernet 0/0
[R2-Ethernet0/0] pppoe-server bind virtual-template 1
[R2-Ethernet0/0] quit
3、通过ATM上行,在DSLAM与PPPoE Server服务器中间经过ATM网络来连接,而不是直连,这时PPPoE Server服务器配置方式将发生改变。
PPPoE Server服务器配置中(1)~(4)步骤不变,只需要改第五步。
(5)、集中路由器创建VE口
虚拟模板与物理接口绑定
[R2] interface virtual-ethernet 1 //创建VE接口
//ADSL接口上的PVC映射到虚拟以太网VE接口
[R2] interface atm1/0 //ADSL路由器由接口 ATM接口号1/0
[R2-Atm1/0] pvc 0/60 //创建永久虚电路PVC VPI/VCI 0/60
[R2-atm-pvc-Atm1/0-0/60] map bridge virtual-ethernet 1
[R2-atm-pvc-Atm1/0-0/60] quit
//服务器绑定到虚拟模板接口 1
[R2] interface virtual-ethernet 1
[R2-Virtual-Ethernet1] pppoe-server bind virtual-ethernet 1