大连海事大学计费系统整体方案.docx
《大连海事大学计费系统整体方案.docx》由会员分享,可在线阅读,更多相关《大连海事大学计费系统整体方案.docx(20页珍藏版)》请在冰豆网上搜索。
大连海事大学计费系统整体方案
大连海事大学方案介绍
1PPPoE概述
1.1技术背景
人们想通过相同的接入设备来连接到远程站点上的多个主机,同时接入设备能够提供与拨号上网类似的访问控制和计费功能。
在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输PPP的方法,即PPPoE。
PPPoE协议的提出解决了用户上网收费等实际应用问题,得到了宽带接入运营商的认可并广为采用。
1.2技术优点
对于用户来说,PPPoE的优点如下:
●沿袭传统的拨号上网方式,依旧使用他们熟悉的硬件以及类似的软件进行Internet的接入。
●兼容现有的所有xDSLModem,不需要对客户端的xDSLModem进行复杂的配置。
●使用以太网网卡连接PC和xDSLModem,允许多台PC同时共享xDSL线路,可以节约用户投资。
对于运营商来说,PPPoE的优点如下:
●运营商可以通过数字用户线、电缆调制解调器或无线连接等方式提供支持多用户的宽带接入服务。
●运营商可以利用可靠和熟悉的技术来加速部署高速互联网业务,对现有网络部署影响小。
●运营商可以通过访问控制功能对用户的身份进行确认,通过计费功能对用户进行计费,同时对用户的网络行为进行监控,保证了网络安全。
●终端用户可同时接入多个运营商,这种动态服务选择的功能可以使运营商容易创建和提供新的业务。
1.3PPPoE技术实现方案
1.3.1PPPoE组网结构
PPPoE使用Client/Server模型,PPPoE的客户端为PPPoEClient,PPPoE的服务器端为PPPoEServer。
PPPoEClient向PPPoEServer发起连接请求,两者之间会话协商通过后,PPPoEServer向PPPoEClient提供接入控制、认证等功能。
根据PPP会话的起止点所在位置的不同,有两种组网结构:
第一种方式在设备之间建立PPP会话,所有主机通过同一个PPP会话传送数据,主机上不用安装PPPoE客户端拨号软件,一般是一个企业(公司)共用一个账号(图中PPPoEClient位于企业/公司内部,PPPoEServer是运营商的设备)。
图1PPPoE组网结构图1
l第二种部署方式,PPP会话建立在Host和运营商的路由器之间,为每一个Host建立一个PPP会话,每个Host都是PPPoEClient,每个Host一个帐号,方便运营商对用户进行计费和控制。
Host上必须安装PPPoE客户端拨号软件。
Modem
Modem
RAS
tyler@
Routers
paul@
ISP1
ISP2
PPPSession
RADIUS
RADIUS
图2PPPoE组网结构图2
1.3.2PPPoE报文格式
PPPoE报文的格式就是在以太网帧中携带PPP报文,如图3所示。
图3报文格式
各个字段解释如下:
●lDestination_address域:
一个以太网单播目的地址或者以太网广播地址(0xffffffff)。
对于Discovery数据包来说,该域的值是单播或者广播地址,PPPoEClient寻找PPPoEServer的过程使用广播地址,确认PPPoEServer后使用单播地址。
对于Session阶段来说,该域必须是Discovery阶段已确定的通信对方的单播地址。
●lSource_address域:
源设备的以太网MAC地址。
●lEther_type:
设置为0x8863(Discovery阶段或拆链阶段)或者0x8864(Session阶段)。
●lVer域:
4bits,PPPoE版本号,值为0x1。
●lType域:
4bits,PPPoE类型,值为0x1。
●lCode域:
8bits,PPPoE报文类型。
Code域为0x00,表示会话数据。
Code域为0x09,表示PADI报文;Code域为0x07,表示PADO或PADT报文;Code域为0x19,表示PADR报文;Code域为0x65,表示PADS报文。
报文的具体情况请参见附录部分。
●l Session_ID域:
16bits,对于一个给定的PPP会话,该值是一个固定值,并且与以太网Source_address和Destination_address一起实际地定义了一个PPP会话。
值0xffff为将来的使用保留,不允许使用。
●lLength域:
16bits,定义PPPoE的Payload域长度。
不包括以太网头部和PPPoE头部的长度。
1.4PPPoE工作过程
PPPoE的协商过程如图4所示:
图4PPPoE协商过程
PPPoE可分为三个阶段,即Discovery阶段、Session阶段和Terminate阶段。
1.4.1Discovery阶段
Discovery阶段由四个过程组成。
完成之后通信双方都会知道PPPoE的Session_ID以及对方以太网地址,它们共同确定了唯一的PPPoESession。
(1) PPPoEClient广播发送一个PADI报文,在此报文中包含PPPoEClient想要得到的服务类型信息。
(2) 所有的PPPoEServer收到PADI报文之后,将其中请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复一个PADO报文。
(3) 根据网络的拓扑结构,PPPoEClient可能收到多个PPPoEServer发送的PADO报文,PPPoEClient选择最先收到的PADO报文对应的PPPoEServer做为自己的PPPoEServer,并单播发送一个PADR报文。
(4) PPPoEServer产生一个唯一的会话ID(SESSIONID),标识和PPPoEClient的这个会话,通过发送一个PADS报文把会话ID发送给PPPoEClient,如果没有错误,会话建立后便进入PPPoESession阶段。
1.4.2Session阶段
PPPoEDiscovery阶段的工作为PPPoEClient和PPPoE之间建立了Session,之后PPPoE便进入了Session阶段,Session阶段可划分为两部分,一是PPP协商阶段,二是PPP报文传输阶段。
PPPoESession上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP三个阶段。
(1) LCP阶段主要完成建立、配置和检测数据链路连接。
(2) LCP协商成功后,开始进行认证工作,认证协议类型由LCP协商结果(CHAP或者PAP)决定。
(3) 认证成功后,PPP进入NCP阶段,NCP是一个协议族,用于配置不同的网络层协议,常用的是IP控制协议(IPCP),它负责配置用户的IP和DNS等工作。
PPPoESession的PPP协商成功后,其上就可以承载PPP数据报文。
在PPPoESession阶段所有的以太网数据包都是单播发送的。
1.4.3Terminate阶段
PPP通信双方应该使用PPP协议自身(比如PPP终结报文)来结束PPPoE会话,但在无法使用PPP协议结束会话时可以使用PADT报文。
进入PPPoESession阶段后,PPPoEClient和PPPoEServer都可以通过发送PADT报文的方式来结束PPPoE连接。
PADT数据包可以在会话建立以后的任意时刻单播发送。
在发送或接收到PADT后,就不允许再使用该会话发送PPP流量了,即使是常规的PPP结束数据包也不允许发送。
2QinQ概述
2.1QinQ的产生背景
IEEE802.1Q中定义的VLANTag域中只有12个比特位用于表示VLANID,所以设备最多可以支持4094个VLAN。
在实际应用中,尤其是在城域网中,需要大量的VLAN来隔离用户,4094个VLAN远远不能满足需求。
2.2QinQ的作用及原理
设备提供的端口QinQ特性是一种简单、灵活的二层VPN技术,它通过在运营商网络边缘设备上为用户的私网报文封装外层VLANTag,使报文携带两层VLANTag穿越运营商的骨干网络(公网)。
在公网中,设备只根据外层VLANTag对报文进行转发,并将报文的源MAC地址表项学习到外层Tag所在VLAN的MAC地址表中,而用户的私网VLANTag在传输过程中将被当作报文中的数据部分来进行传输。
QinQ特性使得运营商可以用一个VLAN为含有多个VLAN的用户网络服务。
如图1-1所示,用户网络A的私网VLAN为VLAN1~10,用户网络B的私网VLAN为VLAN1~20。
运营商为用户网络A分配的VLAN为VLAN3,为用户网络B分配的VLAN为VLAN4。
当用户网络A的带VLANTag的报文进入运营商网络时,报文外面会被封装上一层VLANID为3的VLANTag;当用户网络B的带VLANTag的报文进入运营商网络时,报文外面会被封装上一层VLANID为4的VLANTag。
这样,不同用户网络的报文在公网传输时被完全分开,即使两个用户网络的VLAN范围存在重叠,在公网传输时也不会产生混淆。
图1-1QinQ功能示意图
QinQ特性使网络最多可以提供4094X4094个VLAN,满足城域网对VLAN数量的需求,它主要解决了如下几个问题:
●缓解日益紧缺的公网VLANID资源问题。
●用户可以规划自己的私网VLANID,不会导致和公网VLANID冲突。
●为小型城域网或企业网提供一种较为简单的二层VPN解决方案。
2.3QinQ的报文结构
QinQ报文在公网传输时带有双层VLANTag,内层VLANTag为用户私网VLANTag,外层VLANTag为运营商分配给用户的VLANTag,报文结构如图1-2所示。
图1-2QinQ的报文结构
2.4QinQ的实现方式
QinQ可分为两种:
基本QinQ和灵活QinQ。
(1) 基本QinQ
基本QinQ是基于端口方式实现的。
开启端口的基本QinQ功能后,当该端口接收到报文,设备会为该报文打上本端口缺省VLAN的VLANTag。
如果接收到的是已经带有VLANTag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLANTag的报文,该报文就成为带有端口缺省VLANTag的报文。
(2) 灵活QinQ
灵活QinQ是对QinQ的一种更灵活的实现,它是基于端口与VLAN相结合的方式实现的。
除了能实现所有基本QinQ的功能外,对于同一个端口接收的报文还可以根据不同的VLAN做不同的动作,可以实现以下功能:
● 为具有不同内层VLANID的报文添加不同的外层VLANTag。
● 根据报文的原有内层VLAN的802.1p优先级标记外层VLAN报文的802.1p优先级。
● 可以在添加外层VLANTag的同时对内层用户VLANID进行修改。
3BRAS应用简介
MX960是一款具有线速转发的高性能和多业务支持能力的边缘产品。
它在网络中的主要作为BRAS(宽带远程接入服务器)来对用户进行认证,计费,管理;同时提供高性能的边缘路由功能,比如强大的VPN支持。
MX960的特点在于它在运营商的网络上引入了具有业务生成和业务管理能力的运营平台。
一个可运营的网络是盈利的前提。
MX960的作用就在于使得现有网络真正可以成为可运营和可盈利的网络。
MX960具有不同规格的产品,其中包括:
MX960,MX480,MX240。
这个产品系列涵盖从480G,1.4Tbps,2.6Tbps的各种容量,以适应不同网络规模的需要。
其中应用的最多的为MX960
MX960是一个综合的接入管理平台,可以同时对以太网集团用户,以太网小区用户,DSL集团用户,DSL小区用户,传统专线用户等多种接入用户进行管理。
MX960支持当前最为成熟,应用最为广泛的PPP方式。
MX960为运营商提供了丰富多彩的运营方式。
MX960的系统设计采用分布式处理结构和业界领先的设计理念,做到了转发Internet短包时的线速性能。
并且在对每个用户加载策略的情况下,仍然能够做到对每个数据包进行线速的转发。
MX960不仅可以满足现在的网络对汇聚设备或者说边缘设备的要求,并且充分考虑到了未来下一代网络的要求。
MX960支持多队列,可以对高优先级的数据包进行优先转发,而且还可以根据数据包的协议类型,端口号等信息,对语音,视频等要求实时传送的数据流优先处理,并打上高优先级的标签,便于骨干核心路由器进行适当的处理。
MX960支持Diffserv,支持MPLS,支持多QoS队列,满足了NGN(下一代网络)对IP网设备的要求。
在现在的网络中部署MX960,方便了运营商向集成了语音、数据、视频等所有业务的下一代网络平滑演进。
3.1MX960应用于以太网环境
如上图所示,是MX960在以太网环境下的应用情况。
企业用户通过楼内以太网上连到运营商的接入层交换机,通过上一级交换机进行汇聚,最终通过MX960进入到核心网络。
对于企业和集团用户来讲,他们所属于的VLAN将终结在MX960上。
对于个人和住宅用户,首先通过小区内局域网,上连到运营商接入交换机,再通过上一级交换机进行汇聚,通过MX960访问Internet。
小区和个人用户的PPP回话,终结在MX960上。
ERX对接入层若干大楼和小区进行汇聚,然后通过千兆等高速接口上连到核心以太网交换机或者核心路由器。
3.2企业和集团用户
对于企业和集团用户,一般不会采用按时长收费的以太网接入方式,往往采用包月或者按照流量的收费方式。
由于以太网的带宽共享性,集团用户无法得知其可以享受的带宽是否是运营商所承诺的带宽,于是很多集团用户提出了按照流量计费的要求,尤其对于一些中小集团用户,计流量的要求更为迫切。
此时,ERX就将实现对每个集团用户出口统计流量的功能,从而提高客户的满意度。
另外,集团用户对服务质量有着较高的要求。
一般的以太网交换机产品无法对某些用户采取QoS策略,例如用户的带宽控制,带宽承诺等。
即便有些以太网交换机具有类似的功能,但是由于以太网交换机数量比较大,分布比较分散。
如果在这种量大,分布广的设备上来实现诸如QoS保证等服务,将对运营商的网络维护能力提出非常大的挑战。
可以说,在如此分布的设备上实现复杂的业务,基本是不可行的。
此时,MX960将在汇聚的层面上,对每个集团用户的端口加载策略,并实现相应的QoS要求。
企业用户对安全性有较高的要求,不同用户之间必然要通过VLAN将其进行隔离。
MX960此时的作用在于,首先,终结VLAN,按照虚拟端口对企业用户进行区分。
在虚拟端口上实现ACL,对流入和流出企业的流量进行控制。
例如,不允许某些用户访问特定的网站或者网段,等等。
这对于整个网络的安全性也是非常必要的。
对于一些大企业用户,往往会提出VPN的要求,对于运营商而言,VPN也将是非常重要的盈利业务之一。
在这种应用中,MX960的作用在于将企业的VLAN端口和其VPN互相映射,从而实现所谓的远程局域网互联。
3.3小区和住宅用户
小区和住宅以太网用户接入的盈利是一个经常令运营商头疼的问题。
往往是网络铺设下去了,但是用户的开通率太低,无法达到基本的盈利点。
通过一些措施提高了开通率之后,由于用户的增加,用户之间互相干扰,争抢带宽,互相攻击等问题又会大大的增加网络维护的投入,结果往往还是入不敷出。
ERX在这种环境中的作用,就是在于提高用户满意度以提高开通率,并且对每个用户进行良好的控制和管理,保证每个合法用户的正常上网。
MX960支持PPP的认证方式,避免了DHCP环境下的地址盗用,服务器仿冒等影响用户上网的问题。
由于DHCP服务器内嵌在Windows2000,WindowsNT,WindowsXP等主流操作系统中,所以,任何一个使用上述操作系统的用户都有可能开启DHCP服务器的功能。
无论有意无意,这都将导致同一网络中所有的用户都无法获得正确的和合法的IP地址,从而无法上网。
而这种情况,却是运营商所无法控制的。
所以,采用以太网进行用户接入的时候,一定要尽量避免采用DHCP的方式来分配IP地址。
在PPP的方式下,用户和MX960之间是面向连接的,具有更好的安全性和可管理性。
由于用户和MX960之间是有连接的,那么MX960就可以对用户进行个性化的控制,例如,用户可以自己选择带宽,选择服务优先级等等,同时,运营商可以对不同的服务级别进行不同的收费。
由于PPP的面向连接性,MX960可以通过将PPP回话映射到VPN的方式来实现所谓的VPDN。
远程用户可以通过其特定的用户名和密码,通过MX960访问到相应的VPN。
PPP具有完善的Keepalive(sessiontimeout,idletimeout)功能,可以随时检测到用户断网或者死机等情况,及时停止计费。
如果不是面向连接的协议,那么很难对网络故障或者终端故障进行检测。
例如基于Web方式的认证,就是没有连接的,此时,服务器端很难知道用户是否断网。
当然,这里也有一些办法来解决,但都是要牺牲安全性的解决方法。
例如,在网页中内嵌一个JAVA程序,来和服务器端握手。
这种方法当然可以解决Keepalive的问题,但是,用户的防火墙或者安全策略必须允许嵌在网页中的JAVA脚本程序运行,这就为黑客提供了一个再方便不过的漏洞。
采用PPP方式可以对用户IP地址进行动态分配,并且,采用PPP来进行IP地址动态分配比DHCP具有更好的可控制性和可靠性。
MX960支持组播,并且由于在PPP的方式下,组播流是在MX960上进行复制,如果不采用PPP,那么组播流为了达到最高效率,也许最终要在三层以太网交换机上进行复制。
在这种情况下,组播的效率会高一些,相对而言,得不偿失。
4大连海事大学部署方案
4.1方案整体介绍
大连海事大学PPPoE部署方案如下图:
⏹核心
▪核心采用高性能路由器
▪PPPOE接入方式,核心路由器终结PPPOE和QinQ
▪通过Domain-map实现不同的Domain进入不同的VR,实现不同的IP地址分配
⏹汇聚
▪汇聚采用高性能交换机
▪为每一台接入交换机封装不同的第二层标签,汇聚交换机实现QinQ封装
⏹接入
▪每用户一个VLAN,标记第一层标签,支持Trunk上联
⏹Rudius
▪用户采用pppoe拨号,Rudius服务器根据用户名密码分配不同属性
▪Rudius返回Framed-pool属性,决定分配IP地址
⏹IPv6支持
▪核心路由器和汇聚交换机双栈转发
▪对于PPPOE用户,通过核心路由器动态分配IPv6地址
▪对于VLAN用户,可以通过核心路由器或者汇聚交换机ND协议动态分配地址
⏹组播
▪三层网络运行组播路由协议
▪核心和汇聚运行IGMP协议
▪对于PPPOE用户,组播复制选择在核心路由器完成
▪对于VLAN用户,可以选择在核心或者汇聚进行组播复制
4.2PPPoE拨号实现过程
⏹学生通过PC机的PPPOE拨号软件进行拨号。
⏹接入交换机配置Access模式,为不同用户配置不同的VLAN。
⏹接入交换机实现第一层TAG封装
⏹接入交换机上联口配置Trunk模式。
⏹汇聚交换机配置QinQ。
⏹认证流到达汇聚交换机后封装第二层TAG。
⏹BRAS终结PPPoE和QinQ
⏹RadiusServer根据用户名密码返回给BRASFramed-pool属性。
⏹BRAS实现按角色进行地址分配和计费
⏹用户通过认证后可以访问Internet。
4.3L2TP应用
4.3.1L2TP协议背景
PPP定义了一种封装技术,可以在二层的点到点链路上传输多种协议数据包,当用户与NAS之间运行PPP协议时,二层链路端点与PPP会话点驻留在相同硬件设备(NAS)上。
L2TP(RFC2661)是一种对PPP链路层数据包进行隧道传输的技术,允许二层链路端点(LAC)和PPP会话点(LNS)驻留在通过分组交换网络连接的不同设备上,从而扩展了PPP模型,使得PPP会话可以跨越帧中继或Internet等网络。
L2TP结合了L2F和PPTP的各自优点,成为IETF有关二层隧道协议的工业标准。
4.3.2L2TP协议结构
图2描述了控制通道以及PPP帧和数据通道之间的关系。
PPP帧在不可靠的L2TP数据通道上进行传输,控制消息在可靠的L2TP控制通道内传输。
图2L2TP协议结构
图3描述了LAC与LNS之间的L2TP数据报文的封装结构。
通常L2TP数据以UDP报文的形式发送。
L2TP注册了UDP1701端口,但是这个端口仅用于初始的隧道建立过程中。
L2TP隧道发起方任选一个空闲的端口(未必是1701)向接收方的1701端口发送报文;接收方收到报文后,也任选一个空闲的端口(未必是1701),给发送方的指定端口回送报文。
至此,双方的端口选定,并在隧道保持连通的时间段内不再改变。
图3L2TP报文封装结构图
4.3.3隧道和会话
在一个LNS和LAC对之间存在着两种类型的连接。
隧道(Tunnel)连接:
它对应了一个LNS和LAC对。
会话(Session)连接:
它复用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话过程。
在同一对LAC和LNS之间可以建立多个L2TP隧道,隧道由一个控制连接和一个或多个会话连接组成。
会话连接必须在隧道建立(包括身份保护、L2TP版本、帧类型、硬件传输类型等信息的交换)成功之后进行,每个会话连接对应于LAC和LNS之间的一个PPP数据流。
控制消息和PPP数据报文都在隧道上传输。
L2TP使用Hello报文来检测隧道的连通性。
LAC和LNS定时向对端发送Hello报文,若在一段时间内未收到Hello报文的应答,隧道断开。
4.3.4控制消息和数据消息
L2TP中存在两种消息:
控制消息和数据消息。
控制消息用于隧道和会话连接的建立、维护以及传输控制。
它的传输是可靠传输,并且支持对控制消息的流量控制和拥塞控制。
数据消息用于封装PPP帧,并在隧道上传输。
它的传输是不可靠传输,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。
控制消息和数据消息共享相同的报文头。
L2TP报文头中包含隧道标识符(TunnelID)和会话标识符(SessionID)信息,用来标识不同的隧道和会话。
隧道标识相同、会话标识不同的报文将被复用在一个隧道上。
报文头中的隧道标识符与会话标识符由对端分配。
L2TP(Layer2TunnelingProtocol,二层隧道协议)是VPDN(VirtualPrivateDial-upNetwork,虚拟私有拨号网)隧道协议的一种。
VPDN隧道协议主要包括以下三种:
●PPTP(Point-to-PointTunnelingProtocol,点到点隧道协议)
●L2F(Layer2Forwarding,二层转发)
●L2TP
目前使用最广泛的是L2TP。
4.3.5L2TP部署
大连海事大学在办公区域有打印共享的业务,需要提供固定IP地址,PPPoE不能满足需求,需要L2TP来解决。
需要打印服务的客户(指本地支持L2TP协议的用户)发起L2TP隧道连接。
LAC客户获得网络访问权限后,可直接向LNS发起隧道连接请求,LNS分配给需要打印的客户一个私网地址,实现和打印服务器的互通,无需经过一个单独的LA