Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 其他文档 > radius,radius什么意思

radius,radius什么意思

收藏

本作品内容为radius,格式为 docx ,大小 783603 KB ,页数为 27页

radius


('Radius工作原理RADIUS原先的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议。RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS的基本工作原理:用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。RADIUS还支持代理和漫游功能。简单地说,代理就是一台服务器,可以作为其他RADIUS服务器的代理,负责转发RADIUS认证和计费数据包。所谓漫游功能,就是代理的一个具体实现,这样可以让用户通过本来和其无关的RADIUS服务器进行认证。RADIUS服务器和NAS服务器通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。采用UDP的基本考虑是因为NAS和RADIUS服务器大多在同一个局域网中,使用UDP更加快捷方便。RADIUS协议还规定了重传机制。如果NAS向某个RADIUS服务器提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证==========================================================Radius认证服务RADIUS是一种分布的,客户端/服务器系统,实现安全网络,反对未经验证的访问。在cisco实施中,RADIUS客户端运行在cisco路由器上上,发送认证请求到中心RADIUS服务器,服务器上包含了所有用户认证和网络服务访问的信息。RADIUS是一种完全开放的协议,分布源码格式,这样,任何安全系统和厂商都可以用。cisco支持在其AAA安全范例中支持RADIUS。RADIUS可以和在其它AAA安全协议共用,如TACACS+,Kerberos,以及本地用户名查找。CISCO所有的平台都支持RADIUS,但是RADIUS支持的特性只能运行在cisco指定的平台上。RADIUS协议已经被广泛实施在各种各样的需要高级别安全且需要网络远程访问的网络环境。在以下安全访问环境需要使用RADIUS:+当多厂商访问服务器网络,都支持RADIUS。例如,几个不同厂家的访问服务器只使用基于RADIUS的安全数据库,在基于ip的网络有多个厂商的访问服务器,通过RADIUS服务器来验证拨号用户,进而定制使用kerberos安全系统。+当某应用程序支持RADIUS协议守护网络安全环境,就像在一个使用smartcard门禁控制系统的那样的访问环境。某个案例中,RADIUS被用在Enigma安全卡来验证用户和准予网络资源使用权限。+当网络已经使用了RADIUS。你可以添加具有RADIUS支持的cisco路由器到你的网络中,这个可以成为你想过渡到TACACS+服务器的第一步。+当网络中一个用户仅能访问一种服务。使用RADIUS,你可以控制用户访问单个主机,进行单个服务,如telnet,或者单个协议,如ppp。例如当一个用户登录进来,RADIUS授权这个用户只能以10.2.3.4这个地址运行ppp,而且还得和ACL相匹配。+当网络需要资源记账。你可以使用RADIUS记账,独立于RADIUS认证和授权,RADIUS记账功能允许数据服务始与终,记录会话之中所使用的标志资源(如,时间,包,字节,等等)。ISP可能使用免费版本的基于RADIUS访问控制和记账软件来进行特定安全和金额统计。+当网络希望支持预认证。在你的网络中使用RADIUS服务,你可以配置AAA预认证和设定预认证profiles。预认证服务的开启提供更好的管理端口来使用它们已经存在的RADIUS解决方案,更优化的管理使用、共享资源,进而提供不懂服务级别的协定。RADIUS不适合以下网络安全情形:~多协议访问环境,Radius不支持以下协议:AppleTalkRemoteAccess(ARA)苹果远程访问。NetBIOSFrameControlProtocol(NBFCP)网络基本输出输入系统侦控制协议。NetWareAsynchronousServicesInterface(NASI)网件异步服务接口。X.25PADconnectionsX.25PAD连接。~路由器到路由器情形.Radius不提供双向认证.Radius能使用在要认证从一个路由器到非cisco路由器,当这个非cisco路由器需要认证的时候.~网络使用各种各样的服务的时候.Radius大体上约束一个用户使用一个服务模型.Radius操作:当一个用户试图登录并验证到一个使用了Radius的访问服务器,发生了以下步骤:1.这个用户被允许输入用户名和密码.2.用户名和加密的密码被发送到网络中的Radius服务器.a.ACCEPT--该用户通过了认证.b.REJECT--该用户没有被认证,被允许重新输入用户名和密码,或者访问被拒绝了.c.CHALLENGE--Radius服务器发出挑战.这个挑战收集这个用户附加信息.d.CHANGEPASSWORD--这个请求时RADIUS服务器发出的,告诉用户换一个新的密码.ACCEPT或者REJECT回应包括了用来执行或者网络认证的附加数据,你必须首先完成Radius认证才能使用Radius授权.带有ACCEPT或者REJECT附加数据的包有以下组成:+用户能访问的服务,包括telnet,rlogin,或者本地区域传输(lat)连接,以及ppp,SLIP,或者EXEC服务.+连接参数,包括主机或者ip地址,访问列表,和用户超时.配置举例aaanew-model//开启aaaradius-serverhost123.45.1.2//指定Radius服务器radius-serverkeymyRaDiUSpassWoRd//定义访问服务器和Radius共享秘文usernamerootpasswordALongPassword//用户名,密码.aaaauthenticationpppdialinsgroupradiuslocal//定义了认证方式列表"dialins",这个东西指定了radius认证.然后,(如果radius服务器没有响应),本地username将会被用来验证ppp.aaaauthorizationnetworkdefaultgroupradiuslocal//用来给Radius用户绑定一个地址和其它网络参数aaaaccountingnetworkdefaultstart-stopgroupradius//用来跟踪ppp用法.aaaauthenticationloginadminslocal//给登录认证定义了另一个方式列表,"admins",aaaauthorizationexecdefaultlocalline116autoselectpppautoselectduring-loginloginauthenticationadmins//应用"admins"方式列表用来登录认证.modemri-is-cdinterfacegroup-async1encapsppppppauthenticationpapdialins//应用"dialins"方式列表到指定的地方RADIUS认证服务器(RemoteAuthenticationDialInUserService,远程用户拨号认证系统)是目前应用最广泛的AAA协议(AAA=authentication、Authorization、Accounting,即认证、授权、计费)。AAA协议的典型操作是验证用户名和密码是否合法(认证),分配IP地址(授权),登记上线/下线时间(计费),电信业窄带/宽带拨号都使用大型RADIUS认证服务器。而随着网络安全需求提高,中小企业的局域网集中用户认证,特别是使用VPDN专网的也逐渐需要建立自己的认证服务器以管理拨号用户。这些用户不需要使用昂贵的专业系统,采用PC服务器和Linux系统的Freeradius+MySQL可靠地实现。本文着重介绍RADIUS系统在VPDN拨号二次认证中的应用。Freeradius的安装笔者采用FC4forx86_64系统上的freeradius-1.1.2,在中档PC服务器上运行,系统运行稳定可靠。LinuxFC4自带Freeradius和MySQL,不过实测不理想。FC4MySQL对中文支持不好,而freeradius则仅支持其自带MySQL。所以,在编译MySQL时要加入选项“--with-charset=gb2312”以支持中文字符编码。编译Freeradius时可使用缺省选项。在64位Linux系统上编译前配置时需要加入选项“—with-snmp=no”,因为与库文件snmp相关的库对64位支持有问题,最新的FC7也许没有这些问题。Freeradius提供了MySQL建库脚本——db-MySQL.sql,不过建nas库有1个语法错误,将“idint(10)DEFAULT‘0’;”中的“DEFAULT‘0’”去掉即可正常建立Radius库。Freeradius的设置简单少数用户可使用Freeradius缺省的users文件配置用户,根据文件制定的规则和用户工作。安装完毕后启动Radius服务:/usr/local/sbin/radiusd–X。本机运行radtesttesttestlocalhost0testing123发认证请求,得到回应表示Radius服务器工作正常。Radius服务器缺省使用/usr/local/etc/raddb/users文件工件认证,简单易行,但仅适用于少数用户。如果管理几十个或更多用户,应使用数据库,对于少于一万用户而言,MySQL是合适选择。MySQL认证的设置在配置文件radiusd.conf中,在authorize{}和accountingt{}设置中去掉sql前注释符。在sql.conf中设置MySQL的连接信息,用户/密码和地址,本机用localhost即可。还需要在users中对DEFAULT用户做如下设置:Auth-Type=Local,Fall-Through=1。这样,才可正确使用MySQL进行认证。在MySQL中设置用户的规则与users文件用户设置有对应关系。Radius认证是以Attribute=Value的形式提供认证和应答消息。在users文件中,与用户名位于同一行,以“,”分隔的各个属性是认证请求必须提供而且需要验证的属性。下面各行属性如IP地址等加入应答包中。在MySQL中不分组情况下,只要在radcheck表中加入密码,在radreply中加入应答信息如IP地址即可。实际使用时,往往使用username@domain形式用户进行认证。用文件方式时,可以通过设置剥离域名,只建立username认证即可。需要在radiusd.conf中加入一项realmdomain{format=suffix…}域说明,并在proxy.conf中realmDEFAULT使用LOCAL认证。用MySQL认证时,缺省的sql.conf中使用带域名的全名进行认证。使用剥离域名的用户认证,注释掉缺省的sql_user_name="%{User-Name}",开放原来注释掉的sql_user_name="%{Stripped-User-Name:-%{User-Name:-DEFAULT}}"定义语句,则优先使用剥离域名的用户名进行认证。表中用户名一项只需写用户名即可,不需要域名。最后,打开防火墙是必要的。缺省Radius认证服务器使用UDP1812端口认证,UDP1813端口计费,应该开放UDP包的进出。Iptables–AOUTPUT–pudp–d192.168.10.3--sport1812–jACCEPTIptables–AINPUT–pudp–s192.168.10.3--dport1812–jACCEPT其中192.168.10.3是认证客户端的地址,通常是LNS路由器,同理开放UDP1813计费端口。CISCO路由器的设置CISCO路由器是经典的RADIUS客户端,在VPDN拨号系统中LNS作为二次认证客户端。在clients.conf中定义客户端IP地址和共享密钥。对单网口的低级路由器来说,客户端的IP地址就是网口IP。对于中高级路由器来说,路由器缺省使用第一个网口IP作为客户端源IP,如果是不可路由的内网地址,则客户端无法收到认证应答包。要指定IP,使用如下语句:ipradiussource-interfaceFastEthernet0/1其中FastEthernet0/1的IP指定作为认证客户端的源地址。一般做法是在VPDN-GROUP定义中使用source-ip语句指定IP,不过重启路由器后必须重新设置RADIUS服务器才能生效。另一个关于CISCO设置是使用多个认证服务器。中高档路由器通常可支持不同的拨号接入。不同拨号接入使用不同的认证服务器。CISCO中使用不同的server-group实现。aaaauthorizationnetworkaaa-radius1start-stopgroupradius1aaaauthorizationnetworkaaa-radius2start-stopgroupradius2也可根据需要定义authentication/accounting使用的server-group。在每个接入的PPPVirtual-Template模板中,ppp可选择不同的server-group进行AAA认证。interfaceVirtual-Template1pppauthorizationaaa-radius1……interfaceVirtual-Template2pppauthorizationaaa-radius2……这样实现一个路由器作为多个使用不同RADIUS服务器的拨号LNS路由器功能。用户物理绑定的实现实现用户物理绑定,特定用户只能在特定的电话号码或端口号上发起连接才能认证成功,可以大大提高认证安全性。在窄带系统中,LAC在拨入接入服务器LAC进行一次认证时,就向RADIUS服务器提供主叫号码,二次认证时该属性就被提交给RADIUS服务器。如电话号码为1234567,用户拨号,请求中包含属性Calling-Station-Id="1234567"。为了实现主叫号码绑定,首先在radiusd.conf配置文件中起用对主叫号码的检查,即checkval{}中的内容。在使用users文件认证时,在用户名定义的同一行内加入Calling-Station-Id="1234567"即可。使用MySQL认证时,在radcheck表中加入“Calling-Station-Id,”+=”,”1234567””这条记录即可。对于ADSL宽带来说,不能使用电话号码绑定。不同宽带设备可提供不同的绑定方式。其实现要点也是必须在发出认证请求中包含其物理端口或其它物理信息,Radius服务器在字典定义该属性,在users文件或MySQL中加入约束值即可。1PPP概述点到点协议(PointtoPointProtocol,PPP)是IETF(InternetEngineeringTaskForce,因特网工程任务组)推出的点到点类型线路的数据链路层协议。它解决了SLIP中的问题,并成为正式的因特网标准。PPP协议在RFC1661、RFC1662和RFC1663中进行了描述。PPP支持在各种物理类型的点到点串行线路上传输上层协议报文。PPP有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。因此,应用十分广泛。本文我们主要介绍PPP的身份认证功能。2CHAP原理PPP提供了两种可选的身份认证方法:口令验证协议PAP(PasswordAuthenticationProtocol,PAP)和质询握手协议(ChallengeHandshakeAuthenticationProtocol,CHAP)。如果双方协商达成一致,也可以不使用任何身份认证方法。CHAP认证比PAP认证更安全,因为CHAP不在线路上发送明文密码,而是发送经过摘要算法加工过的随机序列,也被称为"挑战字符串".如图1所示。同时,身份认证可以随时进行,包括在双方正常通信过程中。因此,非法用户就算截获并成功破解了一次密码,此密码也将在一段时间内失效。图1CHAPCHAP对端系统要求很高,因为需要多次进行身份质询、响应。这需要耗费较多的CPU资源,因此只用在对安全要求很高的场合。3CHAP配置3.1PPP基本配置对于同步串行接口,默认的封装格式是HDLC(Cisco私有实现)。可以使用命令encapsulationppp将封装格式改为PPP.如图2所示。图2PPP串行封装当通信双方的某一方封装格式为HDLC,而另一方为PPP时,双方关于封装协议的协商将失败。此时,此链路处于协议性关闭(protocoldown)状态,通信无法进行。如图3所示。图3两端路由器串行接口封装格式不一致这时,在路由器RouterA与路由器RouterB的链路没有成功建立之前,路由器RouterA及RouterB的路由表将为空。3.2CHAP配置3.2.1CHAP认证过程同PAP一样,CHAP认证可以在一方进行,即由一方认证另一方身份,也可以进行双向身份认证。这时,要求被认证的双方都要通过对方的认证程序,否则,无法建立二者之间的链路。我们以单方认证为例分析CHAP配置过程及诊断方法。如图4所示。当双方都封装了PPP协议且要求进行CHAP身份认证,同时它们之间的链路在物理层已激活后,认证服务器会不停地发送身份认证要求直到身份认证成功。和PAP不同的是,这时认证服务器发送的是"挑战"字符串。图4CHAP验证在图4中,当认证客户端(被认证一端)路由器RouterB发送了对"挑战"字符串的回应数据包后,认证服务器会按照摘要算法(MD5)验证对方的身份。如果正确,则身份认证成功,通信双方的链路最终成功建立。如果被认证一端路由器RouterB发送了错误的"挑战"回应数据包,认证服务器将继续不断地发送身份认证要求直到收到正确的回应数据包为止。3.2.2CHAP认证服务器的配置CHAP认证服务器的配置分为两个步骤:建立本地口令数据库、要求进行CHAP认证。建立本地口令数据库通过全局模式下的命令usernameusernamepasswordpassword来为本地口令数据库添加记录。这里请注意,此处的username应该是对端路由器的名称,即routerb.如下所示:RouterA(config)#usernamerouterbpasswordsamepass要求进行CHAP认证这需要在相应接口配置模式下使用命令pppauthenticationchap来完成。如下所示:RouterA(config)#interfaceserial0/0RouterA(config-if)#pppauthenticationchap3.2.3CHAP认证客户端的配置CHAP认证客户端的配置只需要一个步骤(命令),即建立本地口令数据库。请注意,此处的username应该是对端路由器的名称,即routera,而口令应该和CHAP认证服务器口令数据库中的口令相同。如下所示。RouterB(config-if)#usernamerouterapasswordsamepass3.2.4CHAP的诊断对于CHAP身份认证中出现的问题也可以利用debugpppauthentication命令进行诊断。如图5所示,它表明认证客户端发送的"挑战"回应数据包没有通过认证服务器的认证。图5命令debugpppauthentication的输出图6表明经过若干次认证要求后,认证服务器最终收到了认证客户端发送过来的正确的"挑战"回应数据包。此时,双方的链路将成功建立。图6命令debugpppauthentication的输出注意:1、CHAP认证过程中,口令是大小写敏感的。2、身份认证也可以双向进行,即互相认证。配置方法同单向认证类似,只不过需要将通信双方同时配置成为认证服务器和认证客户端。3、口令数据库也可以存储在路由器以外的AAA或TACACS+服务器上。限于篇幅,此处不再赘述。通信认证双方选择的认证方法可能不一样,如一方选择PAP,另一方选择CHAP,这时双方的认证协商将失败。为了避免身份认证协议过程中出现这样的失败,可以配置路由器使用两种认证方法。当第一种认证协商失败后,可以选择尝试用另一种身份认证方法。如下的命令配置路由器首先采用PAP身份认证方法。如果失败,再采用CHAP身份认证方法。RouterA(config-if)#pppauthenticationpapchap如下的命令则相反,首先使用CHAP认证,协商失败后采用PAP认证。RouterA(config-if)#pppauthenticationchappap2pap原理ppp提供了两种可选的身份认证方法:口令验证协议pap(passwordauthenticationprotocol,pap)和质询握手协议(challengehandshakeauthenticationprotocol,chap)。如果双方协商达成一致,也可以不使用任何身份认证方法。pap是一个简单的、实用的身份验证协议。如图1所示。图1pappap认证进程只在双方的通信链路建立初期进行。如果认证成功,在通信过程中不再进行认证。如果认证失败,则直接释放链路。pap的弱点是用户的用户名和密码是明文发送的,有可能被协议分析软件捕获而导致安全问题。但是,因为认证只在链路建立初期进行,节省了宝贵的链路带宽。3pap配置3.1ppp基本配置对于同步串行接口,默认的封装格式是hdlc(cisco私有实现)。可以使用命令encapsulationppp将封装格式改为ppp.如图2所示。图2ppp串行封装当通信双方的某一方封装格式为hdlc,而另一方为ppp时,双方关于封装协议的协商将失败。此时,此链路处于协议性关闭(protocoldown)状态,通信无法进行。如图3所示。图3两端路由器串行接口封装格式不一致这时,在路由器routera与路由器routerb的链路没有成功建立之前,路由器routera及routerb的路由表将为空。3.2pap配置3.2.1pap认证过程pap认证可以在一方进行,即由一方认证另一方身份,也可以进行双向身份认证。这时,要求被认证的双方都要通过对方的认证程序。否则,无法建立二者之间的链路。我们以单方认证为例分析pap配置过程及诊断方法。如图4所示。当双方都封装了ppp协议且要求进行pap身份认证,同时它们之间的链路在物理层已激活后,认证服务器会不停地发送身份认证要求直到身份认证成功。图4pap认证过程在图4中,当认证客户端(被认证一端)路由器routerb发送了用户名或口令后,认证服务器会将收到的用户名或口令和本地口令数据库中的口令信息比对,如果正确则身份认证成功,通信双方的链路最终成功建立。如果被认证一端路由器routerb发送了错误的用户名或口令,认证服务器将继续不断地发送身份认证要求直到收到正确的用户名和口令为止。3.2.2pap认证服务器的配置pap认证服务器的配置分为两个步骤:建立本地口令数据库、要求进行pap认证。●建立本地口令数据库通过全局模式下的命令usernameusernamepasswordpassword来为本地口令数据库添加记录。如下所示:routera(config)#usernamerouterapasswordrapass●要求进行pap认证这需要在相应接口配置模式下使用命令pppauthenticationpap来完成。如下所示。routera(config)#interfaceserial0/0routera(config-if)#pppauthenticationpap3.2.3pap认证客户端的配置pap认证客户端的配置只需要一个步骤(命令),即将用户名和口令发送到对端,如下所示:routerb(config-if)#ppppapsent-usernamerouterapassrapass3.2.4pap的诊断如果通信双方的链路因为身份认证的原因而没有建立成功,利用debugpppauthentication命令可以很容易发现问题所在。如图5所示,它表明认证客户端发送的用户名和口令没有通过认证服务器的认证。图5命令debugpppauthentication的输出图6表明经过若干次认证要求后,认证服务器最终收到了认证客户端发送过来的正确的用户名和口令组合。此时,双方的链路将成功建立。图6链路成功建立注意:1、pap认证过程中,口令是大小写敏感的。2、身份认证也可以双向进行,即互相认证。配置方法同单向认证类似,只不过需要将通信双方同时配置成为认证服务器和认证客户端。3、口令数据库也可以存储在路由器以外的aaa或tacacs+服务器上。限于篇幅,此处不再赘述。本贴来自天极网群乐社区--http://q.yesky.com/group/review-17655221.html1.1PPP概述点到点协议(PointtoPointProtocol,PPP)是IETF(InternetEngineeringTaskForce,因特网工程任务组)推出的点到点类型线路的数据链路层协议。它解决了SLIP中的问题,并成为正式的因特网标准。PPP协议在RFC1661、RFC1662和RFC1663中进行了描述。PPP支持在各种物理类型的点到点串行线路上传输上层协议报文。PPP有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。因此,应用十分广泛。1PPP的层次结构PPP支持各种类型的硬件,包括EIA/TIA232、EIA/TIA449、EIA/TIA530、V.35、V.21等。只要是点到点类型的线路都可以运行PPP。在数据链路层,PPP通过LCP协议进行链路管理,相当于以太网数据链路层的MAC子层。而在网络层,由NCP为不同的协议提供服务。这里的NCP相当于以太网数据链路层的LLC子层。如图1所示。图1PPP的层次结构2PPP的功能PPP主要完成了以下功能:链路控制PPP为用户发起呼叫以建立链路;在建立链路时协商参数选择;通信过程中随时测试线路,当线路空闲时释放链路等。PPP中完成上述工作的组件是链路控制协议LCP(LinkControlProtocol,LCP)。网络控制当LCP将链路建立好了以后,PPP要开始根据不同用户的需要,配置上层协议所需的环境。PPP使用网络控制协议NCP(NetworkControlProtocol,NCP)来为上层提供服务接口。针对上层不同的协议类型,会使用不同的NCP组件。如对于IP提供IPCP接口,对于IPX提供IPXCP接口,对于APPLETALK提供ATCP接口等。1.2PPP过程从开始发起呼叫到最终通信完成后释放链路,PPP的工作经历了一系列的过程。下面,是这一过程的描述。当一个PC终端拨号用户发起一次拨号后,此PC终端首先通过调制解调器呼叫远程访问服务器,如提供拨号服务的路由器。当路由器上的远程访问模块应答了这个呼叫后,就建立起一个初始的物理连接。接下来,PC终端和远程访问服务器之间开始传送一系列经过PPP封装的LCP分组,用于协商选择将要采用的PPP参数。如果上一步中有一方要求认证,接下来就开始认证过程。如果认证失败,如错误的用户名、密码,则链路被终止,双方负责通信的设备或模块(如用户端的调制解调器或服务器端的远程访问模块)关闭物理链路回到空闲状态。如果认证成功则进行下一步。在这步骤中,通信双方开始交换一系列的NCP分组来配置网络层。对于上层使用的是IP协议的情形来说,此过程是由IPCP完成的。当NCP配置完成后,双方的逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据。当数据传送完成后,一方会发起断开连接的请求。这时,首先使用NCP来释放网络层的连接,归还IP地址;然后利用LCP来关闭数据链路层连接;最后,双方的通信设备或模块关闭物理链路回到空闲状态。图2给出了上述过程的示意图。图2PPP过程1.3PPP帧格式PPP帧格式以HDLC帧格式为基础,做了很少的改动。二者的主要区别是:PPP是面向字符的,而HDLC是面向位的。PPP在点到点串行线路上使用字符填充技术。所以,所有的帧的大小都是字节的整数倍。图3中给出了PPP的帧格式。图3PPP的帧格式PPP帧是以标准HDLC标志字节(01111110)开始和结束的。接下来是地址字段,缺省情况下,被固定设成二进制数11111111,因为点到点线路的一个方向上只有一个接收方。地址字段后面是控制字段,缺省情况下,被固定设成二进制数00000011。因为缺省情况下,地址字段、控制字段总是常数。因此,这两部分实际可以省略不要(需要通过LCP进行协商)。接下来是协议字段。用来标明后面携带的是什么类型的数据。其缺省大小为2个字节。但如果是LCP包,则可以是1字节。接下来是数据字段。其长度可变,缺省最大长度为1500字节。接下来是校验和字段,通常情况下是2个字节,但也可以是4字节。1.4LCP协商选项LCP用来在通信链路建立初期,在通信双方之间协议功能选项。表1列出了其中主要的选项。它们是身份验证、压缩、回叫、多链路。表1PPPLCP协商选项特性解释协议身份验证链路建立成功前要求提供正确的密码PAP,CHAP压缩在带宽有限的链路提供对数据的压缩功能Predictor,Stacker,MPPC回叫由被叫方重新呼叫原呼叫发起方CiscoCallback,MSCallback多链路需要的时候进行多链路捆绑、负载均衡MP1.5LCP协商的其他选项除了身份认证方法之外,PPP的LCP还提供了链路压缩、回叫、多链路捆绑等选项。1链路压缩PPP协议运行在速率十分有限的点到点串行链路上。为了提高数据发送效率,可以采用对数据进行压缩后再传送的方法,我们将其称为链路压缩。LCP支持以下一些链路压缩方法:Stac、Predictor、MPPC以及TCP头部压缩。不同的方法对CPU及内存的需求并不相同。有些需要更多的内存(内存密集型),有些则需要占用更多的CPU时间(CPU密集型)。压缩原理和效果也不相同。Stac:Stac压缩算法基于Lempel-Ziv理论,它通过查找、替换传送内容中的重复字符串的方法达到压缩数据的目的。使用Stac压缩算法可以选择由各种硬件(适配器、模块等)压缩或者由软件进行压缩,还可以选择压缩的比率。Stac压缩算法需要占用较多的CPU时间。MPPC:MPPC是微软的压缩算法实现,它也是基于Lempel-Ziv理论,也需要占用较多的CPU时间。Predictor:Predictor—预测算法通过检查数据的压缩状态(是否已被压缩过)来决定是否进行压缩。因为,对数据的二次压缩一般不会有更大的压缩率。相反,有时经过二次压缩的数据反而比一次压缩后的数据更大。Predictor算法需要占用更多的内存。TCP头部压缩:TCP头部压缩基于VanJacobson算法,该算法通过删除TCP头部一些不必要的字节来实现数据压缩的目的。2回叫回叫又称为回拨,是指当通信一方拨号到另一方后,由另一方断开拨号连接并进行反向的拨号。这对于从甲地到乙地的电话费大于从乙地到甲地的电话费的情形。这时,可以由甲方首先发起到乙方的呼叫连接,当乙方收到甲方的呼叫请求后,断开乙方的呼叫。然后,从乙方发起到甲方的回叫。甲方应答后,双方的通信链路就建立起来了。回叫还有更安全的优点。因为乙方在回叫之前可以验证对方是否是合法用户,或者可以用口令数据库的方法或者可以用检验对方电话号码的方法。3多链路捆绑LCP的多链路捆绑(MP)选项通过将通信两端之间的多条通信链路捆绑成一条虚拟的链路而达到扩充链路可用带宽的目的。LCP的多链路捆绑可以在多种类型的物理接口上实现,包括异步串行接口、同步串行接口、ISDN基本速率接口BRI、ISDN主速率接口PRI。LCP的多链路捆绑也支持不同的上层协议封装类型,如X.25、ISDN、帧中继等。限于篇幅,关于以上LCP协商选项的配置这里就不再详细介绍了。2PPP配置(Cisco)2.1PPP基本配置1封装对于同步串行接口,默认的封装格式是HDLC(Cisco私有实现)。可以使用命令encapsulationppp将封装格式改为PPP。如图4所示。图4PPP串行封装当通信双方的某一方封装格式为HDLC,而另一方为PPP时,双方关于封装协议的协商将失败。此时,此链路处于协议性关闭(protocoldown)状态,通信无法进行。如图5所示。图5两端路由器串行接口封装格式不一致这时,在路由器RouterA与路由器RouterB的链路没有成功建立之前,路由器RouterA及RouterB的路由表将为空。当路由器RouterA的串行接口Serial0/0又改为封装成PPP协议时,双方的通信将恢复正常。如图6所示,是在路由器RouterA上产生的debugpppevents的输出。可以发现,成功地安装了此链路的路由条目。同时,系统提示该链路协议被激活,链路可用。图6命令debugpppevents的输出同时,使用showiproute命令可以看到RouterA安装了两条路由条目,一条是到达网络192.168.0.0/24的一条直连路由,另一条是到达主机192.168.0.2/32的一条直连主机路由。如图7所示。图7命令showiproute的输出当将路由器RouterA的Serial0/0的封装格式再次改为HDLC时,命令debugpppevents将给出如图8所示的提示信息,提示该链路上的路由条目被删除。同时,系统通告该接口协议性关闭。图8命令debugpppevents的输出同时,debugpppnegotiation的输出也表明了这一点,如图9所示。图9命令debugpppnegotiation的输出2autoselect可以配置一个接口根据接收到的字符自动判断远程拨号用户协议类型并调用相应的处理过程。如图10所示。图10autoselect命令过程例如,如果远程拨号用户使用PPP协议拨入线路,线路将检测到PPP帧的起始字符0x7E(01111110),并调用PPP处理过程。又如,当线路检测到“回车”符后将开始一个Exec会话过程等。autoselect命令允许线路被设置成可以接受多种类型协议的连接,如PPP、SLIP、ARAP等。以下是Autoselect命令的使用格式。autoselect[arappppslipduring-login]其中,命令中的during-login选项将提示用户输入用户名和口令而不需要按“回车”键(否则,一个会话过程将自动开始而不会给出用户名和口令的提示)。',)


  • 编号:1700774843
  • 分类:其他文档
  • 软件: wps,office word
  • 大小:27页
  • 格式:docx
  • 风格:商务
  • PPT页数:783603 KB
  • 标签:

广告位推荐

相关其他文档更多>