• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

04-网络互通配置指导

目录

17-EoGRE配置

本章节下载 17-EoGRE配置  (280.39 KB)

17-EoGRE配置


 

 


1 EoGRE

1.1  EoGRE简介

EoGRE(Ethernet over GRE,通用路由封装传输以太网报文)协议用来对以太网数据报文进行封装,使这些被封装的数据报文能够在IP网络中传输。封装后的数据报文在网络中传输的路径,称为EoGRE隧道。EoGRE隧道是一个虚拟的点到点的连接,其两端的设备分别对数据报文进行封装及解封装。

EoGRE隧道的模式分为EoGRE隧道模式和UDP封装的EoGRE隧道模式。若二层以太网报文跨三层网络转发且穿越NAT,EoGRE隧道需设置为UDP封装的EoGRE隧道模式,若不穿越NAT,EoGRE隧道需设置为EoGRE隧道模式。

1.1.1  EoGRE隧道模式封装后的报文格式

图1-1所示,EoGRE隧道模式封装后的报文包括如下几个部分:

·     以太网报文:需要封装和传输的以太数据报文。

·     GRE头(GRE header):采用GRE协议对以太数据进行封装所添加的报文头,包括协议类型和扩展标志等内容。添加GRE头后的报文称为EoGRE报文。对以太数据进行封装的GRE协议,称为封装协议(Encapsulation Protocol)。

·     传输协议报文头(Delivery header):在EoGRE报文上添加的报文头,以便传输协议对EoGRE报文进行转发处理。传输协议(Delivery Protocol或者Transport Protocol)是指负责转发EoGRE报文的网络层协议。设备支持IPv4传输协议,EoGRE隧道称为EoGRE over IPv4隧道。

图1-1 EoGRE封装后的报文格式

1.1.2  UDP封装的EoGRE隧道模式封装后的报文格式

图1-2所示,UDP封装的EoGRE隧道模式封装后的报文包括如下几个部分:

·     以太网报文:需要封装和传输的以太数据报文。

·     GRE头(GRE header):采用GRE协议对以太数据进行封装所添加的报文头,包括协议类型,扩展标志以及扩展头等内容。如果扩展标志为1,携带扩展头;如果扩展标志为0,不携带扩展头。扩展头包括Network Policy ID和AP MAC,AP MAC可以是本设备桥MAC或者本设备BSSID。添加GRE头后的报文称为EoGRE 报文。对以太数据进行封装的GRE协议,称为封装协议(Encapsulation Protocol)。

·     UDP头(UDP header):在GRE报文上添加的UDP报文头,包括源端口和目的端口号等内容,源端口为4754,目的端口缺省为4754,目的端口可根据需要配置。添加UDP头后的报文称为UDP报文。对GRE报文进行封装的UDP协议,称为封装协议(Encapsulation Protocol)。

·     传输协议报文头(Delivery header):在UDP报文上添加的报文头,以便传输协议对UDP报文进行转发处理。传输协议(Delivery Protocol或者Transport Protocol)是指负责转发UDP报文的网络层协议。设备支持IPv4传输协议,EoGRE隧道称为UDP封装的EoGRE over IPv4隧道。

图1-2 EoGRE封装后的报文格式

 

1.1.3  EoGRE隧道原理

下面以图1-3图1-4的网络为例说明以太网报文通过EoGRE隧道穿越IPv4网络进行传输的过程。

(1)     Device A从连接Network 1的接口收到以太网报文后,首先查找二层MAC地址表判定此报文需要通过Interface A发送,然后根据Interface A查找映射的EoGRE模式的隧道口(本例中为Tunnel0),并将报文发给Tunnel接口处理。

(2)     EoGRE隧道模式的Tunnel接口收到此以太网报文后,先在报文前封装上GRE头,如果是UDP封装的EoGRE隧道,再封装上UDP头,然后再封装上IPv4头。IPv4头中的源地址为隧道的源端地址(本例中为Device A的Interface A接口的IP地址),目的地址为隧道的目的端地址(本例中为Device B的Interface B接口的IP地址)。

(3)     Device A根据封装的IPv4头中的目的地址查找路由表,将封装后的IPv4报文通过EoGRE隧道的实际物理接口(Interface A)转发出去。

(4)     封装后的IPv4报文通过EoGRE隧道到达目的端设备Device B后,由于报文的目的地址是本设备,且IPv4头中的协议号为6558(表示封装的报文为二层报文),Device B将此报文交给EoGRE协议进行解封装处理。

(5)     对于UDP封装的EoGRE隧道,EoGRE协议依次剥离掉此报文的IPv4头、UDP头、GRE头后,将报文交给二层转发模块转发进行后续的处理;对于GRE封装的EoGRE隧道,EoGRE协议依次剥离掉此报文的IPv4头、GRE头后,将报文交给MAC转发进行后续的处理。

图1-3 以太网报文通过EoGRE隧道互连

图1-4 以太网报文通过UDP封装的EoGRE隧道互连

1.1.4  EoGRE应用场景

以太网需要实现二层以太网报文跨三层网络互通时,可以通过配置EoGRE隧道来实现。如图1-5所示,Network 1和Network 2是运行以太网协议的网络。在Device A和Device B之间建立EoGRE隧道,可以使Network 1和Network 2的二层以太网报文通过骨干网互不影响地进行通信,实现两地互通。

图1-5 EoGRE应用场景

1.1.5  协议规范

与EoGRE相关的协议规范有:

·     RFC 1701:Generic Routing Encapsulation (GRE)

·     RFC 1702:Generic Routing Encapsulation over IPv4 networks

·     RFC 2784:Generic Routing Encapsulation (GRE)

1.2  EoGRE与硬件适配关系

本功能的支持情况与设备型号有关,请以设备的实际情况为准。

系列

型号

说明

WA7200系列

WA7220

WA7220-HI

WA7220H

WA7226-C

WA7230

WA7230-LI

不支持

WA7300系列

WA7320i

WA7322H-HI

WA7330X

WA7338-HI

不支持

WA7500系列

WA7538

WA7539

支持

WA7600系列

WA7638

不支持

 

1.3  EoGRE配置限制和指导

·     EoGRE收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使用EoGRE后设备的数据转发效率有一定程度的下降。

·     隧道两端必须都配置隧道的源端地址和目的端地址,且本端配置的源端地址(目的端地址)应该与对端配置的目的端地址(源端地址)相同。

·     在同一台设备上,相同隧道模式的Tunnel接口建议不要同时配置完全相同的源端地址和目的端地址。

1.4  配置EoGRE over IPv4隧道‌

1. 配置二层虚拟以太网接口

(1)     进入系统视图。

system-view

(2)     创建二层虚拟以太网接口,并进入该接口视图。

interface ve-bridge number

(3)     配置端口的链路类型为Trunk类型。

port link-type trunk

(4)     允许指定的VLAN通过当前Trunk端口。

port trunk permit vlan vlan-id-list

2. 配置EoGRE隧道

(1)     进入系统视图。

system-view

(2)     创建模式为EoGRE over IPv4隧道的Tunnel接口,并进入该Tunnel接口视图。

interface tunnel number mode { eogre }

在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败。

(3)     (可选)根据以太网协议,设置Tunnel接口的IP地址。

IPv4地址的配置方法,请参见“网络互通配置指导”中的“IP地址”。

缺省情况下,Tunnel接口上未设置IP地址。

(4)     设置隧道的源端地址或源接口。

source { ip-address | interface-type interface-number }

缺省情况下,未设置隧道的源端地址和源接口。

如果设置的是隧道的源端地址,则该地址将作为封装后隧道报文的源IPv4地址;如果设置的是隧道的源接口,则该接口的主IP地址将作为封装后隧道报文的源IPv4地址。

(5)     设置隧道的目的端地址。

destination ip-address

缺省情况下,未设置隧道的目的端地址。

隧道的目的端地址是对端从EoGRE隧道上接收报文的实际物理接口的地址,该地址将作为封装后隧道报文的目的IPv4地址。该地址不能与Tunnel接口的地址在同一网段。

(6)     创建EoGRE隧道接口与二层虚拟以太网接口的映射。

map bridge ve-bridge number

缺省情况下,未配置EoGRE隧道接口与二层虚拟以太网接口的映射。

(7)     (可选)配置EoGRE报文的目的UDP端口号。

eogre udp-port port-value

缺省情况下,EoGRE报文的目的UDP端口号为4754。

(8)     (可选)配置EoGRE报文携带的GRE扩展字段。

eogre carry network-policy-id id-value mac-address { bridge | bssid }

缺省情况下,未配置EoGRE报文携带的GRE扩展字段。

(9)     (可选)开启EoGRE的keepalive功能,并配置keepalive报文发送周期及最大发送次数。

keepalive [ interval [ times ] ]

缺省情况下,EoGRE的keepalive功能处于关闭状态。此功能依赖于NAQ进行探测,配置此功能前,请保证设备开启了NQA客户端功能。

(10)     (可选)设置封装后隧道报文的ToS(Type of Service,服务类型)值。

tunnel tos tos-value

缺省情况下,封装后隧道报文的ToS值为0。

(11)     (可选)设置Tunnel接口的MTU(Maximum Transmission Unit,最大传输单元)值。

mtu size

缺省情况下,隧道接口的状态始终为Down时,隧道的MTU值为64000字节;隧道接口的状态当前为Up时,隧道的MTU值为根据隧道目的地址查找路由而得到的出接口的MTU值减隧道封装报文头长度。

1.5  EoGRE显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后EoGRE的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除Tunnel接口的统计信息。

表1-1 EoGRE显示和维护

操作

命令

显示Tunnel接口的相关信息(本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”)

display interface [ tunnel [ number ] ] [ brief [ description | down ] ]

清除Tunnel接口的统计信息(本命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”)

reset counters interface [ tunnel [ number ] ]

 

1.6  EoGRE配置举例‌

1.6.1  EoGRE over IPv4隧道配置举例

1. 组网需求

AP和Device分别连接Network1和Network2。通过在AP和Device之间建立EoGRE over IPv4隧道,实现两个二层局域网络的互联。

2. 组网图

图1-6 EoGRE over IPv4隧道应用组网图

 

3. 配置准备

在开始下面的配置之前,确保设备各接口的地址都已配置完毕,并且AP和Device之间路由可达。

4. 配置步骤

(1)     配置AP

# 创建二层虚拟以太网接口。

<AP> system-view

[AP] interface ve-bridge 1/0/2

[AP-VE-Bridge1/0/2] quit

# 创建Tunnel0接口,并指定隧道模式为EoGRE over IPv4隧道。

[AP] interface tunnel 0 mode eogre

# 配置Tunnel0接口的源端地址。(AP的GE1/0/2的IP地址)

[AP-Tunnel0] source 1.1.1.1

# 配置Tunnel0接口的目的端地址(Device的GE1/0/2的IP地址)。

[AP-Tunnel0] destination 2.2.2.2

# 配置Tunnel0接口与VE-Bridge1/0/2接口的映射。

[AP-Tunnel0] map bridge ve-bridge 1/0/2

[AP-Tunnel0] quit

(2)     配置Device

# 创建二层虚拟以太网接口。

<Device> system-view

[Device] interface ve-bridge 1/0/2

[Device-VE-Bridge1/0/2] quit

# 创建Tunnel0接口,并指定隧道模式为EoGRE over IPv4隧道。

[Device] interface tunnel 0 mode eogre

# 配置Tunnel0接口的源端地址(Device的GE1/0/2的IP地址)。

[Device-Tunnel0] source 2.2.2.2

# 配置Tunnel0接口的目的端地址(AP的GE1/0/2的IP地址)。

[Device-Tunnel0] destination 1.1.1.1

# 配置Tunnel0接口与VE-Bridge1/0/2接口的映射。

[Device-Tunnel0] map bridge ve-bridge 1/0/2

[Device-Tunnel0] quit

5. 验证配置

# 查看AP的Tunnel接口状态。

[AC] display interface tunnel 0

Tunnel0

Current state: UP

Line protocol state: UP

Description: Tunnel0 Interface

Bandwidth: 64kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel keepalive disabled

Tunnel TTL 255

Tunnel protocol/transport EoGRE/IP

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Device的Tunnel接口状态。

[Device] display interface tunnel 0

Tunnel0

Current state: UP

Line protocol state: UP

Description: Tunnel0 Interface

Bandwidth: 64kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel keepalive disabled

Tunnel TTL 255

Tunnel protocol/transport EoGRE/IP

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

之后,从Network1可以Ping通Network2。

1.7  EoGRE常见故障处理

1.7.1  EoGRE隧道两端连接的主机之间无法ping通

EoGRE的配置相对比较简单,但要注意配置的一致性,大部分的错误都可以使用调试命令debugging gredebugging tunnel定位。这里仅就一种错误进行分析。

1. 故障现象

图1-7所示,Tunnel两端接口配置正确且Tunnel两端可以ping通,但Network1和Network2上的接口之间却无法ping通。

图1-7 EoGRE排错示例

 

2. 故障分析

出现该故障的原因可能是Device A或Device C上没有到达对端网络的路由。

3. 故障排除

在Device A和Device C分别执行display ip routing-table命令,观察Device A的Tunnel0接口到Device C的Tunnel0接口是否路由可达。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们