0


BGP 属性详解 | 公认必遵属性 | 公认任意属性 | 安全特性

BGP 状态机

idle

idle 是 BGP 连接的第一个状态,相当于 OSPF 的 “down"

处于 idle 状态的原因如下:

  1. 没有去往邻居地址的路由,无法发起 TCP 三次握手、也无法完成 TCP 的三次握手;
  2. 邻居发起的 TCP 握手,被本端拒绝,拒绝的原因是邻居发起 TCP 报文的源地址,不是本端指定的邻居地址

Connect

在 Connect 状态,BGP 发起第一个 TCP 连接,如果连接重试计时器 (Connect - Retry)超时,就重新发起 TCP 连接,并继续保持在 Connect 状态,如果 TCP 连接成功,就转入 OpenSent 状态,如果 TCP 连接失败,就转入 Active 状态。

处于 Connect 的原因如下:

  1. 当发起 TCP 连接路电器,无法收到邻居 TCP 回应报文时,就会卡在 conect 状态,井且 5 秒后重传一次 TCP 连接请求,再等待 32 秒左右,重新再次发起 TCP 连接请求,通常是由于发起端存在邻居地址的路由,并能主动发送 TCP3 次握手,但无法从邻居接收第二次握手的报文;
  2. 通常是由于邻居缺乏到对端的路由(即无法回包),或者是应答报文中途被丢弃。

Active

当发送 TCP 连接的路由器,能收到相应邻居的应答报文,代表两台台路由器能正常交互报文,但是依然无法建立起 TCP 的三次握手,将会进入到 Active。
处于 Active 的原因如下

  1. 邻居之间地址可达,但建立 BGP 邻居的源目地址不匹配导致;
  2. 本端主动发起 TCP 连接的源地址和对端指定的邻居地址不匹配,导致本端处于 active,对端处于 idle 状态。

比如双方计划使用 Loopback 0 接口建立 BGP 邻居,但有一方没有配置

peer x.x.x.x connect-interface loopback 0

导致本地 peer x.x.x.x 和 对端 peer y.y.y.y 指定的地址不匹配。

Establish

邻居建立成功。

BGP 邻居关系无法建立的原因

  1. 底层 IGP 网络不通;
  2. 接口是否调用了 ACL 过滤了 TCP 的 179 端口;
  3. 邻居的 Router ID 冲突;
  4. 配置的邻居的 AS 号错误;
  5. 用 Loopback 建立邻居时没有配置 peer connect-interface;
  6. 用 Loopback 口建立 EBGP 邻居时未配置 peer ebgp-mex-hop;
  7. peer valid-t-hops 配置错误;
  8. 对端发送的路由数量是否超过 peer route-limit 命令设定的值;
  9. 对端闻置了 peer ignore;
  10. 两端的地址族不匹配。

BGP 公认必遵属性

BGP 公认必遵属性共有三个,分别是:Next-hop、Origin、As-path

一、Next-hop

华为 BGP 路由下一跳特点:

  1. 默认情况下传给 EBGP 邻居的 BGP 路由的下一跳设置为自身向这个 EBGP 邻居发送 BGP 报文的源地址;
  2. 默认情况下从 EBGP 邻居得到的 BGP 路由再传给 IBGP 邻居时,此 BGP 路由的下一跳默认不变
  3. 默认情况下凡是自身起源的 BGP 路由在传给任何 BGP 邻居时,总是把此路由的下一跳设置为向 BGP 邻居发送 BGP 报文的源地址

在 IBGP、EBGP 邻居之间的 import 或者 export 方向都可以对 BGP 下一跳做修改,但要保证修改后的下一跳路由可达,修改方式如下:

route-policy test permit node 10apply ip-address next-hop x.x.x.x [此处 x 为修改的下一跳地址]

bgp 100
    peer x.x.x.x route-policy test export/import[此处 x 为邻居地址]

二、Origin

Origin 属性用来定义路径信息的来源,只要不被修改,该属性就不会自己改变,如何描述该路由是怎么成为 BGP 路由的?
Origin 一共有三种类型,分别是i (IGP) 、?(Incomplete)、e(EGP)

  1. “i”:通过network方式生成的 BGP 路由;
  2. “?”:将其他协议的路由通过import-route生成的 BGP 路由;
  3. “e”:从EGP 协议中引入到 BGP 协议中的路由,EGP 协议是 BGP 的前身,目前已经淘汰
Origin 属性优先级为:**i > e > ?**,可用作路径优选。

修改 Origin 属性的方法:

  1. 自身产生BGP 路由时做 origin 的修改;
  2. 发送给 BGP 邻居的路由做 origin 的修改;
  3. 从 BGP 邻居接收到的 BGP 路由做修改。

可通过路由属性进行修改,可参考以下配置:

ip ip-prefix 1 index 10 permit 192.168.1.0 24

假设 192.168.1.0/24 该路由是通过 import 方式生成的 BGP 路由

#
route-policy test permit node10
    if-match ip-prefix 1
    apply origin igp
#
bgp 100
    peer x.x.x.x route-policy test export/import  

三、AS-path

AS-Path 用于记录路由器在网络传输路径中所经过的 AS 编号的列表,例如,如果存在 AS 1、AS 2 和 AS 3 三个区域,且 AS 1 有一条路由需要传递到 AS 3,那么这条路由在传递的过程中,其 AS-path 会依次记录下 AS2、AS1 的区域号。

AS-path 的防环机制:

1、当 BGP 路由传递给 EBGP 邻居时,会将自身的的 AS 号添加到 AS-path 属性的前面

2、当从 EBG 邻居收到路由时,对 AS-path 属性做检测,如果 AS-path 中存在自号的 AS 号, 则丢弃该路由;

3、IBGP 邻居之同不做 AS-path 属性的检测。

AS-path 选路规则:

经过的 AS-path越少,路径越优

AS-path 属性修改:

  1. apply as-path none overwrite,清空 AS-PATH 属性对发送和接收的 BGP 路由
  2. apply as-path 100 200 additive,对发送 / 接收的 BGP 路由添加 AS-PATH 属性。
  3. apply as-path 100 200 overwrite,对发送 / 接收的 BGP 路由的 AS-PATH 做替换。
route-policy test permit node 10applyas-path none overwrite 

BGP 公认任意属性

BGP 公认任意属性有两个,分别是:Local-preferenceMED

一、Local-preference

特点

  1. 公认任意; 2.只传递给 IBGP 邻居,即在 AS 内部 / 联盟内部传递;
  2. 可以在 EBGP 邻居传来的路由做 Local-preference 修改,也可以在 IBGP 邻居之间接收和发送路由时修改;
  3. 默认值 100,值越大路由越优
  4. 当本 AS 有多个出口时,可以使用该属性选择一个出口访问外部网络。

修改方式

1.IBGP 邻居之间在 in 或者 out 方向都可以对 Local-preference 属性做修改;
2.EBGP 邻居之间只能在 in 方向上对 Local-preference 属性的修改。

缺省情况

  1. 缺省情况下从所有 EBGP 邻居收到的路径属性中不包含 Local-preference,缺省认为也是 100,但在 BGP 表中显示为
  2. 缺省情况下本地起源的路由也不包含 Local-preference,缺省认为也是 100,BGP 表显示为

default local-preference 命令的作用

  1. 修改本地起源的 bgp 路由的默认值,但在 BGP 表中显示为空,在将此路由传递给 IBGP 邻居时 local-preference 的值根据此命令设置;
  2. 默认情况下 local-preference 属性不传递给 EBGP 邻居,此命令对从 EBGP 邻居接收到的路由设置一个 local-preference 值,本地 BGP 表中显示为空,并传递给其他的 IBGP 邻居;
  3. 对本地起源路由,从 EBGP 传递来的路由,手动汇总的路由生效;
  4. route-policy 命令优先级高于 default local-preference

二、MED

特点

  1. MED (多出口鉴别器),也称为 BGP COST,BGP 度量值
  2. 直连路由 / 静态路由的 MED 默认值是 0,如果是 IGP 路由则默认值为 IGP cost,越小越优(将 IGP 路由引入到 BGP 时,med 属性继承 IGP 的 cost 值)。

传递规则

1.始发路由器产生的路由 MED 值传递给所有邻居
2. 从 EBGP 邻居收到的 MED 值只传给 IBGP 邻居不会传递给 EBGP 邻居
3. 从 IBGP 邻居或者从 EBGP 邻居得到的 MED 值不传给 EBGP 邻居。

default med

华为 default med 对所有 import 的路由以及汇总路由生效,发送此路由给 EBGP 邻居时生效,发送给 IBGP 邻居network 命令产生的路由邻居传来的路由不生效,Local-preference 显示原始 MED 值。

例如:如果使用了

default med 900

import-route xx med 800

则本地 med 为 800,传给 EBGP 邻居是 900,传给 IBGP 邻居是 800

选路规则

  1. 默认情况下,如果 AS-PATH 最左边的 AS 号相同时,会进行 MED 值的比较,EBGP 都是默认开启此选路规则;
  2. MED 属性默认只对来自于同一个 AS 的路由进行比较,即下一跳AS 号相同才比较 MED 属性。使用 compare-different-as-med 命令后,将不做 AS 号检测,进行 MED 值比较,此命令对 EBGP 邻居有效,只要前五条选路规则相同,始终比较这些 路由的 MED 属性。
  • BGP 的路由优选原则BGP 路由器将路由通告给邻居后,每个 BGP 邻居都会进行路由优选,路由选择有三种情况: 该路由是到达目的地的唯一路由,直接优选。 对到达同一目的地的多条路由,优选优先级最高的。 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。
  • 一般来说,BGP 计算路由优先级的规则如下:1、丢弃下一跳不可达的路由 2、优选 Preference_Value 值最高的路由(私有属性,仅本地有效) 3、优选本地优先级(Local_Preference)最高的路由 4、优选手动聚合 > 自动聚合 > network>import > 从对等体学到的 5、优选 AS_Path 短的路由 6、起源类型 IGP>EGP>Incomplete 7、对于来自同一 AS 的路由,优选 MED 值小的 8、优选从 EBGP 学来的路由(EBGP>IBGP) 9、优选 AS 内部 IGP 的 Metric 最小的路由 10、优选 Cluster_List 最短的路由 11、优选 Orginator_ID 最小的路由 12、优选 Router_ID 最小的路由器发布的路由 13、优选具有较小 IP 地址的邻居学来的路由

使用场景

当管理员希望控制邻居 AS如何选择某条链路访问本 AS 时使用。

BGP 安全特性详解

一、MD5 认证

1、BGP 认证只支持 MD5 认证,没有明文认证;
2、BGP 报文中没有设计认证字段,认证信息是存放到TCP 报文中的 option 字段携带。

配置命令:

peer x.x.x.x password cipher xxxx

二、GTSM

GTSM(通用 TTL 安全保护机制,Generalized TTL Security Mechanism)是一种基于 TTL 的安全保护机制。GTSM 通过检查 IP 报文头中的 TTL(Time To Live)值是否在预先定义的范围来确认报文合法性,丢弃非法报文,保护建立在 TCP/IP 基础上的控制层面协议免受 CPU 过载攻击。

  • 目的 攻击者模拟真实的路由协议,对一台设备不断发送报文。设备如果无法判断报文的合法性,会因为持续处理攻击报文而异常繁忙,造成 CPU 过载。 针对这种情况,需要有一种方法来判断报文的合法性。GTSM 就是其中的一种方法,判断依据为报文头中的 TTL 值。 TTL 的主要作用是避免 IP 报文在网络中被无限循环收发。TTL 的最大值为 255,每经过一跳设备 TTL 值减 1。而根据网络的规模和结构,使用路由协议的邻居设备之间报文中转的跳数是有一定范围的,设备之间接收到的报文中的 TTL 值也就应该在一定的范围内。 因此,根据网络情况,可以使用 GTSM 来预先定义邻居设备之间 TTL 值的范围,检查报文 TTL 值的合理性,判断报文的合法性,过滤非法的攻击报文。
  • 原理 所有设备之间建立 IGP 连接。 DeviceA 和 DeviceB 之间建立 BGP 连接。 攻击者从 Internet 远端接入,模拟 BGP 协议,对 DeviceA 或 DeviceB 不断发送报文。 DeviceA 和 DeviceB 之间进行 BGP 对等体协商时,可以选择 3 条路径进行转发,报文经过的中间设备跳数(包含到达设备的最后 1 跳)可能为 3 跳、5 跳、6 跳,即最多 6 跳。 使用 GTSM 来预先定义 TTL 值的范围为 [255-6+1,255],即 [ 250,255 ]。TTL 值不在此范围内的远端 BGP 攻击报文被认定为非法报文,直接丢弃。

GTSM,有效防止基于 TCP 的源地址伪造攻击,保护设备不被 CPU 类型的攻击从面避免 CPU 负载过大。

配置 GTSM:

peer x.x.x.x valid-ttl-hops N

此命令的两大作用:

1、在向邻居 x.x.x.x 发送 BGP 报文时,TTL 为 255
2、在接收邻居 x.x.x.x 发来的 BGP 报文时,要求报文的 TTL ≥ 255-N+1

三、限制从对等体接收的路由数量

peer x.x.x.x route-limit y

设置允许从对等体收到的路由数量最大值为 y

1、收到路由的最大数量为 100,超过 70% 告警,超过最大数量断开 BGP 邻居30s 后自动 再次建立邻居

peer x.x.x.x route-limit 10070

2、收到路由的最大数量为 100,超过 70% 告警,超过最大数量仅告警,不断开 BGP 邻居

peer x.x.x.x route-limit 10070 alert-only

3、收到路由的最大数量为 100,超过 70% 告警,超过最大数量断开邻居关系,并在 10 分钟后重新建立邻居,超时前 可以使用 reset bgp x.x.x.x 手动重新建立邻居

peer x.x.x.x route-limit 10070 idle-timeout 10

4、收到路由的最大数量为 100,超过 70% 告警,超过最大数量断开邻居关系,不再自动建立,可以使用 resetbgp 10.1.45.5 手动重新建立邻居

peer x.x.x.x route-limit 10070 idle-forever

四、AS-PATH 长度保护

设置 AS_Path 属性中 AS 号的最大个数为 x

as-path-limit x

如果设置的限制数刚好是接收 BGP 路由的 AS-PATH 的数量,则不会传递给 EBGP 邻居。

BGP 防环机制有以下两种(不带 RR)

一、AS_PATH

  1. 在 AS 之间实现 BGP 环路的防范,从 EBGP 邻居得到路由时,检查该路由的 AS_PATH 属性,如果 AS_PATH 中存在自身的 AS 号,则丢弃改路由;
  2. 当 BGP 路由传递给EBGP 邻居时会将自己的 AS 号添加到 AS_PATH 属性的最前面;
  3. 当 BGP 路由传递给 IBGP 邻居时不会添加自己的 AS。
  • AS_PATH 防环机制的检测:EBGP 邻居之间进行 AS_PATH 检查,IBGP 邻居之间不进行AS-PATH 检测

二、AS 内部防环:IBGP 水平分割

通过 IBGP 邻居得到的路由不会再传递给 IBGP 邻居。

路由反射器(带 RR)

在这里插入图片描述

  1. 路由反射器 RR (Route Reflector) : 允许把从 IBGP 对等体学到的路由反射到其他 BGP 对等体的 BGP 设备。
  2. 客户机 (Client) : 与 RR 形成反射邻居关系的 IBGP 设备。在 AS 内部客户机只需要与 RR 建立邻居关系。
  3. 非客户机 (Non-Client) : 既不是 RR 也不是客户机的 BGP 设备。在 AS 内部容户机与 RR 之间,以及所有的非客户机之间必须建立全连接关系。
  4. 始发者(Originator): 在 AS 内部始发路由的设备。
  5. Originator ID 属性:用于防止集群内产生路由环路。
  6. 集群 (Cluster):路由反射器及其客户机的集台。
  7. Cluster List 属性:用于防止集酷产生路由环路。

反射规则

在这里插入图片描述

在向 IBGP 邻居发布学习到的路由信息时,RR 按照以下规则发布路由

  • 1.从 EBGP 对等体学到的路由,发布给所有的非客户机和客户机;
  • 2.从非客户机 IBGP 对等体学到的路由,发布给此 RR 的所有客户 机,也包括 EBGP 邻居;
  • 3.从客户机学到的路由,发布给此 RR 的所有非客户机和客户机 (发起此路由的客户机除外)。

RR 可减少网络 BGP 连接数量,只需要对作为反射器的路由器进行配置,客户机并不需要知道自己是客户机

路由反射器防环机制:Originator ID 与 Cluster List

一、Originator ID

在这里插入图片描述

  1. 该属性属于 BGP 的可选非过渡属性;
  2. Originator ID 由 RR 产生,使用的 Router ID 的值标识路由的发送者,用于防止集群内产生路由环路;
  3. 当一条路由第一次被 RR 反射的时候,RR 将 Originator ID 属性加入这条路由,标识这条路由的起始设备。如果一条路由中已经存在了 Originator ID 屡性,则 RR 将不会创建新的 Originator ID 属性(此时的 Originator ID 指的是将该路由传递给 RR 的路由器的 Router ID,不是 RR 的 Router ID);
  4. 当设备接收到这条路由的时候,将比较收到的 Originator ID 和本地的 Router ID,如果两个 ID 相同则不接收此路由。

二、Cluster List

在这里插入图片描述

  1. 该属性属于 BGP 的可选非过渡属性,用于集群间的防环,由每个路由反射器 (RR) 产生,记录反射路由经过的集群;
  2. 路由反射器和它的客户机组成一个集群 (Cluster)。在一个 AS 内,每个路由反射器便用唯一的 ClusterlD 作为集群标识。缺省情况下,每个路由反射器使用自己的 Router ID 作为集群 ID;
  3. 为了防止集群间产生路由环路,路由反射器便用 Cluster List 属性,记示路由经过的所有集群的 Cluster ID;
  4. 当 RR 在它的客户机之间或客户机与非客户机之间反射路由时,RR 会把本地 Cluster ID 添加到 Cluster List 的前面,如果 Cluster List 为空,RR 就创建一个;
  5. 当 RR 接收到一条更新路由时,RR 会检查 Cluster List。 如果 Cluster List 中已经有本地 Cluster ID,则丢弃该路由;如果 Cluster List 中没有本地 Cluster ID,则将其加入 Cluster List,然后反射该路由。

BGP 路由汇总

自动汇总

  1. 只能汇总成有类网络,汇总精确度很差,容易产生黑洞路由或者次优路由;
  2. 自动汇总对汇总路由的 BGP 属性修改能力很差;
  3. 只能对 import-route 的路由生效,对邻居传来的或者 network 产生的 BGP 路由无效;
  4. 默认关闭自动汇总;
  5. 不支持 CIDR;
  6. 会抑制明细路由的发送

手动汇总

  1. 只要是有效的 BGP 路由都能进行汇总;
  2. 当所有明细路由失效,汇总路由也会失效;
  3. 执行汇总的路由器会在路由表产生指向 null 0 接口的汇总路由,防止路由环路;
  4. 默认情况下,明细路由依然会通告出去;
  5. 默认汇总路由的 BGP 属性继承问题: 1 ) 继承起源属性,按优先级最低的起源属性继承; 2 ) 继承所有明细路由的团体属性; 3 ) 其他属性不继承。

via:


BGP 四类属性详解

一、公认必遵(Well-known mandatory)

  • 要求所有运行 BGP 协议的设备都必须能识别,且在更新消息中必须包含。

1. Origin (起源) 属性

  • 用来标识路由信息的来源。
  • 如果路由是从 IGP 学习到的,则 Origin 属性为 IGP(i), 使用 display bgp routing-table 命令查看 BGP 路由时,IGP 简写为 i。
  • 如果路由是从 EGP 学习到的,则 Origin 属性为 EGP(e)。
  • 如果路由的来源无法确定,则 Origin 属性为 incomplete(?)。
  • 路由优先级:IGP > EGP > incomplete

2. AS_PATH(AS 路径)属性

  • 用来记录某条路由从本地到目的地址所要经过的所有 AS 编号。
  • AS_PATH 可以作为一种度量值,经过更少 AS 的路由更优先。
  • AS_PATH 被用来 ** 避免 AS 之间的环路 **。如果 BGP Speaker 从 EBGP 对等体收到一条路由,它的 AS_PATH 包含 BGP Speaker 自己的 AS 号,就说明这条路由曾经被 BGP Speaker 发送过,所以会被直接丢弃。

3. NEXT_HOP(下一跳)属性

  • 定义到达目的地下一跳的设备的 IP 地址。

二、公认任意(Well-known discretionary)

  • 要求所有运行 BGP 协议的设备必须能识别,但是在更新消息内可以自由选择是否携带此类属性的报文。

1. LOCAL-PREF(本地优先级)属性

  • LOCAL-PREF 属性用来通告路由的优先程度。
  • LOCAL-PREF 属性仅在 IBGP 对等体之间交换,不通告给其他 AS。

2. ATOMIC_AGGREGATE(原子聚合)属性

  • 用来通告路由接受者该路由是经过聚合的。

三、可选过渡(Optional transtive)

1. AGGREGATOR(聚合)属性

  • 是 ATOMIC_AGGREGATE 属性的补充,包含了发起路由聚合的 AS 号码和形成聚合路由的 BGP 发布者的 IP 地址。

2. COMMUNITY(团体)属性

  • 是共享相同属性的目的地集合,目的就是将路由信息编组,通过组的标识决定路由策略的传递。
  • 公认的团体属性有:1. INTERNET: 缺省情况下,所有的路由都属于 INTERNET 团体。具有此属性的路由可以被通告给所有的 BGP 对等体。2. NO_EXPORT: 不能被发布到本地 AS 之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子 AS。3. NO_ADVERTISE: 不能被通告给其他的 BGP 对等体,即不通告该路由。4. NO_EXPORT_SUBCONFED: 不传递给下一个小 AS,若网络中没有小 AS,仅存在大 AS 时作用与 NO_EXPORT 一致。

四、可选非过渡(Optional non-transtive)

1. MED(多出口鉴别器)属性

  • 用来区分同一个邻接 AS 的多个接口。
  • MED 只在 EBGP 发布的路由中产生,接收者可以向它的 IBGP 邻居转发,但不允许向它的 EBGP 对等体转发。假设一个 AS 和邻接 AS 有多个接口相连,通过发布不同的 MED 给对端,就可以控制进入网络的流量从 MED 值最小的那个接口进来。通常情况下,BGP 只比较来自同一个 AS 的路由的 MED 属性值。
  • BGP 协议默认不存在 cost;MED 就是人为的利用路由器优选路径的规则 — 先比较管理距离(华为为优先级),若一直再比较度量值(华为为 cost) BGP 协议在特定条件下携带本地到达目标的 cost 值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的 ebgp 邻居,将携带 cost 值;对于其他 AS 的设备学习到从同一个 as 传递过来的路由,优选 MED 最小的路径;管理员可以在控制层面传递路由的过程中,手工修改 MDE;最常用于干涉 ebgp 选路;常常用于 AS1 干涉 AS2 对 AS1 的选路;

2. ORIGINATOR_ ID(发起人 ID)属性

  • ORIGINATOR_ ID 用于标识路由反射器,是可选非过渡属性。
  • 为了防止引入路由反射器之后出现环路,增加 ORIGINATOR_ ID 这个属性来标识,反射器在发布路由时加入 ORIGINATOR_ID,当反射器收到的路由信息中的 ORIGINATOR_ ID 就是自己的 ROUTER_ ID 时,就可以发现路由环路的出现,将该路由丢弃,不再转发。

3. CLUSTER_ ID(组 ID)属性

  • CLUSTER_ ID 用于标识路由反射器组,是可选非过渡属性。
  • CLUSTER_ ID 属性也是用来防止环路,在路由经过路由反射器时路由反射器会将自己的 CLUSTER_ID 添加到路由携带的 CLUSTER_LIST 中,当路由反射器发现接收的路由的 CLUSTER_ LIST 中包含有自己的 CLUSTER_ ID,则将该路由丢弃,不再转发。

4. WEIGHT(权重值)属性

  • Weight 属性是 Cisco 私有属性,只有 Cisco 的路由器才能识别 weight。
  • 路由的 weight 属性只在本地路由器起作用,BGP 将路由传递给邻居时,并不保留 weight。Weight 值的范围 0~65535,默认为 0,如果是 BGP 本地发起路由,weight 值 32768。
  • 当到达同一目的地存在多条路径时,优选 weight 值大的。在 Cisco 路由器中,比较最优路径的第一条规则就是比较 weight 值,所以只要改动 weight 值,就能控制 Cisco 路由器的 BGP 选路。

via:

标签: 网络

本文转载自: https://blog.csdn.net/u013669912/article/details/141874646
版权归原作者 斐夷所非 所有, 如有侵权,请联系我们删除。

“BGP 属性详解 | 公认必遵属性 | 公认任意属性 | 安全特性”的评论:

还没有评论