收藏 分销(赏)

pppoe_原理.doc

上传人:xrp****65 文档编号:7671349 上传时间:2025-01-11 格式:DOC 页数:7 大小:335KB
下载 相关 举报
pppoe_原理.doc_第1页
第1页 / 共7页
pppoe_原理.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
所谓的点对点(pppoe——以太网上的ppp协议),是因为pc机一般都是网卡,而网卡一般都是接到交换机上,多个网卡接到同一个交换机,包括adsl modem也接到同一个交换机上,这样就与点对点形成了对比(多点对多点)(其中,如果pc机通过RJ45网线直接连接adsl modem,也属于以太网的一种嘛,只不过省略了交换机而已,就像两台pc机直连一样)。点对点,底层就是基于mac地址。Pc机通过mac地址与adsl modem形成逻辑上的点对点。 ——个人家里面,如果是pc机直接网线连接adsl modem(不通过交换机或hub),其实也算是点对点。 ——所以,pppoe点对点的理解,要从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 have 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终结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包在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包的处理方式不变。 图1中的目的地址、源地址就是以太网中的mac地址,从图1中可以看出,以太网不仅可以封装ip数据包,还可以封装ppp数据包。由“类型”来进行区分。另外,图1中,“载荷”就是图2的pppoe的报文格式封装。  PPP帧格式 (就是图2中“载荷”段的内容,但是不完全是原封不动的封装ppp帧) PPP帧格式以HDLC帧格式为基础,做了很少的改动。二者的主要区别是:PPP是面向字符的,而HDLC是面向位的。PPP在点到点串行线路上使用字符填充技术。所以,所有的帧的大小都是字节的整数倍。        PPP的帧格式:     PPP的帧格式   PPP帧是以标准HDLC标志字节(01111110)开始和结束的。   接下来是地址字段,缺省情况下,被固定设成二进制数11111111,因为点到点线路的一个方向上只有一个接收方。   地址字段后面是控制字段,缺省情况下,被固定设成二进制数00000011。   因为缺省情况下,地址字段、控制字段总是常数。因此,这两部分实际可以省略不要(需要通过LCP进行协商)。         接下来是协议字段。用来标明后面携带的是什么类型的数据。已定义的协议代码包括:LCP、NCP、IP、IPX、AppleTalk等。以0位作为开始的协议是网络层协议,如IP、IPX、XNS等;以1位作产开始的协议被用于协商其他的协议,如LCP、NCP。其缺省大小为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比特,在当前版本PPPoE建议中这两个字段值都固定为0x1。代码(CODE)字段长度为8比特,根据两阶段中各种数据包的不同功能而值不同。在PPP会话阶段CODE字段值为0x00,发现阶段中的各步骤中的各种数据分组格式参见前面介绍。版本标识号码(SESSION_ID)字段长度为16比特,在一个给定的PPP会话过程中它的值是固定不变的,其中值0xffffff为保留值。长度(LENGTH)字段为16比特长,指示PPPoE净荷长度。发现阶段PPPoE载荷可以为空或由多个标记(TAG)组成,每个标记都是TLV(类型-长度-值)的结构;PPP会话阶段PPPoE载荷为标准的点对点协议包。 PPPoE协议工作原理 PPPoE协议的工作流程包含发现和会话两个阶段,发现阶段是无状态的,目的是获得PPPoE终结端(在局端的ADSL设备上)的以太网MAC地址,并建立一个惟一的PPPoESESSION-ID。发现阶段结束后,就进入标准的PPP会话阶段。 这与ip有区别了,设想我们要访问web、ftp、telnet等,都必须明确给出ip地址(即目标地址、也包括网关等),否则是无法继续进行的,即不存在所谓的“发现”阶段。而pppoe的发现阶段,前提就是在本机网络环境中,可以通过广播方式来寻找,哈哈,有点类似本地ip的mac寻找(通过广播询问这个ip地址的mac地址是多是,请告诉我)。 当一个主机想开始一个PPPoE会话,它必须首先进行发现阶段,以识别局端的以太网MAC地址,并建立一个PPPoESESSION-ID。在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器,然后允许用户选择一个。当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立PPP连接的信息。直到PPP会话建立,发现阶段一直保持无状态的Client/Server(客户/服务器)模式。一旦PPP会话建立,主机和接入集中器都必须为PPP虚接口分配资源。 PPPoE协议会话的发现和会话两个阶段具体进程如下。 1.发现(Discovery)阶段 在发现(Discovery)阶段中用户主机以广播方式寻找所连接的所有接入集中器(或交换机)(这里所谓的接入服务器是不是指用户家里的adsl modem啊——不是,是局端的bas设备。可不可以理解为,用户端的计算机通过网线连接adsl modem,通过电话线连接局端dslam,最终连接至bas???这其中,用户端的广播以太包“穿过”adsl modem→(atm、adsl)电话线→(adsl)dslam→(sdh、atm、以太包)到达bas,中间经历了不同的封装,例如atm、adsl、sdh等;bas设别这个广播以太包,给予回应。我猜测,sdh协议中,有dslam的目标地址,adsl协议中,有最终的用户电话线路信息)(所以说,严格意义上,是用户端计算机与局端bas之间的通信和联系),并获得其以太网MAC地址。然后选择需要连接的主机,并确定所要建立的PPP会话标识号码。发现阶段有4个步骤,当此阶段完成,通信的两端都知道PPPoESESSION-ID和对端的以太网地址,他们一起惟一定义PPPoE会话。这4个步骤如下。 (1)主机广播发起分组(PADI),分组的目的地址为以太网的广播地址0×ffffffffffff,CODE(代码)字段值为0×09,SESSION-ID(会话ID)字段值为0×0000。PADI分组必须至少包含一个服务名称类型的标签(标签类型字段值为0×0101),向接入集中器提出所要求提供的服务。 (2)接入集中器收到在服务范围内的PADI分组,发送PPPoE有效发现提供包(PADO)分组,以响应请求。其中CODE字段值为0×07,SESSION-ID字段值仍为0×0000。PADO分组必须包含一个接入集中器名称类型的标签(标签类型字段值为0×0102),以及一个或多个服务名称类型标签,表明可向主机提供的服务种类。 (3)主机在可能收到的多个PADO分组中选择一个合适的PADO分组,然后向所选择的接入集中器发送PPPoE有效发现请求分组(PADR)。其中CODE字段为0×19,SESSION_ID字段值仍为0×0000。PADR分组必须包含一个服务名称类型标签,确定向接入集线器(或交换机)请求的服务种类。当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。 (4)接入集中器收到PADR分组后准备开始PPP会话,它发送一个PPPoE有效发现会话确认PADS分组。其中CODE字段值为0×65,SESSION-ID字段值为接入集中器所产生的一个惟一的PPPoE会话标识号码。PADS分组也必须包含一个接入集中器名称类型的标签以确认向主机提供的服务。当主机收到PADS分组确认后,双方就进入PPP会话阶段。 2.PPP会话阶段 用户主机与接入集中器根据在发现阶段所协商的PPP会话连接参数进行PPP会话。一旦PPPoE会话开始,PPP数据就可以以任何其他的PPP封装形式发送。所有的以太网帧都是单播的。PPPoE会话的SESSION-ID一定不能改变,并且必须是发现阶段分配的值。 PPPoE还有一个PADT分组,它可以在会话建立后的任何时候发送,来终止PPPoE会话,也就是会话释放。它可以由主机或者接入集中器发送。当对方接收到一个PADT分组,就不再允许使用这个会话来发送PPP业务。PADT分组不需要任何标签,其CODE字段值为0×a7,SESSION-ID字段值为需要终止的PPP会话的会话标识号码。在发送或接收PADT后,即使正常的PPP终止分组也不必发送。PPP对端应该使用PPP协议自身来终止PPPoE会话,但是当PPP不能使用时,可以使用PADT。 以上各个阶段的会话流程可用图4-5描述。 图4-5  PPPoE会话建立流程
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服