《2015-bgp-080910.ppt》由会员分享,可在线阅读,更多相关《2015-bgp-080910.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022/12/181BGP原理与基本配置原理与基本配置 李瑛 通信与信息工程学院2022/12/182本课目标本课目标l了解互联网的分层路由体系l理解域间与域内路由作用的不同l理解BGP的工作原理l掌握BGP协议的基本配置lBGP会话建立、路由通告、下一跳属性修改等l综合练习IGP+BGP2022/12/183Internet:分层路由:分层路由l以自治系统为单位 lAS(Autonomous Systems)l 同一管理机构管理之下的路由器集合l AS内:使用IGP,执行相同的策略l AS间:使用BGP,交换路由信息。2022/12/184域间与域内路由域间与域内路由 2022/12/18
2、5分层选路:分层选路:“烫山芋烫山芋”策略策略“烫山芋”策略:如果一个分组的目的地在如果一个分组的目的地在AS之外,该分组就被当作一个之外,该分组就被当作一个“烫手烫手的山芋的山芋”,为其选择最近的出口,让其尽快地让离开本地。,为其选择最近的出口,让其尽快地让离开本地。2022/12/186BGP协议协议(Border Gateway Protocol边界网关协议边界网关协议)问题:vAS的独立性:每个AS的运营方式各自不同v可信性:AS彼此会有商业竞争关系,或处于政治上敌对的国家之间。v策略:vBGP更关注策略和流量的控制能力;vIGP更关注在一个路由域内部的路由最优化2022/12/187
3、路径向量算法路径向量算法l主要思想:通告到目的地的完整路径2022/12/188BGP 消息类型消息类型四种类型的消息:lOPEN 用于建立 BGP 连接lKEEPALIVE 用于保持BGP连接lUPDATE 发送 BGP 路由更新或撤消lNOTIFICATION BGP差错提示信息 2022/12/189OPEN 消息消息l OPEN 消息用于BGP 连接的建立:l版本号:在对等体之间协商都双方支持的最高版本号lAS号:本方的AS号码,占2字节l保持时间:双方协商后取2者的较小值lBGP标识:表示发送者的ID,一般是Loopback地址l可选参数:如密码认证等AS100AS200OPENOP
4、EN2022/12/1810KEEPALIVE消息消息l 缺省每60秒发送一次Keepalives 消息(对等体之间)l“保持计时器”(Hold time)的时间周期是180秒l Keepalives 消息将会将“保持时间”(Hold timer)重新置为0l 如果“保持时间”(Hold timer)超时,将认定对方死亡l Keepalive 和“保持时间”(Hold timer)均可配置l 在建立 BGP 连接时,上述参数双方协商时会取最低值l Keepalive 消息的长度是 19 个字节AS100AS200KEEPALIVESBGP2022/12/1811UPDATE消息消息l相同BGP
5、属性的路由才能在一个Update消息发送l通告网络可达性信息、路径属性,或撤销不可用的路由。l路由属性:AS-Path、本地参考、路由来源、下一跳,其它可选属性AS100AS20012.0.0.0/813.0.0.0/814.0.0.0/815.0.0.0/8Route updates12.0.0.0/813.0.0.0/8Withdrawn routes15.0.0.0/82022/12/1812NOTIFICATION消息消息l 当检测到有错误发生时,将会发送“通告消息”(Notification message)l“通告消息”(Notification message)将会关闭 BGP
6、会话l 可能出现的错误信息包括:验证失败,路由回路,等等AS100AS200NOTIFICATIONAuthentication failure BGP邻居:iBGP和eBGP两种BGP会话:会话:iBGP与与eBGP2022/12/1814iBGP(Internal BGP)liBGP之间可以通过多个非 BGP 路由器连接AS100iBGPOSPFOSPFOSPFR1loopback201.7.108.2/32R2loopback201.7.108.1/32eBGPeBGP2022/12/1815路径向量算法路径向量算法leBGP间的路径向量通告2022/12/1816路径向量算法(续一)路
7、径向量算法(续一)liBGP间的路径矢量通告2022/12/1817路径向量算法(续二)路径向量算法(续二)l路径属性跨域传输时的变化 2022/12/1818工作过程:创建工作过程:创建BGP会话会话 2022/12/1819工作过程:交换路由信息工作过程:交换路由信息 2022/12/1820工作过程:维持邻居间会话工作过程:维持邻居间会话 2022/12/1821工作过程:触发更新工作过程:触发更新2022/12/1825IGP与与BGP的协同的协同1.提供内部可达性(IGP-内部网关内部网关协议)2.学习外部路由(eBGP)3.向内部分布学到的外部路由(iBGP)4.通过内部最短路由到
8、达出口(IGP)624921332022/12/1826路由属性(路由属性(Route Attributes)lBGP使用属性描述路由l在导入/导出决策时使用l有的属性是本地有效的l仅在AS内通过iBGP会话通告l有的属性在eBGP会话间通告2022/12/1827属性属性(1):ASPATHl包含在一条路由通告中l描述一条路由经过的AS的列表AS 7018AS 12654128.112.0.0/16AS path=7018 88AS 88128.112/16IP prefix=128.112.0.0/16AS path=882022/12/1828属性属性(2):LOCAL PREFl“Lo
9、cal Preference”l用于在不同的AS间选择路由l值越高,优先级越高lAS本地属性;仅在 iBGP消息中携带AS4AS2AS3AS1140.20.1.0/24BGP路由表路由表(AS4)2022/12/1830属性属性(3):MEDl“Multi-Exit Discriminator”l用于当AS之间通过两条以上的链路互联时,指定AS通告的前缀到一条链路的距离。MED值越小,优先级越高l通告前缀的AS 负责设置MEDl接收前缀的AS 使用 MED选择合适的链路(非强制!)Link BLink AMED=10MED=50AS1AS2AS3destination prefix2022/1
10、2/1831 属性属性(4):下一跳属性下一跳属性l“下一跳”属性(Next-Hop Attribute)标明该路由下一跳的 IP 地址 l“下一跳”属性由 eBGP 或 iBGP 产生leBGP 产生 的“下一跳”属性正常被保留在 iBGP的路由传递中liBGP 对等体必须有到 eBGP 下一跳地址的路由,否则该路由无效。l BGP路由的下一跳地址一般需要通过递归查找。2022/12/1832属性属性(4):下一跳属性下一跳属性lRouter A 向Router B通告路由 172.16.0.0/下一跳=10.10.10.3lRouter B向Router C以iBGP的方式通告路由 172
11、.16.0.0/下一跳=10.10.10.3,下一跳不变。AS 64500172.20.0.0172.16.0.0AS 6500010.10.10.110.10.10.3172.20.10.1172.20.10.2BAC2022/12/1833 AS100130.1.0.0/16AS200AS300 ip address 201.1.100.1 255.255.255.0130.1.0.0/16Next-hop:201.1.100.1r1r2r4r5130.1.0.0/16Next-hop:100.1.1.1iBGPr3属性属性(4):修改下一跳属性修改下一跳属性liBGP 对等体可能没有到e
12、BGP 的下一跳地址的路由l需要iBGP邻居修改 Next-hop 属性为本地地址。2022/12/1834属性(属性(5):路由起源):路由起源(Origin Attribute)lIGP(i)l 使用Network命令通告的路由lEGP(e)l 从EGP分发(Redistribute)而来lIncomplete(?)l 从IGP 或静态路由重分布(Redistribute)而来l路由起源的优先级l ieIncomplete。2022/12/1835BGP 配置基本步骤配置基本步骤l设置自治系统号l指定BGP邻居和对方AS号l通告路由2022/12/1836设置设置AS号号启动BGP协议:z
13、te_a#config terminalZte_a(configure)#router bgp 100 上述语句表明路由器zte_a运行了BGP协议,且属于AS100。注:一台路由器只能属于一个AS。2022/12/1837配置配置BGP邻居邻居 如下图:RTA与RTB形成EBGP邻居,RTB与RTC形成iBGP邻居,RTD与RTC形成eBGP邻居。2022/12/1838配置配置BGP邻居(续)邻居(续)lRTA配置如下:router bgp 100 neighbor 129.213.1.1 remote-as 200lRTB配置如下:router bgp 200 neighbor 129.
14、213.1.2 remote-as 100 neighbor 175.220.1.2 remote-as 2002022/12/1839配置配置BGP邻居(续)邻居(续)l建立iBGP邻居时,Loopback地址的使用:l通常在配置BGP邻居时,推荐使用loopback地址。l下图中,强制RTA使用其loopback地址,作为其TCP连接的源地址。这样,当RTB与RTA建立邻居就使用RTA的loopback地址。l必须保证2台路由器的Loopback地址能互通。2022/12/1840配置配置BGP邻居(续)邻居(续)lRTA配置如下:router bgp 100 neighbor 190.2
15、25.11.1 remote-as 100 neighbor 190.225.11.1 update-source loopback1lRTB配置如下:router bgp 100 neighbor 150.212.1.1 remote-as 1002022/12/1841配置配置BGP邻居(续)邻居(续)eBGP中Multihop的使用:leBGP邻居关系需要在两台路由器的直连接口上建立。l当在非直连接口建立eBGP邻居时,需要使用Multihop命令。l如下图,RTA 需要与RTB的非直连接口180.225.11.1建立连接。2022/12/1842配置配置BGP邻居邻居(续)(续)lRT
16、A配置如下:router bgp 100 neighbor 180.225.11.1 remote-as 300 neighbor 180.225.11.1 ebgp-multihoplRTB配置如下:router bgp 300 neighbor 129.213.1.2 remote-as 1002022/12/1843BGP路由通告原则路由通告原则l被通告路由必须已在被通告路由必须已在IP路由表中路由表中;lBGP 路由器从eBGP获得的路由会向它所有BGP邻居通告(包括eBGP和iBGP);lBGP 路由器从iBGP获得的路由不向它的iBGP邻居通告(iBGP路由不转发);lBGP 路由
17、器从iBGP获得的路由是否通告给它的eBGP邻居要依IGP和BGP同步的情况决定。2022/12/1844通告路由通告路由使用使用Network命令:命令:l使用network命令只能通告本路由器已知的网络,即该网络必须已在本地IP路由表中。l通告每条路由时,会先检查可达性通告每条路由时,会先检查可达性lNetwork命令在BGP中的使用不同于OSPF。举例:在RTA中通告网络192.213.0.0/16 RTA#router bgp 1 RTA#network 192.213.0.0 255.255.0.02022/12/1845通告路由通告路由(续)(续)重分布静态路由到重分布静态路由到B
18、GP:对于重分布到BGP中的路由,在BGP路由表中显示路由源为incomplete?。RTC#router bgp 200 neighbor 1.1.1.1 remote-as 300 redistribute static ip route 175.220.0.0 255.255.255.0 179.110.1.1 .2022/12/1846通告路由(续)通告路由(续)l使用redistribute命令将IGP路由重分布到BGP中:l使用redistribute命令时要应防止IGP从BGP学习到的路由再次重分布到BGP中。l不建议采用重分布IGP到BGP的方式,因为IGP路由的任何改变,都会
19、导致BGP路由更新。l缺省情况,重分布ospf到BGP时,仅分布内部路由到BGP。2022/12/1847通告路由通告路由(续)(续)下图例:RTC与RTB之间运行OSPF协议,RTC与RTD之间运行BGP。并在OSPF协议与BGP协议之间进行路由重分布。RTC上进行了路由重分布。2022/12/1848通告路由通告路由(续)(续)l配置例,将ospf学到的路由重分布到BGP中:RTC配置如下:router ospf 1 network 175.220.0.0 0.0.255.255 area 0 router bgp 200 neighbor 1.1.1.1 remote-as 300 re
20、distribute ospf-int2022/12/1849BGP同步同步l因为iBGP之间可能非直接连接,当非BGP路由器参与对BGP路由条目的转发时,需要IGP路由器也有相关BGP路由。l如果不是从IGP中学到路由,或下一跳不可达,iBGP就不会将该路由安装到路由表中。l从从iBGP邻居学习到的路由,必须在邻居学习到的路由,必须在IGP中存在,才通告给中存在,才通告给eBGP邻邻居,这就是居,这就是BGP与与IGP的同步。的同步。iBGPeBGPeBGPAS100AS200AS3002022/12/1850关闭同步关闭同步启动BGP协议后:zte_a#config terminalZte
21、_a(configure)#router bgp 100Zte_a(configure-router)#no synchronization 上述语句表明路由器zte_a关闭了同步功能。2022/12/1851BGP状态查询命令状态查询命令首先需要观察BGP的连接状态,只有状态处于“Established”的才正常:GER#show ip bgp summary Neighbor Ver As MsgRcvd MsgSend Up/Down(s)State222.34.128.68 4 100 4 0 00:00:30 Established2022/12/1852BGP显示命令(续显示命令(
22、续)显示BGP邻居的详细信息:GER#show ip bgp neighbor BGP neighbor is 222.34.128.68,remote AS 100,internal linkBGP version 4,remote router ID 222.34.129.12BGP state=Established,up for 00:06:29Last read update 00:05:59,hold time is 90 seconds,keepalive interval is 30 secondsNeighbor capabilities:Route refresh:adve
23、rtised and receivedAddress family IPv4 Unicast:advertised and receivedAll received 18 messages5 updates,0 errs;1 opens,0 errs;12 keepalives;0 vpnv4 refreshs,0 ipv4 refreshs,0 errs;0 notifications,0 other errs2022/12/1853BGP显示命令显示命令(续)(续)显示BGP路由表的详细信息:GER-DH#show ip bgp route Status codes:*valid,best
24、,i-internalOrigin codes:i-IGP,e-EGP,?-incomplete Dest NextHop Metric LocPrf RtPrf Path*222.34.129.1/32 0.0.0.0 110 i*i 222.34.129.1/32 222.34.128.65 100 200 i*222.34.129.2/32 0.0.0.0 110 i*i 222.34.129.2/32 222.34.128.65 100 200 i*222.34.129.3/32 0.0.0.0 110 i*i 222.34.129.3/32 222.34.128.65 100 200 i