【网络协议详解】——BGP协议(学习笔记)

article/2025/8/24 23:16:23

目录

  • 🕒 1. 概述
  • 🕒 2. BGP 发言人
  • 🕒 3. 工作原理
  • 🕒 4. 报文格式
    • 🕘 4.1 报文首部
    • 🕘 4.2 打开报文
    • 🕘 4.3 更新报文
    • 🕘 4.4 保活报文
    • 🕘 4.5 通知报文
  • 🕒 5. BGP 的路径属性
    • 🕘 5.1 origin 属性
    • 🕘 5.2 AS_PATH 属性
    • 🕘 5.3 Next Hop 属性
    • 🕘 5.4 Local-Preference 属性
    • 🕘 5.5 MED 属性
    • 🕘 5.6 Community 属性
    • 🕘 5.7 BGP路径选择过程
  • 🕒 6. 路由重分布
    • 🕘 6.1 实例
    • 🕘 6.2 选择最佳路由
      • 🕤 6.2.1 改变管理距离
      • 🕤 6.2.2 改变默认度量值
  • 🕒 7. 实验

🕒 1. 概述

BGP(Border Gateway Protocol),边界网关协议。

  • 一种自治系统间的选路协议,在 AS 之间交换网络的可达性信息
  • 根据可达性信息,路由器能够构造 AS 之间的连接关系图,从而计算出到达目的网络的路由。

在这里插入图片描述

  • 在计算路由时,管理员可以在 AS 层面上应用一些路由控制策略。
    • 例如,控制到某网络的路由不经过某些 AS。
  • 因此,BGP尽力寻找一条能够到达目的网络且比较好的路由(不兜圈子),而并非找最佳路由。
  • BGP属于距离矢量路由算法的增强协议,在原有路由信息的基础上加入路径信息,防止了路由环路的出现。
  • 在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人
  • 当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的路由控制策略从收到的路由信息中找出到达各自治系统的较好的路由。也就是构造出树形结构、不存在回路的自治系统连通图

在这里插入图片描述

标准:

  • RFC 4271:BGP4,支持 CIDR 和路由聚集,用于 IPv4 网络的 AS 间路由。
  • RFC 4760:扩展了 BGP4,支持不同网络层协议的 AS 间路由。

🕒 2. BGP 发言人

自治系统中,运行 BGP 协议的路由器称为 BGP 发言人(BGP speaker)。

  • 每个 BGP 发言人都有一个 4 字节的 BGP 标识符(BGP identifier);
  • 标识符在 BGP 发言人启动过程中确定,通常是其某个接口的 IP 地址。

BGP 发言人通过与其他自治系统的 BGP 发言人交换路径信息来学习路由。

建立连接的两个 BGP 发言人互称为对等发言人(peer)。

  • 内部对等发言人(internal peer;IBGP):位于同一个 AS。如R1和R2。
  • 外部对等发言人(external peer;EBGP):位于不同 AS。如R1和R3。

在这里插入图片描述

🕒 3. 工作原理

  • 不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179

在这里插入图片描述

两个 BGP 发言人建立 TCP 连接后:

  1. 发送打开报文,协商路由信息交换参数;
  2. 发送更新报文,交换各自的 BGP 路由表。
  • BGP 发言人并不周期性交换路由表,而采用增量式路由更新方法:
    • 只在路由表发生改变时,才向对等发言人通知改变的路由,包括增加新路由,或撤销失效路由。
    • 只交换管理策略允许的路由。

使用TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻站(neighbor)或对等站(peer)

  1. BGP 发言人之间周期性交换保活报文,以检测对方是否活跃。
  • 若一段时间内接收不到对方的保活报文,就认为对方不再活跃,关闭与对方的连接。
  1. 协议运行过程中若发生错误,BGP 发言人向对方发送通知报文,并关闭与对方的连接。
  • 连接关闭后,BGP 发言人撤销对方通知的所有路由。

如果一个 AS 与多个 AS 连接,该 AS 往往会有多个 BGP 发言人。

必须确保自治系统内部路由的一致性:需要在所有 BGP 发言人之间建立对等关系。

为防止在 AS 内部出现环路路由,BGP 发言人不会将从 IBGP 学习到的路由再通告给其他 IBGP (称为“水平分割”)。

🕒 4. 报文格式

BGP4 定义了 4 种报文:

类型报文名称
1打开(OPEN)报文
2更新(UPDATE)报文
3通知(NOTIFICATION)报文
4保活(KEEPALIVE)报文

🕘 4.1 报文首部

在这里插入图片描述

  • 固定首部分为三个字段,占19字节。
  • 标记”,占16字节,必须设置为0,用于检查BGP对等体的同步信息是否完整,以及用于BGP验证的计算。不使用验证时所有比特均为1
    • 用于在TCP字节流中定位BGP报文的开始位置。
  • 长度”,占2字节,指明了报文(包括固定首部)的长度,即报文的结束位置,以字节为单位。
  • 类型”,占1字节,指明了BGP报文的类型。

🕘 4.2 打开报文

在这里插入图片描述

BGP 发言人与对等 BGP 发言人建立 TCP 连接后,首先向对方发送一个打开报文 ,协商路由信息交换参数

接收到打开报文后,BGP 发言人用保活报文响应。

  • 1字节的“版本”字段,指明BGP协议的版本号,对BGP4协议设置为4
  • 2字节的“自治系统号”,是发送方所属自治系统的编号。
  • 2字节的“保持时间”,是发送方建议的连接保持时间,以秒为单位。接收方将以自己配置的保持时间和发送方建议的保持时间中的较小者作为实际的连接保持时间。保持时间指明了从对方接收到下一个BGP报文的最长等待时间。若超过保持时间后还没有从对方接收到任何报文,就认为对方不可达,关闭与对方的TCP连接。
  • 4字节的“BGP标识符”,即发送方的BGP标识符。BGP发言人在与所有对等发言人通信时必须使用相同的标识符。
  • 1字节的“选项参数长度”,指明了报文中包含的所有选项参数的总长度,以字节为单位。若为 0,表明报文中没有选项参数。剩余数据则是选项参数。

打开报文可包含多个选项参数,每个参数用一个三元组(TLV结构)表示:

  • 参数类型”, 占1个字节,指明参数的数据类型,如整型、字符串等。
  • 参数长度”, 占1个字节,指明“参数值”字段的长度,以字节为单位

在这里插入图片描述

🕘 4.3 更新报文

BGP 发言人通过发送更新报文通知对等发言人路由信息

BGP4 中路由被定义为:一组目的地址以及到达这些目的地址的一条路径;路径用一系列属性描述

  • 路径属性包括:经过的 AS 列表(路径)、路由来源、下一跳地址、路由是否被聚集等;
  • 到达这组目的地址的路径相同。

一个 BGP 更新报文中可以包含一条增加的新路由,以及多条要撤销的失效路由

在这里插入图片描述

撤销路由用“撤销路由长度”和“撤销路由”两个字段指明。

  • 撤销路由长度”字段,占2字节,指明“撤销路由”字段的长度,以字节为单位。为 0 表示没有要撤销的路由,报文中也不包含撤销路由字段。
  • 撤销路由”字段长度可变,列出了一组要撤销路由的目的网络地址。BGP4采用了一种压缩表示法,即采用二元组 <前缀长度,前缀>表示网络地址,其中“前缀长度”占1字节,指明32位的IP地址中网络前缀所占的位数;而“前缀”只有IP地址中包含网络前缀的字节,即前缀长度小于等于8时,前缀只包含地址的第一个字节;前缀长度在9到16之间时,包含前两个字节;前缀长度在17到24之间时,包含前三个字节;当前缀长度大于等于25时则包含所有四个字节。特别地,若前缀长度为0,表示是默认路由。

新增的路由“路径属性总长度”、“路径属性”和“网络层可达性信息”三个字段共同描述。

  • 路径属性总长度”,占2字节,是紧接着的“路径属性”字段的总长度,单位是字节。如果是 0 表示报文中不包含新增路由,也不存在“路径属性”和“网络层可达性信息”字段。
  • 路径属性”字段,长度可变,描述了新增的路由,是新路由的一组属性值。每个属性为TLV结构。其中“类型”占2个字节,第一个字节是“属性类型标志”,第二个字节是“属性类型代码”;“长度”指明了属性值所占的字节数,依赖于属性类型标志中“扩展长度位”是否置位,占1个字节或2个字节。一个更新报文中,一种路径属性只能出现一次。
  • 网络层可达性信息”字段长度可变,列出了一组通过“路径属性”字段指明的路径可到达的目的地址。目的地址的编码方式与“撤销路由”字段中相同。

在这里插入图片描述

BGP 发言人根据接收的更新报文构造自治系统之间的连接关系图,计算出到达目的网络的下一跳地址。

在这里插入图片描述

🕘 4.4 保活报文

BGP 发言人周期性向对等发言人发送保活报文,以维持与对方的连接。

保活报文发送间隔不能小于 1 秒,通常设置为保持时间的 1/3

  • 如果保持时间是 0,不发送保活报文。

保活报文只有标准的报文首部(19字节)而不包含其他数据。
在这里插入图片描述

🕘 4.5 通知报文

当协议运行发生错误时,BGP 发言人向对等发言人发送通知报文,并立即关闭相关的 TCP 连接。
在这里插入图片描述

  • 错误代码”和“错误子代码”字段各占1个字节,指明了具体的错误类型。
  • 数据”字段长度可变,内容依赖于错误代码和错误子代码,用于错误原因的诊断。结束位置由报文首部中的长度字段指明。
错误代码含义
1报文首部错误
2OPEN 报文错误
3UPDATE 报文错误
4保持时间超时
5BGP 有限状态机错误
6停止

🕒 5. BGP 的路径属性

BGP结合丰富的路径属性,很好地控制路由信息的传递,实现路由的选择。

BGP路径属性是一组描述BGP前缀特性的参数

BGP路径属性可以被分为四大类:

  • 公认必遵(Well-known mandatory)
  • 公认任意(Well-known discretionary)
  • 可选过渡(Optional transitive)
  • 可选非过渡(Optional non-transitive)

BGP 必须识别所有公认属性。可选属性不要求所有BGP路由器都必须能识别。

公认属性包括强制和任意两大类:

  • 其中强制属性必须包含在每一个UPDATE 消息里,即公认必遵属性。
  • 其他任意属性则可能会被包含在某些具体UPDATE 消息中。

可选属性包括过渡和非过渡两大类:

  • 其中对于过渡属性,如果BGP路由器不能识别该属性,也要接收携带该属性的路由更新,而且将该路由通告给其他对等体,也必须携带该属性。
  • 对于非过渡属性,如果BGP路由器不能识别该属性,该路由器会忽略携带该属性的路由信息,也不通告给其他对等体。

常见BGP路由属性:
1、Origin
2、AS_PATH
3、Next hop
4、MED(Multi-Exit-DISC)
5、Local-Preference
6、Atomic-Aggregate
7、Aggregator
8、Community
9、Originator-ID
10、Cluster-List
11、MP_Reach_NLRI
12、MP_Unreach_NLRI
13、Extended_Communities

以下列出几种常用的属性:

  • Origin:起源属性。定义路由信息的来源,标记一条路由是怎样成为BGP路由的。
  • As_PATH:AS路径属性。是路由经过的AS的序列,即列出此路由在传递过程中经过了哪些AS。它可以防止路由循环,并用于路由的过滤和选择。
  • Next hop:下一跳属性。包含到达更新消息所列网络的下一跳边界路由器的IP地址。
  • MED属性:当某个AS有多个入口时,可以用MED属性来帮助其外部的AS选择一个较好的入口路径。一条路由的MED值越小,其优先级越高。
  • Local-Preference:本地优先级属性。用于在AS内优选到达某一目的地的路由。反映了BGP Speaker对每条BGP路由的偏好程度。属性值越大越优。
  • Community:团体属性。团体属性标识了一组具有相同特征的路由信息,与它所在的IP子网或自治系统无关。
属性名公认/可选必遵/任意过渡/非过渡
Origin公认必遵
As_PATH公认必遵
Next hop公认必遵
Local-Preference公认任意
MED可选非过渡
Community可选过渡

🕘 5.1 origin 属性

该属性定义了BGP 路径信息源头,实际上也就是BGP Speaker 产生BGP 路由的方式。

有3 种起源属性值:IGP、EGP和Incomplete(不确定来源)。

某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP

  • 通过network命令注入BGP的路由
  • 这些路由是有选择性地通过network 命令转换为BGP路由,所以称为“半动态”。
<RT2>                           Total Number of Routes: 2BGP Local router ID is 1.1.1.1Status codes: * - valid, > - best, d - damped, h - history,  i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteNetwork            NextHop        MED        LocPrf    PrefVal Path/Ogn*>   18.0.0.1/32        0.0.0.0          1                     0         i*>   18.0.0.2/32        0.0.0.0          1                     0         i

通过EGP学到的路由,则origin属性为EGP

  • 这个属性在现实网络中将很难遇到,因为EGP 基本上已经退出了历史舞台。

其他情形下,Origin属性都为 Incomplete

  • 通过import命令注入BGP的路由
<RT2>BGP Local router ID is 1.1.1.1 Status codes: * - valid, > - best, d - damped, x - best external,h - history,  i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? – incompleteTotal Number of Routes: 4Network            NextHop        MED        LocPrf    PrefVal Path/Ogn*>   18.0.0.1/32       0.0.0.0          1                      0      ?*>   18.0.0.2/32       0.0.0.0          1                      0      ?

Origin属性值默认情况下不被任何路由器修改

IGP:在BGP 路由表中(用display bgp routing-table 查看)将会看到“i”的标识,通过network 命令宣告的路由,起点属性为IGP,此种方式也称为BGP 信息的半动态注入,network 命令所宣告的网络来自于IGP 协议(包括静态路由),这些路由是有选择性地通过network 命令转换为BGP路由,所以称为“半动态”。
EGP:在BGP 路由表中将会看到“E”的标识,通过将EGP 转化(import)成的BGP 路由将具备此属性,这个属性在现实网络中将很难遇到,因为EGP 基本上已经退出了历史舞台。
Incomplete:在BGP 路由表中将会有一个“?”标识,具备这种属性的路由是通过一些别的方式学到的,属于未知的不明确的状态,一般来说,是通过将IGP 或者静态路由引入(import)以后产生的。因为无条件地把IGP 路由信息引入到BGP 路由表可能会造成副作用,比如不要的或者错误的信息会漏(leak)进BGP 中,比如IGP 路由表中可能会包含很多仅仅用于AS 内部的专用地址或者未经注册的地址。除此以外,这样做还有可能造成BGP 路由表的动荡(因为BGP 的路由依赖于IGP 路由),对此问题BGP 提供了一个解决方案路由衰减(ROUTE DAMPENING),此处将不再讨论。

🕘 5.2 AS_PATH 属性

在这里插入图片描述

  • 所谓AS_PATH,是指BGP 路由在传输的路径中所经历的AS 的列表
  • AS200 内的关于网络18.0.0.0/8 的BGP 路由经AS200、AS300、AS400 到达AS100的AS_PATH 为(400 300 200)
  • 经AS200、AS500 到达AS100 的AS_PATH 为(500 200)
  • 这时BGP优先选择有较短AS_PATH 的BGP 路由(500 200)
  • 如果在路由更新消息中发现自己所在的AS 号已经被包含在AS_PATH 属性中,将此路由信息丢弃。
  • BGP 不会接收AS_PATH 属性中包含本AS Number 的路由,从而避免了AS 间产生环路的可能。

🕘 5.3 Next Hop 属性

在这里插入图片描述

  • BGP 在向EBGP 邻居通告路由时,或者将本地发布的BGP 路由通告给IBGP 邻居时,下一跳属性是本地BGP 与对端连接的端口地址。
  • 对于多路访问的网络(广播网或NBMA 网络),下一跳情况有所不同。
  • BGP 在向IBGP 邻居通告从其他EBGP 得到的路由时,不改变路由的下一跳属性,而直接传递给IBGP 邻居。

🕘 5.4 Local-Preference 属性

在这里插入图片描述

假设Internet 上有这样两条路由:

  • 210.52.83.0/24和210.52.82.0/24,而需求是使到网络83 的流量分布在到ISP1 的链路上,而到网络82 的流量分布在到ISP2 的链路上。
  • RT5 分别有两个来源获得82 和83 路由,这样只需要在RT3 和RT4 上适当地对来源的属性进行修改,就可以达到目的。
  • BGP 可以给路由附加一种称为本地优先级的属性,路由器接收到去往同一目的地的多条路由,可以根据本地优先级属性值的高低进行路由选举。

🕘 5.5 MED 属性

在这里插入图片描述

  • MED是可选非过渡属性,是用于控制数据流怎样进入本AS
  • MED值越小,链路越优先
  • 这时候AS200 的管理者想达到以下目的,从AS100 来的到82 的数据流通过RT2 路由器到达,而从AS100 来的到83 的数据流通过RT1 到达。
  • 在AS200 的边界路由器RT1 上,当向RT3 发布路由82 和83 时,给83 打上标记50,而给82 打上标记100。
  • 在AS200 的边界路由器RT2 上,当向RT3 发布路由82 和83 时,给82 打上标记50,而给83 打上标记100。

🕘 5.6 Community 属性

  • 团体是一组有相同性质的目的地址路由。目的就是将路由信息编组,通过组的标识决定路由传递的策略
  • 每个AS 的管理员都可以自己定义目的地址所属的团体
  • 团体属性由一系列以32 位长度(4字节)为单位的数值所组成
    • 保留的团体属性:
      • 0x00000000—0x0000FFFF
      • 0xFFFF0000—0xFFFFFFFF
    • 私有团体属性:
      • AS(2B):Number(2B)
    • 公认团体属性:
      • NO_EXPORT (0xFFFFFF01)
        • 路由器收到带有这一团体值的路由后,不应把该路由通告给一个联盟之外的对等体。
      • NO_ADVERTISE (0xFFFFFF02)
        • 路由器收到带有这一团体值的路由后,不应把该路由通告给任何的BGP 对等体。
      • NO_EXPORT_SUBCONFED (0xFFFFFF03)
        • 路由器收到带有这一团体值的路由后,可以把该路由通告给它的IBGP 对等体,但不应通告给任何的EBGP 对等体。

🕘 5.7 BGP路径选择过程

1.如果此路由的下一跳不可达,忽略此路由
2.评估Preferred-Value值,数值高的优先 (VRP5增加的新参数,指定对等体的首选值,数值越高越好 )
3.Local-Preference值最高的路由优先
4.聚合路由优先于非聚合路由
5.本地手动聚合路由的优先级高于本地自动聚合的路由
6.本地通过network命令引入的路由的优先级高于本地通过import-route命令引入的路由
7.评估AS路径的长度,最短的路径优先
8.比较Origin属性, IGP优于EGP,EGP优于Incomplete
9.选择MED较小的路由
10. EBGP路由优于IBGP路由
11. EBGP优先选择到BGP下一跳的IGP度量最低的路径

当以上全部相同,则为等价路由,可以负载分担
注:AS_PATH必须完全一致

当负载分担时,以下3条原则无效
13. 比较Cluster-List长度,短者优先
14. 比较Originator_ID(如果没有Originator_ID,则用Router ID比较),选择数值较小的路径
15. 比较对等体的IP地址,选择IP地址数值最小的路径

🕒 6. 路由重分布

  • 在同一网络中,存在多协议并存的情况
  • 为了有效地支持多种路由协议,在不同路由协议之间共享路由

路由重分布:将一种路由选择协议获悉的路由信息告知另一种路由选择协议

特点:

  • 路由重分布既可以是单向也可以双向
  • 通常只有自治系统边界路由器才能实现路由重分布
  • 路由分布只能在同一种第三层协议的路由选择进程之间进行

存在问题:

  • 路由回环
  • 管理距离不同(次优路由)
  • 路由信息不兼容(度量值不同)
  • 收敛时间不一致

注意事项:

  • 不要在同一网络重叠使用路由协议
  • 多个边界路由器:使用单向重分布
  • 单边界路由器:双向重分布
Router(config-router)#redistribute protocol [process-id]  [metric metric-value]  [metric-type type-value] [match {internal | external 1 | external 2}] [tag tag-value] [route-map map-tag] [weight weight] [subnet]
  • protocol:源路由协议
  • process-id:进程号
  • metric:度量值
  • metric-type: 一般用于ospf,默认type-2外部路由;如果type-value为1,即type-1外部路由
  • match {internal | external 1 | external 2}]:只用在重分布到其他路由协议的OSPF中
  • weight:重分布到BGP的路由中定义权重(0-65535)
  • subnet:主要用于重分布到OSPF

🕘 6.1 实例

将ospf、静态、直连重分配到rip:

R(config)#router rip
R(config-router)#redistribute ospf 1 metric  1
R(config-router)# redistribute static metric 1
R(config-router)# redistribute connected metric 1

注:rip 以跳数作度量,最大为15 跳

将rip 、静态、直连重分配到ospf:

R(config)#router ospf 1
R(config-router)#redistribute rip metric 30 subnets
R(config-router)# redistribute static metric 100 subnets
R(config-router)# redistribute connected metric 100 subnets

注:subnets 参数为重分配子网,不加即只重分配主类地址

🕘 6.2 选择最佳路由

  • 多路由协议的使用,产生两个或多个达到目的地的不同路由
  • 选择最佳路由:管理距离、默认度量值
  • 接受重分布的路由协议要将这些路由协议与自己的度量关联起来,让执行路由重分布的路由器被重分布的路由指定度量值/改变默认度量值
  • 也可以改变路由协议的管理距离,改变最佳路由

🕤 6.2.1 改变管理距离

  • 管理距离可以看做是一个可信度的度量
  • 管理距离越小,协议的可信度越高
  • 通过distance命令改变管理距离
路由选择协议管理距离路由选择协议管理距离
直连接口0OSPF110
静态接口1RIP120
EIGRP90BGP20

可信度:直连路由>静态路由>BGP>EIGRP>OSPF>RIP

Distance命令:

distance weight [address mask [access-list-number | name] ] [ip]
  • weight:实际的管理距离(10-255)
  • address、mask:指定匹配的网络
  • Access-list-number | name:入站更新报文的访问列表的编号/标准IP访问列表的名称
  • ip:用于IS-IS协议

实例:

R(config)# router ospf 1
R(config-router)# network 172.16.0.0 
R(config-router)# distance 255
R(config-router)# distance 110 192.168.31.0 0.0.0.255

🕤 6.2.2 改变默认度量值

默认度量值(种子度量值):路由重分布中,从外部重分布进来的路由的初始度量值

路由协议默认种子度量值
RIP16(无穷大)
EIGRP225(无穷大)
OSPFBGP为1,其他为20
IS-IS0
BGPIGP的度量值

default-metric 指令实例:

R(config)# router rip 
R(config-router)# default-metric 4
R(config-router)# redistribute ospf 100 //当OSPF路由重分布到RIP中,默认度量值为4
R(config)# router ospf 100
R(config-router)# default-metirc 10
R(config-router)# redistribute rip //当RIP路由重分布到OSPF中,默认度量值为10

🕒 7. 实验

在这里插入图片描述

设备名 端口 ip地址 掩码 AS ID
R1f0/1 192.168.2.1255.255.255.065101
f0/0 192.168.3.1255.255.255.0
loopback0 1.1.1.1255.255.255.0
R2f0/1192.168.3.2255.255.255.065101
f0/0192.168.4.2255.255.255.0
loopback0 2.2.2.2255.255.255.0
R3f0/1192.168.1.3255.255.255.065100
f0/0192.168.2.3255.255.255.0
R4f0/1192.168.1.4255.255.255.065100
R5f0/1192.168.4.5255.255.255.065102

注:R1和R2由于其位置的特殊性(既是IBGP对等体,又是EBGP对等体),因此都配置环回口,作为IBGP的对等体ID。

实验步骤:

一、基本配置
(1)配置所有路由器的接口IP
(2)打开接口

二、 配置RIP(以R1为例)

R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary
R1(config-router)#network 192.168.2.0
R1(config-router)#network 192.168.3.0
R1(config-router)#network 1.1.1.0
R1(config-router)#passive-interface f0/1

注:RIP只作用在所在区域内,不得跨区域应用(这是BGP的功能),因此在边界处(如R1的f0/1、R2的f0/0)设置被动端口。

三、在R1和R2之间、R1和R3之间开启抓包

根据拓扑图,我们选出的IBGP有R1、R2、R3、R5,EBGP有R1、R2

四、在R1上配置BGP

# 启用 BGP路由协议
R1(config)#router bgp 65101
# 配置BGP邻居,其中R2为IBGP对等体
R1(config-router)#neighbor 2.2.2.2 remote-as 65101
R1(config-router)#neighbor 2.2.2.2 update-source loopback0
# 配置R3为EBGP对等体
R1(config-router)#neighbor 192.168.2.3 remote-as 65100
# 路由重分布
R1(config-router)#redistribute rip

注:用loopback接口地址作为IBGP邻居标识时,必须指定邻居的更新源接口。

五、在R2上配置BGP

R2(config)#router bgp 65101
R2(config-router)#neighbor 1.1.1.1 remote-as 65101
R2(config-router)#neighbor 1.1.1.1 update-source loopback0
R2(config-router)#neighbor 192.168.4.5 remote-as 65102
R2(config-router)#redistribute rip

六、在R3上配置BGP

R3(config)#router bgp 65100
R3(config-router)#neighbor 192.168.2.1 remote-as 65101
R3(config-router)#redistribute rip

七、在R5上配置BGP

R5(config)#router bgp 65102
R5(config-router)#neighbor 192.168.4.2 remote-as 65101
R5(config-router)#redistribute rip

八、抓包分析
在wireshark的显示过滤器设置过滤条件:bgp,通过观察数据包分析BGP的工作机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

九、查看路由表、BGP路由表、BGP邻居路由器

R1#show ip route
R1#show ip bgp
R1#show ip bgp neighbors

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页


http://chatgpt.dhexx.cn/article/1Jbs88VR.shtml

相关文章

BGP协议:简介、属性、选路原则

BGP协议&#xff1a;简介、属性、选路原则 目录 BGP协议&#xff1a;简介、属性、选路原则 一、学习网络BGP必备基础知识 二、BGP 工作原理 三、BGP报文 四、BGP邻居关系的配置 五、BGP需要注意的事项 六、BGP的属性分类 及列举讲解 一、学习网络BGP必备基础知识 边界…

BGP路由协议的那些事?(上)

BGP是怎么来的&#xff1f;为什么要使用BGP&#xff1f; 路由协议的分类 分类包含协议说明IGP&#xff1a;用于域&#xff08;AS&#xff09;内路由选择。RIP距离矢量协议&#xff0c;多用于小型网络。ISIS链路状态协议&#xff0c;多用于运营商网络。OSPF链路状态协议&#…

BGP协议解析(白话版)

之前一直没搞明白BGP有啥用&#xff0c;加了跟没加没啥区别&#xff0c;专门查资料写了这篇《BGP协议解析》。 下面使用eNSP模拟器演示&#xff01; IBGP与EBGP的区别 BGP分为两种&#xff1a;IBGP与EBGP。 两个路由器的BGP号相同&#xff0c;建立邻居关系叫IBGP&#xff0…

华为 BGP协议基础配置与总结

良药苦口利于病&#xff0c;忠言逆耳利于行。 文章目录 一、BGP概述二、拓扑三、基础配置四、BGP与IGP比较五、BGP的数据包六、BGP的邻居状态机七、BGP计时器八、BGP的更新源九、BGP的路由生成十、BGP的路由通告 BGP的邻居建立很关键&#xff0c;涉及环回口地址建立bgp邻居就需…

计算机网络——BGP协议

BGP协议 和谁交换&#xff1a;与其他AS的邻站BGP发言人交换信息。 交换什么&#xff1a;交换网络可达性信息 多久交换一次&#xff1a;发生变化时更新有变化的部分 一般来说两个网络都是由一个BGP发言人连接的。 BGP协议交换信息的过程 BGP协议所交换的网络可达性的信息就…

BGP 协议

BGP BGP 邻居类型BGP 5种包BGP 6种邻居状态BGP 邻居建立BGP 路由的生成方式BGP 通告原则与路由处理BGP 认证BGP 对等体之间的交互原则BGP 邻居学习next-hop-local补充BGP 常用属性BGP 防环BGP 选路规则BGP 路由聚合 BGP知识点&#xff1a; BGP基础配置&#xff0c;BGP 5种报文&…

计算机网络:BGP路由协议

BGP路由协议的概述 首先&#xff0c;再当前的互联网中&#xff0c;BGP是目前唯一支持的外部网关协议EGP的协议&#xff0c;用于自治系统AS之间传递路由信息&#xff0c;目前的版本为4。 从图中可以看出&#xff0c;BGP协议是连接自治系统AS的“桥梁”。 为什么需要BGP协议 …

BGP协议基础配置—学习

BGP重要概念 IGP是运行在AS内部的路由协议&#xff0c;主要有RIP、OSPF及IS-IS&#xff0c;着重于发现和计算路由。 EGP是运行在AS之间的路由协议&#xff0c;通常是BGP&#xff0c;它是实现路由控制和选择最好的路由协议。 这次主要讲的是BGP。 BGP它不生产路由&#xff0…

BGP协议总结

概述 BGP为Border Gateway protocol 边界网关路由协议&#xff08;路径矢量&#xff09; 主要作用是在AS之间传递路由信息 • 分类&#xff1a;EGP • 工作机制&#xff1a;路径矢量协议 • 无类路由协议&#xff1a;支持VLSM和CIDR • 应用层协议/7层&#xff0c;TCP封装&…

BGP协议学习笔记——BGP基础

BGP协议学习笔记——BGP基础&#xff08;BGP概念、BGP报文、BGP状态机、BGP关系建立、BGP路由通告&#xff09; 说明&#xff1a;本文学习笔记整理自网络、华为公开产品文档、华为公开PPT及部分的自我理解 一、BGP简介 BGP定义 边界网关协议BGP&#xff08;Border Gateway …

什么是BGP协议?

什么是BGP协议&#xff1f; BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器&#xff0c;它使用IGP和普通度量值向其他自治系统转发报文。 在BGP中使用自治系统这个术语是为了强调这…

BGP 边界网关路由协议

文章目录 一、BGP概述1、自治系统&#xff08;AS&#xff0c;autonomous system&#xff09;2、动态路由的分类&#xff08;1&#xff09;自治系统分类&#xff08;2&#xff09;协议类型分类 3、BGP的概念4、BGP的特征 二、BGP工作原理1、BGP邻居关系&#xff08;1&#xff09…

BGP协议原理与配置

AS&#xff08;自治系统&#xff09;是指由同一个技术管理机构管理&#xff0c;使用统一选路策略的一些路由器的集合。 私有自治系统&#xff0c;类似于私网那个IP地址&#xff0c;归属个人&#xff0c;不会连接到公网 国际管理自治系统 AS的内部&#xff1a;使用IGP&#xff0…

浅议BGP(一文看懂BGP)

今天主要介绍一下BGP的相关基础知识&#xff0c;文章浅显易懂&#xff0c;适合对BGP完全没有了解的同学。 一、先导知识 为了更好的介绍BGP&#xff0c;下面先对几个概念进行简单的介绍&#xff1a; 1、AS AS、即Autonomous System&#xff0c;自治系统。AS可以简单的理解为一…

一、BGP协议原理

BGP协议原理 一、BGP概述二、BGP特点二、BGP基本术语2.1.BGP发言者&#xff08;BGP Speaker&#xff09;2.2.Router ID&#xff08;RID&#xff09;2.3.BGP对等体&#xff08;BGP Peer&#xff09;2.3.IBGP对等体&#xff08;Internal BGP Peer&#xff09;2.4.EBGP对等体&…

BGP协议基本配置

边界网关协议BGP实现自治系统AS的路由可达 EBGP&#xff1a;运行于不同 AS 之间的 BGP 称为 EBGP。为了防止 AS 间产生环路&#xff0c;当 BGP 设备接收 EBGP对等体发送的路由时&#xff0c;会将带有本地 AS 号的路由丢弃。 IBGP&#xff1a;运行于同一 AS 内部的 BGP 称为 I…

BGP协议介绍

一. BGP协议概述 BGP用于在不同的自治系统&#xff08;AS&#xff09;之间交换路由信息。当两个AS需要交换路由信息时&#xff0c;每个AS都必须指定一个运行BGP的节点&#xff0c;来代表AS与其他的AS交换路由信息。通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被…

BGP协议总结(比较详细,好理解)

BGP Border Gateway Protocol&#xff08;当前使用的版本是 BGP-4&#xff09; 动态路由协议可以按照工作范围分为IGP以及EGP。IGP工作在同一个AS内&#xff0c;主要用来发现和计算路由&#xff0c;为AS内提供路由信息的交换&#xff1b;而EGP工作在AS与AS之间&#xff0c;在…

sentinel流控设置--流控排队等待

排队等待 顾名思义&#xff0c;请求过多时&#xff0c;让请求匀速的进入后台进行处理。采用漏斗算法&#xff0c;控制流量 设置超时时间&#xff0c;超时的则将请求抛弃&#xff0c;返回错误信息

sentinel流控设置--流控预热

预热 顾名思义&#xff0c;意思就是让流量慢慢的涨&#xff0c;不让流量突然的达到阈值 这里直接修改之前的规则&#xff0c;选择Warm up 使用场景在秒杀场景