理解并取证:DLS网络架构和PPPOE数据帧-阿里云开发者社区

开发者社区> 开发与运维> 正文

理解并取证:DLS网络架构和PPPOE数据帧

简介:

DSL(DigitalSubscriber Line数字用户线路),使用现在的电话设施,只投入非常少的改造成本,将传统电话通信线缆中没有使用的部分用作高速数据传输服务,使得通信基础设施更充分的被使用,让语音与数据共存,这是DSL网络的核心基础。

DSL网络对传输距离相当敏感,它会随着用户到电话中心局(CO)的距离增大,传输质量与速率将随之下降,通常用户到电话中心局的距离在5500米左右。

为了能更好的理解DSL的基本原理与配置过程,首先拟订一个清晰的学习线路如下:

n理解DSL的基本分类

n以ADSL为例理解DSL网络的物理架构

n关于在ADSL网络中使用PPPOE协议

n理解并取证PPPOE的工作原理

n演示:计算机、CPE通过PPPOE拨号到运营商的聚合路由器以获取ADSL连接。


理解DSL的基本分类

目前DSL网络的表现形式非常多,但是大致可以归类为两种:ADSL(Asymmetric Digital Subscriber Line)非对称数字用户线路和SDSL(SymmetricDigital Subscriber Line)对称数字用户线路

ADSL(Asymmetric Digital Subscriber Line)非对称数字用户线路,它提供不对称的上传和下载速度,通常下载速度远高于上传的速度,它是目前在DSL市场上部署得最多的一种宽带技术,用户与电话中心局的距离在5500左右,提供1.5~8Mbit/s的下载速率,以及16Kbit/s-1Mbit/s的上传速率。它允许在电话线上传输语音的同时传输数据。所以用户在使用ADSL网络时,既能打电话同时又能上网,这里需要注意的是在实际ADSL的应用环境中,通常我们会认为上传数据的速率比下载速率低很多,这也是正常现象。

SDSL(SymmetricDigital Subscriber Line)对称数字用户线路,它提供对称的上传与下载速度,其速率范围在128Kbit/s-2.32Mbit/s之间,最常见的实现速率为768Kbit/s,在本书中不以描述SDAL(SDSL)为重点,如果需要获得更多关于SDSL的描述,请参考CCNP的远程接入或者关于ISP相关的更多手册。


以ADSL为例理解DSL网络的物理架构

ADSL(AsymmetricDigital Subscriber Line)非对称数字用户线路。欧洲发达国家称为“现代化信息高速公路”。ADSL网络的物理架构如图8.93所示。现在来理解在ADSL网络基础结构中,每个网络元件的定义与作用以及其它相关的专业术语:

052237538.png

nCPECustomerPremise Equipment用户前端设备的缩写,在DSL网络中的CPE通常是指DSL的调制解调器,或者是带DSL调制解调的路由器;对于ADSL宽带的家庭用户,CPE事实上就是ADSL modem,通常将这类用户接入设备称之为ATU-R(ADSL Transmission Unit-Remote ADSL传输单元远程端)

n分离器:将DSL的数据流量从语音流量中分离出来,如果是语音流量就交给传统的PSTN网络进行转发,如果是数据流量就交给DSLAM来负责终结物理层的DSL连接。

nDSLAM即DigitalSubscriber Line Access Multiplexer数字用户线路接入复用器的缩写,DSLAM起到的作用是汇聚所有用户的DSL链路,相当于是一个二层交换机。如果更形象的讲:是一个包含多个ATU-C单元的机箱;ATU-C(ADSLTransmission Unit-Central Office ADSL的传输单元中心)是ADSL传输单元中心,位于提供商中心电话局(CO),它负责连接ATU-R。

nDSL汇聚路由器:负责汇聚ADSL用户的接入认证服务,并转向三层工作。


关于ADSL的信道使用情况

ADSL的信道使用如下图 8.94所示,0-4kHz分配给传统的电话使用,25kHz-160kHz分配置给上传数据使用,240kHz-1.1MHz分配给下载数据使用。它的特点:一条电话线可同时接听,拨打电话并进行数据传输,两者互不影响;ADSL的宽带业务与电话费用是分隔开的,这与传统的PSTN有所不同;对于VOD视屏点播与语音传递是一个很好的选择。

052313905.png

关于在ADSL网络中使用PPPOE协议

如下图8.95所示,在CPE与DSL汇聚路由器之间是一种桥接式体系架构(纯二层连接),单纯的桥接存在大量的安全漏洞,为了在某种程度上解决这些安全漏洞,并且便于运营商对用户做接入验证,计费等工作,PPP将是一个不错的选则择,因为它内嵌了安全机制(PAP或者CHAP),所以ADSL网络决定将PPPOE协议运行在CPE与DSL汇聚路由器之间。


提问:为什么是PPPOE而不是PPP?什么是PPPOE?

PPPOE:PPP overEthernet 即运行在以太网上的PPP,此时需要提出的问题:“为什么要将PPP运行在以太网链路上?那是因为传统的PPP协议是针对点对点链路所设计的广域网协议。它能方便、简单的对用户进行认证、监控、计时,因为线路上只有两个点,一个为用户PPP的接入端;另一个就是ISP接收PPP接入的服务端。如下图8.95所示,比如:基于传统的PSTN拨号的PPP接入,可以非常方便、清楚的对各个PPP接入的用户进行记账、认证,因为每个PPP接入链路只有两个点。但现今的宽带接入多为桥接式、共享介质、多路访问类型的接入。比如:ADSL,如下图8.96所示。

052355461.png

现在需要进行Internet的接入点在一个桥接式、共享介质、多路访问的以太网上,那么,既然是一个多路访问的链路,在链路上就不止一个网络接点,如图8.96所示,有A、B、C、D四个接入点。那么这就为运营商接入认证与计费提出了考验。因为链路上的接入点有多个,可控性也就下降,这一切都面对一些相互矛盾的目标,多个用户既要通过同一个用户前置接入设备(CPE)连接,又要提供类似拨号一样的接入控制、认证、计费等功能,而且要尽可能地减少用户的配置操作。

解决的办法是使用PPPOE将多路访问上的多点接入模拟成点对点的接入,如下图8.97所示,要模拟点对点的接入,就要将PPP这个点对点的协议进行扩展,让PPP运行在多路访问的链路上。将多路访问的网络变成点对点的网络,这样既提高了可控性,又能使用PPP的认证功能对接入点进行身份验证。当A、B、C、D四个主机发起ADSL的拨号时,就会与ADSL的接入服务器(实际就是DSL网络的汇聚路由器)建立一个运行在以太网上的PPP连接,也就是PPPOE。然后将接入点与接入服务器形成一个点对点的会话;而且每一个PPPOE的会话都分配一个唯一的会话ID,所以PPPOE的服务器就能根据各个PPPOE的会话ID去认证或维护一个点对点的用户接入。

052423951.png

注意:PPPOE的实质还是PPP,它只是PPP协议的一种应用扩展!


理解并取证PPPOE的工作原理


PPPOE的报文结构如下图8.98所示,现在来理解数据报文的各个字段:

052503243.png

n目标MAC:PPOE发现阶段的目标MAC是FFFF.FFFF.FFFF属于以太网广播帧。

n源MAC:用户CPE设备(接入计算机或者路由器)的MAC。

n以太网类型:该字段在PPPOE的发现阶段是0x8863,指示发现阶段的PPPOE控制帧,在PPP会话阶段是0x8864。

n净荷:在以太网帧净荷中的是一个完整的PPPOE结构,它需要使用于头部中的附加信息字段,各个字段的意义如下:

n版本(VER):4个比特,对于现在正在使用的PPPOE而言,它总是0X1。

n类型:4个比特,这里的类型是在以太网净荷,真正的PPPOE结构中的类型,并不是以太网数据帧头部中的类型,它对于PPPOE而言,总是0X1。

n代码:8个比特,它在PPPOE的发现阶段,它会随着发现阶段所使用的控制消息不同,而有所不同,在发现阶段常见的4种代码:PPPOE的ActiveDiscovery Initiation(PPPOE的发现初始化),代码为0x09;PPPOE的ActiveDiscovery Offer(PPPOE的发现提供),代码为0x07;PPPOE的Active Discovery Request(PPPOE的发现请求),代码为0x19;PPPOE的分配SESSION_ID(PPPOE分配会话ID),代码为0x65;而在PPPOE正式的会话阶段代码值总是为0x00。

n会话ID(session_ID):该字段在不同的进程时期是可变的,它是在PPPOE发现阶段的最后一步,由汇聚路由器分配给CPE设备的值,但是请注意该值一但分配给某个PPP会话,那么该值在这个PPP会话中必须是固定的,在没有分配会话ID前该字段为0x0000。

n长度:16个比特,指示PPPOE的净荷长度,它不包括以太网头部和PPPOE头部。

n净荷:PPPOE的净荷。

nCRC整个以太网帧的校验和。


理解并取证PPPOE的工作过程:

052539451.png

第一步:如上8.99所示环境,PPPOE的客户端(CPE设备)发送请求服务的PPPOE Active Discovery Initiation(PADI)初始化控制消息,源MAC为发送CPE的MAC,目标MAC为广播MAC(FFFF.FFFF.FFFF),PPPOE的代码字段为0x09,PADI的真实的数据帧如下图8.100所示。

052605579.png

第二步:DSL网络的汇聚路由器会回送PPPOE的Active Discovery Offer(PADO)的提供控制消息,源MAC为DSL网络汇聚路由器的MAC,目标MAC为用户CPE的MAC。代码为0x07;PAD0的真实的数据帧如下图8.101所示。

052637733.png

第三步:用户CPE设备收到PADO消息后,会发送PPPOE的ActiveDiscovery Request(PADR)的请求消息,源MAC为用户CPE设备的MAC,目标MAC为DSL网络汇聚路由器的MAC。代码为0x19;PADR的真实的数据帧如下图8.102所示。

052712852.png

第四步:DSL网络的汇聚路由器收到CPE设备的PADR请求后,它会为CEP设备分配一个会话ID,至此,以后的PPP会话全部建立在这个会话ID之上,该PPPOE消息的代码是0x65,MAC地址是DLS网络汇聚路由器的MAC,目标MAC是用户CPE设备的MACPADS的真实的数据帧如下8.103所示。

052742568.png




本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1296937,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章