VPN隧道协议-GRE、L2TP、IPSEC

来源:互联网 发布:plc编程入门百度云 编辑:程序博客网 时间:2024/04/29 07:51

http://blog.sina.com.cn/s/blog_6617106b0100i1b5.html

VPN的概念

VPN(Virtual Private Network)虚拟专用网络,是指在公用网络(例如:Internet)平台上构筑不受地域限制而受企业统一策略控制和管理的企业专用网络。

整个VPN网络的任意两个节点之间并没有传统的专线网络所需的端到端的物理链路,而是架构在公用网络平台上的一种逻辑网络,用户的数据是在逻辑链路中传输。虚拟专用网综合了专用和公用网络的优点,允许有多个站点的公司拥有一个假想的完全专有的网络,而使用公用网络作为其站点之间交流的线路。

VPN实现的两个关键技术是隧道技术和加密技术,同时QoS技术对VPN的实现也至关重要。隧道技术简单的说就是:原始报文在A地进行封装,到达B地后把封装去掉还原成原始报文,这样就形成了一条由A到B的通信隧道。

 

L2TP(Layer Two Protocol,第二层隧道协议)

L2TP可以让用户从客户端或访问服务器端发起VPN连接。L2TP是由Cisco、Microsoft等公司在1999年联合制定的,已经成为二层隧道协议的工业标准,并得到了众多网络厂商的支持。

L2TP由RFC2661定义,是国际标准隧道协议,它结合了 PPTP 协议以及第二层转发 L2F 协议的优点,能以隧道方式使 PPP 包通过各种网络协议,包括 ATM 、 SONET 和帧中继。但是 L2TP 没有任何加密措施,更多是和 IPSec 协议结合使用,提供隧道验证

L2TP是用来整合多协议拨号服务至现有的因特网服务提供商点。PPP 定义了多协议跨越第二层点对点链接的一个封装机制。用户通过使用众多技术之一(如:拨号 POTS、ISDN、ADSL 等)获得第二层连接到网络访问服务器(NAS),然后在此连接上运行 PPP。在这样的配置中,第二层终端点和 PPP 会话终点处于相同的物理设备中(如:NAS)。

 

GRE(Generic Routing Encapsulation,通用路由封装协议)

GRE是第三层隧道协议,由Cisco和Net-smiths等公司于1994年提交给IETF的,标号为RFC1701和RFC1702。目前多数厂商的网络设备均支持GRE隧道协议。GRE规定了如何用一种网络协议去封装另一种网络协议的方法。

GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。

GRE主要用于源路由和终路由之间所形成的隧道。例如,将通过隧道的报文用一个新的报文头(GRE报文头)进行封装然后带着隧道终点地址放入隧道中。当报文到达隧道终点时,GRE报文头被剥掉,继续原始报文的目标地址进行寻址。 GRE隧道通常是点到点的,即隧道只有一个源地址和一个终地址。GRE建立起来的隧道只是在隧道源点和隧道终点可见,中间经过的设备仍按照外层IP在网络上进行普通的路由转发。

GRE协议的主要用途有两个:企业内部协议封装和私有地址封装。在国内,由于企业网几乎全部采用的是TCP/IP协议,因此在中国建立隧道时没有对企业内部协议封装的市场需求。企业使用GRE的唯一理由应该是对内部地址的封装。当运营商向多个用户提供这种方式的VPN业务时会存在地址冲突的可能性。

 

IPSec(Internet安全协议)

IPSec协议是一个范围广泛、开放的VPN安全协议,工作在OSI模型中的第三层(网络层)。它提供所有在网络层上的数据保护和透明的安全通信。IPSec协议族是由IETF制定的开放性IP安全标准,为IP网络通信提供透明的安全服务,保护TCP/IP 通信免遭窃听和篡改,可以有效抵御网络攻击,同时保持易用性。IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange(IKE)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。

 

移动网VPN技术应用

在移动网络中,数据VPN可以看成Access VPN,用户是通过移动终端(手机或数据卡)接入到网络中的,始终有“用户”的概念,GGSN可以根据用户的APN来确定将用户接入到哪个网络中,从而通过建立GGSN与相应的企业网间的隧道,将用户接入企业网。

在实际应用中,L2TP的实现主要通过数据卡方式,但考虑到传统的固网VPN中,一些企业的Access VPN都采用了L2TP方式,所以应该在移动数据VPN中保留对L2TP方式的支持。

GRE主要用于企业自身通过因特网构建Intranet VPN,或企业内部特定网络协议、部门的隔离组网。GRE方式适用于组建小规模的VPN,实施方便快捷,但不适用于运营商提供大规模的VPN业务。

IPSec也主要用于企业自身通过因特网、宽带城域网构建Intranet VPN,或企业内部特定网络协议、部门的隔离组网,并提供数据安全保护。但其技术特点不适用于运营商提供大规模的VPN服务。在运营中,可考虑和其它隧道技术相结合来构建VPN,以提高通信的安全性。

移动VPN对移动终端的要求取决于移动VPN所采用的技术和实现方式。根据VPN中隧道的发起位置来划分,VPN可以分为两种:网络发起的VPN和终端发起的VPN。

(1)网络发起的VPN是指VPN隧道的发起点是网络设备,在移动网络中,指由GGSN发起VPN隧道至企业网关。它可以是GRE、MPLS、IPSec、L2TP等技术之一,或是这些技术的组合。网络发起的VPN一般对终端无特殊要求。

(2)终端发起的VPN是指隧道的起点是终端,由终端主动发起一条隧道至企业网关。终端发起的VPN一般采用IPSec或L2TP技术,这要求终端支持IPSec协议或L2TP协议。目前大多数终端均不支持IPSec协议和L2TP协议,如要实现这种VPN方式,可通过数据卡方式实现。同时,在这种情况下,VPN和移动运营商没有直接关系,移动网络只对VPN起承载作用。这种VPN常用于保障端到端的数据安全的业务场景。

 

移动VPN业务对GGSN设备的要求

1、  支持Gi口L2TP隧道

在Gi接口,GGSN需支持L2TP隧道,此时,GGSN应支持以下功能:

 GGSN充当LAC的角色

 L2TP隧道功能在GGSN支持2种业务模型:PPP+L2TP业务模型、IP over L2TP业务模型

 对用户的认证支持RADIUS认证和本地认证两种认证方式

 控制消息传输的高可靠性,支持控制消息的报文重传和滑动窗口功能

 LAC和LNS之间的数据进行L2TP隧道封装

 支持与数量众多的LNS进行对接

2、  支持Gi口GRE隧道

    GGSN在Gi口支持和企业网关或者其它的网络设备建立GRE隧道。GGSN根据路由策略来选择GRE隧道。不仅GGSN Gi口的用户数据可以通过GRE隧道来进行收发,而且RADIUS和DHCP流程也同样可以通过GRE隧道来进行交互。不同VPN的UE/MS用户的PDP地址可以支持重叠。在Gi口支持GRE隧道时,GGSN需支持以下功能:

    -   支持RFC 2890的GRE协议版本,同时兼容RFC1701、RFC1702和RFC2784的GRE协议版本。

    -   GGSN能够根据路由策略选择GRE隧道。

    -   支持VRF功能。

 

LAC

Link Access Control

链路接入控制

LNS

L2TP Network Server

L2TP网络服务器

RADIUS

Remote Authentication Dial-In User Service

远端拨入用户验证服务

DHCP

Dynamic Host Configuration Protocol

动态主机配置协议

 


0 0