BGP的基础实验-1
- 格式:ppt
- 大小:701.00 KB
- 文档页数:37
要点总结:bgp的next-hop属性取值有三种情况1、bgp路由器把自己产生的路由发给ibgp对等体时,将下一跳属性设为自己与对端连接的接口的地址。
2、bgp路由器把自己收到的路由发给ebgp对等体时,把下一跳属性设置为自己与对端连接的接口的地址。
3、bgp路由器把从ebgp学到的路由发给ibgp对等体时,并不改变路由信息的属性。
如果配置了负载分担,则会修改下一跳属性。
BGP路由的Origin属性有以下三种:IGP---路由起源于同一AS域内,用show ip bgp时由I代表EGP---路由通过Exterior Gateway Protocol学得,EGP也是一种自治系统间通讯的路由协议,在BGP 出现前使用,已经被BGP取代。
用show ip bgp时由e代表。
Incomplete---路由起源未知或通过其他方式学得,用?表示实验拓扑1、验证AS-PATH属性启动RA/RB/RC/RF配置接口IP,按图示启动各路由器BGP的协议查看RA的路由表RA#show ip route1.0.0.0/32 is subnetted, 1 subnetsC 1.1.1.1 is directly connected, Loopback0C 200.1.0.0/24 is directly connected, FastEthernet0/0C 200.2.0.0/24 is directly connected, Serial1/0B 200.3.0.0/24 [200/0] via 200.2.0.2, 00:01:37C 192.168.1.0/24 is directly connected, Serial1/1B 192.168.2.0/24 [200/0] via 200.2.0.2, 00:01:37红色字第一条,RA到200.3.0.0网段的下一跳是RC,而不是用快速以太网链路连接的RB。
BGP实验报告—计算机应用技术周昌盛 20070305 一、实验目标本实验中,将配置内部BGP(IBGP)以及EBGP,使用公司AS内部不同的路由器到ISP的冗余链路。
为了使IBGP对等体正确地交换路由选择信息,必须使用命令next-hop-self。
还要使用属性local-preference和med(多出口描述符),这确保了平缓的、不限量的流量使用T1链路发送去往ISP1的AS200的数据和接收从该AS来的数据。
只有当主T1链路失效时才使用流量受限的T1链路。
数据流通过流量受限的T1链路可以获得跟主T1链路相同的带宽,但费用就高得多,确保这条链路不在非必要时使用。
本实验的拓扑图如图1-1所示:图1-1 实验拓扑图二、实验设备由于实验条件限制,本实验中使用模拟器R1、R2、R3来模拟上述三台路由器三、实验背景本实验中将在路由器SanJose1和SanJose2与外部邻局AS200的ISP1运行BGP,在SanJose1和SanJose2之间运行IBGP。
最后,在公司的网络中运行EIGRP。
四、实验步骤步骤1配置路由器ISP1的接口:Router>enRouter#config tRouter<config>#hostname ISP1ISP1<config>#interface loopback0ISP1<config-if>#ip add 192.168.100.1 255.255.255.0ISP1<config-if>#no shutISP1<config-if>#interface f1/0ISP1<config-if>#ip add 192.168.1.1 255.255.255.252ISP1<config-if>#no shutISP1<config-if>#interface f0/0ISP1<config-if>#ip add 192.168.1.5 255.255.255.252ISP1<config-if>#no shutISP1<config-if>#end配置路由器SanJose1的接口:Router>enRouter#config tRouter<config>#hostname SanJose1SanJose1<config>#interface loopback0SanJose1<config-if>#ip add 172.16.64.1 255.255.255.0 SanJose1<config-if>#no shutSanJose1<config-if>#interface f1/0SanJose1<config-if>#ip add 192.168.1.6 255.255.255.252 SanJose1<config-if>#no shutSanJose1<config-if>#interface f0/0SanJose1<config-if>#ip add 172.16.1.1 255.255.255.0 SanJose1<config-if>#no shutSanJose1<config-if>#end配置路由器SanJose2的接口:Router>enRouter#config tRouter<config>#hostname SanJose1SanJose2<config>#interface loopback0SanJose2<config-if>#ip add 172.16.32.1 255.255.255.0 SanJose2<config-if>#no shutSanJose2<config-if>#interface f1/0SanJose2<config-if>#ip add 172.16.1.2 255.255.255.252 SanJose2<config-if>#no shutSanJose2<config-if>#interface f0/0SanJose2<config-if>#ip add 192.168.1.2 255.255.255.252 SanJose2<config-if>#no shutSanJose2<config-if>#end上述配置完成后,可以使用ping命令来测试直连路由之间的连通性。
BGP实验手册实验:BGP宣告精确路由和聚合路由实验:实验拓扑为:说明:R1在AS1,R2在AS2 R3在AS 3R1的具体配置如下:interface Loopback0ip address 192.168.192.1 255.255.255.0interface Loopback1ip address 192.168.193.1 255.255.255.0interface Loopback2ip address 192.168.194.1 255.255.255.0interface Loopback3ip address 192.168.195.1 255.255.255.0interface Loopback4ip address 192.168.196.1 255.255.255.0interface Loopback5ip address 192.168.197.1 255.255.255.0interface Loopback6ip address 192.168.198.1 255.255.255.0interface Loopback7ip address 192.168.199.1 255.255.255.0router ospf 1log-adjacency-changesnetwork 192.168.192.0 0.0.0.255 area 0network 192.168.193.0 0.0.0.255 area 0network 192.168.194.0 0.0.0.255 area 0network 192.168.195.0 0.0.0.255 area 0network 192.168.196.0 0.0.0.255 area 0network 192.168.197.0 0.0.0.255 area 0network 192.168.198.0 0.0.0.255 area 0network 192.168.199.0 0.0.0.255 area 0!router bgp 1aggregate-address 192.168.192.0 255.255.248.0 聚合路由redistribute ospf 1 实验采用重分布,但是实际不建议这样。
一、先总结一下BGP怎么学(磨刀不误砍柴工哈):先看BGP的特性ferture,然后再看这些ferture在数据包传递过程中会产生哪些问题,接下来就看怎么解决这些问题,以实现数据包的正确传递!1:BGP靠TCP进行连接,故第一步要保证三层IP的可达性;2:BGP以单播建邻居,故须手工指邻居;3:BGP有源检测特性,故邻居地址须和发送更新地址保持一致(至少保证一条TCP连接);4:EBGP邻居open包的TTL值为1(其他包呢),如以环回接口建邻居须将它改大;5:BGP要关自动汇总吧,这个是因为什么?6:BGP有同步规则,这会导致传输AS不传递路由条目(从外部AS传过来的条目不再传向其他AS)[这个同步关了会造成路由黑洞,不关路由器承受不住,怎么折衷?传输AS的路由器性能应该不错吧,为什么还要关同步?];7、BGP有水平分割,在同一个AS内路由条目只传一跳,故要求IBGP全互联或者是做路由反射;8、BGP的下一跳是以AS计数,故为了保证数据包能够被正确封装,应该将下一跳改成物理上的下一跳(这个如果BGP和IGP同步了就不用打nexthop-self命令了吧?)回头看看,这好像都是从BGP到数据包的思路,那么还可以从数据包到BGP吧。
嗯,两种思路!回头再总结一下!二、next-hop属性1、针对EBGP邻居传递过来的条目;2、非MA网络上只须在连接外部AS的边缘路由器上打相应命令;3、MA网络上的next-hop,如图:(1)A向AS65000传递路由时无须更改下一跳(2)第三方下一跳:前提:以直连物理口建立邻居问题:AS65000在向A传递外部AS路由条目时会先经C到B然后到A,并且A上这种条目的下一跳地址会显示为B,这在MA网络中并不是数据包传递的最佳路径(完全可由C直接到A)。
BGP解决这种问题的具体方法是怎么样的?没弄明白,还请老师指教!!!三、peer-group1、作用:简化IBGP邻居配置任务;减少资源消耗(只对peer-group建立缓存)2、范围:针对IBGP邻居3、命令:R2(config-router)#neighbor PG peer-group 建立peer-groupR2(config-router)#neighbor PG remote-as 123 设置peer-group所属ASR2(config-router)#neighbor PG update-source lo0 指明更新源R2(config-router)#neighbor PG next-hop-self 修改下一跳R2(config-router)#neighbor 1.1.1.1 peer-group PG 针对1.1.1.1这个邻居调用peer-groupR2(config-router)#neighbor 3.3.3.3 peer-group PG 调用4、不足:一旦所有的IBGP邻居都用peer-group建立,就不能针对单个IBGP邻居实施出站策略(入站策略还是可以的)四、邻居状态1、idle:在这上状态下BGP会查路由表,看有没有去往建立邻居地址的路由,如果有的话则进行TCP的连接,一直处于此种状态则表明找不到去住邻居地址的路由,无法完成数据帧的封装;2、Active:有路由了,这时尝试建立TCP的连接,发出TCP请求;3、Connect:被请求的一方才会有这种状态(端口为179的一方),出现这种状态表示TCP连接已经建立;4、Open sent:发送BGP的路由信息5、Open confirm:路由信息发送完毕,邻居关系快要协商成功了6、Established:邻居关系建立,开始为数据包提供正常的路由.注意:一会显示idle一会显示active,则有以下原因:发出去的包邻居没有回包;指的邻居地址不对;AS号码错误.五、BGP的认证1、只支持MD5认证2、非对称式密钥,只发消息摘要,不发密码本身3、针对每个TCP段、每个路由更新进行认证4、命令R3(config-router)#neighbor 1.1.1.1 password 0 cisco六、查看写路由表失败的路由:show ip bgp rib-failure可以看到失败的原因七、BGP会话的清除方式作用:让BGP立刻执行所实施的策略1、硬清除:直接清除邻居关系重新建;(1)R3#clear ip bgp *清除所有BGP的会话,邻居关系重新从IDLE状态开始协商(2)R3#clear ip bgp 1.1.1.1清除单个的BGP邻居2、软清除:清除BGP路由重新发或者重新收(1)R3#clear ip bgp * soft out 只针对out方向清,in方向通常清不了(原因?)(2)R3#clear ip bgp 1.1.1.1 soft out(3)清入站路由更新R3(config-router)#nei 2.2.2.2 soft-reconfiguration inboundR3#clear ip bgp * soft in或者到邻居端清出站更新这个好像没多大效果啊,没看出来3、等待BGP的刷新,让它自己清八、路由黑洞1、BGP水平分割带来的黑洞(1)原因:IBGP的水平分割(2)解决方法:IBGP全互联、路由反射器、BGP联盟(3)查看向邻居通告了哪些BGP路由R2#show ip bgp neighbors 1.1.1.1 advertised-routesBGP table version is 4, local router ID is 2.2.2.2Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path*> 4.1.1.0/24 202.100.0.1 0 0 400 i2、不同步带来的路由黑洞(1)原因:没有路由(2)解决:同步九、路由反射器1、路由反射簇:路由反射器和它的客户端所在的范围,可以看作是一个逻辑上的路由器,但这个路由器只有RR知道,非RR只是一个普通的IBGP路由器。
bgp实验报告总结
BGP实验报告总结
背景
BGP(Border Gateway Protocol)是用于在互联网中交换路由信息的协议。
它是一种路径矢量协议,用于确定最佳路径,并且能够适应网络拓扑的变化。
在本次实验中,我们对BGP进行了实验,并对实验结果进行了总结和分析。
实验过程
在实验中,我们使用了模拟器来模拟网络环境,并配置了多个路由器和主机。
我们通过配置BGP协议来模拟网络中的路由器之间的路由信息交换。
我们还模拟了网络中的故障情况,以观察BGP协议对网络拓扑变化的适应能力。
实验结果
通过实验,我们观察到BGP协议在网络拓扑变化时能够快速地重新计算最佳路径,并更新路由表。
当网络中发生故障时,BGP能够及时地发现并通知其他路由器,从而保证了网络的稳定性和可靠性。
此外,我们还观察到BGP协议在处理大规模网络时的效率和性能表现良好。
总结与分析
通过本次实验,我们对BGP协议的工作原理和性能有了更深入的了解。
BGP作为互联网中最重要的路由协议之一,具有很强的稳定性和可靠性。
它能够适应网络拓扑的变化,并且能够处理大规模网络的路由信息交换。
因此,BGP协议在互联网中扮演着至关重要的角色。
结论
通过本次实验,我们对BGP协议有了更深入的了解,并且验证了其在网络中的
稳定性和可靠性。
BGP协议的高效性和性能表现使其成为互联网中不可或缺的一部分,对于构建稳定和可靠的互联网具有重要意义。
我们将继续深入研究BGP协议,并将其应用于实际网络中,以提高网络的稳定性和可靠性。
实验10 BGP路由协议原理、配置与排错实验10.1 实验内容●BGP的基本配置;●BGP的聚合;●BGP属性简单应用;●BGP路由反射器的作用;●基于as-path的路由策略。
说明:本文所有实验环境共用一个组网图。
在不支持loopback的软件版本中,建议使用dialer口替代loopback口。
在本实验中,所有的实验都是沿用前面的配置,在进行下一个实验前请不要修改前面已完成的配置。
软件版本:Version 1.74 Release 0006。
10.2 BGP基本配置10.2.1 实验目的●掌握配置BGP的基本配置命令;●邻居关系的建立;●路由的引入,察看实验结果。
10.2.2 实验环境●Quidway 26 系列或更高性能路由器 4台,交叉网线2根,V35或V24DTE/DCE 线缆 2 对。
10.2.3 实验组网图图10-1实验组网图10.2.4 实验步骤1. 配置建立路由器RouterA RouterB RouterC 邻居关系RouterA:配置路由器A的接口地址,启动BGP协议,设置BGP邻居。
//配置路由器A的接口地址[RouterA-Serial0] ip address 11.1.1.1 255.255.0.0[RouterA-Ethernet0] ip address 11.2.1.1 255.255.0.0[RouterA-LoopBack1] ip address 10.1.1.1 255.0.0.0[RouterA-LoopBack2] ip address 1.1.1.1 255.0.0.0//启动BGP协议[RouterA]bgp 100//设置BGP邻居[RouterA-bgp]peer 11.1.1.2 as-number 200[RouterA-bgp]peer 11.2.1.2 as-number 200[RouterA] save配置路由器C:[RouterC-LoopBack1] ip address 3.3.3.3 255.0.0.0[RouterC-Ethernet0] ip address 11.2.1.2 255.255.0.0[RouterC] bgp 200[RouterC-bgp]peer 11.2.1.1 as-number 100[RouterC] save配置路由器B:[RouterB-Serial0] ip address 11.1.1.1 255.255.0.0[RouterB] bgp 200[RouterB-bgp]peer 11.1.1.2 as-number 100[RouterB] save在路由器A上执行:[RouterA]display bgp summaryNeighbor V AS MsgRcvd MsgSent OutQ Up/Down State11.1.1.2 4 200 2 3 0 00:00:09 Established11.2.1.2 4 200 11 12 0 00:09:23 Established两EBGP邻居已经建立。
BGP状态机实验报告一、实验目的通过BGP状态机实验,加深对协议状态机描述的理解,并掌握状态机的设计实验方法,同时也可加深对BGP路由协议的理解二、实验要求根据系统的各种输入事件,进行BGP状态的变迁,并根据BGP 协议在适当情况下进行相应的处理。
三、状态转移情况BGP状态机一共有6个状态,分别是Idle,Connect,Active,OpenSent,OpenConfirm,Established本实验要求处理的状态转移事件有收到open消息:stud_bgp_FsmEventOpen收到Keepalive消息:stud_bgp_FsmEventKeepAlive收到Notification消息:stud_bgp_FsmEventNotification收到Update消息:stud_bgp_FsmEventUpdateTCP连接异常:stud_bgp_FsmEventTcpException,又细分为BGP_TCP_CLOSE,BGP_TCP_FATAL_ERROR,BGP_TCP_RETRANSMISSION_TIMEOUT三种子情况计时器超时:stud_bgp_FsmEventTimerProcess,又细分为BGP_CONNECTRETRY_TIMEOUT,BGP_HOLD_TIMEOUT,BGP_KEEPALIVE_TIMEOUT三种子情况BGP开始:stud_bgp_FsmEventStartBGP结束:stud_bgp_FsmEventStop收到连接结果:stud_bgp_FsmEventConnect整理后的状态转移表如下编程时,只要在事件处理函数中完成对应状态的变换即可四、包的发送1.open将BGP消息头的标记全部置为1,表示不包含认证信息●设置长度●设置消息类型●设置版本●设置自治系统号●设置保持时间●设置BGP标志符●调用bgp_FsmSendTcpData函数发送包2.notification●BGP消息头的标记全部置为1●设置BGP消息头的长度●设置BGP消息头的类型●设置NOTIFICATION消息的错误编码●设置NOTIFICATION消息的错误字码●调用bgp_FsmSendTcpData函数发送包3.keepalive●BGP消息头的标记全部置为1●设置BGP消息头的长度●设置BGP消息头的类型●调用TCP段发送函数bgp_FsmSendTcpData发送五、遇到的问题●包头的格式marker要设置为全一,表示不包含认证信息。