BRAS技术与认证
015Host_MAC_addressHost_MAC_address ( Continue )Access_Concentrator_MAC_address192331Access_Concentrator_MAC_address ( Continue )Ethernet_Type ( 0x8863 )Session_ID ( 0x0000 )Tag_Type ( 0x0101 )Tag_Type ( 0x0102 )0x470x650x630x200x730x680x6F0x640x6B0x650x680x6FV = 1T = 1Code ( 0x07 )Length ( 0x0020 )Tag_Length ( 0x0000 )Tag_Length ( 0x0018 )0x200x420x200x730x650x6F0x520x610x2D0x680x730x74
4.2.4 PADR数据包
由于PADI是广播的,主机可能收到不止一个PADO。它将审查接收到的所有PADO并从中选择一个。可以根据其中的AC-Name或PADO所提供的服务来作出选择。
主机向选中的接入服务器发送一个PADR数据包。其中,Destination_address域设臵为发送PADO的接入服务器的单播地址,Code域设臵为0x19,Session_ID必须设臵为0x0000。
PADR必须包含且仅包含一个Tag_Type为Service-Name的TAG,表明主机请求的服务,以及任意数目其他类型的Tag。 4.2.5 PADS数据包
当接入服务器收到一个PADR数据包,它就准备开始一个PPP会话。它为PPPoE会话创建一个唯一的Session_ID并用一个PADS数据包来向主机作出响应。Destination_address域是发送PADR数据包的主机的单播以太网地址,Code域设臵为0x65,Session_ID必须设臵为所创建好的PPPoE会话标识符。
PADS数据包中包含且仅包含一个Tag_Type为Service-Name的Tag,表明接入服务器已经接受的该PPPoE会话的服务类型,以及任意数目的其他类型的Tag。
如果接入服务器不接受PADR中的Service-Name,那么它必须用一个PADS来作出应答,并且该PADS中带有类型为Service-Name-Error的Tag以及任意数目的其它TAG类型。这种情况下,Session_ID必须设臵为0x0000。 4.2.6 PADT数据包
PADT(PPPoE Active Discovery Terminate)数据包可以在会话建立以后的任意时刻发送,表明PPPoE会话已经终止。
30
BRAS技术与认证
它可以由主机或接入服务器发送,Destination_address域为单播以太网地址,Code域设臵为0xA7,Session_ID必须表明终止的会话,这种数据包不需要任何Tag。当收到PADT以后,就不允许再使用该会话发送PPP流量了。在发送或接收到PADT后,即使是常规的PPP结束数据包也不允许发送。
PPP通信双方应该使用PPP协议自身来结束PPPoE会话,但在无法使用PPP时可以使用PADT。 4.3 PPP会话阶段
一旦PP会话(PPP Session)开始,PPP数据就像其它PPP封装一样发送。PPP报文作为PPPoE帧的净荷,封装在以太网帧发送到对端。
所有的以太网数据包都是单播的。
? ? ? ?
Ethernet_Type域设臵为0x8864。 PPPoE的Code必须设臵为0x00。
PPP会话的Session_ID不允许发生改变,必须是Discovery阶段所指定的值。 PPPoE的Payload包含一个PPP帧,帧始于PPP Protocol-ID。
15192331从主机发送到接入服务器的PPP LCP数据包示例图
0Access_Concentrator_MAC_addressAccess_Concentrator_MAC_address ( Continue )Host_MAC_addressHost_MAC_address ( Continue )Ethernet_Type ( 0x8864 )Session_ID ( 0x1234 )PPP Protocol ( 0xC021 )V = 1T = 1Code ( 0x00 )Length ( 0x???? )PPP Payload
进入PPP Session阶段后,在会话阶段,主机或服务器任何一方都可发PADT报文通知对方结束PPP会话。 4.4 PPPoE注意事项
4.4.1 LCP方面
推荐使用Magic Number LCP(Link Control Protocol)配臵选项,不推荐使用协议域压缩PFC(Protocol Field Compression)选项。不允许使用下面的任何一个选项实现请求,对这些请求必须拒绝:
? ? ?
FCS(Field Check Sequence)Alternatives ACFC(Address-and-Control-Field-Compression) ACCM(Asynchronous-Control-Character-Map)
协商后PPPoE的最大接收单元MRU(Maximum Receive Unit)不允许超过1492个字节。因为以太网的最大净载为1500字节,而PPPoE头部为6个字节,PPP Protocol-ID为2个字节,所以PPP的MRU不允许超过1492个字节。
31
BRAS技术与认证
推荐接入服务器不时地向主机发送回声请求(Echo-Request)数据包,以确定会话的状态。否则如果主机在没有发送结束请求(Terminate-Request)数据包的情况下终止会话,则接入服务器将无法得知该会话已经结束。
当LCP结束的时候,主机和接入服务器必须停止使用该PPPoE会话。如果主机希望开始另一个PPP会话,则它必须重新进入PPPoE Discoverey阶段。 4.4.2安全方面
为了防止拒绝服务DOS(Denial of Service)攻击,接入服务器可以使用类型为AC-Cookie的Tag。接入服务器应该能够根据PADR的Source_address来重新产生具有唯一性的Tag_Value。 使用这种方法,接入服务器可以确保PADI的Source_address确实是可到达的,并对该地址的并行会话数进行限制。使用什么样的算法并没有指定。虽然AC-Cookie对防止某些DOS有用,但它不能防止所有的DOS攻击,接入服务器可以使用其它的方法来保护。很多接入服务器不希望提供信息,表明为未认证实体提供什么服务。在这种情况下,接入服务器应该使用下面两种策略之一:
? ?
根据请求中的Service-Name标签应该不拒绝该请求,并返回收到的Tag_Value。 应该仅接受带有Tag_Length是0,表明任意服务的Service-Name标签的请求。 推荐使用前一种方案。
4.4.3其它方面
如果主机在一段指定时间内没有收到PADO数据包,它应该重发其PADI数据包并把等待的间隔加倍。按所期望的次数重复这个动作。主机在等待接收PADS数据包时,应该采用类似的定时机制,只是主机重新发送的是PADR数据包。在重发指定次数后如果还没有收到PADS报文,主机应该重新发送PADI。Ethernet_Type的值0x8863和0x8864已经被IEEE指定专用于PPPoE,使用这两个值和PPPoE VER域将唯一标识本协议。 4.5 PPPoE的应用
PPPoE协议提供了在如以太网的广播式的网络中,多台主机连接到远端的访问集中器AC上的一种标准。而目前能完成访问集中器功能的设备一般是宽带接入服务器。
PPPoE组网图
Host...GE1/0/0POS2/0/0InternetRouter 在这种网络模型中,PPPoE可用于同一个以太网上的多个主机通过一个或多个桥接的调制解调器向多个目的主机开放其PPP会话。因此PPPoE主要用于宽带远程访问技术,即访问服务的提供者希望通过提供一个桥接的拓扑结构从而保持PPP会话。
Host 32
BRAS技术与认证
在PPPoE网络中,所有用户的主机都需要能独立地初始化自已的PPP协议栈。利用以太网将大量主机组成网络,通过一个远端接入服务器连入因特网。而且通过PPP协议本身所具有的一些特点,能实现在广播式网络上对用户进行计费和管理。由于具有很高的性能价格比,PPPoE被广泛应用于小区组网等环境中。
PPPoE协议推出后,各网络设备制造商也相继推出自已品牌的宽带接入服务器(BAS)。它不仅能支持PPPoE协议数据报文的终结,而且还能支持其它许多协议。
33
BRAS技术与认证
第五章 AAA及用户管理
5.1 AAA简介
5.1.1 AAA的引入
? ?
在用户接入网络的时候,运营商就不得不面临以下的问题。
如何确定用户是否有权限进入网络。运营商需要防止非法用户访问网络,以保护自身和合法 如何确定用户的使用服务的范围。 如何上线的用户进行准确的计费, 解决方案
用户的权益。
? ? ?
可以使用AAA解决以上问题。AAA提供对用户进行认证、授权和计费三种安全功能,能够比较全面的处理上述问题。如图所示。
路由器接入用户Internet接入请求认证信息交互信息授权信息用户上线计费信息......
?
多用户接入时遇到的困难
大量用户接入网络时,如果由路由器负责对其进行处理的话,首先,路由器需要维护一个比较大的数据库。其次,路由器需要对接入的用户进行控制,防止非法访问。显然,大量不同类型的用户进行实时控制,会让路由器消耗大量的资源。
如果多用户接入的业务完全由路由器来承担的话,路由器上的负担就会过重,甚至影响其它业务的正常运行。
?
解决方案
对用户采用域管理,所有用户都属于某个域。一个域中的所有用户都具有类似的属性。采用
34