pppoe_原理.doc

上传人:hw****26 文档编号:3541957 上传时间:2019-06-03 格式:DOC 页数:7 大小:335KB
下载 相关 举报
pppoe_原理.doc_第1页
第1页 / 共7页
pppoe_原理.doc_第2页
第2页 / 共7页
pppoe_原理.doc_第3页
第3页 / 共7页
pppoe_原理.doc_第4页
第4页 / 共7页
pppoe_原理.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、所谓的点对点(pppoe以太网上的 ppp 协议),是因为 pc 机一般都是网卡,而网卡一般都是接到交换机上,多个网卡接到同一个交换机,包括 adsl modem也接到同一个交换机上,这样就与点对点形成了对比(多点对多点)(其中,如果 pc 机通过 RJ45 网线直接连接 adsl modem,也属于以太网的一种嘛,只不过省略了交换机而已,就像两台 pc 机直连一样)。点对点,底层就是基于 mac地址。Pc 机通过 mac 地址与 adsl modem 形成逻辑上的点对点。个人家里面,如果是 pc 机直接网线连接 adsl modem(不通过交换机或hub),其实也算是点对点。所以,pppoe

2、 点对点的理解,要从 adsl modem 与 pc 机处于一个局域网(多个 adslmodem、多个 pc 机通过交换机连接)的环境来理解。本来,如果不是以太网 RJ45 连接,例如电话线拨号方式,两端就可以直接 ppp 协议了。现在,pc 机一般都是物理上通过以太网线 RJ45 连接 adsl modem,所以,就需要借助以太网协议(来封装 ppp 协议数据)。要区分 pppoe 帧与 pppoe 报文两个概念!Your ADSL modem always talks to DSLAM using ATM with either PPPoE or PPPoA (whatever you h

3、ave chosen) on top of ATM. DSLAM is in turn connected to a server called BRAS/LNS using either ATM (in case of Telstra Wholesale DSLAMs) of Gigabit Ethernet GE (in case of iiNET DSLAMs).用户端计算机安装 PPPoE 拨号软件,将 IP 报文封装在 PPP 上,通过以太网卡封装成 Ethernet 帧,再封装成 ATM 信元经过 DSLAM 送到 BRAS(atm 就设计pvc:VPI/VCI)。BRAS 终结

4、ATM、RFC 1483B 协议和 PPPoE 后,将 IP 报文取出转发。DSLAM 是 ADSL 汇聚设备,其内核采用 ATM 或 IP 但上联口为以太网口,BAS 是局端实现 PPPoE 功能的接入服务器,它终结由用户侧发起的 PPPoE 进程。下行的以太帧从 IP 城域网经路由器送到 BAS,被加上 PPPoE 的头后送到 DSLAM 封装成AAL5 帧,经过交叉模块发送到 ADSL Modem,由其完成 AAL5 帧重组并解出以太帧发送到客户端,客户端从 PPPoE 包中取出 IP 数据包。家里 adsl 猫和局端 dslam 之间是 atm(aal5)信元方式。上行的 PPPoE

5、包在 ADSL Modem 中封装成 AAL5 帧,由 ATM 信元传输到局端的 DSLAM,DSLAM 负责终结 ATM,重新组合出 PPPoE 包,并通过设好的 PVC(永久虚电路VPI/VCI。奇怪,这个也应该是 atm 的概念?)传送到 BAS 处理。从上面可以看出,PPPoE 将 PPP 承载到以太网之上,实质是在共享介质的网络上提供一条逻辑上的点到点链路,对用户而言,在 DSLAM 和 ADSL Modem 之间的 ATM 传输是透明的,如果将中间的 DSLAM 和 ADSL Modem 换成有线电视的接入设备,就是典型的 HFC 接入,BAS 对 PPPoE 包的处理方式不变。图

6、 1 中的目的地址、源地址就是以太网中的 mac 地址,从图 1 中可以看出,以太网不仅可以封装 ip 数据包,还可以封装 ppp 数据包。由“类型”来进行区分。另外,图 1 中,“载荷”就是图 2 的 pppoe 的报文格式封装。PPP 帧格式 (就是图 2 中“载荷”段的内容,但是不完全是原封不动的封装 ppp 帧)PPP 帧格式以 HDLC 帧格式为基础,做了很少的改动。二者的主要区别是:PPP 是面向字符的,而 HDLC 是面向位的。PPP 在点到点串行线路上使用字符填充技术。所以,所有的帧的大小都是字节的整数倍。PPP 的帧格式:PPP 的帧格式PPP 帧是以标准 HDLC 标志字节

7、(01111110)开始和结束的。接下来是地址字段,缺省情况下,被固定设成二进制数 11111111,因为点到点线路的一个方向上只有一个接收方。地址字段后面是控制字段,缺省情况下,被固定设成二进制数00000011。因为缺省情况下,地址字段、控制字段总是常数。因此,这两部分实际可以省略不要(需要通过 LCP 进行协商)。接下来是协议字段。用来标明后面携带的是什么类型的数据。已定义的协议代码包括:LCP、NCP、IP、IPX、AppleTalk 等。以 0 位作为开始的协议是网络层协议,如 IP、IPX、XNS 等;以 1 位作产开始的协议被用于协商其他的协议,如 LCP、NCP。其缺省大小为

8、2 个字节。但如果是 LCP 包,则可以是1 字节。接下来是数据字段(例如:封装了 ip 数据包)。其长度可变,缺省最大长度为 1500 字节。接下来是校验和字段,通常情况下是 2 个字节,但也可以是 4 字节。对应于上节介绍的两个 PPPoE 协议会话的两个阶段,PPPoE 帧格式也包括两种类型:发现阶段的以太网帧中的类型字段值为 0x8863;PPP 会话阶段的以太网帧中的类型字段值为 0x8864,均已得到 IEEE 的认可。PPPoE 分组帧结构如图 4-6 所示。图 4-6 PPPoE 帧结构(6-Bytes)PPPoE 分组中的版本(VER) 字段和类型(TYPE)字段长度均为 4

9、 比特,在当前版本 PPPoE 建议中这两个字段值都固定为 0x1。代码(CODE)字段长度为 8 比特,根据两阶段中各种数据包的不同功能而值不同。在 PPP 会话阶段CODE 字段值为 0x00,发现阶段中的各步骤中的各种数据分组格式参见前面介绍。版本标识号码(SESSION_ID)字段长度为 16 比特,在一个给定的 PPP 会话过程中它的值是固定不变的,其中值 0xffffff 为保留值。长度(LENGTH)字段为16 比特长,指示 PPPoE 净荷长度。发现阶段 PPPoE 载荷可以为空或由多个标记(TAG)组成,每个标记都是 TLV(类型-长度-值)的结构;PPP 会话阶段PPPoE

10、 载荷为标准的点对点协议包。PPPoE 协议工作原理PPPoE 协议的工作流程包含发现和会话两个阶段,发现阶段是无状态的,目的是获得 PPPoE 终结端(在局端的 ADSL 设备上)的以太网 MAC 地址,并建立一个惟一的 PPPoESESSION-ID。发现阶段结束后,就进入标准的 PPP 会话阶段。这与 ip 有区别了,设想我们要访问 web、ftp、telnet 等,都必须明确给出 ip 地址(即目标地址、也包括网关等),否则是无法继续进行的,即不存在所谓的“发现”阶段。而 pppoe 的发现阶段,前提就是在本机网络环境中,可以通过广播方式来寻找,哈哈,有点类似本地 ip 的 mac 寻

11、找(通过广播询问这个 ip 地址的 mac 地址是多是,请告诉我)。当一个主机想开始一个 PPPoE 会话,它必须首先进行发现阶段,以识别局端的以太网 MAC 地址,并建立一个 PPPoESESSION-ID。在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器,然后允许用户选择一个。当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立 PPP 连接的信息。直到 PPP 会话建立,发现阶段一直保持无状态的 Client/Server(客户/服务器)模式。一旦 PPP 会话建立,主机和接入集中器都必须为 PPP 虚接口分配资源。PPPoE 协议会话的发现和会话两个阶段具体进程如下

12、。1发现(Discovery)阶段在发现(Discovery)阶段中用户主机以广播方式寻找所连接的所有接入集中器(或交换机)(这里所谓的接入服务器是不是指用户家里的 adsl modem 啊不是,是局端的 bas 设备。可不可以理解为,用户端的计算机通过网线连接adsl modem,通过电话线连接局端 dslam,最终连接至 bas?这其中,用户端的广播以太包“穿过”adsl modem(atm、adsl)电话线(adsl)dslam(sdh、atm、以太包)到达 bas,中间经历了不同的封装,例如atm、adsl、sdh 等;bas 设别这个广播以太包,给予回应。我猜测,sdh 协议中,有

13、dslam 的目标地址,adsl 协议中,有最终的用户电话线路信息)(所以说,严格意义上,是用户端计算机与局端 bas 之间的通信和联系),并获得其以太网 MAC 地址。然后选择需要连接的主机,并确定所要建立的 PPP 会话标识号码。发现阶段有 4 个步骤,当此阶段完成,通信的两端都知道PPPoESESSION-ID 和对端的以太网地址,他们一起惟一定义 PPPoE 会话。这 4个步骤如下。(1)主机广播发起分组(PADI),分组的目的地址为以太网的广播地址0ffffffffffff,CODE(代码)字段值为 009,SESSION-ID(会话 ID)字段值为 00000。PADI 分组必须至

14、少包含一个服务名称类型的标签(标签类型字段值为 00101),向接入集中器提出所要求提供的服务。(2)接入集中器收到在服务范围内的 PADI 分组,发送 PPPoE 有效发现提供包(PADO)分组,以响应请求。其中 CODE 字段值为 007,SESSION-ID 字段值仍为 00000。PADO 分组必须包含一个接入集中器名称类型的标签(标签类型字段值为 00102),以及一个或多个服务名称类型标签,表明可向主机提供的服务种类。(3)主机在可能收到的多个 PADO 分组中选择一个合适的 PADO 分组,然后向所选择的接入集中器发送 PPPoE 有效发现请求分组(PADR)。其中 CODE 字

15、段为019,SESSION_ID 字段值仍为 00000。PADR 分组必须包含一个服务名称类型标签,确定向接入集线器(或交换机)请求的服务种类。当主机在指定的时间内没有接收到 PADO,它应该重新发送它的 PADI 分组,并且加倍等待时间,这个过程会被重复期望的次数。(4)接入集中器收到 PADR 分组后准备开始 PPP 会话,它发送一个 PPPoE 有效发现会话确认 PADS 分组。其中 CODE 字段值为 065,SESSION-ID 字段值为接入集中器所产生的一个惟一的 PPPoE 会话标识号码。PADS 分组也必须包含一个接入集中器名称类型的标签以确认向主机提供的服务。当主机收到 P

16、ADS 分组确认后,双方就进入 PPP 会话阶段。2PPP 会话阶段用户主机与接入集中器根据在发现阶段所协商的 PPP 会话连接参数进行 PPP 会话。一旦 PPPoE 会话开始,PPP 数据就可以以任何其他的 PPP 封装形式发送。所有的以太网帧都是单播的。PPPoE 会话的 SESSION-ID 一定不能改变,并且必须是发现阶段分配的值。PPPoE 还有一个 PADT 分组,它可以在会话建立后的任何时候发送,来终止PPPoE 会话,也就是会话释放。它可以由主机或者接入集中器发送。当对方接收到一个 PADT 分组,就不再允许使用这个会话来发送 PPP 业务。PADT 分组不需要任何标签,其 CODE 字段值为 0a7,SESSION-ID 字段值为需要终止的 PPP会话的会话标识号码。在发送或接收 PADT 后,即使正常的 PPP 终止分组也不必发送。PPP 对端应该使用 PPP 协议自身来终止 PPPoE 会话,但是当 PPP 不能使用时,可以使用 PADT。以上各个阶段的会话流程可用图 4-5 描述。图 4-5 PPPoE 会话建立流程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。