BGP

176 阅读3分钟

概述

  • 边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择优选路由的距离矢量路由协议。

  • 度量值为跳数,使用TCP/179实现路由信息传输。

  • 分类:

    • EBGP:运行在不同AS之间的BGP被称为EBGP。
    • IBGP:运行在同一个AS内的BGP被称为IBGP。
  • 对每个自治系统定义:1~65535,并且每个路由器也拥有自己的编号,被称为router-id

角色

  • Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。
  • Peer:相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。

报文类型

  • Open报文:用于建立BGP对等体连接。
  • Update报文:用于在对等体之间交换路由信息。
  • Notification报文:用于中断BGP连接。
  • Keepalive报文:用于保持BGP连接。
  • Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。

交互规则

BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则:

  • 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
  • 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
  • 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
  • 路由更新时,BGP设备只发送更新的BGP路由。
  • 所有对等体发送的路由,BGP设备都会接收。

命令

  • 创建AS
  1. bgp 编号
  • 设置路由器编号(IPv4)
  1. router-id 编号
  • 建立对等体关系
  1. peer IP地址 as-number AS编号
  • 设置单播发送
  1. ipv4-family unicast
  • 宣告网段
  1. network IP地址 子网掩码

案例

image-20240322170205530

IBGP

  • AR1与AR3建立对等体关系;
  • AR2与AR3建立对等体关系;
  • AR1与AR2建立对等体关系;
  • AR4与AR5建立对等体关系;
  1. AR1:
  2. sys
  3. dhcp enable
  4. int g0/0/0
  5. ip add 192.168.10.254 24
  6. dhcp select interface
  7. int g0/0/1
  8. ip add 172.16.1.1 30
  9. q
  10. bgp 100
  11. router-id 1.1.1.1
  12. peer 172.16.1.2 as-number 100
  13. ipv4-family unicast
  14. network 192.168.10.0 24
  15. network 172.16.1.0 30
  16. q
  17. peer 172.16.2.1 as-number 100
  18. ipv4-family unicast
  19. network 192.168.10.0 24
  20. network 172.16.1.0 30
  21. ``
  22. AR2:
  23. sys
  24. dhcp enable
  25. int g0/0/0
  26. ip add 192.168.20.254 24
  27. dhcp select interface
  28. int g0/0/1
  29. ip add 172.16.2.1 30
  30. q
  31. bgp 100
  32. router-id 2.2.2.2
  33. peer 172.16.2.2 as-number 100
  34. ipv4-family unicast
  35. network 192.168.20.0 24
  36. network 172.16.2.0 30
  37. q
  38. peer 172.16.1.1 as-number 100
  39. ipv4-family unicast
  40. network 192.168.20.0 24
  41. network 172.16.2.0 30
  42. ``
  43. AR3:
  44. sys
  45. int g0/0/0
  46. ip add 172.16.1.2 30
  47. int g0/0/1
  48. ip add 172.16.2.2 30
  49. int g0/0/2
  50. ip add 172.16.3.1 30
  51. q
  52. bgp 100
  53. router-id 3.3.3.3
  54. peer 172.16.1.1 as-number 100
  55. ipv4-family unicast
  56. network 172.16.1.0 30
  57. network 172.16.2.0 30
  58. q
  59. q
  60. bgp 100
  61. peer 172.16.2.1 as-number 100
  62. ipv4-family unicast
  63. network 172.16.1.0 30
  64. network 172.16.2.0 30
  65. ``
  66. AR4:
  67. sys
  68. int g0/0/0
  69. ip add 172.16.3.2 30
  70. int g0/0/1
  71. ip add 172.16.4.1 30
  72. q
  73. bgp 200
  74. router-id 4.4.4.4
  75. peer 172.16.4.2 as-number 200
  76. ipv4-family unicast
  77. network 172.16.4.0 30

EBGP

  • AR3与AR4建立对等体关系
  1. AR3:
  2. bgp 100
  3. peer 172.16.3.2 as-number 200
  4. ipv4-family unicast
  5. network 172.16.3.0 30
  6. ``
  7. AR4:
  8. bgp 200
  9. peer 172.16.3.1 as-number 100
  10. ipv4-family unicast
  11. network 172.16.3.0 30