1、PPP:(PPP:Point to Point Protocol)
点对点协议(PPP)为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。PPP 最初设计是为两个对等结构之间的 IP 流量的传输提供一种封装协议。在 TCP-IP 协议集中它是一种关于同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原非标准第二层协议,即 SLIP。除了 IP 以外 PPP 还可以传送其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。
PPP 主要由以下几部分组成:
封装:一种封装多协议数据报的方法。PPP 封装提供了不同网络层协议同时通过统一链路的多路技术。(人们)精心的设计 PPP 封装,使其保有对常用支持硬件的兼容性。
链路控制协议:为了在一个很宽广的环境内能足够方便的使用,PPP 提供了 LCP(链路控制协议,简称LCP(Link Control Protocol))。LCP 用于就封装格式选项自动的达成一致,处理数据包大小的变化,探测 looped-back 链路和其他普通的配置错误,以及终止链路。
提供的其他可选设备有:对链路中对等单元标识的认证,和链路功能正常或链路失败情况下的决定。
网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。
配置:通过链路控制协议使 PPP 链路很容易配置。该机制也应用于其它控制协议如网络控制协议(NCPs) 为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立之后,LCP 可选设备才可以被认证。然后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在连路上发送了。链路将保持通信设定不变,直到外在的 LCP 和 NCP 关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。
2、PPPoE(英语:Point-to-Point Protocol over Ethernet)
以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。由于协议中集成了PPP协议,所以实现了传统以太网不能提供的身份验证、加密以及压缩等功能,也可用于缆线调制解调器(cable modem)和数字用户线路(DSL)等以以太网协议向用户提供接入服务的协议体系。本质上,它是一个允许在以太广播域中的两个以太网接口间创建点对点隧道的协议。
3、(PPTP: Point to Point Tunneling Protocol)
点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术。通过该协议,远程用户能够通过 UNIX、Microsoft Windows 2003 、XP、2000、 NT、 工作站、Windows 95 和 Windows 98 操作系统以及其它装有点对点协议的系统,安全访问公司网络,并能拨号连入本地 ISP((Internet Service Provider),互联网服务提供商) ,通过 Internet 安全链接到公司网络。PPTP 可以用于在 IP 网络上建立 PPP 会话隧道。在这种配置下, PPTP 隧道和 PPP 会话运行在两个相同的机器上,呼叫方充当 PNS(PPTP协议的客户-服务器模型的服务器端,是PPPNCP协议的逻辑终点,能处理PPP协议和PPTP协议分组。即PPTP的网络服务器PPTP network server) 。 PPTP 使用客户机-服务器结构来分离当前网络访问服务器具备的一些功能并支持虚拟专用网络。
PPTP 作为一个呼叫控制和管理协议,它允许服务器控制来自 PSTN ( Public Switched Telephone Network :公共交换电话网络)或ISDN (综合业务数字网,Integrated Services Digital Network)的拨入电路交换呼叫访问并初始化外部电路交换连接。PPTP 只能通过 PAC(PPTP访问集线器PPTP access concentrator)和 PNS(PPTP网络服务器PPTP network server) 来实施,其它系统没有必要知道 PPTP 。拨号网络可与 PAC 相连接而无需知道 PPTP 。标准的 PPP 客户机软件可继续在隧道 PPP 链接上操作。PPTP 使用 GRE(通用路由封装 Generic Routing Encapsulation,是通用路由封装协议,可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中传输) 的扩展版本来传输用户 PPP 包。这些增强允许为在 PAC 和 PNS 之间传输用户数据的隧道提供低层拥塞控制和流控制。这种机制允许高效使用隧道可用带宽并且避免了不必要的重发和缓冲区溢出。
PPTP 没有规定特定的算法用于低层控制,但它确实定义了一些通信参数来支持这样的算法工作。
pptp与ppp两者的同:都支持多协议 异:PPP可以在使用PPTP里使用。
4、L2TP(Layer 2 Tunneling Protocol)
是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。
L2TP中存在两种消息:控制消息和数据消息。控制消息用于隧道和会话连接的建立、维护以及传输控制;数据消息则用于封装PPP帧并在隧道上传输。控制消息的传输 是可靠传输,并且支持对控制消息的流量控制和拥塞控制;而数据消息的传输是不可靠传输,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。
控制消息和数据消息共享相同的报文头。L2TP报文头中包含隧道标识符(Tunnel ID)和会话标识符(Session ID)信息,用来标识不同的隧道和会话。隧道标识相同、会话标识不同的报文将被复用在一个隧道上,报文头中的隧道标识符与会话标识符由对端分配。
5、隧道技术(Tunneling)
隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”(Tunnel)。
要使数据顺利地被封装、传送及解封装,通信协议是保证的核心。目前VPN隧道协议主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5协议。其中,PPTP和L2TP工作在数据链路层,IPSec工作在网络层,SOCK v5工作在会话层。各协议工作在不同层次,我们应该注意,不同的网络环境适合不同的协议,在选择VPN产品时,应该注意选择。IPSec协议是一个范围广泛、开放的VPN安全协议,工作在OSI模型中的第三层——网络层。IPSec协议实际上是一套协议而不是一个单个的协议。