网站做全好吗,帮客户做网站,最新网站建设的模板,网页版梦幻西游攻略目录
一、为何需要BGP#xff1f;
二、BGP
2.1、BGP邻居
2.2、BGP报文
2.3、BGP路由
2.4、BGP通告遵循原则
2.5、BGP实验
第一步#xff1a;建立邻居
第二步#xff1a;引入路由
BGP路由黑洞
路由黑洞解决方案
1、IBGP全互联
2、路由引入
3、MPLS 多协…目录
一、为何需要BGP
二、BGP
2.1、BGP邻居
2.2、BGP报文
2.3、BGP路由
2.4、BGP通告遵循原则
2.5、BGP实验
第一步建立邻居
第二步引入路由
BGP路由黑洞
路由黑洞解决方案
1、IBGP全互联
2、路由引入
3、MPLS 多协议标签交换
三、BGP路由反射器 路由策略让自己不计算路由或者让自己不产生LSA发送给邻居 ospf企业网 isis运营商
一、为何需要BGP IGP内部网关协议ospfisis等 1、IGP无法承载和计算庞大的路由条目IGP能够处理的路由条目有限OSPF10000条 2、同一批路由器运行了相同的协议如OSPF只有没有做策略两两设备间都能相互通信两个协议之间需要有限制的去传递路由信息
二、BGP BGP基本原理ASBR设备把想发布到其他AS的路由先引入到本设备运行的BGP中再通过BGP报文发送到对等体中最终实现跨AS的路由传递。 BGP边界网关协议 AS自治域系统 BGP工作在AS的边界上采用TCP作为传输层协议端口号179触发式更新而不是周期性更新。 BGP路由器BGP发言者BGPSpeaker运行BGP的路由器 通过BGP的属性可以获悉路由传递过来经过的路径这条路由从哪里产生经过了哪些AS经过了哪台设备的转发开销是多少等所以被称为路径矢量路由协议。
2.1、BGP邻居 BGP建立邻居关系单播起邻居前提是能够通信的路由器分为两种
不同AS之间建立的邻居关系称为EBGP peer一般用物理口直连路由起邻居同一AS之间建立的邻居关系称为IBGP peer一般用环回口起邻居因为物理口down就没有邻居关系了但其他路由能够通信先跑IGP协议确保能够通信再建立IBGP邻居关系并且可以跨路由器建立邻居。 R1-R2-R3R1的环回口1.1.1.1R3环回口3.3.3.3 R1和R3已建立IBGP邻居关系R1向R3发送BGP路由BGP封装在TCPIP上时R2会不会学到BGP路由不会 R1-R2 先启动BGP的一端先发起TCP连接如上所示R1先后动BGPR1使用随机端口号向R2的179端口发起TCP连持完成TCP连接的建立。 三次握手建立完成之后R1、R2之间相互发送Open报文携带参数用于对等体建立参数协商正常之后双方相互发送Keepalive报文收到对端发送的Keepalive保活报文之后对等体建立成功同时双方定期发送Keepalive报文用于保持连接。
2.2、BGP报文 open报文包含
My Autonomous System:自身AS号Hold Time:用于协商后续Keepalive报文发送时间BGP Identifier:自身Router ID Update报文发送BGP路由更新 Keepalive报文标志对等体建立维持BGP对等体关系60s一次 Notification报文报告错误信息中止对等体关系 Route-refresh报文用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新能力的BGP设备会发送和响应此报文
2.3、BGP路由 BGP并不会发现并计算产生路由只是路由的搬运工 引入路由的前提以本设备的全局路由为准 引入路由方式
network 192.168.1.0 24逐个引入import-route ospf/isis/direct批量引入 ASBR设备运行BGP引入所在AS的路由生成BGP路由后将BGP路由通过update报文分享给对等体。
2.4、BGP通告遵循原则
只发布最优且有效路由从EBGP对等体获取的路由会发布给所有对等体IBGP水平分割从IBGP对等体获取的路由不会发送给IBGP对等体。BGP同步规则指的是:当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由)它将不能使用该条路由或把这条路由通告给自己的EBGP对等体除非它又从IGP协议(例如OSPF等此处也包含静态路由)学习到这条路由也就是要求IBGP路由与IGP路由同步。同步规则主要用于规避BGP路由黑洞问题。 四种情况
EBGP邻居—ASBR—EBGP邻居EBGP邻居—ASBR—IBGP邻居IBGP邻居—ASBR—EBGP邻居IBGP邻居—路由器—IBGP邻居II不传前三种左侧邻居把BGP路由引入到中间路由器路由器会传递到右侧邻居最后一种不可以。 思考为什么第四种不可以 如上图四个路由器都运行了IBGP假设第四种情况可以传递路由就会形成路由环路如果R1和R4链路按照IBGP邻居建立规则R1仍然和R4仍然可以建立IBGP邻居仍然存在环路。 如上图R1和R2是EBGP邻居R2和R3、R4、R5为IBGP邻居R2收到EBGP路由后会发送给R3和R4因为I和I不能传所以R5也是由R1直接传递EBGP路由也就是说IBGP邻居的BGP路由全都来自于ASBR即IBGP水平分割。
2.5、BGP实验 需求1.1.1.1和5.5.5.5能够通信
第一步建立邻居 R1和R2采用物理口直连路由起EBGP邻居 ##R1
bgp 100router-id 1.1.1.1##告知对等体的ip和as号peer 12.1.1.2 as-number 200##无需手工自动生成的配置ipv4-family unicast##支持ipv4地址族单播路由undo synchronization##淘汰的功能忽略peer 12.1.1.2 enable##自动在ipv4地址族下建立了指定的邻居##R2
bgp 200router-id 2.2.2.2##告知对等体的ip和as号peer 12.1.1.1 as-number 100 R4和R5采用环回口起EBGP邻居,前提确保路由互通 ##R4
int lop10ip add 10.4.4.4 32
ip route-static 10.5.5.5 32 45.1.1.5##AS号200
bgp 200router-id 4.4.4.4peer 10.5.5.5 as-number 300##修改建立邻居的通信接口为环回口默认情况采用直连物理口peer 10.5.5.5 connect-interface lop10##默认情况下EBGP只能有一跳即直连起邻居用环回口就多了一跳peer 10.5.5.5 ebgp-max-hop 2##R5
int lop10ip add 10.4.4.4 32
ip route-static 10.4.4.4 32 45.1.1.4bgp 300router-id 5.5.5.5peer 10.4.4.4 as-number 200##修改建立邻居的通信接口为环回口默认情况采用直连物理口peer 10.4.4.4 connect-interface lop10##默认情况下EBGP只能有一跳即直连起邻居用环回口就多了一跳peer 10.4.4.4 ebgp-max-hop 2 R2和R4采用环回口起IBGP邻居,前提确保路由互通 ##用ospf路由保证互通别忘了配置环回口和在ospf内激活环回路由因为要用环回路由建立邻居
##R2
bgp 200router-id 2.2.2.2peer 4.4.4.4 as-number 200peer 4.4.4.4 connect-interface lop10##IBGP默认路由跳数为255,所以不用修改##R4
bgp 200router-id 4.4.4.4peer 2.2.2.2 as-number 200peer 2.2.2.2 connect-interface lop10##IBGP默认路由跳数为255,所以不用修改
第二步引入路由 注引入路由后对本设备全局路由表dis ip routing-table无影响对bgp路由有影响(dis bgp routing-table)
##R1
bgp 100network 1.1.1.1 32 dis bgp routing-table带*为有效路由下一跳0.0.0.0代表本地始发bgp中认为下一跳是属性所以在IBGP内传递的过程中不会被修改但因为在R4上12.1.1.1不可达所以变为无效路由此时R4不会把该BGP路由发给R5如下图 综上所以需要添加策略当R2把BGP路由发送给R4的时候让它修改下一跳
##R2
bgp 200##发路由时启用的策略作用是发给4.4.4.4的所有路由下一跳属性改为本地即peer 4.4.4.4 connect-interface lop10中的lop10peer 4.4.4.4 next-hop-local 此时再在R4上查看bgp路由发现下一跳为2.2.2.2 disp fib转发表会把需要递归的路由简化 到此为止时1.1.1.1的路由发布到R5上了但5.5.5.5的路由还没发布到R1上所以不能互通.
##R5
bgp 300network 5.5.5.5 32##R4
bgp 200peer 2.2.2.2 next-hop-local 到此为止时1.1.1.1和5.5.5.5仍然不能互通因为在R3上没有二者的路由该现象称之为BGP路由黑洞。
BGP路由黑洞 BGP路由黑洞产生原因 路由从R1到R5和R5到R1时经过R3可以传送但数据包却不能转发 路由从R2到R4时sip为2.2dip为4.4R3上是有2.2.2.2和4.4.4.4的路由的。 而R1pingR5时sip为1.1dip为5.5R3上没有理由所以丢弃。
路由黑洞解决方案
1、IBGP全互联 让AS内部所有路由器运行BGP并且全部建立IBGP邻居关系。 缺点如果AS内设备较多就要建立很多很多IBGP邻居关系配置很复杂而且会要求内部所有设备都学习外部路由。
2、路由引入 注IBGP传入的路由不能引入IGP 在ASBR上把BGP引入到IGP中使得AS内部路由通过IGP学习到外部路由。 缺点BGP路由条目很多有可能IGP协议无法承载内部路由器都要学习外部路由。
##R2
ospf 1import-route bgp 如下图R2的BGP路由有两个1.1.1.1EBGP传入和5.5.5.5IBGP传入所以R3的路由表只学到1.1.1.1的路由。 所以R3想要学到5.5.5.5的路由需要在R4引入
##R4
ospf 1import-route bgp
3、MPLS 多协议标签交换 使用MPLS直接建立ASBR之间的隧道使得内部路由器无需学习任何外部路由即可完成转发。 完美解决路由黑洞将来使用BGP几乎必然配合MPLS使用解决其路由黑洞问题。
三、BGP路由反射器 IBGP内ASBR数量多时需要单个ASBR分别与其他的ASBR起邻居导致建立邻居关系过多。 作用简化邻居关系 打破II不传原则 反射不会改变路由内容直接给邻居 传递会对路径进行优选并修改相关属性传递给邻居 R3收到R1反射的R2的路由R3会认为是R2发给它的在R1上配置反射器的时候告知R1客户端为R2但是R2不知道自己是客户端也不知道谁是反射器。
引入路由反射器之后存在两种角色 RR(Route Reflector)路由反射器 ClientRR客户端 RR会将学习的路由反射出去从而使得IBGP路由在AS内传递无需建立IBGP全互联。 将一台BGP路由器指定为RR的同时还需要指定其Client。至于Client本身无需做任何配置它并不知晓网络中存在RR。 反射规则IBGP邻居之间反射
client—RR—clientclient—RR—No clientNo client—RR—clientNo client—RR—No client前三种可以反射最后一种不可以非非不传
路由环路隐患 RR的设定使得IBGP水平分割原则失效这就可能导致环路的产生为此RR会为BGP路由添加两个特殊的路径属性来避免出现环路: Originator_ID发起者ID 将R1的router-id写在R2发给R1的路由条目中反射器R2收到后将router-id改写为OID属性2.2.2.2且反射给R3时OID仍为2.2.2.2R3收到后与自己router-id比较一致丢弃不一致传递。当同一AS内有多个RROID由第一个RR为路由条目写上OID。 如图R1、R3、R4都为反射器OID防环失效。 Cluster_List簇ID列表类似水印 R2发送给R1的路由经过R1反射给R3时除了添加Originator_ID之外还会添加Cluster_List:10.0.1.1。R3再次反射给R4时Cluster_List值为:10.0.3.3 10.0.1.1R4再次反射给R1时Cluster_List值:10.0.4.4 10.0.3.3 10.0.1.1。 当R4将路由反射给R1时R1发现Cluster_List包含了自身Cluster_ID判断存在环路从而忽略该路由更新。 这两个属性不会传递给EBGP邻居即都属于可选过渡类型。 同级反射器两个反射器配置相同的簇ID避免路由在两个反射器之间互相反射节约设备性能。 ##R2、R3、R4ospf协议互通确保环回口路由激活
##R2和R3、R3和R4建立IBGP邻居第一种方法在反射器上配置对方为客户端
##R3
bgp 200router-id 3.3.3.3peer 2.2.2.2 as-number 200peer 2.2.2.2 connect-interface LoopBack0peer 4.4.4.4 as-number 200peer 4.4.4.4 connect-interface LoopBack0##配置2.2.2.2和4.4.4.4为反射器客户端peer 2.2.2.2 reflect-clientpeer 4.4.4.4 reflect-client 第二种方法
bgp 200##ibgp 为名字internal代表ibgpgroup ibgp internalpeer ibgp as onnect-interface LoopBack0peer ibgp reflect-client ##将邻居加入ibgp组peer 2.2.2.2 group ibgppeer 4.4.4.4 group ibgp