动态路由BGP
- 格式:wps
- 大小:60.00 KB
- 文档页数:6
动态路由BGP一、路由协议BGP介绍1、BGP:距离矢量路由协议(路径矢量):PV。
3、路径矢量交互AS-AS之间信息。
4、路径AS-PATH路径属性(序列号100、200、300防环)当路由器通告给邻居路由器的时候会把自己的AS-PATH放里面通告出去。
AS-PATH的作用:①选择最优路径②防环5、属性丰富、支持点多——>选路精确6、无类路由、支持VLSM可变长子网掩码(CIDR超网)7、封装于TCP之上、端口号:179(降低网络的复杂程度,提高网络可靠性)8、触发式增量更新、NLRI(网络层可达型信息)更新方式:单播(收敛慢)9、AD:20(AS之间运行)200(AS内部运行)10、BGP中自动汇总默认关闭11、三张表:①邻居表:发送Hello消息建立邻居②BGP表:存放网络中的路径、相互更新DLSI信息、选择最优路径加入路由表③路由表:存放最优路径11、BGP的5个消息:①Open建立邻居:1)发送AS号、2)version(版本)、3)hold-time 、4)Route-id②Update负责更新:携带NLRI(所有消息里面都有)③Keepalive维持邻居:60S发送一次、180S没收到消息、就认为邻居Down掉了④Notification通知邻居:当网络出现故障会发送此消息⑤Route-refresh邻居能力:测邻居是否能发消息、收消息12、运行范围:①BGP:运行在AS之间和内部②EBGP:AS之间运行(AD:默认20)③IBGP:AS内部运行(AD:默认200)传递AS内部消息13、BGP邻居建立必要条件①必须手动指定邻居②手动指定的AS号和邻居发的AS号不一样,邻居不能建立③AS中版本不一样,邻居不能建立(BGP版本:默认4)④Hold-time使用较小的(如果邻居发的是180S、手动指定的是150S,那就用小的150S)⑤验证不一样邻居不能建立14、邻居状态:①Idle空闲状态:发送TCP连接,不管邻居是否建立完成,直接进入下一状态。
②Connect:等待TCP建立,等待5S,5S内建立成功,则发送Open消息,并且进入。
Open-sent 状态,如果5S内建立失败,则进入Active状态。
③Active:重置TCP连接,等待连接完成,连接完成后,发送Open消息,并且进入Open-sent 状态。
④Open-sent:等待对端的Open消息,收到之后,协商Open消息,如果协商成功,则发送Keepalive消息,并且进入Open-confirm状态。
如果协商失败,则notification发送消息,回到Idle状态。
⑤Open-confirm确认状态:等待对端消息,如果收到对方的Keepalive消息,则进入established状态。
如果收到的是对方的Notification消息,则回到Idle状态。
⑥Established(已建立状态):发送和接收Update消息,学习路由。
第1个Keepalive消息:通知邻居第2个Keepalive消息:维持邻居15、下一跳不改变原则:路由器从EBGP邻居学到的路由信息,在传递给自己的IBGP邻居时,下一跳不变。
16、水平分割原则:路由器从IBGP邻居学到的路由信息,不在传递给其它IBGP邻居。
(在IBGP中防环的)17、路由黑洞解决方法:①BGP同步②MPLS多协议标签交换③全互联的IBGP邻居(所有IBGP内部路由器都必须手动和边界路由器建立邻居关系)18、BGP的中转AS(相对于AS100和AS300,AS200就是中转AS或传输AS)。
19、BGP中所有IBGP邻居都指定环回口做为更新源(邻居)更可靠、更方便。
20、EBGP特征:EBGP默认跳数为1跳如果EBGP之间想使用环回做更新源(邻居)就必须做以下操作:1)相互之间指定静态路由2)修改EBGP的多跳21、减少大规模IBGP配置方法①对等体组②联盟③路由反射器22、BGP的选路(精确):BGP的选路是在多条路径中使用①单归属道单ISP ②单归属道单ISP ③多归属道多ISP二、BGP的策略属性1、公认必选属性:路由更新时都识别,必须携带。
选路参考:①起源②next-hop ③AS-pash2、公认可选属性:所有设备都识别,可携带可不携带。
选路参考:①本地优先(Local-pref)②原子聚合3、任选可传递性:如果设备自身不识别,可以传递给其它邻居。
选路参考:①聚合者②团体4、任选非可传性:如果设备自身不识别,直接Deny。
选路参考:①MED(多出口签别器)②起源ID ③簇列表④起源(Origin)5、思科(cisco)私有:权重三、BGP属性介绍1、起源(Origin):用来描述网络中路由的来源。
(优先级:i > e > ?)①IGP:通过Ntework命令宣告的IGP路由(标识:i)②EGP:通过EGP学到的路由(标识:e)③Incomplete:通过其它方式(重分发)学到的路由(标识:?)2、Next-hop(下一跳)①下一跳不改变原则②下一跳为更新路由器的IP3、AS-path:记录AS信息①描述路由器到目的网络中间经过的AS-path②AS号是路由依次经过AS-path的顺序③选择AS-path是看经过路径的多少(AS号少的优先)④路径越短越优先4、本地优先:路由器选择出站路径时优先级的比较①在IBGP邻居之间更新的时候携带②默认值:100(越大越优先)5、MED:路由器选择入站路径时优先级的比较①EBGP邻居之间携带②默认值:0 ③越小越优先6、思科(Cisco)私有:权重①更新时不携带权重路由②路由器选择路径优先比较③默认值:32768(自己产生)0(邻居产生)越大越优先(100的倍数)四、选路规则1、权重、默认值:0(只在本地有效)2、本地优先、默认值:1003、本地始发4、AS-path、默认值:1005、起源、优先级:i > e > ?6、MED、默认值:0(越小越优先)7、EBGP优于IBGP8、优选较小的IGP度量9、负载均衡10、选择建立时间最长的IGP邻居11、优选较小的Route-id邻居12、路由反射器13、优选较小邻居的接口IP图标:*(有效的)>(最好的)r:虽然是最好的,但没有加入路由表路径选择:(*标识)<(>标识)五、BGP的配置命令1、EBGP之间使用环回口建邻居(可用可不用)①router bgp 100(AS号) :启用BGP进程②network IP网段mask 子网掩码:宣告自己的网段③neighbor 邻居IP remote-as 邻居AS号:手动指定邻居(邻居IP加邻居AS号)④neighbor 邻居IP update-source loopback 0 :指定更新源为自己的环回口⑤neighbor 邻居IP next-hop-self :指定自己的下一跳⑥neighbor 邻居IP ebgp-multihop 3(跳数) :配置EBGP邻居之间的多跳EBGP邻居之间不设置跳数、直接回车、默认是:255跳(最大跳)⑦ip route 对方IP+子网掩码+出接口/下一跳2、EBGP之间使用IP建邻居①router bgp 100(AS号) :启用BGP进程②network 邻居IP mask 子网掩码:宣告自己的网段③neighbor 邻居IP remote-as 邻居AS号:手动指定邻居(邻居IP加邻居AS号)3、IBGP之间使用环回口建邻居(建议使用)①router bgp 100(AS号) :启用BGP进程②network IP网段mask 子网掩码:宣告自己的网段③neighbor 邻居IP remote-as 邻居AS号:手动指定邻居(邻居IP加邻居AS号)④neighbor 邻居IP update-source loopback 0 :指定更新源为自己的环回口⑤neighbor 邻居IP next-hop-self :指定自己的下一跳4、IBGP之间使用IP建邻居①router bgp 100(AS号) :启用BGP进程②network 邻居IP mask 子网掩码:宣告自己的网段③neighbor 邻居IP remote-as 邻居AS号:手动指定邻居(邻居IP加邻居AS号)④neighbor 邻居IP next-hop-self :指定自己的下一跳5、BGP验证(只支持MD5验证和EIGRP相同)BGP验证是在TCP下实现①router bgp 100 :进入BGP进程②neighbor 邻居IP password 密码:指定邻居IP设置验证密码、生成验证6、BGP手动汇总(链路聚合)①router bgp 100 :进入BGP进程②aggregate-address 1.1.0.0 255.255.192.0 :链路聚合显示多条路由条目链路聚合显示一条路由条目③aggregate-address 1.1.0.0 255.255.192.0 summary-only :链路聚合显示一条7、BGP对等体组①router bgp 100 :进入BGP进程②neighbor (名字) remote-as 邻居AS号:创建对等体组起名字③neighbor (名字) update-source loopback 0 :指定对等体组的更新为自己环回口④neighbor (名字) next-hop-self :指定下一跳⑤neighbor 邻居IP peer-group (名字) :将邻居加入到组中8、路由过滤(分发列表)①access-list 1 permit 源IP+反向掩码:定义网络②router bgp 100 :进入BGP进程③distribute-list 1 in(入口) :使用分发列表在入口调用ACL④neighbor 邻居IP distribute-list 1 in :针对邻居使用分发列表使用过分发列表以后,效果是突显不出来的,只有重置一下BGP表,才能显示出效果重置BGP表方法:①clear ip bgp * :硬重置BGP(重新建立BGP邻居、会影响网络)②clear ip bgp * in :软重置BGP表(路由刷新报文、相互之间发送消息、不重新③clear ip bgp 邻居IP :指定邻居、重置建立BGP邻居)9、使用MED进行BGP选路①access-list 1 permit 源IP+反向掩码:定义网络②route-map (名字) :启用route-map起名字③match ip address 1 :调用刚才定义的ACL④set metric 1(MED值) :使用MED、修改MED值⑤rotue-map (名字) permit 20 :允许其它所有通过⑥router bgp 100 :进入BGP进程⑦neighbor 邻居IP route-map (名字) in/out :调用route-map的名字10、使用起源进行BGP选路①access-list 1 permit 源IP+反向掩码:定义网络②route-map (名字) :启用route-map起名字③match ip address 1 :调用刚才定义的ACL④set origin egp AS号:使用起源、修改起源类型⑤rotue-map (名字) permit 20 :允许其它所有通过⑥router bgp 100 :进入BGP进程⑦neighbor 邻居IP route-map (名字) in/out :调用route-map的名字11、使用AS-path进行BGP选路①access-list 1 permit 源IP+反向掩码:定义网络②route-map (名字) :启用route-map起名字③match ip address 1 :调用刚才定义的ACL④set as-path prepend(附加) AS号:使用AS-path、添加AS-path号⑤rotue-map (名字) permit 20 :允许其它所有通过⑥router bgp 100 :进入BGP进程⑦neighbor 邻居IP route-map (名字) in/out :调用route-map的名字12、使用本地优先进行BGP选路①access-list 1 permit 源IP+反向掩码:定义网络②route-map (名字) :启用route-map起名字③match ip address 1 :调用刚才定义的ACL④set local-preference 优先值:使用本地优先、更改优先值⑤rotue-map (名字) permit 20 :允许其它所有通过⑥router bgp 100 :进入BGP进程⑦neighbor 邻居IP route-map (名字) in/out :调用route-map的名字13、使用权重进行BGP选路①access-list 1 permit 源IP+反向掩码:定义网络②route-map (名字) :启用route-map起名字③match ip address 1 :调用刚才定义的ACL④set weight 权重值:使用权重、更改权重值⑤rotue-map (名字) permit 20 :允许其它所有通过⑥router bgp 100 :进入BGP进程⑦neighbor 邻居IP route-map (名字) in/out :调用route-map的名字14、修改BGP的Router-id①router bgp 100 :进入BGP进程②bgp router-id IP :输入新的Route-id15、修改BGP时间①router bgp 100 :进入BGP进程②timers bgp 60 180 :修改BGP时间16、BGP宣告缺省路由①router bgp 100 :进入BGP进程②network 0.0.0.0 mask 0.0.0.0 :宣告BGP的缺省六、BGP的查看命令1、show ip route bgp :只查看BGP路由条目2、show ip bgp neighbor :查看BGP邻居表3、show ip bgp summary :查看BGP概要信息4、show ip bgp :查看BGP表5、debug ip bgp out :动态调试BGP路由6、debug ip bgp updates :动态调试BGP更新7、debug ip bgp events :动态调试BGP事件信息8、debug ip packet :动态调试IP协议包9、undebug all :关闭所有动态调试信息BGP在超大型网络(运营商)里面常用。