原创 PPP协议

2009-2-9 23:21 2208 2 2 分类: 工程师职场

PPP协议<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


PPP概念
  PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

   PPP链路建立过程
  PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCPLink Control Protocol);网络控制协议NCPNetwork Control Protocol);认证协议,最常用的包括口令验证协议PAPPassword Authentication Protocol)和挑战握手验证协议CHAPChallenge-Handshake Authentication Protocol)。
  LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。下面介绍PPP链路建立的过程:


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
  PPP链路状态机如图1所示。一个典型的链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。

  阶段1:创建PPP链路
  LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。


阶段2:用户验证
  在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。认证方式介绍在第三部分中介绍。

  阶段3:调用网络层协议
  认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。 这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。
  认证方式
  1 口令验证协议(PAP
  PAP是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。
  2 挑战-握手验证协议(CHAP
  CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。
  CHAPPAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。
  PPP协议的应用
  PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
  家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。 目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL(非对称数据用户环线,Asymmetrical Digital Subscriber Loop)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoEPPP over Ethernet),PPPoAPPP over ATM)。
  利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoEPPPoE即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。
  同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准。
  PPP协议的简单完整使它得到了广泛的应用,相信在未来的网络技术发展中,它还可以发挥更大的作用。


 


点对点隧道协议(PPTP)常见问题解答


什么是点对点隧道协议?


点对点隧道协议(PPTPPoint-to-Point Tunneling Protocol)是一种支持多协议虚拟专用网(VPNVirtual Private Networks)的新型网络技术,它可以使远程用户通过Internet安全地访问公共网。通过点对点隧道协议,远程用户可以通过Microsoft Windows NT WorkstationWindows 95操作系统以及其它支持点对点协议(PPPPoint-to-Point Protocol)的系统拨号连接到Internet服务提供者(ISP),然后再通过Internet与他们的公共网连接。


点对点隧道协议的意义何在?它能给使用者带来什么样的好处?


点对点隧道协议的一个优点是可以完成通过公共Internet网的低成本的公共网连接。这一点对那些外出工作或旅游的移动用户尤为重要,他们可以访问自己的远程公共网来查看E-mail信箱或者进行一些业务活动。有了点对点隧道协议,他们就可以不必拨长途电话号码来访问公共网,而仅仅通过使用V.34调制解调器或综合业务数字网络(ISDNIntegrated Services Digital Network)拨本地电话号码完成POP连接(Point of PresenceInternet服务提供者为调制解调器用户提供的拨号连接,专门用于描述本地连接)。并且点对点隧道协议会话能提供一个Internet到公共网的安全连接。本地呼叫先与位于本地城市的硬件设备(前端处理机,FEPFront-End Processor)连接,FEP再通过广域网(WANWide Area Network)如帧中继、X.25与另外一个城市的NT服务器连接,其中的PPP包从终端用户通过隧道在广域网上传输。由于点对点隧道协议支持多种协议(IPIPXNetBEUI),所以它可以用来访问很大范围内的已有的局域网(LAN)基础设施。


点对点隧道协议实现起来容易,而且并不昂贵。许多单位组织都希望以这样的方式,安全、协议独立、无争议、有效而且无需改变已有的网络地址,进行拨号连接来访问公共主干网。而支持点对点隧道协议的虚拟广域网(WAN)就是完成这项工作的一个很有效的方法。


最后,点对点隧道协议还可以实现V.34ISDN的前端到Windows NT服务器的密集通讯。目前支持拨号连接的硬件设备的集成度还并不高。所以对于密集 Windows NT RASRemote Access Service)服务器,通常需要一个公司的调制解调器,另一个公司的串行控制器,以及一些电缆等。而且,这种方式并没有提供一组合的方法来支持V.34ISDN的拨号连接。通过点对点隧道协议,其中的密集与组合通讯(dense and integrated communications)方式可以作为局域网(LAN)到Windows NT服务器的前端处理机(FEPs),这样Windows NT网络操作系统环境下的密集 RAS服务器的配置就便于管理了。


点对点隧道协议对谁有益处?


首先是那些远离办公室并且需要访问公共局域网的移动用户。其次,局域网管理员将会由于点对点隧道协议提供的安全性而不必为网络安全大伤脑筋。另外,局域网管理员还可以节省购买设备、定期管理/维护的费用。点对点隧道协议使得Internet服务提供者(ISP)能够为自己的用户提供更多、更好的服务。而且点对点隧道协议提供的安全性特性也会给防火墙和其它一些Internet访问产品的开发者带来好处。


如何才能获得点对点隧道协议?


点对点隧道协议可以从Windows NT Server 4.0以及Windows NT Workstation 4.0中得到,而且不需要额外付费。微软公司在1997年年初就有在Windows 95中提供PPTP的支持的打算,随后第三方就可以得到微软PPTP的源代码,这样,Windows 3.1点对点协议(PPP)的销售者就可以根据自己的意愿决定是否包含对PPTP的支持。鉴于支持PPTP的硬件系统近期就可以获得,所以用户不久就可以受益于PPTP的低成本的安全特性。另外,因为许多Internet服务提供者(ISP)准备升级POP以支持点对点隧道协议,所以用户将不必改变自己的客户机的设置,通过ISP就可以使用点对点隧道协议了。


点对点隧道协议与拨号连接Internet在访问连接到Internet上的公共网上有什么不同?


如今,为了拨号连接Internet访问公共网,企业不得不改变已有的网络编址方案,尤其对那些已经配置好网络地址却没有保留地址的企业。另外,远程用户目前还不能访问包含IPX/SPXNetBEUI协议的异构公共网。如果使用点对点隧道协议,企业就允许远程用户访问异构公共网,而无需改变已有的网络地址。有了点对点隧道协议,公共局域网管理员可以很方便地添加/移走网络访问权,这样避免了由Internet服务提供者集中管理访问权给客户带来的时间延迟。换句话说,局域网管理员有权决定谁被授权可以远程访问公共网,同时,他可以更加轻松地管理网络。


为什么微软公司要开发点对点隧道协议?


在最初设计开发远程访问服务(RASRemote Access Service)时,基于远程访问的角度,开发者就有一个支持虚拟广域网(Virtual WAN)的想法。也就是说,开发者意识到:如果能把已存在的公共主干网、SNA主干网、以及Internet主干网处理为虚拟广域网将是个非常好的想法,这一想法类似于PSTN(公用交换电话网)、ISDN(综合业务数字网)、X.25的处理方式。广域网或虚拟广域网仅仅是一种位管道。在PSTN/ISDN/X.25的情况下,远程访问客户通过分组网络建立一个与RAS服务器的POP连接,一旦建立好连接,网络数据包就可以从分组网络传输到RAS服务器,再路由到目标局域网。在虚拟广域网情况下,PPP数据包利用传输级会话(TCP/IPNetBIOS),通过虚拟广域网传输到RAS服务器,而不是使用分组连接在广域网上传输数据包。


组织机构在通过Internet进行数据通信时,其安全性是如何得到保证的?


首先要使用Windows NT的远程访问服务中的认证协议(PAPCHAP)进行用户身份验证。MS-CHAP(询问握手认证协议的微软扩展协议,Microsoft-Challenge Handshake Authentication Protocol)支持MD4散列和局域网管理器所使用的DES(数据加密标准)。额外的验证可以由Internet服务提供者在POP连接时进行。通过使用远程访问服务中的加密协议(RSA RC4)可以完成数据加密。另外,可以增加Microsoft的远程访问服务(RAS),借助已有的压缩、加密、与Windows NT管理工具的组合来保证通信安全。例如,RAS支持加密,点对点隧道协议可以不说明密钥分配问题就能提供Internet的安全访问,因为通信双方共享用户凭据的散列表格。


点对点隧道协议中采用的加密方案是什么?


点对点隧道协议利用PPP提供的安全性。MS-CHAPPPP认证)认证协议用来使用户凭据生效,得到的会话密钥再用来加密用户数据。Microsoft的压缩控制协议(CCPCompression Control Protocol)中有一协商加密位。RAS客户机可以只请求加密允许的连接,RAS服务器也可以设置成只允许加密的RAS会话,通常情况下,希望与Internet连接的Windows NT RAS服务器配置成只允许加密连接。远程访问服务(RAS)支持RAS客户机和RAS服务器之间共享机密棗通过客户机上用户提供的口令可以得到与服务器上Windows NT安全数据库中存储的口令一致的MD4散列。通过使用RAS客户机和RAS服务器之间的共享机密就可以解决一重要的加密问题:密钥分配问题。如果要协商加密,就将使用RSA RC4加密协议以及经过用户身份验证后得出的40位会话密钥。微软还将为美国的远程访问服务提供128位加密,并且计划在199611月底的服务包(service pack)和加密包中提供远程访问服务的128位加密。


对于安全套接字层(SSL),普遍认为由于它要占用大量的CPU进行加密和解密,所以必然增加了客户机/服务器的负荷。那么在点对点隧道协议中是不是也有类似的情况?


没有。事实上,安全套接字层(SSLSecure Sockets Layer)运行特性降低主要有两个原因:(1)私钥操作要耗费85ms的实CPU时间来建立连接;(2)随后,序列密码加密是在用户模式下进行的,然后传送到套接字层,这与在内核模式中调用TransmitFile() 并且进行其它一些操作是不一样的。点对点隧道协议具有一优点,它的加密是在内核模式下进行的。


点对点隧道协议是如何与防火墙技术(Firewall Technology)配合使用的?


点对点隧道协议(PPTP)是防火墙技术策略的一个补充,它能完成不同的网络安全性需要。防火墙通过严格控制来自于Internet的数据信息来保证公共网的安全性,而点对点隧道协议能够保证远程用户与公共网之间的数据交换的安全性。一个组织机构可以在防火墙与Internet外部网之间配置一台Windows NT RAS服务器。这样,Windows NT服务器系统将会识别出来源于远程用户通过Internet网传送来的PPTP包,然后服务器再将TCP/IPIPX/SPXNetBEUI分组传送到防火墙,最后由防火墙提供与没有PPTP时一样的网络安全性。


点对点隧道协议是如何配置的?


点对点隧道协议(PPTP)可以按以下两种方式中的任何一种进行配置。在第一种方式中,客户机和服务器均使用点对点隧道协议驱动,所有的加密在客户机上进行,所有的解密在服务器上进行。这种情况下,Internet服务提供者并不需要为用户作任何改动。而在第二种方式中,Internet服务提供者要安装支持PPTP的拨号平台或者前端处理机。这种情况下,任何有呼叫请求的PPP客户都可以建立一个与公共PPTP服务器的加密PPTP连接。这两种PPTP配置都能够给用户带来更多的灵活性。在最初微软点对点隧道协议的声明中,四大设备提供者棗Ascend3ComTelematicsU.S.Robotics公司以及大的Internet服务提供者UUNET都声称支持点对点隧道协议。


为了使用点对点隧道协议,组织机构一定需要为自己的网络重新分配地址吗?


由于点对点隧道协议(PPTP)只是通过隧道传输PPP包,所以并不需要重新分配网络地址。利用PPTPInternet服务提供者就有可能为拥有相同IPX网络号的两个机构或更多机构服务。另外,通过基于IP网际协议的网络,点对点隧道协议允许Internet服务提供者为组织机构提供专有网编址方案,尽管该方案的编址是与IANAInternet号码分配局)分配给其他一些机构的地址相冲突的。而这正是点对点隧道协议所提供的一大好处,因为给整个网络重新分配地址是件很繁重的任务。


Internet服务提供者(ISP)如何为自己的用户提供点对点隧道协议这项网络技术?


为了提供这项技术,Internet服务提供者需要在已有的远程访问服务器中添加或升级软件。一些主要的远程访问服务器硬件系统的提供者已经或者正准备推出支持PPTP的产品。如3ComAscendECI TelematicsU.S.Robotics公司一直为这项技术努力,而且大部分已经在远程访问服务器中实现了点对点隧道协议这项技术。当Internet服务提供者升级POP后,用户就能够从中受益,使用PPTP的虚拟专用网(VPN)特性,同时并不需要对远程客户机或公共服务器作任何改动。


点对点隧道协议这项技术能够让远程用户访问专用网上的NetWare服务器和UNIX服务器吗?


答案是肯定的。点对点隧道协议安装于Windows NT服务器,Windows NT服务器是一开放式平台,它支持多种协议,其中包括IPX(网间分组交换协议)、NetBEUINetBIOS扩展用户接口协议)。另外,它还支持Internet的加密PPP链接,基于PPTP的服务器可以使Internet网成为主干网进行IPXNetBEUI远程访问。


点对点隧道协议可以使基于Windows的“隧道”和基于Unix的“隧道”之间进行通讯吗?


任何能够实现点对点隧道协议(PPTP)的设备都能够与PPTP服务器进行通信,无论是基于什么类型的服务器,例如,基于Windows NT或基于UNIX操作系统。


点对点隧道协议这项技术可以通过Internet来实现局域网(LAN)之间的连接吗(这与通过Internet将远程PC机连接到局域网不同)?


点对点隧道协议(PPTP)的规约(Specification)中包含了可以通过Internet实现局域网之间的连接。不过,Windows NT Server 4.0中包含的最初的PPTP版本仅支持拨号用户,即客户PC 机。微软计划在今后的PPTP版本中扩展对经由Internet实现局域网之间的连接的支持。


点对点隧道协议是微软技术的专利吗?


不是。点对点隧道协议(PPTP)是建立在IPPPP协议上的一种高层协议,而IPPPP协议是Internet工程任务组(IETF)所支持的两个极其重要的Internet标准协议。简单地说就是PPTPIPPPP自然发展的结果。点对点隧道协议并不是微软公司单独开发的,而是与几个主要的通信硬件开发商联合开发的。微软和其它PPTP的支持者已经将PPTP介绍给了Internet工程任务组。而且,希望在不久的将来PPTP能够与其它一些新技术一起配合使用,如IPSEC技术。


点对点隧道协议支持什么类型的互连?


点对点隧道协议支持多种广域网配置:模拟电话线路、基于公共交换电话网(PSTN)的综合业务数字网(ISND)、帧中继以及X.25协议。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条