GRE详解.docx

上传人:b****3 文档编号:4222134 上传时间:2022-11-28 格式:DOCX 页数:9 大小:152.58KB
下载 相关 举报
GRE详解.docx_第1页
第1页 / 共9页
GRE详解.docx_第2页
第2页 / 共9页
GRE详解.docx_第3页
第3页 / 共9页
GRE详解.docx_第4页
第4页 / 共9页
GRE详解.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

GRE详解.docx

《GRE详解.docx》由会员分享,可在线阅读,更多相关《GRE详解.docx(9页珍藏版)》请在冰豆网上搜索。

GRE详解.docx

GRE详解

GRE(GenericRoutingEncapsulation)

GRE是一种最传统的隧道协议,其根本功能就是要实现隧道功能,通过隧道连接的两个远程网络就如同直连,GRE在两个远程网络之间模拟出直连链路,从而使网络间达到直连的效果,为此,GRE需要完成多次封装,总共有3次,换句话说,就是在GRE隧道中传输的数据包都有3个爆头,因为只谈IP协议,所以GRE中的IP数据包是一层套一层,总共有3个IP地址,GRE在实现隧道时,需要创建虚拟直连链路,GRE实现的虚拟链路可以认为是隧道,隧道是模拟链路,所以隧道两端也有IP地址,但隧道需要在公网中找到起点和重点,所以隧道的源和终点分别都以公网IP地址结尾,该链路是通过GRE协议来完成的,隧道传递数据包的过程分为3步:

1、接收原始IP数据包当作乘客协议,原始数据包包头的IP地址为私有IP地址。

2、将原始IP数据包封装进GRE协议,GRE协议成为封装协议(EncapsulationProtocol),封装的包头IP地址为虚拟直连链路两端的IP地址。

3、将整个GRE数据包当作数据,在外层封装公网的IP包头,也就是隧道的起源和终点,从而路由到隧道终点。

GRE隧道中传输的数据包格式如下:

注:

    1、其中公网IP包头部分也成为传输协议(TransportProtocol)

2、GRE会在原始IP数据包之外,额外多封装24个字节或28个字节,具体视GRE模式而定。

下图为GRE传输数据过程:

    GRE要在远程路由器之间创建虚拟直连链路,也就是隧道(Tunnel),如果没有该隧道,GRE不能完成隧道功能,隧道是GRE最基本的功能,也是GRE所有功能;上图环境中,当上海分公司R2将数据包IP地址封装为192.168.1.4发往武汉时,GRE操作过程如下:

1、假设R1与R3的GRE虚拟直连链路(隧道)已经简历,隧道链路两端的地址分别为1.1.1.1和1.1.1.2,隧道两端的起源和终点分别为202.1.1.1和61.1.1.1.

2、R1收到目标IP为192.168.1.4的数据包后,将原始数据包当作乘客数据包封装进GRE协议中,并且添加GRE包头,包头中源IP为隧道本端地址1.1.1.1,包头中目标IP为隧道对端地址1.1.1.2,从而完成GRE数据包的分装。

3、在封装了GRE隧道地址的数据包外面分装GRE隧道起源IP地址,该IP地址为公网地址,即源IP为100.1.1.1,目标IP为隧道终点200.1.1.1,最后将数据包发出去。

    数据包被发送到internet之后,所有路由器只根据数据包最外面的公网IP进行转发,也就是只根据公网IP地址61.1.1.1来转发,直到数据包到达公网IP的真正目的地后,即到达R3(IP:

61.1.1.1)之后,公网IP包头才会被剥开,当R3剥开数据包的公网IP包头后,发现GRE包头,发现目标IP地址为1.1.1.2,从而得知自己就是GRE隧道的终点,所以继续将GRE包头剥开,最后发现目标IP地址为192.168.1.4,然后将数据包发往192.168.1.4(路由器R4)。

通过以上GRE过程,上海分公司R2直接通过私有IP地址192.168.1.4,最终成功与武汉分公司R4通信。

    配置GRE

    在远程路由器之间配置GRE,总共分为三步:

1、创建虚拟链路(隧道)接口,号码任意,两端不可相同。

2、配置虚拟链路(隧道)接口地址,该地址是在GRE包头中被封装的地址。

3、定义虚拟链路(隧道)的源和目的,因为数据包最终要在公网中传递,所以该地址就是在公网中指导路由器转发数据包的可路由公网IP,也是建立隧道两端路由器的真实公网IP。

注:

1、GRETunnel只支持路由器,不支持集中器和PIX以及ASA。

2、GRE支持的协议有IP,Decnet,IPX,Appletalk。

3、GRE可分为Point-to-PointGRE和MultipointGRE(mGRE)两种。

4、Point-to-PointGRE只能在两台路由器之间建立。

5、MultipointGRE(mGRE)也可以在两台以上的路由器之间建立。

6、Point-to-PointGRE支持IP单播,组播,以及IGP动态路由协议和非IP协议。

7、MultipointGRE(mGRE)只支持单播,组播以及动态IGP路由协议,不支持非IP协议。

    GRE隧道接口没有OSI一层协议做检测,只要本地源地址有效,并且隧道终点地址有路由可达,那么GRE隧道接口就会UP,而无论隧道对端是否已经配置隧道接口,如果GRE隧道的接口状态为down,只要达到如下3中情况任意一个即可:

1、没有向往隧道终点地址的路由。

2、去往隧道终点地址的路由指向了隧道接口自己。

3、隧道起源地址的接口状态为down。

以下面的图为例,配置GRE:

说明:

图中Internet使用路由器R2来模拟!

配置R1:

Router>en

Router#conft

Router(config)#noipdolo

Router(config)#lincon0

Router(config-line)#noexec-t

Router(config-line)#loggs

Router(config-line)#exit

Router(config)#hoCHENYI-R1

CHENYI-R1(config)#intf0/0

CHENYI-R1(config-if)#ipadd10.1.1.1255.255.255.0

CHENYI-R1(config-if)#nosh

CHENYI-R1(config-if)#intf1/0

CHENYI-R1(config-if)#ipadd202.1.1.1255.255.255.0

CHENYI-R1(config-if)#nosh

CHENYI-R1(config-if)#iproute0.0.0.00.0.0.0202.1.1.10

    说明:

配置R1的接口地址,并写默认路由指向Internet(路由器R2),地址为202.1.1.10。

配置R3:

Router>en

Router#conft

Router(config)#noipdolo

Router(config)#lincon0

Router(config-line)#noexec-t

Router(config-line)#loggs

Router(config-line)#exit

Router(config)#hoCHENYI-R3

CHENYI-R3(config)#intf0/0

CHENYI-R3(config-if)#ipadd61.1.1.1255.255.255.0

CHENYI-R3(config-if)#nosh

CHENYI-R3(config-if)#intf1/0

CHENYI-R3(config-if)#ipadd192.168.1.3255.255.255.0

CHENYI-R3(config-if)#nosh

CHENYI-R3(config-if)#iproute0.0.0.00.0.0.061.1.1.10

配置R2

Router>en

Router#conft

Router(config)#noipdolo

Router(config)#lincon0

Router(config-line)#noexec-t

Router(config-line)#loggs

Router(config-line)#exit

Router(config)#HOCHENYI-R2

CHENYI-R2(config)#intf0/0

CHENYI-R2(config-if)#ipadd202.1.1.10255.255.255.0

CHENYI-R2(config-if)#nosh

CHENYI-R2(config-if)#ipadd61.1.1.10255.255.255.0

CHENYI-R2(config-if)#nosh

配置GRE

CHENYI-R1(config)#interfacetunnel1

CHENYI-R1(config-if)#ipadd1.1.1.1255.255.255.0

CHENYI-R1(config-if)#tunnelsource202.1.1.1

CHENYI-R1(config-if)#tunneldestination61.1.1.1

查看R1上GRE的状态

CHENYI-R1(config)#doshinttunnel1

Tunnel1isup,lineprotocolisup

HardwareisTunnel

Internetaddressis1.1.1.1/24

MTU1514bytes,BW9Kbit,DLY500000usec,

reliability255/255,txload1/255,rxload1/255

EncapsulationTUNNEL,loopbacknotset

Keepalivenotset

Tunnelsource202.1.1.1,destination61.1.1.1

Tunnelprotocol/transportGRE/IP

Keydisabled,sequencingdisabled

Checksummingofpacketsdisabled

TunnelTTL255

Fasttunnelingenabled

Tunneltransmitbandwidth8000(kbps)

Tunnelreceivebandwidth8000(kbps)

Lastinputnever,outputnever,outputhangnever

Lastclearingof"showinterface"countersnever

Inputqueue:

0/75/0/0(size/max/drops/flushes);Totaloutputdrops:

0

Queueingstrategy:

fifo

Outputqueue:

0/0(size/max)

5minuteinputrate0bits/sec,0packets/sec

5minuteoutputrate0bits/sec,0packets/sec

0packetsinput,0bytes,0nobuffer

Received0broadcasts,0runts,0giants,0throttles

0inputerrors,0CRC,0frame,0overrun,0ignored,0abort

0packetsoutput,0bytes,0underruns

0outputerrors,0collisions,0interfaceresets

0outputbufferfailures,0outputbuffersswappedout

说明:

可以看出,在R1创建GRE隧道之后,隧道接口状态便已经up,这是因为默认情况下,GRE隧道接口没有OSI一层协议做检测,只要本端源地址有效,并且隧道终点地址有路由可达,那么GRE隧道接口就会up,而无论隧道对端是否已经配置隧道接口。

在武汉公司的路由器R3上配置连接到上海分公司路由器R1的GRE隧道:

CHENYI-R3(config)#inttunnel3

CHENYI-R3(config-if)#ipadd1.1.1.2255.255.255.0

CHENYI-R3(config-if)#tunnelsource61.1.1.1

CHENYI-R3(config-if)#tundest202.1.1.1

CHENYI-R3(config-if)#exit

说明:

在R3上创建GRE虚拟链路(隧道)接口,号码为3,两端号码可不相同,隧道接口地址为1.1.1.2/24,隧道的起源为61.1.1.1.隧道的终点为202.1.1.1。

CHENYI-R3(config-if)#doshinttun3

Tunnel3isup,lineprotocolisup

HardwareisTunnel

Internetaddressis1.1.1.2/24

MTU1514bytes,BW9Kbit,DLY500000usec,

reliability255/255,txload1/255,rxload1/255

EncapsulationTUNNEL,loopbacknotset

Keepalivenotset

Tunnelsource61.1.1.1,destination202.1.1.1

Tunnelprotocol/transportGRE/IP

Keydisabled,sequencingdisabled

Checksummingofpacketsdisabled

TunnelTTL255

Fasttunnelingenabled

Tunneltransmitbandwidth8000(kbps)

Tunnelreceivebandwidth8000(kbps)

Lastinputnever,outputnever,outputhangnever

Lastclearingof"showinterface"countersnever

Inputqueue:

0/75/0/0(size/max/drops/flushes);Totaloutputdrops:

0

Queueingstrategy:

fifo

Outputqueue:

0/0(size/max)

5minuteinputrate0bits/sec,0packets/sec

5minuteoutputrate0bits/sec,0packets/sec

0packetsinput,0bytes,0nobuffer

Received0broadcasts,0runts,0giants,0throttles

0inputerrors,0CRC,0frame,0overrun,0ignored,0abort

0packetsoutput,0bytes,0underruns

0outputerrors,0collisions,0interfaceresets

0outputbufferfailures,0outputbuffersswappedout

说明:

R3上的GRE隧道状态也已经up。

此时可以测试GRE隧道了。

使用R1pingR3那么是没有问题的

    但是ping上海分公司R1直接使用私有地址192.168.1.4到上海分公司R3的连通性是不通的。

    因为北京分公司的路由器R1在收到去往192.168.1.4后,因为默认路由从真实接口F1/0出去,结果数据包被发到Internet中的路由器R2,由于Internet路由器R2只有公网路由,没有用户的私有网段,所以武汉分公司R1直接使用私有地址192.168.1.4上海分公司R4无法通信。

要解决此问题,必须让流量从GRE隧道中传输。

在创建GRE隧道的路由器双方将去往对方私有网段的数据包引入GRE隧道中传输。

R1:

CHENYI-R1(config)#iproute192.168.1.0255.255.255.0tunnel1

R3:

CHENYI-R3(config-if)#iproute10.1.1.0255.255.255.0tunnel3

此时测试武汉分公司PC直接使用私有地址192.168.1.4到上海分公司PC的连通性:

本文出自“IT辰逸”博客,请务必保留此出处

 

THANKS!

!

!

 

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1