Skip to main content

EVPN报文格式

EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,通过扩展BGP协议,使用扩展后的可达性信息,使不同站点的网络间的MAC地址学习和发布过程从数据平面转移到控制平面,而且还可以传播站点内主机IP地址相关的路由信息。因此EVPN作为不同站点间网络的控制平面,既可以承载二层业务,也可以承载三层业务。

当前EVPN支持如下几种路由:

  • Ethernet Auto-Discovery route

  • MAC advertisement route

  • Inclusive Multicast Route

  • Ethernet Segment Route

  • IP Prefix Route

这些路由在网络中传输的过程中是封装在BGP扩展后的可达性信息中,所以这些路由的报文格式同BGP的BGP UPDATE报文大部分都相同,主要差别在于MP_REACH_NLRI(多协议可达网络可达信息),所以本章对于EVPN路由报文的描述仅体现MP_REACH_NLRI部分的报文信息。

Ethernet Auto-Discovery Route

Ethernet Auto-Discovery Route可以向其他PE通告本端PE对接入站点的MAC地址的可达性,即PE对连接的站点是否可达。

Ethernet Auto-Discovery Route的报文格式
   0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +---------------+---------------+---------------+---------------+
  |                                                               |
  +                     Route Distinguisher                     +
  |                                                               |
  +---------------+---------------+---------------+---------------+
  |                                                               |
  +                                                               +
  |                   Ethernet Segment Identifier                 |
  +                               +---------------+---------------+
  |                               |
  +---------------+---------------+---------------+---------------+
  |                       Ethernet Tag ID                       |
  +---------------+---------------+---------------+---------------+
  |                           MPLS Label         |
  +---------------+---------------+---------------+
Ethernet Auto-Discovery Route的报文字段说明
字段 长度 含义
Route Distinguisher 8B Ethernet Auto-Discovery Per ES路由上该字段是由PE上设置的源IP地址与分包序号组合而成,格式为X.X.X.X:Y,其中Y为0表示未分包,为其他数值表示分包的序号;Ethernet Auto-Discovery Per EVI路由上该字段为EVPN实例下设置的RD(Route Distinguisher)值。
Ethernet Segment Identifier 10B PE与某一CE的连接定义的唯一标识。
Ethernet Tag ID 4B Ethernet Auto-Discovery Per ES路由上该字段为全F;Ethernet Auto-Discovery Per EVI路由上该字段用于标识一个ES下的不同的子广播域,全0标识该EVI只有一个广播域。
MPLS Label 3B Ethernet Auto-Discovery Per ES路由上该字段为全0;Ethernet Auto-Discovery Per EVI路由上该字段为EVPN单播流量负载分担转发时使用的MPLS标签。

MAC/IP Advertisement Route

MAC/IP Advertisement Route可以用于从本端PE向其它PE发布单播MAC/IP地址的可达信息。

MAC/IP Advertisement Route可以根据携带的信息不同分为如下几种路由:

  • 纯MAC路由:如果MAC/IP Advertisement Route中仅携带了MAC地址相关信息,而未携带IP地址信息,则该路由被称为纯MAC路由。

  • ARP路由:如果MAC/IP Advertisement Route中既携带了MAC地址相关信息,又携带了IP地址信息,且仅携带有二层业务流量转发标签(MPLS Label1),则该路由被称为ARP路由。

  • IRB路由:如果MAC/IP Advertisement Route中既携带了MAC地址相关信息,又携带了IP地址信息,且同时携带有二层业务流量转发标签(MPLS Label1)和三层业务流量转发标签(MPLS Label2),则该路由被称为IRB路由。

MAC/IP Advertisement Route的报文格式
         0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
        +---------------+---------------+---------------+---------------+
        |                                                               |
        +                     Route Distinguisher                     +
        |                                                               |
        +---------------+---------------+---------------+---------------+
        |                                                               |
        +                                                               +
        |                 Ethernet Segment Identifier                 |
        +                               +---------------+---------------+
        |                               |
        +---------------+---------------+---------------+---------------+
        |                       Ethernet Tag ID                       |
        +---------------+---------------+---------------+---------------+
        | MAC Address |
        |   Length     |
        +---------------+---------------+---------------+---------------+
        |                         MAC Address                         |
        +                               +---------------+---------------+
        |                               |
        +---------------+---------------+
        |   IP Address |
        |     Length   |
        +---------------+---------------+---------------+---------------+
        |                         IP Address                           |
        +---------------+---------------+---------------+---------------+
        |                         MPLS Label1         |
        +---------------+---------------+---------------+
        |                         MPLS Label2         |
        +---------------+---------------+---------------+
字段 长度 含义
Route Distinguisher 8B 该字段可以是EVPN实例下设置的RD(Route Distinguisher)值,也可以是由PE上设置的源IP地址组合而成,例如X.X.X.X:0。
Ethernet Segment Identifier 10B Ethernet Tag ID:该字段在EVPN VPWS场景中取值为本端Service ID,在VLAN-Aware接入BD EVPN场景中取值为BD-Tag,其他场景中为全0。
Ethernet Tag ID 4B PE上实际配置的Vlan ID。
MAC Address Length 1B 向其他设备通告的MAC地址长度。
MAC Address 6B 向其他设备通告的MAC地址。
IP Address Length 1B 向其他设备通告的主机IP地址掩码长度。
IP Address 可变 向其他设备通告的主机IP地址。该字段的长度可能为0 octet、4 octets或16 octets: 0 octet:在纯MAC路由中该字段长度为0; 4 octets:非纯MAC路由,且该字段为IPv4地址,则其长度为4 octets; 16 octets:非纯MAC路由,且该字段为IPv6地址,,则其长度为16 octets。
MPLS Label1 3B 二层业务流量转发使用的标签。
MPLS Label2 可变 三层业务流量转发使用的标签。该字段的长度可能为0 octet或3 octets: 0 octet:纯MAC路由和ARP路由中该字段长度为0; 3 octets:IRB路由中该字段的长度可能为3 octets。

Inclusive Multicast Route

PE设备之间通过Inclusive Multicast Route可以建立传送多播流量的隧道。

Inclusive Multicast Route的报文格式
   0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +---------------+---------------+---------------+---------------+
  |                                                               |
  +                     Route Distinguisher                     +
  |                                                               |
  +---------------+---------------+---------------+---------------+
  |                       Ethernet Tag ID                       |
  +---------------+---------------+---------------+---------------+
  |   IP Address |
  |     Length   |
  +---------------+---------------+---------------+---------------+
  |                 Originating Router's IP Address               |
  +---------------+---------------+---------------+---------------+
字段 长度 含义
Route Distinguisher 8B 该字段可以是EVPN实例下设置的RD(Route Distinguisher)值,也可以是由PE上设置的源IP地址组合而成,例如X.X.X.X:0。
Ethernet Tag ID 4B 该字段在以太自动发现路由中为全0或全F。
IP Address Length 1B PE上配置的源地址长度。
Originating Router's IP Address 可变 PE上配置的源地址,该字段的长度可能为4 octets或16 octets: 该字段为IPv4地址,则其长度为4 octets; 该字段为IPv6地址,,则其长度为16 octets。

Ethernet Segment Route

Ethernet Segment Route用来实现连接到相同CE的PE设备之间互相自动发现。

Ethernet Segment Route的报文格式
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +---------------+---------------+---------------+---------------+
 |                                                               |
 +                     Route Distinguisher                     +
 |                                                               |
 +---------------+---------------+---------------+---------------+
 |                                                               |
 +                                                               +
 |                   Ethernet Segment Identifier                 |
 +                               +---------------+---------------+
 |                               |
 +---------------+---------------+---------------+---------------+
 |   IP Address |
 |     Length   |
 +---------------+---------------+---------------+---------------+
 |                 Originating Router's IP Address               |
 +---------------+---------------+---------------+---------------+
字段 长度 含义
Route Distinguisher 8B 该字段可以是EVPN实例下设置的RD(Route Distinguisher)值,也可以是由PE上设置的源IP地址组合而成,例如X.X.X.X:0。
Ethernet Segment Identifier 10B PE与某一CE的连接定义的唯一标识。
IP Address Length 1B PE上配置的源地址长度。
Originating Router's IP Address 可变 PE上配置的源地址,该字段的长度可能为4 octets或16 octets: 该字段为IPv4地址,则其长度为4 octets; 该字段为IPv6地址,,则其长度为16 octets。

IP Prefix Route

IP Prefix Route用于在网络中传播从接入侧网络收到的主机IP地址信息或主机IP所在的网段信息。

IP Prefix Route的报文格式
   0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +---------------+---------------+---------------+---------------+
  |                                                               |
  +                     Route Distinguisher                     +
  |                                                               |
  +---------------+---------------+---------------+---------------+
  |                                                               |
  +                                                               +
  |                   Ethernet Segment Identifier                 |
  +                               +---------------+---------------+
  |                               |
  +---------------+---------------+---------------+---------------+
  |                       Ethernet Tag ID                       |
  +---------------+---------------+---------------+---------------+
  |   IP Prefix   |
  |     Length   |
  +---------------+---------------+---------------+---------------+
  |                         IP Prefix                           |
  +---------------+---------------+---------------+---------------+
  |                       GW IP Address                         |
  +---------------+---------------+---------------+---------------+
  |                         MPLS Label                           |
  +---------------+---------------+---------------+---------------+
字段 长度 含义
Route Distinguisher 8B 该字段可以是EVPN实例下设置的RD(Route Distinguisher)值,也可以是由PE上设置的源IP地址组合而成,例如X.X.X.X:0。
Ethernet Segment Identifier 10B PE与某一CE的连接定义的唯一标识。
Ethernet Tag ID 4B PE上配置的源地址长度。
IP Prefix Length 1B IP前缀地址的掩码长度。
IP Prefix 可变 IP前缀地址,该字段的长度可能为4 octets或16 octets: 该字段为IPv4地址,则其长度为4 octets; 该字段为IPv6地址,,则其长度为16 octets。
GW IP Address 可变 该字段为默认网关地址,该字段的长度可能为4 octets或16 octets: 该字段为IPv4地址,则其长度为4 octets; 该字段为IPv6地址,,则其长度为16 octets。
MPLS Label 3B 三层业务流量转发使用的标签。

参考标准

标准 描述
RFC 7432 BGP MPLS-Based Ethernet VPN
draft-ietf-bess-evpn-prefix-advertisement-11 IP Prefix Advertisement in EVPN