BGP实验配置思路与理解_笔记
- 格式:doc
- 大小:499.50 KB
- 文档页数:26
实验十、BGP实验实验要求:1、掌握BGP的基本配置方法。
2、掌握如何查看BGP的各种配置信息。
3、掌握基于回环口的BGP的邻居关系建立的配置方法。
4、理解需要使用回环口为目的。
5、理解BGP同步功能的作用和配置。
6、掌握使用指向NULL0接口的静态路由的汇总配置方法。
7、掌握使用聚合属性的路由汇总配置方法。
实验拓扑:根据实验要求,实验拓扑如图10-1所示。
图10-1 BGP实验拓扑注:R1和R2属于自治系统65001,R3属于自治系统65002实验步骤:1、根据实验拓扑,对路由器各接口配置IP地址,使直连链路相互间可以进行通信。
2、在R1和R2上配置EIGRP,关闭自动汇总。
参考命令如下:R1(config)#router eigrp 50 50修改为自己学号后两位R1(config-router)#network 192.168.1.0R1(config-router)#network 1.0.0.0R1(config-router)#no auto-summaryR2(config)#router eigrp 50 50修改为自己学号后两位R2(config-router)#network 192.168.1.0R2(config-router)#network 2.0.0.0R2(config-router)#no auto-summary3、首先在R1和R2配置BGP协议,使用回环口创建邻居关系,参考命令如下:R1(config)#router bgp 65001 65001修改为65000+自己学号后两位R1(config-router)#neighbor 2.2.2.2 remote-as 65001 65001修改为65000+自己学号后两位R1(config-router)#network 1.1.1.1 mask 255.255.255.255R1(config-router)#network 172.16.0.0 mask 255.255.255.0R1(config-router)#network 172.16.1.0 mask 255.255.255.0R1(config-router)#network 172.16.2.0 mask 255.255.255.0R1(config-router)#network 172.16.3.0 mask 255.255.255.0R1(config-router)#network 192.168.1.0R2(config)#router bgp 65001 65001修改为65000+自己学号后两位R2(config-router)#neighbor 1.1.1.1 remote-as 65001 65001修改为65000+自己学号后两位R2(config-router)#network 2.2.2.2 mask 255.255.255.255R2(config-router)#network 192.168.1.0R2(config-router)#network 192.168.2.04、配置后在路由器R1中查看BGP邻居关系和汇总信息,参考命令如下:R1#show ip bgp neighborsR1#show ip bgp summary问题1:R1中邻居关系的状态是什么?5、查看路由器R1和R2的BGP的路由链路数据库信息,参考命令如下:R1#show ip bgp ipv4 unicast问题2:在数据库中是否有非直连链路信息?6、在路由器R1和R2中分别指定回环接口建立邻居关系,参考命令如下:R1(config)#router bgp 65001 65001修改为65000+自己学号后两位R1(config-router)#neighbor 2.2.2.2 update-source lo1 lo1为地址1.1.1.1的接口R2(config)#router bgp 65001 65001修改为65000+自己学号后两位R2(config-router)#neighbor 1.1.1.1 update-source lo0 lo0为地址2.2.2.2的接口问题3:再次查看R1的邻居关系,邻居关系状态为什么?问题4:在路由器R2中查看路由链路数据库,能否看到R1上面的路由?如果能看到的话这些路由是否为最佳路由?(提示:最佳路由提示符为“*>”)问题5:查看R2路由表,能否看到172.16.1.0路由?7、在路由器R1、R2中关闭同步功能R1(config)#router bgp 65001 65001修改为65000+自己学号后两位R1(config-router)#no synchronizationR2(config)#router bgp 65001 65001修改为65000+自己学号后两位R2(config-router)#no synchronization问题6:过一段时间查看路由器R2的路由表,是否能看到172.16.1.0的路由?8、在路由器R2和R3中配置不同自治系统的BGP路由,参考命令如下:R2(config)#router bgp 65001 65001修改为65000+自己学号后两位R2(config-router)#neighbor 3.3.3.3 remote-as 65002 65002修改为65001+自己学号后两位R2(config-router)#neighbor 3.3.3.3 update-source lo0 lo0为地址2.2.2.2的接口R2(config-router)#neighbor 3.3.3.3 ebgp-multihop 2R2(config)#ip route 3.3.3.3 255.255.255.255 192.168.2.3注:添加静态路由,使得R2能够访问3.3.3.3R3(config)#router bgp 65002 65002修改为65001+自己学号后两位R3(config-router)#neighbor 2.2.2.2 remote-as 65001 65001修改为65000+自己学号后两位R3(config-router)#neighbor 2.2.2.2 update-source lo1 lo1为3.3.3.3的接口R3(config-router)#neighbor 2.2.2.2 ebgp-multihop 2R3(config-router)#network 192.168.2.0R3(config-router)#network 192.168.3.0R3(config-router)#network 192.168.4.0R3(config-router)#network 192.168.5.0R3(config-router)#network 192.168.6.0R3(config-router)#network 192.168.7.0R3(config)#ip route 2.2.2.2 255.255.255.255 192.168.2.2注:添加静态路由,使得R2能够访问2.2.2.2问题7:查看路由器R3的路由表,能否得到全网的路由信息?问题8:查看路由器R1的路由器,能否得到全网的路由信息?9、在路由器R1中添加静态路由,使得能够访问3.3.3.3R1(config)#ip route 3.3.3.3 255.255.255.255 192.168.1.2问题9:过一段时间后再查看路由器R1的路由表,能否看到全网路由信息?10、通过路由汇总配置,有效的减少路由表的大小,提高路由效率。
BGP路由协议的配置与应用一、实验目的1.理解BGP路由协议的基本工作原理;2. 掌握BGP路由协议的基本配置方法;3. 掌握IGP路由和EGP路由相互之间的重新分发。
二、实验内容1. 根据网络拓扑图,组建网络;2. 配置设备互联地址及AS内部路由;3. 两个BGP发言人上分别配置BGP路由协议;4. 两个BGP发言人上分别配置IGP和EGP之间重新分发;5. 查看BGP路由表,及测试网络的连通性。
三、实验环境1. 三层交换机1台;2. 路由器 3台;3.连接电缆 若干。
四、实验步骤1、根据网络拓扑图,组建网络。
如图所示,AS100内部使用RIP互联,AS200内部使用OSPF互联,路由器R2和R3之间使用V.35 DTE/DCE线缆进行连接模拟广域网,R2和R3之间配置BGP,4台路由器上均设置一个loopback接口用于模拟连接网络的终端主机。
2. 自治系统AS100内部互联。
1).三层交换机R1的配置#直接登陆进入用户视图,清除原有配置,并且要重新启动设备。
<H3C >undo startup saved-configuration…….yes<H3C >reboot…….yes#从登陆的用户视图进入系统视图<H3C >system-view#修改三层交换机名称[H3C]sysname R1#设置设备环回接口loopback 1的IP地址[R1]interface loopback 1[R1-Loopback1]ip address 10.1.1.1 32#创建VLAN 10,并添加以太网接口Ethernet1/0/24[R1]vlan 10[R1-vlan10]port Ethernet 1/0/24#设置VLAN 10接口的IP地址[R1]interface vlan-interface 10[R1-Vlan-interface10]ip address 10.1.2.2 255.255.255.252#配置路由器Router-ID[R1]router id 1.1.1.1#创建RIP进程1并进入RIP视图[R1]rip 1#设置RIP进程的版本号2[R1-rip-1]version 2#禁止RIP进程1的路由汇总[R1-rip-1]undo summary#指定与路由器相连的网段加入RIP协议计算[R1-rip-1]network 10.0.0.02).路由器R2的配置#从登陆的用户视图进入系统视图<H3C >system-view#修改路由器名称[H3C]sysname R2#设置设备环回接口loopback 2的IP地址[R2]interface loopback 2[R2-Loopback2]ip address 10.3.1.1 32#设置以太网接口Ethernet 0/0的IP地址[R2]interface ethernet 0/0[R2-Ethernet0/0]ip address 10.1.2.1 255.255.255.252#设置广域网的串口端Serial 1/0的IP地址[R2]interface serial 1/0[R2-serial1/0]ip address 202.1.1.1 255.255.255.252#配置路由器Router-ID[R2]router id 2.2.2.2#创建RIP进程1并进入RIP视图[R2]rip 1#设置RIP进程的版本号2[R2-rip-1]version 2#禁止RIP进程1的路由汇总[R2-rip-1]undo summary#指定与路由器相连的网段加入RIP协议计算[R2-rip-1]network 10.0.0.03. 自治系统AS200内部互联。
bgp实验报告总结
BGP实验报告总结
背景
BGP(Border Gateway Protocol)是用于在互联网中交换路由信息的协议。
它是一种路径矢量协议,用于确定最佳路径,并且能够适应网络拓扑的变化。
在本次实验中,我们对BGP进行了实验,并对实验结果进行了总结和分析。
实验过程
在实验中,我们使用了模拟器来模拟网络环境,并配置了多个路由器和主机。
我们通过配置BGP协议来模拟网络中的路由器之间的路由信息交换。
我们还模拟了网络中的故障情况,以观察BGP协议对网络拓扑变化的适应能力。
实验结果
通过实验,我们观察到BGP协议在网络拓扑变化时能够快速地重新计算最佳路径,并更新路由表。
当网络中发生故障时,BGP能够及时地发现并通知其他路由器,从而保证了网络的稳定性和可靠性。
此外,我们还观察到BGP协议在处理大规模网络时的效率和性能表现良好。
总结与分析
通过本次实验,我们对BGP协议的工作原理和性能有了更深入的了解。
BGP作为互联网中最重要的路由协议之一,具有很强的稳定性和可靠性。
它能够适应网络拓扑的变化,并且能够处理大规模网络的路由信息交换。
因此,BGP协议在互联网中扮演着至关重要的角色。
结论
通过本次实验,我们对BGP协议有了更深入的了解,并且验证了其在网络中的
稳定性和可靠性。
BGP协议的高效性和性能表现使其成为互联网中不可或缺的一部分,对于构建稳定和可靠的互联网具有重要意义。
我们将继续深入研究BGP协议,并将其应用于实际网络中,以提高网络的稳定性和可靠性。
BGP 基础概念及实验简言之,如果IGP是在一个个路由器之间的路由选择,那么BGP就是在一群路由器之间进行路由选择一群路由器,在BGP的定义里叫做AS,(这个不同于EIGRP的AS),这里的AS可以理解为一群被共同管理的、使用相同IGP和度量分组的路由器,也可以暂时理解为一个运营商:中国电信移动联通之类。
公有AS是一个全球化概念,使用需要申请AS:取值范围:1-655351-64511 (公有),64512-65535 (私有)电信AS号:4134 网通AS号:9929 4837 中国教育网:4538上图的4个网络云,每个云就是一个AS,他们之间运行的协议叫做EBGP,相对应的是IBGP 仔细观察上图,AS65500中,AC之间并只有IGP,没有BGP,为了能够是BGP网络能够贯通(使4个黄色的环能够连成一体),我们需要在4个AS中也运行BGP协议,这个叫做IBGP 在图片上很容易分辨出IBGP和EBGP.如果还是不明白,那么可以记住下面几条,可以助于理解:1:一个AS通常代表一个独立的组织结构,并应用它自己的路由和安全策略。
BGP协议用于帮助这些自治系统共享它们的路由信息。
2当BGP运行于一个AS内,它被称为内部BGP(IBGP),当BGP运行于AS之间,它被称为外部BGP(EBGP)3 AS by AS这个理念贯穿整个BGPBGP的特性每本讲BGP的书都有,看起来是一个很牛逼的协议。
支持超大网络啦,可靠啦,对路由的控制啦,甚至官方建议都是不懂的人不要用,反正很牛逼就是。
我们需要知道的就是1:BGP是我们现在所学的的唯一采用TCP作为连接协议的路由协议,端口号是1792:BGP只采用增量和触发更新。
BGP的数据库BGP数据库类似OSPF,也有3张表·邻居表:就是保存BGP的邻居关系的表,话说,思科公司那位神奇的老太太说运行BGP的路由器就叫做BGP speaker,她老人家也说了,一个BPG neighbor也叫做BPG Peer·转发表(BGP表)列出从邻居学到的所有网络列出到目的网络的多条路径到每条路径的BPG属性·路由表就是平时的路由表,谁的AD小,谁就进去BGP报文Open:用来建立基友关系的,包含了一些BGP的属性,计时器,AS号,RouterID等,相当于:“你好,谈爱不?”Keepalive:让基友感觉到我的心跳存在,相当于”我还在这里,我还活着,别当我是空气”Update :更新路由条目用的。
感谢老大写的文档、老余的支持以及各位老师平时的帮助!我会努力的!加油!―――――――――――――――――――――――――――周涛目录0、BGP的概况1、BGP的一些特性2、BGP的三张表3、BGP的各种包4、建邻居的过程5、neighbor命令的含义6、IBGP建立邻居需满足什么条件7、EBGP邻居需满足什么条件8、路由在BGP转发表里最优的必要条件9、BGP的下一跳10、IBGP的同步11、auto-summary的作用12、BGP的聚合路由13、BGP邻居的flaping14、BGP路由下一跳的flaping15、BGP的dampening16、IBGP的路由反射器(RR)17、BGP联邦18、BGP的对等体组19、BGP的选路原则20、EBGP的防环21、IBGP的防环22、将IGP路由引入BGP23、向IGP中注入BGP路由24、限制允许接收的最大路由条目25、BGP的几个计时器26、BGP的默认路由27、BGP的过滤以及正则表达式28、BGP的链路认证29、删除私有AS号30、允许接收经过多少AS的路由31、local_as32、allowas-in33、community34、soft-reconfigration inbound35、条件路由36、拆分路由37、QPPB38、BGP orf39、BGP的AD0、BGP的概况/BGP默认只支持ipv4-unicast,即只有ipv4-unicast的邻居可以默认认为是active的。
可以用no bgp default ipv4-unicast命令来使ipv4-unicast的邻居也必须手工使其active。
Address-family ipv4 unicastneighbor 1.1.1.1 activate (将邻居1.1.1.1激活)一个路由器只能属于一个AS。
As的范围从1-65535(64512-65535是私有AS号)BGP的基本配置Router bgp 1Bgp router-id 1.1.1.1No auto-summaryNo synchronizationIBGPNeighbor 2.2.2.2 remote-as 1Neighbor 2.2.2.2 update-source lo0EBGPNeighbor 3.3.3.3 remote-as 3Neighbor 3.3.3.3 update-source lo0Neighbor 3.3.3.3 ebgp-multihopThe BGP Prefix-Based Outbound Route Filtering feature does not support multicast.clear ip bgp {ip-address | *} in prefix-filter――――对某个邻居进行入向的前缀刷新。
——————————————袁月BGP综合实验1拓扑图拓扑说明:如图,有R1-R5五台路由器R1,R3,R4的S0/0、S0/1、S0/2口通过FR连接,R1为hub,帧中继链路ip为10.10.134.0/24R1,R2的F1/0口通过以太网连接,链路ip为10.10.12.0/24R4,R5的s0/1口直连,网段10.10.45.0/24每台路由器的环回0口ip为x.x.x.x/32R1上有lo1-lo5,ip地址为192.168.1.1/24---192.168.5.1/24R5上有lo1-lo5,ip地址为172.16.1.1/24---172.16.5.1/24实验要求:1.配置底层:配置每台设备的接口ip,配置完成后确保直连可达每个路由器的环回口是X.X.X.X/322.配置IGP全网运行OSPF area0,仅宣告lo0口和链路ip进入ospf,NBMA区域任意处理3.建立BGP邻居BGP AS区域划分如图,按照如下规则建立对等关系.使用回环口建立邻居.R1 peer R2R2 peer R1,R3R3 peer R2,R4R4 peer R5R5 peer R44.BGP 路由宣告邻居建立完成后,将R1和R5的lo0口宣告进入BGP,使用network命令要求R1,R5使用适当的方式宣告各自的lo1-lo5宣告完成后要求每台设备的bgp转发表可见这些路由5.BGP路由控制要求做出适当控制,达成下列条件,具体方法不限1、使下列条目出现在R1的bgp表中*> 172.16.1.0/24 2.2.2.2 100 0 255 2 3 i*> 172.16.2.0/24 2.2.2.2 255 10 20 2 3 ? *> 172.16.3.0/24 2.2.2.2 0 2 3 i*> 172.16.4.0/24 2.2.2.2 255 2 3 i*> 172.16.5.0/24 2.2.2.2 100 0 255 2 3 i2、使下列条目出现在R5的bgp表中*> 192.168.0.0/21 0.0.0.0 100 32768 2 1 i *> 192.168.1.0 4.4.4.4 0 2 1 i *> 192.168.2.0 4.4.4.4 0 2 1 is> 192.168.3.0 4.4.4.4 0 2 1 is> 192.168.4.0 4.4.4.4 0 2 1 i *> 192.168.5.0 4.4.4.4 0 2 1 i3、完成后,R1,R5互相可PING通对方宣告的这些bgp路由实验效果:R1上查看BGP表R5上查看BGP表BGP综合实验2拓扑图实验要求如下:1 R1与R2为EBGP R2与R3、R4为EBGP R3与R4为IBGP R3与R4、R5为EBGP每台路由器都有X.X.X.XX/32作为router-id 全网底层跑EIGRP 1002 R3、R4学到R1上的bgp路由下一跳必须为AS100的,R5上学到的R1和R3的路由,优走R33 在R1和R5上的回环口分别是20.20.20.0/24和30.30.30.0/24,都重分布到BGP中,使其相互学到并互相连通!实验效果:R3和R4上查看BGP表R5上查看路由表R1和R5上的lo0互相ping通BGP综合实验3拓扑图实验要求如下:1 R4上有192.168.1.0/24、192.168.2.0/24、192.168.3.0/24、192.168.4.0/24和100.100.100.0/24网段,R5上有172.16.1.0/24、172.16.2.0/24、172.16.3.0/24、172.16.4.0/24和50.50.50.1/32网段2 R1为DR,R2和R3不参与DR选举每台路由器都有x.x.x.x/24做为router-id3 Ospf学到的是192.168汇总和172.16的汇总以及100.100的明细路由4 EIGRP不能学到192.168的路由,能学到100.100的路由5 R4为AS100R2为AS200R5为AS300R4只与R2建立EBGP,R5只与R2建立EBGP,R4能学到50.50.50.1/32的路由,且可达!。
关于解决IBGP水平分割的办法1.全互联2.路由反射器三个反射规则a. 从非客户来的路由只可以反射给客户端b. 从客户端来的路由可以反射给客户端和非客户端c. 从EBGP来到路由可以发射给客户及非客户端3.联盟(一)IBGP全互联(1)IBGP不将通过IBGP获悉的路由传给其他IBGP对等体。
可避免路由环路。
(2)IBGP之间一定要全互联。
全互联不是指物理上要互联,而是逻辑上要互联。
如TCP相连也可。
(在联盟和反射的情况下不要求全互联)(3)BGP路由选择表太大,不能将所有BGP路由重分到IGP路由器中。
因为IGP路由器无法承受。
注意:IBGP一定要全互联,TCP全互联也可。
因为TCP要保证每个分组都让接收方确认接收,不能是多播和广播方式。
如果IBGP不全互联的话,就可能造成路由选黑洞。
(二)联盟在一个AS中,如果IBGP路由器过多,因为要求IBGP全互联,所以将会有过多的IBGP会话(n(b-1)/2)。
N为IBGP路由器数。
这样会需要维护大量的会话及数据流。
此时可用联盟和路由反射来减少会话数。
此处专讲联盟。
联盟即把一个AS中的多个IBGP划分为一个联盟。
一个AS可划分多个个联盟。
联盟之间再进行全连接。
这样就会减少会话数。
注意一点,联盟内部的所有IBGP仍需要全连接。
有点像在一个大的AS中划分多个小的AS。
(三)路由器反射路由反射器角色reflector role:1. server2. client3. none client几个术语:路由反射器:可以把通过IBGP所获悉的路由通告给其他IBGP对等体的路由器。
因为AS内部的IBGP不把从IBGP获悉的路由通告给其他IBGP对等体。
实现全连会造成会话多,浪费资源。
此处我们可以把一台IBGP路由器设定为路由反射器,路由反射器可以转发从其他IBGP获悉的路由到IBGP。
路由反射器在中心,其他IBGP再与路由反射器相连,这样就可以不用全互联了,用星型结构。
BGP同步实验与总结
一、BGP同步学习总结。
1、BGP同步打开后:从IBGP学到的路由默认不会用(不会加入路由表),直到从IGP也学到。
2、BGP同步打开后:在bgp同步打开的情况下,一个BGP路由器不会把那些通过ibgp邻居学到的bgp路由通告给自己的ebgp邻居;除非自己的igb路由表中存在这些路由,才可以向ebgp路由器通告。
3、BGP同步目的:防止一个AS(不是所有的路由器都运行bgp)内部出现路由黑洞,即向外部通告了一个本AS不可达的虚假的路由。
二、实验:
1、拓扑。
R2开启BGP同步后,10.1.1.0路由的变化。
2、配置。
2.1 变化一:关闭BGP同步。
2.2 R2开启BGP同步。
AS 3中的R3没有收到10.1.1.0的路由,在R2上写入一条默认路由:ip route 10.1.1.0 255.255.255.0 12.1.1.1
R3上的BGP路由:
R3上的10.1.1.0 加入ip 路由表:。
最详细BGP的学习笔记-图文BGP第一节:IBGP邻居(所用的版本是4)IBGP邻居:通常运行在同一个AS内。
AS:就是一组被统一管理的路由器。
这组路由器的特点:使用相同的内部网关协议,统一的度量值。
特点:可以直连,也可以不直连,但是底层必须能够访问。
AS号在eigrp的作用就是用于邻居的建立。
在BGP中可以理解为是不同的运营商。
bgp的AS号是需要申请的。
具体的配置:neighbor邻居Ipremote-aAS号howcontrollererial0/0查看某接口是DCE还是DTE。
配置时钟速率:clockrate64000一定要在DCE端配置时钟速率。
R1与R2建立邻居BGP的三张表:邻居表:BGP的邻居关系不会自动建立,需要单播进行指邻居。
(保留对端的AS号码)BGP表:收集所有的路由信息,并且保留BGP的所有属性--------更好的做人为控制。
BGP的管理距离值:20和200;20是从EBGP学过来的路由,200是从IBGP学过来的路由。
路由表:BGP的报文:Open:Keepalive:激活(hold时间不一样,邻居可以建立,它会进行协商选择时间小的,并且它的keepalive的时间自动调整为Hold时间的1/3。
如果hello时间为0则BGP的邻居不down)(需要注注意的是:hello时间不一样,opf的邻居将不会建立)Update:包括路由器的属性,还有我BGP的路由信息。
Notification:如果两端的AS号不一致,则会出现NOTIFICATION这个报文。
-------BGP建立出错的时候也会出现这个报文。
(2):清除了BGP的邻居关系时,也会出现这种报文。
BGP的经典案例(IBGP)解决方法:如果有多条链路,就要建立多个邻居关系。
用物理接口建立邻居;不太可行(不太稳定),但是所出现的问题能解决。
用这种方法所出现的问题:设备的消耗(内存,CPU)第二中的解决方法:就是邻居地址起环回口。
BGP学习笔记姜道友整理一. BGP简介 (2)二. BGP特性 (3)三. BGP Message类型 (4)四. BGP邻居建立过程 (5)五. BGP的常用命令 (8)六. BGP属性 (16)七. BGP汇总 (22)IGP(内部网关协议)用于一个AS(自治系统)内部;CCNA路由部分及BSCI前面部分我们所学的都是关于IGP的,在IGP里一般都是在一个AS内进行路由的选择,而BGP是在AS与AS之间进行路径的选择。
EGP(外部网关协议)用于AS和AS之间;IGP典型的例子为:RIP、IGRP、EIGRP、OSPF、ISIS等;EGP典型的例子为:BGP(目前BGP的版本是4,即BGP-4,以下简称BGP)BGP(边界网关协议)可以保证路由不会产生环路;IBGP:内部BGPEBGP:外部BGPAggregation:路由汇聚Attribute:属性Originator-ID:组织ID。
是BGP一个属性,用于防止产生路由环路。
几种AS:1.Stub AS是单出入口的AS2.传输(传递)AS是StubAS经过这个AS才能到达其它的AS。
3.多出口AS(在实际网络环境中,此类最常用)。
还有一些术语,在下面涉及到的部分中会体现出来。
“当BGP运行于一个AS内,它被称为内部BGP(IBGP),当BGP运行于AS之间,它被称为外部BGP(EBGP),如果一台BGP 转发IBGP 数据流,它被称为一台渡越路由器(transit router)”“一个AS通常代表一个独立的组织结构,并应用它自己的路由和安全策略。
EGP 用于帮助这些自治系统共享它们的路由信息,每个自治系统有一个16 比特的标识符,它由Internet注册机构或服务提供商分配,范围从1~65535,其中65512~65535 的AS编号范围留作私有,因为AS号码有限,所以一个组织结构要想获得一个AS号码必须提供充分的理由。
Internet 号码分配管理局(Internet Assigned Numbers Authority,IANA)使负责分配自治系统编号的最顶层管理机构。
BGP学习总结笔记BGP学习总结笔记(原创)--------------------------------------------------------------------------------BGP简介一、 BGP和AS几种AS:1.Stub AS 是单出入口的AS。
2.传输(传递) AS 是StubAS经过这个AS才能到达其它的AS。
3.多出口AS (在实际网络环境中,此类最常用)。
每个自治系统有一个16 比特的标识符,1~65535,64512~65535私有。
BGP和ISIS一样以链路为边界。
二、 BGP的特性BGP的一般特性:Path-Vector Routing、大型的网络、VLSM、CIDR、Aggregation、可靠的基于TCP(Port 179)进行连接、使用属性(Attribute)评价一条路径的好坏、策略和规则、Policy-Based Routing(PBR)、Update是增量触发的。
何时可以使用:1.允许数据穿越一个AS到另一个AS;2.一个AS有多个连接到其它的AS;3.有数据进入或离开AS时需要进行(策略)控制。
何时不使用:1.连接到互联网或其它AS只有一个出口;(stub as)2.路由器等网络设备的内存容量有限、CPU速度不快、带宽很窄;(硬件、网络条件限制)3.技术人员(网络管理者)了解BGP但不了解BGP路由如何过滤、路径如何选择;4.AS之间带宽比较低(窄)时。
三、 BGP的概念BGP邻居和对等体组:1、BGP邻居BGP通过TCP来建立邻居关系(不论是否在同一AS中),只要能建立TCP连接交换BGP信息就可以成本Peer (Peers=Neighbors)。
邻居关系的建立靠Open(版本、自治系统号、保持时间、BGP标识符)。
邻居关系的关系建立后才可以发送Update(不可达路由、路径属性、网络可达性信息)。
邻居关系的维持靠 Keepalive(长度:19BIT,间隔60秒)。
实验3 BGP协议实验1.查看R1和R2的路由表,注入路由信息前,是否有对方loopback的路由信息?注入路由信息后,是否有对方loopback的路由信息?为什么?答:注入路由信息前,没有对方的loopback;注入路由信息后,有对方的loopback;因为没有注入路由信息前,5.5.5.5的路由信息不会被BGP转发。
2.[R2]ping –a 4.4.4.4 5.5.5.5 能否ping通?如果不用ping命令的-a参数是否能ping通?为什么?答:能ping通,如果不用-a不能ping通。
-a参数指定源地址,而如果不指定4.4.4.4为源地址,则源地址为2.1.1.2,而R1中没有2.1.1.2的路由信息,所以ping消息无法返回。
3.把所截报文命名为BGP1-学号,并上传到服务器。
根据截获的BGP报文的顺序和结构,312UPDATE 1.1.1.2:179 1.1.1.1:3950携带路由更新信息4. 思考题:在实验截获的报文中是否有NOTIFICATION报文?为什么?答:没有,因为BGP运行正常没有出错。
5. 写出一个Update报文的完整结构,并指出报文中路由信息所携带的路由属性。
答:Marker(16 byte) 全1 检测BGP对等体之间的同步是否丢失Length(2 byte) 55 整个报文长度Type(1 byte) 2(UPDATE) 报文类型Withdrawn Routes Length(2 byte) 0 撤销路由长度Withdrawn Routes(变长0 byte) - 撤销路由Path Attribute Length(2 byte) 27 路径属性长度Path Attribute(27 byte) 见下路径属性ORIGIN(3+1=4 byte) 0(IGP) 起点属性AS_PATH(3+6=9 byte) 见下AS路径属性Segment type(1 byte) 2(AS_SEQUENCE)Segment length(1 byte) 1AS4(4byte) 100NEXT_HOP(3+4=7 byte) 1.1.1.1 下一跳属性MED(3+4=7 byte) 0 部邻居路由器进AS内的优先路径此Update报文共携带以上4个路由属性。
一、BGP的基础知识1、AS号的分类:公有AS:0--64511私有AS:64512—655352、查看路由器的路由条目数量:#show ip route summary3、BGP是基于TCP链接的一个路径矢量型路由协议,其TCP(TCP的IP协议号是6)的端口号是:1794、BGP是触发更新的路由协议。
通过发送keepalive来保持邻居是是活的,发送周期是60s。
如果在180s对方没有收到邻居发来的keepalive信息,那么就说明邻居down掉了。
5、BGP建立邻居的过程,首先发送open报文,既发现邻居,发现邻居后发送keepalive报文保证邻居是active的6、BGP的三张表:a、邻居表(发送open报文建邻居,发keepalive保活)b、路由表c、BGP表(建完邻居,就开始传bgp路由)7、BGP不会负载均衡,只会让最优路径的路由出现在路由表中8、BPG的报文(四种):a、open 建立邻居b、keepalive 保持邻居关系c、update 传输BGP的报文d、Notification 当错误发生时会发送这个报文9、BGP中的Peer和IGP中邻居是一个概念。
BGP speaker 就是运行了BGP的路由器10、External BGP ————EBGP外部的BGP关系;例如:处于不同AS的路由器建立的邻居关系就是EBGPInternalBGP————IBGP内部BGP关系,既处于同一个AS内部的邻居关系11、BGP的水平分割EBGP的防环机制:通过AS号来判断,既通过判断,不接受含有本AS号的路由IBGP的防环机制:IBGP的水平分割,从IBGP邻居学习来的路由不会再传给IBGP邻居12、BGP的配置:全局配置下:#router bgp + as号进入bgp进程下:手工指定路由器ID#bgp router-id指定邻居#neighbor + 对端的路由器接口IP地址+remote-as对端设备所处的AS13、查看邻居信息简表:#show ip bgp summary查看邻居信息#show ip bgp neighbors14、一般EBGP的邻居使用的是环回接口建立邻居。
华为BGP MPLS VPN实验及配置实验的组网拓扑图及ip地址如下图:===================================BGP MPLS VPN 配置思路和排错---------------------------一、配置思路大体上三步1、配置公网隧道2、配置本地vpn3、配置MP-BGP=============================二、配置具体步骤----------配置公网隧道-----------1、配置IGP公网路由协议(在PE1、P、PE2设备上配置,这里用ospf)在公网上配置IGP协议、保证两个PE设备的loopback接口地址能ping通这个是为了之后用loopback接口建立BGP邻居#配置接口ip地址略#PE1#ospf 145area 0.0.0.0network 2.2.2.2 0.0.0.0network 10.1.24.0 0.0.0.255用相同命令在P、设备和PE2设备启动ospf进程、相关配置略。
我们可以通过display ip routing-table查看有无学习到对端PE设备的loopback接口ip如果无法ping通对端PE设备的loopback地址,就结合OSPF排错思路进行相关排错2、使能mpls和mpls ldp(需要在公网的PE和P设备上使能,全局和接口模式都要使能)#PE1#mpls lsr-id 2.2.2.2#mpls#mpls ldp#interface GigabitEthernet0/1/2port link-mode routeip address 10.1.24.2 255.255.255.0mplsmpls ldp注意:#在使能mpls 和mpls ldp 功能的时候是既要在全局模式下又要在接口模式下#PE和P设备中的mpls lsr-id 2.2.2.2这后面的这个地址,在ip路由中要相互可达,否则无法正常建立ldp邻居关系#一般我们将mpls lsr-id 后面的这个地址用设备的loopback地址即可,只要保证loopback地址能相互ping通即可排错:我们可以通过display mpls ldp session查看公网设备间的mpls ldp邻居是否正常建立,operational为正常状态进一步通过display mpls ldp lsp查看有无建立隧道、lsp是单向的所以要再公网每台设备上查看----------配置本地vpn实例----------3、按照需求配置vpn实例(只需要在两个PE设备上配置)#PE1#ip vpn-instance vpn1route-distinguisher 100:1vpn-target 100:1 export-extcommunityvpn-target 100:1 import-extcommunity#ip vpn-instance vpn2route-distinguisher 100:2vpn-target 100:2 export-extcommunityvpn-target 100:2 import-extcommunity4、将私网接口与vpn实例绑定#PE1interface GigabitEthernet0/1/0port link-mode routeip binding vpn-instance vpn1ip address 10.1.12.2 255.255.255.0#interface GigabitEthernet0/1/1port link-mode routeip binding vpn-instance vpn2ip address 10.1.23.2 255.255.255.0注意:如果接口之前已经配置好了ip,在绑定vpn实例之后ip地址会丢失,需要重新配置即可,建议绑定之后再配置私网ip5、配置PE设备与CE设备之间的路由协议(这里也用0spf)这里面PE设备相对特殊,PE运行的路由协议需要和vpn实例进行绑定,以就是运行路由协议的多实例。
BGP边界网关协议IGP(内部网关协议):RIP OSPF ISIS EIGRPEGP(外部网关协议):BGP一.何时使用BGP1.AS允许分组穿越过前往其它自治系统(服务提供商)2.AS有多条到其它自治系统的连接3.必须对数据流入和离开AS的方式进行控制二.何时不使用BGP(满足以下条件之一就不使用BGP)1.只有一条到Internet或另一个AS的连接2.路由器没有足够的内在和处理器能力来处理BGP的更新3.对路由过滤和BGP路径选择过程的了解有限4.自治系统之间的链路带宽较低三.BGP的特性BGP是一个路径矢量协议,在距离矢量路由协议上增进以下功能:1.可靠的更新,运行和结束(使用TCP 179端口号)2.触发更新时,发送增量更新3.周期性地保持信息和校验TCP的连接性4.有充足的距离矢量的属性值(为选择路径而用)5.设计的对象是一个巨大的互联网网络四.BGP的数据库1.邻居表:列出所有BGP的邻居命令:show ip bgp neighbor //查看BGP邻居2.BGP表:a.列出从每个邻居学习到的所有网络信息b.包含多条路径到达目标网络c.每个路径都包容BGP的属性命令:show ip bgp // 查看BGP表3.IP 路由表(又称IGP表):列出最佳路径到达目标网络命令:show ip route五.BGP的消息类型:1.Open 打开消息2.Keeplive 存活消息3.Update 更新消息4.Notification 通知消息六.关于EBGP与IBGP之间的关系IBGP:在同一个AS之内的设备建立的邻居关系(并不要求直连)EBGP:在不同的AS之间建立的邻居关系(默认情况下要求是直连的)1.由EBPG邻居学来的信息,会传递给IBGP邻居2.由IBGP邻居学来的信息,不会传递给另外的IBGP邻居3.由IBGP邻居学来的信息,会传递给EBGP邻居4.由EBGP邻居学来的信息,会传递给其它的EBGP邻居5.BGP路由传递过程中出现的路由黑洞现象六.高级的BGP属性1.Update-Source 更新源BGP建议:在建立IBGP邻居关系时,使用loopback地址作为Update-Source(更新源),但在建立邻居时,也需要使用Neighbor命令指定对端的loopback接口地址。
BGP实验配置思路与理解全文前瞻本文将会对以下拓扑讲解bgp的一些配置思路。
最后将会给出完整的配置命令。
同时文中将会涉及到诸如更新源(update-source)、同步(Synchronization)、peer-group、next-hop-self 、ebgp多跳等相关原理和配置。
实验拓扑搭建如上实验拓扑,每台路由器都拥有一个loopback口,R1的 lo0 的IP 地址为1.1.1.1/24。
R2的lo0的IP地址为2.2.2.2 。
依此类推。
接下来将一步一步的演示BGP的配置思路和解释,最后会给出总的配置命令。
接口IP地址配置命令略!接下来开始配置BGP吧!从左往右开始一步一步的去理解。
下面将演示首先从建立邻居开始到通告路由这样的顺序一步一步分解解释。
-------1、首先看建立邻居----------一步步来,先看R2与R4建邻居--- R4 与R2建邻居 ---R4要和R2将会建立EBGP关系,建立EBGP建议使用直连接口去建R4(config)#router bgp 4 //AS4R4(config-router)#bgp router-id 4.4.4.4 //手工指定bgp router-idR4(config-router)#neighbor 24.1.1.2 remote-as 1 //使用直连接口建邻居R4(config-router)#----------------------------------------------------注:------------------------------------------------------- R4 与R2建邻居 ---R2(config)#router bgp 1R2(config-router)#bgp router-id 2.2.2.2R2(config-router)#neighbor 24.1.1.4 remote-as 4R2(config-router)#*Mar 1 00:28:28.827: %BGP-5-ADJCHANGE: neighbor 24.1.1.4 Up //邻居起来啦!R2与R4的邻居通过neighbor命令指定后,就会发送Open包建立邻居,通告路由另外使用network命令。
R2(config-router)#好,现在我们查看一下R2的邻居信息简表。
如果红框处为数字,表明邻居已经建立起来了,红框处表示从BGP邻居中收到多少条路由,现在为0,表示没有收到路由嘛,因为我们还没有通过network通告过路由嘛。
--- R2 与R3建邻居 ---R2与R3均属于AS1,他们要建邻居,同属一个AS,就是IBGP关系。
而R2和R3将选择哪个接口来建立邻居?一般都会建议选择loopback口,比如以下网络,两边路由器都拥有一个lo0接口,两者互访,上面的线路down了,我可以从下面的线路走。
如果我们使用R2和R3他们的lo0口建立邻居关系,那么首先保证的是R2和R3的lo0口能够相互访问。
因此这里我们可以在AS1中使用ospf进行互通。
R2#conf tEnter configuration commands, one per line. End with CNTL/Z. R2(config)#router ospf 110R2(config-router)#rouR2(config-router)#router-id 2.2.2.2R2(config-router)#net 12.1.1.0 0.0.0.255 a 0R2(config-router)#net 2.2.2.0 0.0.0.255 a 0R2(config-router)#--------------------------------------------------R1#conf tEnter configuration commands, one per line. End with CNTL/Z. R1(config)#router ospf 110R1(config-router)#router-id 1.1.1.1R1(config-router)#net 12.1.1.0 0.0.0.255 a 0R1(config-router)#net 13.1.1.0 0.0.0.255 a 0R1(config-router)#net 1.1.1.0 0.0.0.255 a 0R1(config-router)#--------------------------------------------------R3#conf tEnter configuration commands, one per line. End with CNTL/Z.R3(config)#router ospf 110R3(config-router)#router-id 3.3.3.3R3(config-router)#net 13.1.1.0 0.0.0.255 a 0R3(config-router)#net 3.3.3.0 0.0.0.255 a 0R3(config-router)#--------------------------------------------------R2#ping 3.3.3.3 source 2.2.2.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: Packet sent with a source address of 2.2.2.2!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 1/26/64 msR2#现在R2的lo0口可以和R3的lo0口互通了。
接下来将使用他们建立BGP邻居--------------------------------------------------R2(config)#router bgp 1R2(config-router)#neiR2(config-router)#neighbor 3.3.3.3 remote-as 1R2(config-router)#-------------------------------R3(config)#router bgp 1R3(config-router)#bgp router-id 3.3.3.3R3(config-router)#neighbor 2.2.2.2 remote-as 1R3(config-router)#-------------------------------只是这样呢,R2和R3还是无法建立邻居,这里涉及到一个叫更新源的问题,默认会有一个更新源首先我们看看前面R4和R2建立EBGP关系R4的邻居为R2的直连接口(R2和R4是通过直连接口建立邻居),即24.1.1.2 R4与R2建立邻居是通过R4的S0/1(24.1.1.4)发送数据包的,所以R4的更新源为默认就是S0/1同理R2也一样,你会发现他们交叉相同。
现在我们回到R2和R3建立bgp邻居关系上面来,你会发现他们交叉不匹配。
所以邻居还不能建立起来。
(因为R2和R3数据是通过走12.1.1.0、和13.1.1.0线路进行通信的。
所以更新源默认就是他们)如果通过loopback口建立BGP邻居,我们还需知道指定更新源R2(config)#router bgp 1R2(config-router)#neiR2(config-router)#neighbor 3.3.3.3 remote-as 1R2(config-router)#neighbor 3.3.3.3 update-source loopback 0R2(config-router)#*Mar 1 01:19:43.311: %BGP-5-ADJCHANGE: neighbor 3.3.3.3 UpR2(config-router)#-----------------------------------------我们发现,只在一边做更新源,邻居是可以建立起来的,因为他们可以回包了,但是,建议两边都做呀R3(config)#router bgp 1R3(config-router)#bgp router-id 3.3.3.3R3(config-router)#neighbor 2.2.2.2 remote-as 1R3(config-router)#neighbor 2.2.2.2 update-source loopback 0R3(config-router)#做完更新源后呢,它们就可以匹配了,邻居就可以建立所以要用loopback口建邻居,要注意配置更新源。
(如果两端使用loopback 口见邻居,更新源就设成loopback口即可啦)如果你直接使用R2的S0/0 去和R3的 S0/1建邻居,那么你就可以不用指定更新源了,默认就匹配上了,就像这样、--------------------------------------------------------接下看R3和R5建邻居------------假如,如果R3和R5之间存在冗余线路,比如如图那样的话,那么我们还是建议使用loopback口建立EBGP关系。
ebgp如果使用环回口建立EBGP关系时,我们还要注意三点,一个也是更新源的问题,另外一个为ebgp多跳。
ebgp多跳就相当于TTL值,在ebgp中,ttl值为1,那么我们在R3上数据包到达R5时,TTL值减1 ,变为0,那么他将到达不了环回口这个网络。
所以。
我们在Ebgp建立邻居时,要将ebgp多跳设置为2跳以上,最大为255。
注意哈,IBGP中是没有多跳这个概念。
只有ebgp才有。
最后一个,两个环回口是否路由可达接下来我们在R3和R5上使用环回口建立邻居关系。
并配置多跳R3(config)#ip route 5.5.5.0 255.255.255.0 35.1.1.5 //配置到达R5的环回口路由,使用R3和R5环回口相互可访R3(config)#router bgp 1R3(config-router)#bgp router-id 3.3.3.3R3(config-router)#neighbor 5.5.5.5 remote-as 5R3(config-router)#neighbor 5.5.5.5 update-source loopback 0R3(config-router)#nei 5.5.5.5 ebgp-multihop ? //默认为最大255<1-255> maximum hop count<cr>R3(config-router)#nei 5.5.5.5 ebgp-multihop //直接回车即设为默认最大255 R3(config-router)#-----------------------------------------R5(config)#ip route 3.3.3.0 255.255.255.0 35.1.1.3R5(config)#router bgp 5R5(config-router)#bgp router-id 5.5.5.5R5(config-router)#neighbor 3.3.3.3 remote-as 1R5(config-router)#neighbor 3.3.3.3 update-source loopback 0R5(config-router)#neighbor 3.3.3.3 ebgp-multihopR5(config-router)#邻居已成功建立了。