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

对应的教学录像在:

http://edu.51cto.com/lecturer/user_id-7648423.html9.9发布,待管理员24小时审核后


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网络基础结构中,每个网络元件的定义与作用以及其它相关的专业术语:

nCPE即CustomerPremise 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视屏点播与语音传递是一个很好的选择。

关于在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所示。

现在需要进行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去认证或维护一个点对点的用户接入。

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


理解并取证PPPOE的工作原理

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

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的工作过程:

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

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

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

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

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

  1. 何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络

    标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助于对现有网络架构进行更深层次的分析与 ...

  2. 【论文解读】深度学习网络架构新视角:通过相关图表达理解神经网络(何恺明团队新作)...

    文章来源于极市平台,作者Happy 标题&作者团队 导语:恺明大神出品,必属精品.Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式.它有助 ...

  3. 一个深度学习痴呆选手对AlexNet网络架构的一些理解

    最近开始入坑深度学习,之前根本没接触过关于AI领域的知识,也就对着B站上的CS231N课水了水,但完全就是半懂不懂很懵逼的感觉,毕竟神经网络就类似于一个黑箱,难以理解也是很正常的.现在打算写一篇关于极 ...

  4. 深入理解Android系统网络架构

    引言:这篇文章以WiFi举例,介绍了Android系统网络架构.其内容包含:网络链路的连接和注册.网络有效性检测和网络优选.Android系统网络防火墙和几种场景下的网络策略等,文章的最后也列举了几种 ...

  5. [转载] 深入理解Android系统网络架构

    引言:这篇文章以WiFi举例,介绍了Android系统网络架构.其内容包含:网络链路的连接和注册.网络有效性检测和网络优选.Android系统网络防火墙和几种场景下的网络策略等,文章的最后也列举了几种 ...

  6. [转载]深入理解Android系统网络架构

    转自 https://blog.csdn.net/qq_14978113/article/details/89182253 引言:这篇文章以WiFi举例,介绍了Android系统网络架构.其内容包含: ...

  7. 理解并取证:广域网上的PPP协议

    目标: 1理解在广域网上数据的封装形式 2最初的SLIP协议 3PPP协议的组件 4理解并取证:PPP协议中LCP的工作原理(从数据帧的角度分析) 5理解并取证:PPP协议中NCP的工作原理(从数据帧 ...

  8. 卷积神经网络基础:(7)经典的网络架构

    目录 经典网络架构: (1)Alexnet: (2)Vgg: (3)Resnet 经典网络架构: (1)Alexnet: 12年的经典之作,他是一个8层的网络,有5层的卷积,3层的全连接,其中的LRN ...

  9. 5G:4G到5G的演进,整体网络架构的主要区别。

    4G到5G的演进,相比空口的变化,核心网的变化更加明显.这也正是导致4G和5G混合组网出现SA和NSA两种方式的一个重要原因.在此只是对整体架构做一个简单的介绍,主要为后续理解4G/5G空口协议的不一 ...

最新文章

  1. Loadrunner脚本开发简单几种方式
  2. 动态生成RadialMenuContainer
  3. php$后面加点有什么用,css和js后加问号和数字有什么用
  4. 对象池commons-pool
  5. java带参方法上机一_Java带参方法的总结
  6. 分分钟甩Word几条街,Python编辑公式竟可以如此简单,你都知道吗?
  7. 如何调研如何写调研报告
  8. 常用计算机防治病毒软件有哪些,如何防治计算机病毒?常用的反病毒软件有哪些?...
  9. HTB-Sequel
  10. oracle官怎么卸载网,Oracle终极彻底卸载
  11. 机器学习之用Hog+Svm人脸检测、交通标志和字符识别等(初学者)
  12. SPARK SQL ERROR: Detected cartesian product for INNER join between logical plans报错解决方法
  13. 联想蓝牙没有连接的地方计算机,联想笔记本连不上蓝牙怎么办 笔记本连接蓝牙耳机没声音解决方法...
  14. r340服务器怎么接显示器,笔记本电脑如何连显示器_笔记本怎么链接显示器
  15. 微信web开发者工具、网易云音乐、为知笔记等软件崩溃无法打开等问题的解决
  16. 【更新】CVE-2020-0796:微软紧急发布SMBv3协议“蠕虫级”漏洞补丁通告
  17. NTFS下的USN日志文件
  18. 如何在iPad上使用VScode
  19. 计算机考试word文档怎么画坐标,使用WORD画坐标系的方法
  20. 拼多多卖家打单发货技巧,这里告诉你~

热门文章

  1. QT的QFileOpenEvent类的使用
  2. 上海浦东新区计算机学校排名2015,2015年上海市浦东新区初级中学最新排名
  3. java对象在内存中的布局
  4. Nginx缓存引发的跨域惨案(转:https://www.baidu.com/home/news/data/newspage?nid=9966642810298490574n_type=0p_f)
  5. fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/
  6. 使用Mapreduce案例编写用于统计文本中单词出现的次数的案例、mapreduce本地运行等,Combiner使用及其相关的知识,流量统计案例和流量总和以及流量排序案例,自定义Partitioner
  7. redis安装,redis项目以来,redis和spring整合,redis的service,redis的service实现类
  8. 2线程原语:pthread_create(),pthread_self(),pthread_exit(),pthread_join(),pthread_cancel(),pthread_detach(
  9. 引用内部函数绑定机制,R转义字符,C++引用,别名,模板元,宏,断言,C++多线程,C++智能指针
  10. 你该认识这样的Linux_shell之变量操作符与分支判断