grevpn建立过程
Success rate is 0 percent (0/5)
R3#
因为使用ping针对的是数据流协议为ip才行,而本例中对于VPN来说所封装的原始IP数据流协议为GRE,所以不能用ping来测试这两个IP。
R3#sh crypto session
Crypto session current status
Interface: FastEthernet0/0
Session status: UP-ACTIVE
Peer: 2.2.2.10 port 500
IKE SA: local 3.3.3.10/500 remote 2.2.2.10/500 Active
IPSEC FLOW: permit 47 host 30.3.3.10 host 20.2.2.10 \“47”表明为GRE协议,如果为“IP”则是IP协议,那么才可以ping通。
Active SAs: 2, origin: crypto map
R3#
grevpn建立过程
GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。GRE采用了Tunnel(隧道)技术,是(VirtualPrivate Network)的第三层隧道协议。Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封装。一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程:1、Router A 连接Group 1 的接口收到X 协议报文后,首先交由X 协议处理2、X 协议检查报文头中的目的地址域来确定如何路由此包3、若报文的目的地址要经过Tunnel 才能到达,则设备将此报文发给相应的Tunnel 接口4、Tunnel 口收到此报文后进行GRE 封装,在封装IP 报文头后,设备根据此IP包的目的地址及路由表对报文进行转发,从相应的网络接口发送出去。GRE是对某些网络层协议(如:IP,IPX,AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。这是GRE最初的定义,最新的GRE封装规范,已经可以封装二层数据帧了,如PPP帧、MPLS等。在RFC2784中,GRE的定义是“Xover Y”,X和Y可以是任意的协议。GRE真的变成了“通用路由封装”了。GRE协议实际上是一种封装协议,它提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异(本文来自:WwW.dXf5.coM 东星 资源网:
grevpn建立过程)种网络中传输。异种报文传输的通道称为tunnel(隧道)。GRE隧道不能配置二层信息,但可以配置IP地址。GRE利用为隧道指定的实际物理接口完成转发,转发过程如下:(1) 所有发往远端VPN的原始报文,首先被发送到隧道源端原始报文在隧道源端进行GRE封装,填写隧道建立时确定的隧道源地址和目的地址,然后再通过公共IP网络转发到远端VPN网络GRE的封装过程无论是何种隧道协议,其数据包格式都是由乘客协议、封装协议和运输协议3部分组成的。例如,以GRE为例,GRE协议栈如下:图1 GRE协议栈图2:GRE的封装过程图2中的原始数据包,可以是IP报文。当然,GRE也可以封装其它的协议报文,如IPX报文、PPP、MPLS等。总结起来,GRE的封装过程如下:当报文需要经由隧道接口处理时,IP层的输出函数调用tunnel接口的输出函数进行加封装处理。加封装处理结束后,再进行IP转发。GRE隧道对端的解封装过程如下:当IP层接收到GRE报文,检查到外层IP报文头部中的协议号是47时,那么,IP层输入入口函数会根据协议开关表,直接调用GRE的解封装处理函数,对GRE解封装。解封装完成后,再将原始数据报文送入IP输入队列中,以便进行进一步的传输。