Tuesday, April 26, 2011

Linux vpn


一、PPP协议以及PPTP协议简介 1.PPP协议简介 点到点隧道协议(PPTP)PPTP是Ascend通信公司、ECI电话公司、微软、3com以及USRobotics公司共同合作的成果。这个工作组称为PPTP论坛。PPTP的基础是很好绑定且相互区别的函数。之所以这样做是因为这样可以使用户和生产商能利用Internet的普遍特性。通过支持一种标准,用户可以通过本地ISP拨号并能够安全地通过Internet隧道连接到他们的公司网络。这样可以使公司减少产生和支持自身远程访问硬件的要求。点对点隧道协议(PPTP)是建立在IP、PPP协议上的一种高层协议,而IP、PPP协议是Internet工程任务组(IETF)所支持的两个极其重要的Internet标准协议。简单地说就是PPTP是IP与PPP自然发展的结果。点对点隧道协议并不是微软公司单独开发的,而是与几个主要的通信硬件开发商联合开发的。微软和其它PPTP的支持者已经将PPTP介绍给了Internet工程任务组。为了了解PPTP的基本内容,必须研究一下PPP协议。 PPP协议简介 串行线路网际协议(SLIP)是一种通信协议,使用RS-232串口与调制解调器相连,支持通过拨号方式与因特网连接(即使用TCP/IP)。SLIP改变标准的因特网数据报,它在因特网数据报中添加一个SLIPEND字符,由此而改变了数据报。数据报允许将此字符独立看待。SLIP需要一个端口配置为八位数据,无奇偶校验,和硬件流控制。然而,SLIP不提供错误检测,只依靠高层协议控制。如果运行特殊的有错误倾向的拨号连接,SLIP本身的作法将不令人满意。为正确运行,必须在每次建立连接前配置IP地址。点对点协议(PPP)是一种本质上与SLIP相同的较新协议,然而,它的设计比SLIP更好更具有实用性更可接受。它在异步连接和面向位的同步连接系统中均可使用,并可动态配置与远程网络连接以及检测连接链。为了改进SLIP,人们制订了点对点PPP(Point-to-Point Protocol)。PPP位于Linux TCP/IP四层网络模型的接入网层(Host-to-Net Layer)。和SLIP相比,PPP支持许多服务,包括:同时支持多个协议、链路配置、错误检测、压缩、加密、网络信息、认证。TCP/IP模型各个层次的功能和协议见表-1。 表-1 TCP/IP模型各个层次的功能和协议 表1 PPP位于协议栈中的数据链路层上,和物理层和网络层接口。如图1。 图1具有PPP连接服务的TCP/IP栈 PPP协议的三大成就: 1.明确地划分出一帧的尾部和下一帧的头部的成帧方式。这种帧格式也处理错误检测工作。 2.当线路不再需要时,挑出这些线路,测试它们,商议选择,并仔细地再次释放链路控制协议。这个协议被称为链路控制协议LCP(link control protocol)。 3.用独立于所使用的网络层协议的方法来商议使用网络层的哪些选项。对于每个所支持的网络层来说,所选择的方法有不同的网络控制协议NCP(network control protocol)。PPP帧不仅能通过拨号电话线发送出去,而且还能通过SONET或真正面向位的HDLC线路(即路由器与路由器相连)发送出去。PPP协议组成 PPP协议有三个组成部分: 1.一个将IP数据报封到串行链路的方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。 2.一个用来建立、配置和测试数据链路的链路控制协议LCP(Link Control Protocol)。通信的双方可协商一些选项。在[RFC 1661]中定义了11种类型的LCP分组。一套网络控制协议NCP(Network Control Protocol),支持不同的网络层协议,如IP、OSI的网络层、DECnet、AppleTalk等。安全性 加密问题既没有在RFC1171也没有在RFC1172中提到过。这意味着PPP和PAP不对数据或报头使用任何加密算法。为了弥补这个缺点,开发了一个新的验证协议,并在1996年8月的RFC1994中发布。标题为PPP质询握手验证协议(CHAP)的RFC1994没有重新定义PPP协议。事实上,它依赖于PPP来进行像建立链路和封装数据报这样的内务处理。RFC1994所定义的是在使用PPP时进行验证的方法。CHAP使用该RFC称为3-way信号交换的过程定期验证同位体的一致性。根据该RFC,验证过程在初始链路建立时运行并在需要时重复。此过程如下: 1)在链路建立步骤完成后,验证器发送一个质询消息到该同位体。 2)同位体使用one-way散列函数对值进行计算。 3)验证器检查对所期望的散列值进行计算的应答。如果值是匹配的,则该过程继续。如果不匹配,则不建立任何连接。 4)验证器以随机的时间间隔发送一个新的质询到同位体中,并且该过程跳转到步骤2。 此时,验证方法取决于一个秘密,该秘密只有验证器和特定的同位体知道。我们将看到这个秘密以令人惊奇的方式进行实现。同样。由于CHAP可用于验证许多不同的系统,因此将使用名字字段作为索引对大型秘密表中适当的秘密进行定位。我们还将看到这是如何用于另一个协议的。最后,尽管该RFC没有专门说明应使用哪种散列算法,但它确实提到了MD5。2.PPTP协议简介 PPTP:点对点隧道协议 ( Point to Point … 继续阅读



Published by
Published by xFruits
Original source : http://www.vpn123.tk/?p=512...

No comments:

Post a Comment