中国电信bras技术与认证_第1页
中国电信bras技术与认证_第2页
中国电信bras技术与认证_第3页
中国电信bras技术与认证_第4页
中国电信bras技术与认证_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

维护岗位认证教材(IP专业)BRAS技术与认证中国电信维护岗位认证教材编写小组编制目录第一章 宽带接入服务器原理21.1宽带接入服务器定义21.2宽带接入服务器的系统介绍31.2.1硬件设计结构31.2.2接口类型和接入方式31.2.3接入数量41.3宽带接入服务器的扩展功能41.3.1业务选择41.3.2 QoS支持51.3.3 VPN(虚拟专用网络)实现51.3.4端口批发51.3.5组播支持51.3.6 IP流量的转发管理,实现防火墙功能6第二章 设备功能原理62.1设备体系结构6第三章 PPP和MP93.1 PPP和MP简介93.1.1 PPP的引入93.1.2 PPP的简介103.1.3 PPP的基本构架103.1.4 PPP报文格式113.1.5 MP简介143.2 PPP的运行过程143.2.1 PPP的协商过程143.2.2 PPP的PAP验证协议163.2.3 PPP的CHAP验证协议193.3 PPP的报文压缩22第四章 PPPoE234.1 PPPoE简介234.1.1 PPPoE的引入234.1.2 PPPoE简介234.1.3 PPPoE的数据帧234.2 Discovery阶段244.2.1 Discovery阶段简介244.2.2 PADI数据包294.2.3 PADO数据包294.2.4 PADR数据包304.2.5 PADS数据包304.2.6 PADT数据包304.3 PPP会话阶段314.4 PPPoE注意事项314.4.1 LCP方面314.4.2安全方面324.4.3其它方面324.5 PPPoE的应用32第五章 AAA及用户管理345.1 AAA简介345.1.1 AAA的引入345.1.2 AAA的基本构架355.1.3 AAA的基本概念365.2 RADIUS协议简介365.2.1 RADIUS协议的概述365.2.2使用RADIUS协议对用户进行认证、计费的流程375.2.3 RADIUS协议的特性375.3基于域的用户管理385.3.1基于域的用户管理概述385.3.2路由器对接入用户的管理385.3.3 AAA对PPP用户的地址分配原则385.4 AAA及用户管理的应用395.4.1使用RADIUS对接入用户进行管理39第一章 宽带接入服务器原理1.1 宽带接入服务器定义宽带接入服务器(Broadband Remote Access Server,BRAS)是面向宽带网络应用的新型接入网关。它位于骨干网络的汇接层或边缘层,可以完成用户带宽的(或高速的)IP/ATM网的数据接入(目前接入手段主要基于xDSL/Cable modem/高速以太网技术/无线宽带数据接入等),实现多种业务的汇聚和转发,解决不同用户对传输容量带宽利用率的要求,为用户提供VPN服务、构建企业内部Intranet、支持ISP向用户批发业务等应用,以达到对各种宽带数据网络的综合管理。下图为宽带接入服务器的网络定位参考图。 宽带接入服务器的网络定位参考图BRAS是IP城域网骨干层中的重要设备,是联系宽带接入网和骨干网络之间的桥梁。它承担着宽带接入网络的管理工作,完成宽带IP/ATM网的数据接入,实现网络的IP接入一体化,解决宽带用户在业务上、流量上和管理上的汇聚,达到了用户终端只通过一条网络连接便可以灵活、自主、方便地选择服务网络的目的,是目前城域网汇接分配层中的核心设备。1.2 宽带接入服务器的系统介绍1.2.1硬件设计结构宽带接入服务器具有高速、高效的包转发特性,在性能上有效地解决宽带网络高性能、高负荷、高突发所带来的问题,具有至少2G以上的交换背板容量,100Kpps以上的独立包转发性能。从硬件系统结构上看,宽带接入服务器已从早期低效的集中式包处理结构向当前分布式处理结构演变,前后插板(接口板和处理板)的设计思路成为主流。采用这样的系统结构,处理模块可以直接处理来自同一槽位接口模块的用户流量,而且对于输出在同一槽位上的网络流量能够不经过系统背板和交换矩阵模块直接进行转发,从而有效减轻系统负荷。另一方面,为了理想地实现在不同槽位间的包转发,系统结构必须提供高容量、相对独立、有冗余备份能力的系统交换矩阵模块和相应容量的背板总线,保证宽带接入服务器总体性能随接口模块增加呈线性增长的态势 。1.2.2接口类型和接入方式为了实现对各种宽带接入类型的支持,宽带接入服务器提供了丰富的接口类型。如今,在用户侧方面,宽带接入服务器已经可以提供: DS3/OC3/OC12的ATM光接口,实现纯ATM接入或DSLAM(DSL的用户集中器)的接入提供100/1000M快速以太网接口,实现局域网用户和HFC用户的接入提供高密度信道化或非信道化E1/T1/DS3的帧中继接口,实现帧中继用户的接入在网络侧方面, 宽带接入服务器已经可以提供: 100/1000M快速以太网接口OC3/OC12的ATM接口 OC12的POS接口,实现流量的汇聚转发 与以往窄带拨号服务器不同的是,宽带接入服务器接入过程依托于底层(数据链路层,主要是ATM层和以太网层)对数据包的封装重组。利用底层的技术特点,不仅在接入组网方式上灵活多变,而且可以有效地捆绑上ATM和以太网自身的技术优势,实现服务质量保证。具体来说:通过RFC1490和RFC1483第二层的桥接技术,RFC1577第三层的IP路由技术,实现宽带用户的静态IP接入通过PPP Over ATM和PPP Over Ethernet实现用户的动态IP接入通过L2TP的二层VPN隧道技术,实现企业用户和小型ISP的VPN接入要求宽带接入主流的应用方向是PPP接入方式。而在PPP接入技术中,由于PPPOE可以适用于多种接入网络,应用灵活,易于实现业务选择,同时又保护目前用户的已有投资。 1.2.3接入数量由于以往拨号接入服务器采用TDM技术,系统通过每一个DS0时隙接收来自PSTN网络的数据,系统的最大接入数就是系统可以终结的DS0时隙数,也就是系统可以集成的最大Modem数。这种基于时隙交换的技术,要想扩大系统接入数量在一定程度上只能通过扩大系统的集成度来实现,具有相当的局限性。在宽带网络中,宽带接入服务器由接口处理模块直接完成对各种协议栈的封装重组处理,比如:PPPOE或PPPOA的呼叫。由于ASIC(专用集成电路)技术的引入,系统包处理能力显著提高,接入实现的时长大大降低(通常要求小于5秒,包括RADIUS认证时间);系统各处理模块的合理配合使得系统更加稳定,而且能够很好地完成对多用户并发接入情况的调度处理。目前,一台中等规模的宽带接入服务器应能支持8000个以上的并发PPP(包括PPPOA和PPPOE)呼叫,大型的宽带接入服务器可以实现100K个呼叫接入。1.3 宽带接入服务器的扩展功能1.3.1业务选择目前主要采用两种模式:由终端直接进行业务选择模式和统一通过后台服务选择网关模式。终端直接进行业务选择模式:首先是通过拨号软件由用户进行业务选择,然后利用远端RADIUS服务器对用户进行业务授权确认,最后激活接入服务器内部相应的业务模型实现业务的指向。但是,采用这种业务选择方式,终端用户无法直观地、全面地获知宽带接入服务器提供的各种业务类型,增加了终端用户的实际操作,具有一定的局限性。另一方面,用户要实现业务间的切换必须重新进行虚拟拨号,实现上也不方便。后台服务选择网关模式:用户通过PPP或DHCP方式接入并动态得到IP地址后,被强制访问与宽带接入服务器直连的服务选择网关。在用户终端一般可以通过Web的交互式界面得到可选择业务的相关信息,填入相应的用户数据后,通过远端RADIUS对申请进入这一业务的用户进行授权认证,然后根据业务的不同对用户实行必要的IP覆盖,最后仍然是通过激活接入服务器内部相应的业务模型实现业务的选择。其实,这两种选择模式的实现内核基本趋于一致,业务选择的核心都是在宽带接入服务器实现,差别仅仅在用户接口形式上。但是,从运营的实际需要出发,采用后台服务选择网关模式不仅大大提高了接入用户操作的透明度,减少了用户终端的配置过程,而且可以起到业务门户的作用,为下一步的服务扩展提供空间。1.3.2 QoS支持前面所述,宽带接入服务器支持ATM和FR接入。显而易见,通过ATM或FR自身的QoS实现机理就可以很好地解决用户的QoS问题。但是不要忘记,在宽带接入服务器中除了ATM和FR接入外,还有各种类型的纯IP接入。对于这一类型的接入流量,可以利用IP报头的服务类型标记(ToS)字段。通过业务发起侧对IP包打上相应的ToS标记,在接入服务器内部进行相应的流量映射或业务映射,区分各种流量等级,实现网络的QoS。1.3.3 VPN(虚拟专用网络)实现目前,在网络第二层的VPN实现上,宽带接入服务器提供L2TP隧道加密技术。它一般既可以作为LAC(L2TP访问集中器),也可以作为LNS(L2TP网络服务器),组网应用灵活。在网络第三层的VPN实现上,由于IPSec是较新的协议标准,因此这种VPN的实现还不普及。如今只有部分的宽带接入服务器开始支持该项功能。1.3.4端口批发在宽带接入服务器中可以通过划分VLAN或创建虚拟路由器(Virtual Router)的方式来实现。这些技术的实现,在本质上都是将系统进行子资源划分,在每一个子系统中独立完成网络二、三层的相应功能,完成端口批发业务。其实,站在VPN的角度上看,我们也可以认为端口批发业务是实现VPN应用的另一途径,且应用灵活方便。1.3.5组播支持宽带接入服务器必须支持组播,在网络层上完成组播视频流的末端分发。网络主机安装相应的组播应用程序来支持组播协议,通过主动提出组播申请,选择所需的组播服务,以使之连接到本地支持IGMP的路由器或组播服务器上。宽带接入服务器主要起到转发在网络终端和支持IGMP的组播服务器或路由器之间的组播流量。第一、二版的协议标准,但是在很大程度上仅仅是扮演着IGMP代理(Proxy)或IGMP欺骗(Snooping)的角色,简单地完成网络末端组播包的透明传递和分发,终端用户感觉不到与实际应用时的不同。为了进一步提高宽带接入服务器组播应用的灵活性,一些设备厂商在实际的产品中已经开始对组播路由协议(如:PIM,DVMRP等)的支持。1.3.6 IP流量的转发管理,实现防火墙功能宽带接入服务器的IP流量转发管理主要是根据不同用户的实际权限向用户提供相应的接入能力,在一定程度上完成IP防火墙的功能,实现内部网络安全。IP的流量转发管理在很大程度上是与宽带接入服务器的VPN和业务选择相捆绑,与上层骨干边缘路由器相配合,灵活有效地实现对各种业务类型的IP分离。在技术实现上,该功能可以通过自身IP包过滤(IP Filter),针对不同业务灵活分配IP地址段和网络侧NAT(网络地址翻译)来实现。同时,从网络安全的角度出发,宽带接入服务器还应该提供防IP攻击和IP欺骗的功能。承前所述,宽带接入服务器主要是为了适应当前各种DSL接入应用要求,尤其是ADSL接入。从全网来看,宽带接入服务器既是全网接入业务的单一汇聚点,又是用户业务流量的统一转发点。如今,以光通信为代表的新一轮数据骨干网络和接入网络迅猛发展,这对宽带接入服务器在各方面都提出了更高的要求。宽带接入服务器在性能上的提高集中表现在接入处理能力方面、交换容量方面和接口带宽、密度方面。从各厂商的发展计划上看,下一代大型宽带接入服务器的系统性能要求达到:交换容量至少40G;同时支持的PPP呼叫数目达到20K;可配置用户数达到100K;独立包转发能力达到1Mpps以上。第二章 设备功能原理2.1设备体系结构1. 系统内部组成包括交换网络/时钟模块(主要包括交换网络单元和线路时钟单元)、线路接口及处理模块(主要包括FE/GE、ATM 和POS 等种类端口)、主控模块、业务处理模块、高速背板,整个系统的内部功能模块组成与相互关系框图如下图所示:从图中可以看到,交换网络单元采用双平面结构,两交换平面同时工作,所有与交换网络单元连接的功能模块(主控模块、线路接口模块、业务处理模块)同时输出两路待交换的定长数据包上交换网络的两个平面,经交换网络交换后的数据包分别送往相应功能模块,由该功能模块的板上逻辑决定采用哪个平面的输入数据。BRAS设备逻辑上具体可以分为如下几个部分: 交换网络/时钟模块 主控模块 线路接口及处理模块 业务处理模块 高速背板模块各模块具体功能如下: 交换网络/时钟模块交换网络/时钟模块包含了交换网络和时钟两个子模块,共同集成于NET 板中,主要完成定长数据包交换和向系统提供同步的线路时钟,其中交换网络单元采用双平面结构,线路时钟单元采用主从同步的双平面方式工作。整机一般需要配置两块NET 板,以双平面形式工作, 两块NET 板各自接收同样的输入并各自分别输出结果,接收该信号的单板根据当前状况或系统需要对两工作平面输出的信号进行选择,以获得更良好的信号保证。 主控模块模块完成系统配置、状态监视、计费代理、检测功能、倒换控制、呼叫处理和路由协议处理等功能。 线路接口及处理模块包含输入/输出接口单元(I/O)和线路处理单元两部分。线路接口及处理模块提供基本的业务处理能力,IP 业务流业务的接入,并带有分布转发功能,此外还可处理PPPoE、PPPoA、IPoA、VLAN 等业务流,分为LPUx(包括LPUA、LPUB、LPUC 和LPUD)和LPUH 两种,LPUx 提供纯粹的线路接口及处理功能,LPUH 还能提供基本BAS 功能。线路接口模块分为ATM 线路接口模块与帧线路接口模块两种:ATM 线路接口模块主要提供各种ATM 特性接口和ATM 业务引擎,完成ATM物理层和ATM 层的主要功能,并根据链路信息对用户数据流进行处理和排队工作。帧线路接口模块主要负责IP 业务的接入,具有分布转发功能,并向用户提供各种物理层和二层接口。线路接口模块由I/O 扣板提供,通过选择不同的扣板,可以配置上不同的接口,如FE 接口、GE 接口、ATM 接口、POS 接口。 业务处理模块业务处理板可以加载不同的软件来分别完成BAS、PORTAL 和NAT 功能,处理能力强大。业务处理相对接口数据,属于资源共享或分布式业务处理,当采用资源共享方式时,相对接口的数据处理就可动态分配,线路接口升级灵活。 高速背板模块提供了各单板高速信号线和控制线的互联通道。第三章 PPP和MP3.1 PPP和MP简介3.1.1 PPP的引入PPP(Point-to-Point Protocol)是一种点到点方式的链路层协议,是在SLIP协议的基础上发展起来的。SLIP协议的基本概念串行线IP协议(Serial Line IP)协议出现在80年代中期,它是一种在串行线路上封装IP包的简单形式,它并不是Internet的标准协议。因为SLIP简单好用,所以后来被大量使用在线路速率从1200bit/s到19.2Kbit/s的专用线路和拨号线路上,互连主机和路由器。并被使用在BSD UNIX主机和SUN的工作站上,到目前为止仍有部分UNIX主机支持该协议。在80年代末90年代初期,SLIP被广泛用于家庭计算机和Internet的连接。一般这些计算机都用RS232串口和调制解调器连接到Internet。SLIP的帧格式由IP包加上END字符组成。通过在被发送IP数据报的尾部增加特殊的END字符(0xC0)从而形成一个简单的SLIP的数据帧,而后该帧会被传送到物理层进行发送。END是判断一个SLIP帧结束的标志。SLIP帧格式为了防止线路噪声被当成数据报的内容在线路上传输,通常发送端在被传送数据报的开始处也传一个END字符。如果线路上的确存在噪声,则该数据报起始位置的END字符将结束这份错误的报文。这样当前正确的数据报文就能正确的传送了,而前一个含有无意义报文的数据帧会在对端的高层被丢弃,不会影响下一个数据报文的传送。SLIP协议的缺点SLIP只支持IP网络层协议,不支持IPX等网络层协议。并且,因为帧格式中没有类型字段,致使如果一条串行线路如果用于SLIP,那么在网络层只能使用一种协议。SLIP不提供纠错机制,错误只能依靠对端的上层协议实现。由于SLIP协议只支持异步传输方式、无协商过程(尤其不能协商如双方IP地址等网络层属性)等缺陷,在以后的发展过程中,逐步被PPP协议所替代。3.1.2 PPP的简介点到点的直接连接是广域网连接的一种比较简单的形式,点到点连接的线路上链路层封装的协议主要有PPP和HDLC。但是HDLC协议只支持同步方式,而PPP协议支持同、异步两种传输方式,因此得到广泛的应用。从1994年至今,PPP协议本身并没有太大的改变,但由于PPP协议所具有的其他链路层协议所无法比拟的特性,它得到了越来越广泛的应用,其扩展支持协议也层出不穷,随之而来的是PPP协议功能的逐步强大。PPP协议是一种在点到点链路上传输、封装网络层数据包的数据链路层协议。PPP协议处于OSI(Open Systems Interconnection)参考模型的数据链路层,同时也处于TCP/IP协议栈的链路层,主要用在支持全双工的同异步链路上,进行点到点之间的数据传输。3.1.3 PPP的基本构架PPP在协议栈中的位置PPP主要由三类协议组成:l 链路控制协议族(Link Control Protocol),主要用来建立、拆除和监控PPP数据链路。l 网络层控制协议族(Network Control Protocol),主要用来协商在该数据链路上所传输的数据包的格式与类型。l PPP扩展协议族(如PPPoE)主要用于提供对PPP功能的进一步支持。随着网络技术的不断发展,网络带宽已不再是瓶颈,所以PPP扩展协议的应用也就越来越少了。人们在叙述PPP协议的时候经常会忘记它的存在。同时,PPP还提供了用于网络安全方面的验证协议族(PAP和CHAP)。3.1.4 PPP报文格式PPP报文格式PPP报文封装的帧格式真正属于PPP报文内容的是Address、Control、Protocol、Information域所包含内容。各字段的含义如下。l Flag域Flag域标识了一个物理帧的起始和结束,该字节为0x7E。l Address域Address域是“”表示此为PPP广播地址。PPP协议是被运用在点对点的链路上,它可以唯一标识对方。因此使用PPP协议互连的通信设备的两端无须知道对方的数据链路层地址。所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。l Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。Address、Control域一起表示了此报文为PPP报文,即PPP报文头为FF03。l Protocol域协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必须为奇数,也就是要求低字节的最低位为“1”,高字节的最低位为“0”。如果当发送端发送的PPP数据帧的协议域字段不符合上述规定,则接收端会认为此数据帧是不可识别的。接收端会向发送端发送一个Protocol-Reject报文,在该报文尾部将完整地填充被拒绝的报文。l Information域信息域缺省时最大长度不能超过1500字节,其中包括填充域的内容。1500字节大小等于PPP协议中配置参数选项MRU(Maximum Receive Unit)的缺省值。在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。信息域如果不足1500字节时可被填充,但不是必须的。如果填充则需通信双方的两端能辨认出有用与无用的信息方可正常通信。通常在通信设备的配置过程中,经常使用MTU(Maximum Transmit Unit)。对于一个设备而言,它网络的层次均使用MTU和MRU两个值,本端MTU会和对端MRU进行比较,取较小值赋予本端MTU。l FCS域校验域主要是对PPP数据帧传输的正确性进行检测。在数据帧中引入了一些传输的保证机制,会引入更多的开销,这样可能会增加应用层交互的延迟。LCP报文封装格式LCP数据报文是在链路建立阶段被交换的。此时它作为PPP的净载荷被封装在PPP数据帧的信息域中,PPP数据帧的协议域固定填充0xC021。在链路建立阶段的整个过程中信息域的内容是变化的,它包括很多种类型的报文,所以这些报文也要通过相应的字段来区分。l Code域代码域表明了此报文是哪种PPP协商报文。代码域的长度为一个字节,主要是用来标识LCP数据报文的类型。在链路建立阶段时,接收方收到LCP数据报文的代码域无法识别时,就会向对端发送一个LCP的代码拒绝报文(Code-Reject报文)。如果是IP报文,则不存在此域,取而代之的是IP报文数据内容。l Identifier域标识域用于进行协商报文的匹配。标识域也是一个字节,其目的是用来匹配请求和响应报文。一般而言,在进入链路建立阶段时,通信双方任何一端都会连续发送几个配置请求报文(Config-Request报文)。这几个请求报文的数据域可能是完全一样的,仅仅是它们的标志域不同。通常一个配置请求报文的ID是从0x01开始逐步加1的。当对端接收到该配置请求报文后,无论使用何种报文回应对方,但必须要求回应报文中的ID要与接收报文中的ID一致。当通信设备收到回应后就可以将该回应与发送时的进行比较来决定下一步的操作。l Length域长度域表示此协商报文长度,它包含Code域及Identifier域的长度。长度域的值就是该LCP报文的总字节数据。它是代码域、标志域、长度域和数据域四个域长度的总和。长度域所指示字节数之外的字节将被当作填充字节而忽略掉,而且该域的内容不能超过MRU的值。l Data域数据域所包含的是协商报文的内容。 Type为协商选项类型。 Length为协商选项长度,它包含Type域。 Data域为协商的选项具体内容。常见的协议代码协议代码协议类型0021Internet Protocol002bNovell IPX002dVan Jacobson Compressed TCP/IP002fVan Jacobson Uncompressed TCP/IP8021Internet Protocol Control Protocol802bNovell IPX Control Protocol8031Bridging NCC021Link Control ProtocolC023Password Authentication ProtocolC223Challenge Handshake Authentication Protocol常用code值code值报文类型0x01Configure-Request0x02Configure-Ack0x03Configure-Nak0x04Configure-Reject0x05Terminate-Request0x06Terminate-Ack0x07Code-Reject0x08Protocol-Reject0x09Echo-Request0x0AEcho-Reply0x0BDiscard-Request0x0CReserved常用协商类型值协商类型值协商报文类型0x01Maximum-Receive-Unit0x02Async-Control-Character-Map0x03Authentication-Protocol0x04Quality-Protocol0x05Magic-Number0x06RESERVED0x07Protocol-Field-Compression0x08Address-and-Control-Field-Compression3.1.5 MP简介MP是出于增加带宽的考虑,将多个PPP链路捆绑使用的技术。可以在支持PPP的接口(如Serial接口或低速POS接口)上应用。3.2 PPP的运行过程3.2.1 PPP的协商过程PPP链路的建立是通过一系列的协商完成的。l LCP除了用于建立、拆除和监控PPP数据链路,还主要进行链路层参数的协商,如MRU、验证方式。l NCP主要用于协商在该数据链路上所传输的数据包的格式与类型,如IP地址。数据通信设备的两端如果希望通过PPP协议建立点对点的通信,无论哪一端的设备都需发送LCP数据报文来建立链路。LCP的配置参数选项协商完后,通信的双方就会根据LCP配置请求报文中所协商的认证配置参数选项,决定链路两端设备所采用的认证方式。协议缺省情况下双方是不进行认证的,直接进入到NCP配置参数选项的协商。直至所经历的几个配置过程全部完成后,点对点的双方就可以开始通过已建立好的链路进行网络层数据报文的传送了,整个链路就处于可用状态。任何一端收到LCP或NCP的链路关闭报文,物理层无法检测到载波或管理人员对该链路进行关闭操作,都会将该条链路断开,从而终止PPP会话。一般而言,协议是不要求NCP有关闭链路的能力的,因此通常情况下关闭链路的数据报文是在LCP协商阶段或应用程序会话阶段发出的。下图是PPP协议整个链路过程需经历阶段的状态转移图:PPP运行的过程简单描述如下。l 开始建立PPP链路时,先进入到Establish阶段。l 在Establish阶段,PPP链路进行LCP协商。协商内容包括工作方式是SP(Single-link PPP)还是MP(Multilink PPP)、最大接收单元MRU、验证方式、魔术字(magic number)和异步字符映射等选项。LCP协商成功后进入Opened状态,表示底层链路已经建立。l 如果配置了验证,将进入Authenticate阶段,开始CHAP或PAP验证。如果没有配置验证,则直接进入NCP协商阶段。l 对于Authenticate阶段,如果验证失败,进入Terminate阶段,拆除链路,LCP状态转为Down。如果验证成功,进入NCP协商阶段,此时LCP状态仍为Opened,而NCP状态从Initial转到Request。l NCP协商支持IPCP、MPLSCP、OSCICP等协商。IPCP协商主要包括双方的IP地址。通过NCP协商来选择和配置一个网络层协议。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文。l PPP链路将一直保持通信,直至有明确的LCP或NCP帧关闭这条链路,或发生了某些外部事件,例如用户干预。在点对点链路的配置、维护和终止过程中,PPP需经历以下几个阶段:链路不可用阶段(Dead)它有时也称为物理层不可用阶段。PPP链路都需从这个阶段开始和结束。当通信双方的两端检测到物理线路激活(通常是检测到链路上有载波信号)时,就会从当前这个阶段跃迁至下一个阶段,即链路建立阶段。在链路建立阶段主要是通过LCP协议进行链路参数的配置,LCP在此阶段的状态机也会根据不同的事件发生变化。当处于在链路不可用阶段时,LCP的状态机是处于初始化Initial状态或准备启动Starting状态,一旦检测到物理线路可用,则LCP的状态机就要发生改变。当然链路被断开后也同样会返回到链路不可用阶段。在实际过程中这个阶段所停留的时间是很短的,仅仅是检测到对方设备的存在。链路建立阶段(Establish)它是PPP协议最关键和最复杂的阶段。该阶段主要是发送一些配置报文来配置数据链路,这些配置的参数不包括网络层协议所需的参数。当完成数据报文的交换后,则会继续向下一个阶段跃迁。下一个阶段既可是验证阶段,也可是网络层协议阶段。下一阶段的选择是依据链路两端的设备配置的。通常是由用户来配置。在链路建立阶段,LCP的状态机会发生两次改变。l 当链路处于不可用阶段时,此时LCP的状态机处于Initial或Starting。当检测到链路可用时,则物理层会向链路层发送一个Up事件。链路层收到该事件后,会将LCP的状态机从当前状态改变为Request-Sent(请求发送状态),根据此时的状态机LCP会进行相应的动作,也就是开始发送Config-Request报文来配置数据链路。l 无论哪一端接收到了Config-Ack报文时,LCP的状态机又要发生改变,从当前状态改变为opened状态。进入Opened状态后收到Config-Ack报文的一方则完成了当前阶段,应该向下一个阶段跃迁。同理可知,另一端也是一样的,但须注意的是在链路配置阶段双方的链路配置操作过程是相互独立的。如果在该阶段收到了非LCP数据报文,则会将这些报文丢弃。验证阶段(Authenticate)多数情况下的链路两端设备是需要经过认证后才进入到网络层协议阶段。PPP链路缺省情况下,不进行验证。如果要求验证,在链路建立阶段必须指定验证协议。PPP验证有两种用途:l 主要是用于主机和路由器之间,通过PPP网络服务器交换电路或拨号接入连接的链路。l 偶尔也用于专用线路。PPP提供两种验证方式。l PAP:Password Authentication Protocol,密码验证协议l CHAP:Challenge-Handshake Authentication Protocol,挑战握手协议验证方式的选择是依据在链路建立阶段双方进行协商的结果。然而,链路质量的检测也会在这个阶段同时发生,但协议规定不会让链路质量的检测无限制的延迟验证过程。在这个阶段仅支持链路控制协议、验证协议和质量检测数据报文,其它的数据报文都会被丢弃。如果在这个阶段再次收到了Config-Request报文,则又会返回到链路建立阶段。网络层协议阶段(Network)一旦PPP完成了前面几个阶段,每种网络层协议(IP、IPX和AppleTalk)会通过各自相应的网络控制协议进行配置,每个NCP协议可在任何时间打开和关闭。当一个NCP的状态机变成Opened状态时,则PPP就可以开始在链路上承载网络层的数据包报文了。如果在个阶段收到了Config-Request报文,则又会返回到链路建立阶段。 网络终止阶段(Terminate)PPP能在任何时候终止链路。当载波丢失、认证失败、链路质量检测失败和管理员人为关闭链路等情况均会导致链路终止。链路建立阶段可能通过交换LCP的链路终止报文来关闭链路,当链路关闭时,链路层会通知网络层做相应的操作,而且也会通过物理层强制关断链路。对于NCP协议,它是不能也没有必要去关闭PPP链路的。3.2.2 PPP的PAP验证协议PAP验证协议为两次握手验证,口令为明文。验证过程仅在链路初始建立阶段进行。当链路建立阶段结束后,用户名和密码将由被验证方重复地在链路上发送给验证方,直到验证被通过或者链路连接终止。当必须使用明文密码在远端主机上模拟登录的时候,这种验证方式是最合适的。PAP验证的过程如下图所示。l 被验证方发送本端用户名和口令到验证方。l 验证方根据本地用户表查看是否有被验证方的用户名以及口令是否正确,然后返回不同的响应(接受或拒绝)。PAP不是一种安全的验证协议。当验证时,口令以明文方式在链路上发送,并且由于完成PPP链路建立后,被验证方会不停地在链路上反复发送用户名和口令,直到身份验证过程结束,所以不能防止攻击。协商PAP验证协议的配置参数选项帧格式如下图所示。各字段的含义如下表所示。字段长度(字节)含义Type1当值是0x03时表示是验证协议。常用的协商类型值请参见Error! Reference source not found.。Length1此时固定值是4,表示这个配置参数选项帧格式总长度是4个字节。Authentication-Protocol2当值是0xC023表示是PAP协议。常用的协议代码请参见Error! Reference source not found.。在验证协议中,Data字段的内容就是Authentication-Protocol的内容。一个PAP数据报是封装在协议域为C023的PPP数据链路层帧的信息域中的。PAP数据报的帧格式如下图所示。各字段的含义如下表所示。字段长度(字节)含义Code1标识PAP数据报的类型。l 1表示是Authenticate-Request报文l 2表示是Authenticate-Ack报文l 3表示是Authenticate-Nak报文Identifier1标识请求报文和应答报文的匹配。Length2表示包括Code、Identifier、Length和Data域在内的PAP报文长度。超出此长度的报文将被认为是填充字节并被丢弃。Data0或多个字节Data域的帧由Code域来决定。l Authenticate_Request报文验证-请求报文用于表示PAP验证的开始。链路的被验证方在验证阶段必须传输code值为0x01的PAP验证报文。验证报文必须被重复发送,直到收到了有效的回复报文,或计数器的值已满,此时应该终止链路连接。验证方只能等待被验证方发送验证-请求报文。当收到验证-请求报文后,必须根据实际情况回复不同的应答报文。验证-请求报文的帧格式如下图所示。各字段的解释如下表所示。字段长度(字节)含义Code10x01表示验证-请求报文。具体的code值含义请参见Error! Reference source not found.。Identifier1标识请求报文和应答报文的匹配。对于每个请求报文的应答报文,该域都必须不同。Length2表示该报文的总长度。Peer-ID Length1标识Peer-ID域的长度。Peer-ID0或多个标识被验证方的名字。Password Length1标识Password域的长度。Password0或多个标识被验证的密码。l Authenticate-Ack和Authenticate-Nak报文帧格式如果在验证-请求报文中的用户名和密码都能被验证方验证通过,验证方必须返回Code值是2的Authenticate-Ack报文,表示验证通过。如果验证-请求报文中用户名或密码有一项没有通过验证,验证方必须返回Code值是3的Authenticate-Nak报文,表示验证失败。Authenticate-Ack和Authenticate-Nak报文的帧格式如下图所示。各字段的含义如下表所示。字段长度(字节)含义Code10x02表示Authenticate-Ack报文,0x03表示Authenticate-Nak报文。具体的code值含义请参见Error! Reference source not found.。Identifier1标识请求报文和应答报文的匹配。该域的值必须和引起该应答报文的Authenticate-Request报文一样。Length2表示该报文的总长度。Message Length1标识Message域的长度。Message0或多个由报文的内容决定。3.2.3 PPP的CHAP验证协议CHAP(Challenge Handshake Authentication Protocol)验证协议为三次握手验证协议。它只在网络上传输用户名,而并不传输用户密码,因此安全性要比PAP高。CHAP协议是在链路建立的开始就完成的。在链路建立完成后的任何时间都可以重复发送进行再验证。当链路建立阶段完成后,验证方发送一个“challenge”报文给被验证方。被验证方经过一次哈希算法后,给验证方返回一个值。验证方把自己经过哈希算法生成的值和被验证方返回的值进行比较。如果两者匹配,那么验证通过。否则验证不通过,连接应该被终止。CHAP的验证过程如下图所示。CHAP单向验证是指一端作为验证方,另一端作为被验证方。双向验证是单向验证的简单叠加,即两端都是既作为验证方又作为被验证方。在实际应用中一般只采用单向验证。CHAP单向验证过程分为两种情况:验证方配置了用户名和验证方没有配置用户名。推荐使用验证方配置用户名的方式,这样可以对验证方的用户名进行确认。l 验证方配置了用户名的验证过程 验证方把随机产生的“质询(Challenge)”报文和本端主机名一起发送给被验证方。 被验证方收到报文后,根据验证方的用户名在本地用户列表中查找本地口令。根据查找到的口令和质询报文,通过MD5算法进行计算得出一个数值,并将计算得出的数值和自己的主机名发回验证方(Response)。 验证方收到Response后,根据其中携带的被验证方主机名,在本端用户表中查找被验证方口令字,找到匹配项后,利用质询报文和被验证方口令字,通过MD5算法进行计算得出一个数值,根据此数值与收到的Response的结果进行比较,然后返回不同的响应(接受或拒绝)。l 验证方没有配置用户名验证方没有配置用户名时,验证方只把“质询”报文发送到被验证方。被验证方直接根据本地接口设置的口令和质询报文通过MD5算法计算得出一个数值,并将计算得出的数值和自己的主机名发回验证方。其他过程和验证方配置了用户名时相同。协商CHAP协议的配置参数选项帧格式如下图所示。各字段含义如下表所示。字段长度(字节)含义Type10x03表示是验证协议报文。具体值含义请参见Error! Reference source not found.。Length1此时固定是5,表示该报文的总长度是5个字节。Authentication-Protocol2当值是0xC223时表示是CHAP验证协议。具体值的含义请参见Error! Reference source not found.。Algorithm1表示使用的一次哈希方法。l 04:不用,保留l 5:MD5算法l CHAP数据报的帧格式确切来讲,CHAP报文是封装在PPP数据链路层的Information域的。在Information域中protocol域的值固定是0xC223,表示CHAP验证协议。CHAP协议数据报格式如下图所示。各字段含义如下表所示。字段长度(字节)含义Code1表示CHAP数据报文的类型。l 1表示Challenge报文l 2表示Response报文l 3表示Success报文l 4表示Failure报文Identifier1表示挑战报文、应答报文等之间的对应。Length2表示包括Code、Identifier、Length和Data域在内的CHAP数据报文的长度。超出该长度值的字节应该被认为是数据链路层的填充字节,在接收时应该被忽略。Data0或多个帧格式由Code域值决定。l Challenge报文和Response报文Challenge报文用来发起CHAP验证。验证方必须发送一个Code域值是1的CHAP数据报文,来表示是Challenge报文。其他附加挑战报文必须在收到有效的回应报文或计数器满后才可以发送。挑战报文也可以在网络层协议阶段发送,以确认连接是否完整。在验证阶段和网络层协议阶段,被验证方要等待验证方发送Challenge报文。只要接收到Challenge报文,被验证方必须返回一个Code域值是2的CHAP报文,表示是回应报文。只要接收到回应报文,验证方就会把自己计算的值和返回值进行比较。根据比较的结果,验证方返回不同的回应报文。挑战和回应报文的帧格式如下图所示。各字段的含义如下表所示。字段长度(字节)含义Code1l 1表示是Challenge报文l 2表示是回应报文Identifier1它标识挑战报文和回应报文的对应关系。Length2表示该报文的总长度。Value-size1表示Value域的长度。Value1或多个挑战报文中此域是一些字节流。回应报文中此域是挑战报文字节流经过一次哈希算法后得到的值。Name1或多个该域的大小由Length域决定。l Success报文和Failure报文如果验证方接收到的值和自己计算的值相同,验证方必须要返回一个Code域值是3的CHAP报文,表示验证通过。如果验证方接收到的值和自己计算出的值不同,验证方必须返回一个Code域值是4的CHAP报文,表示验证失败。并且应该终止链路连接。验证通过或验证失败时的报文格式如下图所示。各字段的含义如下表所示。字段长度(字节)含义Code1l 3表示验证通过l 4表示验证失败Identifier1表示回应报文和该响应报文的对应关系。Length2表示该报文的总长度。Message0或多个该域的长度由Length域的值决定。3.3 PPP的报文压缩PPP链路层协议上的对IP、UDP、RTP和TCP报

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论