1 / 58

实验四 BGP 协议实验

实验四 BGP 协议实验. 2008 年 3 月. 主要内容. 实验原理 BGP 协议概述 BGP 报文种类 BGP 路由属性 BGP 路由聚合 BGP 路由策略和路由过滤 实验内容 注意事项. BGP协议概述. Internet 层次化路由体系结构 自治系统 BGP 协议基本概念 BGP工作机制 BGP 两种邻居- IBGP 和 EBGP BGP路由通告原则 BGP同步 成为BGP路由的途径. Internet 层次化路由体系结构. 网络业务供应商. 网络业务供应商. 区域业务供应商. 区域业务供应商. 区域业务供应商.

tevin
Download Presentation

实验四 BGP 协议实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验四 BGP协议实验 2008年3月

  2. 主要内容 • 实验原理 • BGP协议概述 • BGP报文种类 • BGP路由属性 • BGP路由聚合 • BGP路由策略和路由过滤 • 实验内容 • 注意事项

  3. BGP协议概述 • Internet层次化路由体系结构 • 自治系统 • BGP协议基本概念 • BGP工作机制 • BGP两种邻居-IBGP和EBGP • BGP路由通告原则 • BGP同步 • 成为BGP路由的途径

  4. Internet层次化路由体系结构 网络业务供应商 网络业务供应商 区域业务供应商 区域业务供应商 区域业务供应商 区域业务供应商 ISP ISP ISP ISP ISP ISP ISP ISP 用户 用户 用户 用户 用户 用户 用户 用户

  5. 自治系统 • 什么是自治系统(AS) • 为什么要引入自治系统? • 自治系统内部的路由协议 • 自治系统之间的路由协议 —— BGP

  6. BGP协议 • BGP是外部路由协议,用来在AS之间传递路由信息 • BGP是一种距离矢量路由协议,从设计上避免了环路的发生 • 传送协议:TCP,端口号179 • 支持CIDR(无类别域间选路),控制路由表的扩展 • 路由更新:只发送增量路由 • 为路由附带属性信息 • 丰富的路由过滤和路由策略

  7. BGP工作机制

  8. BGP Speaker BGP两种邻居-IBGP和EBGP AS300 AS100 RTA RTE EBGP EBGP IBGP RTB RTD AS200 RTC

  9. BGP路由通告原则 • 多条路径时,BGP Speaker只选最优的给自己使用 • BGP Speaker只把自己使用的路由通告给相邻体 • BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP) • BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告 • BGP Speaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定 • 连接一建立,BGP Speaker将把自己所有BGP路由通告给新相邻体

  10. BGP同步 E0:10.1.1.1/24 AS300 RTA AS100 S0:1.1.1.1/24 RTF EBGP EBGP AS200 S0:1.1.1.2/24 IBGP RTB S1:2.1.1.2/24 S0:2.1.1.1/24 RTE RTC RTD

  11. 成为BGP路由的途径 • BGP的路由信息需要通过配置命令的方式注入到BGP中 • 纯动态注入 将IGP发现的路由全部注入 • 半动态注入 有选择的注入IGP发现的路由 • 静态注入 注入静态配置的路由

  12. 成为BGP路由的途径之一:纯动态注入 AS200 18.0.0.1/8 OSPF RTB 18.0.1.1/8 把OSPF (IGP )发现的路由 18.0.0.1/8、 18.0.1.1/8 全部动态地注入到RTB的BGP路由表中。

  13. 成为BGP路由的途径之一:半动态注入 AS200 18.0.0.1/8 OSPF RTB 18.0.1.1/8 对OSPF (IGP )发现的路由进行过滤,只选择18.0.0.1/8 动态地注入到RTB的BGP路由表中。

  14. 成为BGP路由的途径之三:静态注入 AS200 18.0.0.1/8 RTB 18.0.1.1/8 人为配置静态路由18.0.0.1/8注入到RTB的BGP路由表中。

  15. 主要内容 • 实验原理 • BGP协议概述 • BGP报文种类 • BGP路由属性 • BGP路由聚合 • BGP路由策略和路由过滤 • 实验内容 • 注意事项

  16. BGP报文种类 BGP报文有四种类型: • Open:打招呼“你好,跟我交个朋友吧!” • KeepAlive:我还活着呢,别不理我 • Update:有新闻...... • Notification:我不跟你玩了!

  17. BGP报文头 BGP报文的格式是一样的:都是“报文头+报文体”的格式。 下面给出的是BGP报文头:

  18. Open报文 Open报文是由报文头加如下结构构成的。 交换和协商各自的版本、自治系统号、保持时间、BGP标识符等信息。

  19. KeepAlive报文 KeepAlive报文只有报文头。 在BGP对等体间周期地发送,以确保连接保持有效。

  20. Update报文 Update报文由报文头加如下结构构成。 携带路由更新信息,包括撤销路由信息和可达路由信息及其路径属性。

  21. Notification报文 Notification报文由报文头加如下结构构成。 当BGP检测到差错(连接中断、协商出错、报文差错等)时,发送NOTIFICATION 报文,关闭同对等体的连接。

  22. BGP协议的状态机 Connect-Retry timer expiry TCP connection fails Connect-Retry timer expiry Active Connect TCP connection fails Others TCP connection setup Start Others TCP connection setup Open-sent Idle Error Correct OPEN packet received Error Error 1. KeepAlive timer expiry 2. Update received 3. KeepAlive received Open-confirm Established KeepAlive packet received KeepAlive timer expiry

  23. BGP协议中消息的应用 • 通过TCP建立BGP连接时,发送open消息 • 连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端路由信息 • 稳定后此时要定时发送KEEPALIVE消息以保持BGP连接的有效性 • 当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对端

  24. 主要内容 • 实验原理 • BGP协议概述 • BGP报文种类 • BGP路由属性 • BGP路由聚合 • BGP路由策略和路由过滤 • 实验内容 • 注意事项

  25. BGP的路由属性 • 表达了路由的特征 • 过渡和非过渡的 • 必遵和可选的 • 便于扩展 • 截至目前共16种属性

  26. 常见BGP路由属性 9、Originator-ID 10、Cluster-List 11、Destination Pref (MCI) 12、Advertiser (Baynet) 13、Rcid-Path (Baynet) 14、MP_Reach_NLRI 15、MP_Unreach_NLRI 16、Extended_Communities 1、Origin 2、AS-Path 3、Next hop 4、MED 5、Local-Preference 6、Atomic-Aggregate 7、Aggregator 8、Community

  27. 起点(Origin)属性 • 一般的,具体的实现按如下方式决定一条路由的Origin属性 • 某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP • 路由是通过EGP得到的,则origin属性为EGP • 其他情形下,Origin属性都为Incomplete

  28. AS路径(AS-Path)属性 D(18.0.0.0/8) AS300 AS400 AS200 RTA 30.0.0.1 D,dl 400 300 200 30.0.0.2 RTB AS100 AS500 D,d2500 200 D,d1 400 300 200 >D,d2 500 200

  29. 下一跳(Next Hop)属性 RTA 可经下一跳10.0.0.2到达18.0.0.0/8 可经下一跳10.0.0.3到达20.0.0.0/8 可经下一跳21.0.0.1到达19.0.0.0/8 RTC 可经下一跳10.0.0.1到达19.0.0.0/8 可经下一跳10.0.0.3到达20.0.0.0/8 AS200 RTC RTA EBGP 10.0.0.1 18.0.0.0/8 AS100 21.0.0.2 10.0.0.2 IBGP IBGP 20.0.0.0/8 21.0.0.1 10.0.0.3 RTD 19.0.0.0/8 RTB RTB 可经下一跳10.0.0.2到达18.0.0.0/8 可经下一跳10.0.0.3到达20.0.0.0/8

  30. 本地优先属性 AS400 D (18.0.0.0/8) RTF AS200 AS300 RTD 30.0.0.1 20.0.0.1 RTE 30.0.0.2 20.0.0.2 AS100 RTB RTC D,local-pref2 200 D,local-pref1 100 RTA D,local-pref1 100 >D,local-pref2 200 RTA就会优先选择本地优先级高的local-pref2

  31. MED(Multi-Exit-DISC)属性 AS100 >D,metric1 10 D,metric2 20 RTA 30.0.0.1 20.0.0.1 RTA会选择metric值较小 的metric1 D,metric2 20 D,metric1 10 30.0.0.2 20.0.0.2 RTB RTC IBGP D(18.0.0.0/8) AS200

  32. 团体(Community)属性 团体是一组有相同性质的目的地的路由,一个团体不限 于一个网络或一个自治系统,它没有物理边界。 公认的团体 : • no-export • 不通告给联盟/AS外的BGP相邻体 • no-advertise • 不通告给任何BGP相邻体 • local-AS • 不通告给EBGP相邻体 • Internet • 通告给所有其他路由器

  33. 主要内容 • 实验原理 • BGP协议概述 • BGP报文种类 • BGP路由属性 • BGP路由聚合 • BGP路由策略和路由过滤 • 实验内容 • 注意事项

  34. BGP聚合——只通告聚合路由 AS100 AS200 172.16.0.0/20 172.16.0.0/24 172.16.1.0/24 172.16.2.0/24 ...... 172.16.15.0/24 RTA RTB EBGP 172.16.0.0/20 [RTA-bgp] aggregate 172.16.0.0 255.255.240.0 detail-suppressed

  35. BGP聚合——通告聚合路由和具体路由 AS100 AS200 172.16.0.0/20 RTA 172.16.0.0/24 172.16.1.0/24 172.16.2.0/24 ...... 172.16.15.0/24 172.16.0.0/24 172.16.1.0/24 172.16.2.0/24 ...... 172.16.15.0/24 EBGP 172.16.0.0/20 RTB 172.16.0.0/20 [RTA-bgp] aggregate 172.16.0.0 255.255.240.0 [RTB-bgp] aggregate 172.16.0.0 255.255.240.0

  36. 主要内容 • 实验原理 • BGP协议概述 • BGP报文种类 • BGP路由属性 • BGP路由聚合 • BGP路由策略和路由过滤 • 实验内容 • 注意事项

  37. 路由过滤——基于ACL AS300 RTA RTB 30.0.0.1 30.0.0.2 19.0.0.0/8 10.0.0.2 20.0.0.2 18.0.0.0/8 18.0.0.0/8 10.0.0.1 RTC RTD 20.0.0.1 AS100 18.0.0.0/8 AS200 RTA: [Quidway] acl number 1 [Quidway-acl-1] rule deny 18.0.0.0 0.255.255.255 [Quidway-acl-1] rule permit 0.0.0.0 255.255.255.255 [RTA-bgp]peer 10.0.0.1 filter-policy 1 export

  38. 路由过滤——基于AS-Path AS300 RTA RTB 30.0.0.1 30.0.0.2 10.0.0.2 20.0.0.2 仅发送 本AS的 路由 仅接受从 AS100 始发的 路由 10.0.0.1 RTC RTD 20.0.0.1 AS100 AS200 RTA: [RTA] ip as-path-acl 1 permit ^$ [RTA-bgp] peer 10.0.0.1 as-path-acl 1 1 export RTD: [RTD] ip as-path-acl 1 permit \b100$ [RTD-bgp]peer 20.0.0.2 as-path-acl 1 import ^表示路径字符串的开始,$表示结束,\b是AS号码之间的分割符。 ^$匹配本地路由;\b100$匹配从AS100始发的路由。

  39. 路由过滤-基于Route Policy AS200 1.1.1.2 RTC AS100 1.1.1.1 RTB 19.0.0.0/8 OSPF 不允许RTB向AS外通告路由 18.0.0.0/8;且所有通告出去 的路由的metric值必须为888 RTA 18.0.0.0/8 [RTB]acl 1 [RTB-acl-1] rule deny 18.0.0.0 0.255.255.255 [RTB-acl-1] rule permit any [RTB]route-policy deny18 permit 10 [RTB-route-policy] if-match ip address 1 [RTB-route-policy] apply cost 888 [RTB-bgp] peer 1.1.1.2 route-policy deny18 export

  40. 一个BGP路由器对路由的处理过程 从对等体 接受路由 根据属性 过滤和设 置属性 合并 具体 路由 选择 最佳 路由 安装 路由 发送路由 给对等体 输入 策略机 路由 聚合 决策 过程 加入 路由表 输出 策略机 输入 策略机 BGP 路由 IGP路由 路由表

  41. BGP路由选择过程 综合起来,本地BGP路由选择的过程为: (1)如果此路由的下一跳不可达,忽略此路由 (2)选择本地优先级较大的路由 (3)选择本地路由器始发的路由(本地优先级相同) (4)选择AS路径较短的路由 (5)依次选择起点类型为IGP,EGP,Incomplete类型的路由 (6)选择MED较小的路由 (7)选择RouterID较小的路由

  42. BGP典型组网图 RTE AS500 EBGP RIP RTG AS400 OSPF EBGP AS100 EBGP RTA RTC IBGP 逻辑全连接 RTB RTD EBGP EBGP RTF AS200 AS300 OSPF RTH RIP

  43. 主要内容 • 实验原理 • 实验内容 • BGP协议分析实验 • BGP同步机制实验 • BGP状态转换实验 • BGP路由聚合实验 • BGP路由属性实验 • BGP路由策略实验 • 设计实验 • 注意事项

  44. 8.1 BGP协议分析(P172) 8.1.6 实验步骤 1、步骤2略去,端口镜像一律用HUB替代。 2、修改图8-5如右图 3、步骤3 中路由器R1、R2的配置一律如下面所示: Loopback1:5.5.5.5/8 Loopback1:4.4.4.4/8 AS100 AS200 PCA R1 R2 E0:1.1.1.1/16 E0:2.1.1.2/16 VLAN2:1.1.1.2/16 Vlan2:2.1.1.1/16 E0/1 E0/1 Vlan3:3.1.1.1/16 Vlan3:3.1.1.2/16 S1 E0/2 E0/2 S2 AS300 [R1] bgp 100 //启动BGP,自治系统号为100 [R1-bgp]groupr1s1external //配置对等体组 [R1-bgp] peerr1s1as-number 300 //指定对等体组的自治系统号 [R1-bgp]peer 1.1.1.2 groupr1s1 //向对等体组中加入组员

  45. Loopback1:5.5.5.5/8 PCA AS100 R1 E0:1.1.1.1/16 Loopback1:4.4.4.4/8 VLAN2:1.1.1.2/16 AS300 E0/1 R2 Vlan3:3.1.1.1/16 S1 E0/2 S2 E0:2.1.1.2/16 Vlan3:2.1.1.1/16 Vlan2:3.1.1.2/16 E0/2 E0/1 BGP同步机制验证(P174) 修改图8-6如右图

  46. BGP同步机制验证(P174)续 • (1)在上一实验的基础上,如组网图-6进行组网和配置,注意S1的BGP邻居改为1.1.1.1和2.1.1.2,R2的BGP邻居改为3.1.1.1,R1的BGP邻居不变。注入5.0.0.0网段和4.0.0.0网段的路由信息。查看R1和R2的路由表,是否有对方loopback的路由信息?为什么?在R1和R2上以本身的loopback为源地址ping对方的loopback。能否ping通?

  47. BGP同步机制验证(P174)续 • (2)在自治系统300内配置ospf协议,注意不要将R2的Loopback1配置在ospf范围内。观察R1、S1、S2、R2的路由表信息,找出与在R1上以5.5.5.5为源地址ping 4.4.4.4相关的路由信息,分析在哪台设备上缺少相关路由信息,试在该设备上进行适当的静态路由配置,使得在R1上以5.5.5.5为源地址能ping通4.4.4.4。 • (3)试分析BGP不同步引起的问题。

  48. 8.2 BGP状态转换分析 • 将组网图和配置恢复为8.1.6节步骤5 • 按照8.2.6的实验步骤分析BGP的状态变化。

  49. 8.3 BGP路由聚合(P178) AS100 Loopback2:192.168.0.1/24 • 修改图8-8如右图 • 在8.2.6节基础上继续实验 • 注:聚合路由只需要在R1上配置 Loopback1:5.5.5.5/8 Loopback1:4.4.4.4/8 Loopback3:192.168.1.1/24 AS200 R1 R2 E0:1.1.1.1/16 E0:2.1.1.2/16 VLAN2:1.1.1.2/16 Vlan2:2.1.1.1/16 E0/1 E0/1 Vlan3:3.1.1.1/16 Vlan3:3.1.1.2/16 S1 S2 E0/2 E0/2 AS300 图8-8 错误更正(P179): 1、将[R1]bgp一律改为[R1]bgp 100 2、将[R2]bgp一律改为[R2]bgp 200

  50. 8.4 BGP的路由属性(P183) AS100 • 修改图8-10如右图 • 在8.3.6节基础上继续实验 Loopback2:192.168.0.1/24 Loopback1:5.5.5.5/8 Loopback1:4.4.4.4/8 Loopback3:192.168.1.1/24 AS200 R1 R2 E0:1.1.1.1/16 E0:2.1.1.2/16 VLAN1:1.1.1.2/16 Vlan1:2.1.1.1/16 E0/1 E0/1 Vlan2:3.1.1.1/16 Vlan2:3.1.1.2/16 S1 E0/2 E0/2 S2 AS300 Loopback1:6.6.6.6/8 8-10 错误更正: 1、 P184步骤2中,将[R2-bgp]dis bgp改为 [R2-bgp]dis bgp routing-table 2、P185第6行 将[S2-bgp]改为[S1-bgp]dis bgp routing-table

More Related