BGP总结
个人吐血BGP经验总结(上)

BGP简介BGP 属于路径矢量协议他和距离矢量路由协议的区别是:距离矢量强调的是一个距离,即下一跳路由器,因为一台路由器下一跳地址总是他的邻居路由器路径矢量强调的是一个下个AS,即下一跳AS。
他的选路也是基于AS不同的ISP之间有不同的AS号,不同的AS主要目的是基于管理,电信和网络各自管理各自AS内部的IGP,而AS和AS之间的路由则基于BGP,同时也是为了减少路由条目。
BGP更新利用TCP 端口179 所以更新是可靠的更新基础概念一些名词peer=neighborBgpspeakers= 运行BGP的路由器BGP管理距离IBGP 200 IBGP是就是同一个AS之中建立的bgp邻居关系EBGP 20 EBGP就是在不同as之间所建立的bgp邻居关系用EBGP是为了提供AS之间的路由,单既然用IGP就可以在一个AS内部通告路由问什么要再搞个IBGP出来答:IBGP的作用就是为了在同一个AS内的边界路由器上互相通告更新信息,必须有个机制能让同一个AS内的BGP路由器来互相通告更新信息BGP中的建立邻居不需要有直连的链路(这点和IGP的不同)原因是BGP使用的TCP协议,TCP是个点到点的协议他不支持组播,所以他是单播的,单播是可以被路由器转发的。
由此我推理出BGP的所有报文都是单播的,因为他的邻居不直连所以无法通告组播来传递BGP是路劲矢量协议凡矢量协议必有水品分割,BGP的水品分割分为EBGP和IBGP的水品分割EBGP水平分割:主要依赖AS号来防止环路(例如从某个EBGP邻居学到路由会再通告给此邻居通告命令shipbgpneix.x.x.x advertised-route 查看,单对方不会接收而已),在路由被传播过程中每个传播者都加入自身的AS进去.(AS是bgp的属性之一)IBGP水平分割: 默认的通过IBGP学到的路由不会再通告给其他的邻居,所以必须保证网络是全网状的或者通过其他手段来通告给其他IBGP)BGP的边界网关路由器从EBGP学到的路由通告给IBGP的邻居,通过IBGP接收到的路由的路由器默认不再通告给其他IBGP邻居了,所以要保持一个full mesh接口,(但是如果此路由器也是BGP的边界网关路由器,则可以通告给其他的EBGP邻居)有个例外是通告的路由如果不在路由表中的则不会通告此路由BGP的route-id 建议和OSPF的一致不然会出问题BGP的用环回口建立邻居的时候neighbor x.x.x.x update-source 虽然理论上只要一边设置就可以但是建议两边都设置BGP的neighbor 和network 是分开的neighbor 命令用来建立邻居,而network命令仅用来传路由(通告路由)BGP中三张表?BGP表是什么?答1 路由表,bgp表,邻居表 2 shipbgp可查看被注入(用network命令)BGP的路由BGP默认不负载均衡BGP传播和下一跳;BGP传播的是AS的路径,所以实际的下一跳地址是通告AS路劲的bgp路由器,不像IGP 总是相邻的邻居路由器,所以必须保证通过递归让bgp路由器能有下一跳地址。
BGP总结

BGP是EGP的一种,工作在AS与AS之间,动态路由协议。
BGP的连接可以是逻辑的,不一定直连。
自治系统:自治系统(AS):由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。
AS:1—65535 (64512—65535 私有AS编号)自治系统内部的路由协议——IGP自治系统之间的路由协议——EGP工作方式:传送协议:TCP,端口号179无需周期性更新路由更新:只发送增量路由周期性发送keepAlive报文效验TCP的连通性BGP报文有四种类型:Open:负责和对等体建立邻居关系。
KeepAlive:该消息在对等体之间周期性地发送,用以维护连接。
(稳定后发送)Update:该消息被用作在BGP对等体之间传递路由信息。
Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体。
两种邻居类型:IBGP:建立连接,环回口地址EBGP:建立连接,物理口地址BGP路由通告原则:1.连接一建立,BGP Speaker将把自己所有BGP路由通告给新对等体。
多条路径时,BGP Speaker只选最优的给自己使用。
2.BGP Speaker只把自己使用的路由通告给对等体。
3.BGP Speaker从EBGP获得的路由会向它所有BGP对等体通告。
(包括EBGP和IBGP)4.BGP Speaker 从IBGP获得的路由不会通告给它的IBGP邻居。
(如果没有这条路由通告规则,RTC从IBGP对等体RTA学到的路由就会通告给RTD,RTD继而会通告给RTB,RTB再把这条路由通告回RTA。
这样就在AS内形成了路由环路)为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。
但是消耗太大了。
假设存在n个IBGP,则连接数就为n(n-1)/2。
所以,BGP还提供了如下两种解决IBGP水平分割的方案:路由反射器(Route-Reflector),联盟(Confederation)路由发射器:在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器做为客户机(Client)。
1.BGP总结

1.BGP总结1.BGP协议2.IPv6协议(与IPv4相应)3.MPLS协议4.MPLS/vpn协议5.IPSEC vpn协议(加密)6.Dm vpn(动态多点VPN)(需要使⽤Ipsec VPN)7.Multicast协议IGP/EGP/egpBgpBGP协议AS:⾃制系统autonomous system处在⼀个共同的管理域下的⼀组路由器的集合。
范围:1-65535;1-64511/公有的AS号64512-65535/私有的AS号注:*BGP永远只通告最优路径(带>的路径)*BGP打开同步(syn)时,第⼀步需要IGP可达,第⼆步需要BGP和IGP的router-id相同。
*BGP将⼀条路由宣告进协议,若打开汇总可以宣告⽹段(模糊);若关闭汇总的情况下,必须精确匹配(100%正确)。
*IBGP不允许被重分发进OSPF协议,防⽌环路产⽣;打破这⼀机制的命令:在bgp模式下Bgp redistribute-internal1.基础理论知识1)Ebgp/Ibgp(⾃治区域间协议/⾃治区域内协议)IBGP:建⽴⾃治区域内的邻居关系的前提是需要建⽴IGP,因为需要先建⽴邻居。
(没有IGP,IBGP邻居起不来)在AS内运⾏IGP协议的⽬的是为了上层IBGP邻居关系的建⽴,先打通底层的通道。
EBGP:默认情况下:EBGP只能建⽴在直连的物理端⼝上,IBGP建⽴在IGP可达的任何地⽅。
若EBGP使⽤环回⼝建⽴邻居:如neighbor 15.0.0.1 ebgp-multihop 255(EBGP建⽴邻居关系的跳数默认是1,最⼤是255) 2)Full-mesh(全⽹状结构):⽤来解决IBGP的⽔平分割问题。
路由反射器:在路由反射器条件下,IBGP⽔平分割原则失效命令:neighbor 1.1.1.1 route-reflector-client3)同步原则4)⽔平分割原则⼀条通过⼀个IBGP邻居学来的路由,不会被传递给另⼀个IBGP邻居。
BGP知识点总结(一)

BGP知识点总结(⼀)动态路由协议(⼯作范围)1、⾃治系统内部的路由协议-IGP:⼯作在同⼀个AS内,主要⽤来发现和计算路由,为AS内提供路由信息的交换(ospf,rip,isis)2、⾃治系统之间的路由协议-EGP:⼯作在AS和AS之间,着重于控制路由的传播和选择最优的路由,在AS间提供⽆环路的路由信息交换,BGP是EGP的⼀种。
⾃治系统定义:由同⼀个技术管理机构管理、使⽤统⼀选路策略的⼀些路由器的集合。
⾃治系统的编号范围(1~65535);公有编号(1~64511);私有编号(64512~65535)。
BGP特征(增强的距离⽮量路由协议)1、可靠的路由跟新机制2、丰富的Metric度量⽅法3、从设计上避免了环路的发⽣ 为路由附带属性信息 ⽀持CIDR 丰富的路由过滤和路由策略 增量更新计算BGP路由的传递因为要先建⽴TCP连接,所以两端的路由器必须知道对⽅的IP地址,可以通过直连端⼝,静态路由或者IGP学习。
BGP路由更新传输协议:TCP,端⼝号179(⽬的端⼝号),源端⼝号随机产⽣(1024~50000).⽆需周期性更新路由更新:只发送增量更新周期性发⽣keepAlive报⽂检测TCP的连通性BGP报⽂类型1、Open:负责和对等体建⽴连接2、keepAlive:该消息在对等体之间周期性的发送,⽤以维护连接3、Update:该消息被⽤来在BGP对等体之间传递路由信息4、Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体5、Router-refresh:⽤来通知对等体⾃⼰⽀持路由刷新能⼒BGP报⽂头1、HeaderMarker(16B)Length(2B)Type(1B)2、Message3、DataOpen报⽂Version(1B) #现在⽤的V4My Autonomous System(2B) #我⾃⼰的AS号码Hold Time(2B) #建⽴的时间,180S,超过180S,对等体down了。
BGP协议总结(比较详细,好理解)

BGPBorder Gateway Protocol(当前使用的版本是 BGP-4)动态路由协议可以按照工作范围分为IGP以及EGP。
IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换;而EGP工作在AS与AS之间,在AS 间提供无环路的路由信息交换,BGP则是EGP的一种。
BGP是一种增强的路径矢量路由协议,同时BGP是拥有丰富的策略控制技术的外部网关协议。
多运行于AS与AS之间。
目录:BGP概述BGP基本概念BGP工作原理BGP与IGP交互BGP属性特点BGP选路规则BGP负载分担BGP扩展特性1.BGP概述BGP 其着眼点不在于自动发现网络拓扑,而在于在AS之间选择最佳路由和控制路由的传播。
Ⅰ。
BGP使用 TCP 作为其传输层协议(监听端口号为 179),提高了协议的可靠性,且不需要专门的机制来确保连接的可控性。
BGP进行域间的路由选择,对协议的稳定性要求非常高。
因此用TCP协议的高可靠性来保证BGP协议的稳定性。
BGP的对等体之间必须在逻辑上连通,并进行TCP连接。
目的端口号为179,本地端口号任意。
Ⅱ。
路由更新时 ,BGP 只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。
Ⅲ。
BGP从设计上 避免了环路 的发生。
AS之间:BGP通过携带AS路径信息来标记途经的AS,带有本地AS号的路由将被丢弃,从而避免了域间产生环路。
AS内部:BGP在AS内学到的路由不再通告给AS内的BGP邻居,避免了AS内产生环路。
Ⅳ。
支持CIDR 无类域间路由Ⅵ。
BGP提供了丰富的路由策略;提供了防止路由振荡的机制;BGP也易于扩展二.BGP基本概念Ⅰ。
自治系统AS (Autonomous System )AS是指在一个实体管辖下的拥有相同选路策略的IP网络。
每个AS都有唯一的自治系统编号,这个编号是由IANA分配的。
编号范围是1~65535(其中1到64511是注册的因特网编号,64512到65535是私有网络编号。
BGP协议学习总结

BGP协议学习总结BGP学习总结BGP是⽬前使⽤的唯⼀的⾃治系统间的路由协议,它是⼀种⽮量路由协议,基于TCP的179号端⼝,它采⽤单播增量更新的⽅式更新路由,与其他的路由协议不同的是,BGP只要TCP可达,就可以建⽴对等体关系,BGP需要⼿⼯显式的指定对等体关系。
⼀、常见术语1、 BGP的发⾔者:发送BGP消息的路由器叫做BGP的发⾔者。
2、 BGP对等体:相互交换BGP消息的路由器叫做BGP的对等体。
3、 IBGP对等体:同⼀个⾃治系统内的对等体关系。
4、 EBGP对等体:不同⾃治系统间的对等体关系。
⼆、BGP的通告原则:1、当多条路径存在时,BGP的发⾔者⾸选最优的路由供⾃⼰使⽤。
2、 BGP发⾔者只把⾃⼰使⽤的最优的路由通告给其他对等体。
3、 BGP发⾔者从EBGP获得路由信息向它的EBGP和IBGP对等体通告。
4、 BGP发⾔者从IBGP对等体获得的路由信息不会再向它的IBGP邻居通告。
5、 BGP发⾔者从IBGP获得的路由信息是否通告给EBGP对等体,要依IBGP与EBGP同步情况⽽定。
6、对等体关系建⽴后,BGP发⾔者将⾃⼰的所有的BGP路由通告给新想相邻体。
三、BGP的消息类型和功能1、 open消息:⽤来建⽴BGP对等体间的关系并协商参数。
2、 keepalive消息:⽤来对open消息确认,周期性的发送keepalive消息向对等体通告⾃⼰的存在,保持对等体的关系。
3、 nitification:错误⽇志,当有错误发⽣的时候,会向对等体发送notification报⽂,并且断开TCP连接,并回到idle状态。
4、 update消息:⽤来更新路由条⽬。
5、 route-fresh消息:向对等体请发送求指定地址族的路由信息。
四、BGP的状态机制1、 idle状态:初始状态,不接受任何BGP的连接,等待start事件的产⽣,start事件产⽣后,系统开启connectRetry定时器。
bgp实验报告总结

bgp实验报告总结
BGP实验报告总结
背景
BGP(Border Gateway Protocol)是用于在互联网中交换路由信息的协议。
它是一种路径矢量协议,用于确定最佳路径,并且能够适应网络拓扑的变化。
在本次实验中,我们对BGP进行了实验,并对实验结果进行了总结和分析。
实验过程
在实验中,我们使用了模拟器来模拟网络环境,并配置了多个路由器和主机。
我们通过配置BGP协议来模拟网络中的路由器之间的路由信息交换。
我们还模拟了网络中的故障情况,以观察BGP协议对网络拓扑变化的适应能力。
实验结果
通过实验,我们观察到BGP协议在网络拓扑变化时能够快速地重新计算最佳路径,并更新路由表。
当网络中发生故障时,BGP能够及时地发现并通知其他路由器,从而保证了网络的稳定性和可靠性。
此外,我们还观察到BGP协议在处理大规模网络时的效率和性能表现良好。
总结与分析
通过本次实验,我们对BGP协议的工作原理和性能有了更深入的了解。
BGP作为互联网中最重要的路由协议之一,具有很强的稳定性和可靠性。
它能够适应网络拓扑的变化,并且能够处理大规模网络的路由信息交换。
因此,BGP协议在互联网中扮演着至关重要的角色。
结论
通过本次实验,我们对BGP协议有了更深入的了解,并且验证了其在网络中的
稳定性和可靠性。
BGP协议的高效性和性能表现使其成为互联网中不可或缺的一部分,对于构建稳定和可靠的互联网具有重要意义。
我们将继续深入研究BGP协议,并将其应用于实际网络中,以提高网络的稳定性和可靠性。
bgp知识点总结

bgp知识点总结BGP(Border Gateway Protocol,边界网关协议)知识点总结。
一、BGP概述。
1. 定义与作用。
- BGP是一种用于在不同自治系统(AS)之间交换路由信息的外部网关协议(EGP)。
自治系统是由一个或多个网络组成的,在一个管理机构下运行并使用统一的内部路由策略。
- 其主要作用是实现不同自治系统之间的可达性,通过传递路由信息,使得不同AS中的网络能够相互通信。
2. BGP的特点。
- 路径矢量协议:BGP不像内部网关协议(如OSPF、RIP)那样基于链路状态或距离矢量,而是基于路径矢量。
它通告的是到达目的网络的完整路径(包括经过的自治系统序列)。
- 可靠性高:使用TCP作为传输协议(端口号179),这保证了BGP消息的可靠传输。
因为TCP具有确认、重传等机制,可以确保BGP对等体之间的消息准确无误地传递。
- 策略丰富:BGP允许网络管理员根据多种策略来控制路由的传播和选择。
例如,可以基于AS路径长度、路由的本地优先级等因素来决定选择哪条路由进入自己的路由表。
二、BGP的消息类型。
1. Open消息。
- 用于建立BGP对等体关系。
在Open消息中包含了BGP版本号、本地AS号、保持时间(Hold Time)、BGP标识符(通常是路由器的某个接口的IP地址)等信息。
- 当两个BGP路由器之间交换Open消息并且参数协商成功后,它们之间就建立了BGP对等体关系。
2. Update消息。
- 用于通告可达路由信息和撤销不可达路由信息。
Update消息包含网络层可达性信息(NLRI),即目的网络的前缀和掩码,以及到达这些目的网络的路径属性(如AS 路径、下一跳等)。
- 如果某个路由不再可达,BGP也会通过Update消息来撤销该路由的通告。
3. Notification消息。
- 用于报告错误信息。
当BGP对等体检测到错误时,会发送Notification消息给对等体,然后关闭BGP连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进入BGP 扩展地址族视图
进入L2VPN 地址族视图 进入VPLS 地址族视图 进入VPNv4 地址族视图 进入BGP-VPN 实例视图 进入IPv6 地址族视图 l2vpn-family vpls-family ipv4-family vpnv4 [ unicast ] ipv4-family vpn-instance vpn-instance-name ipv6-family
配置BGP 的路由属性
设定BGP 协议的优先级 preference { external internal local | route-policy route-policy-name } 配置本机的缺省Local_Pref 属性值 default local-preference preference 配置缺省MED 值 default med med 比较来自不同AS 的MED 值 compare-different-as-med 设置当MED值丢失时将其作为最大值处理 bestroute med-none-as-maximum 当路由属性中的 MED 值丢失时,如果配置了该命令,则BGP 在选路时将MED 值 作为最大值处理,否则将MED 当作0 处理。 配置发布路由时将自身地址作为下一跳 peer { ip-address | group-name } next-hop-local 允许本地AS 编号重复出现 peer { ip-address | group-name } allow-as-loop [ number ] 不将AS_Path 属性作为选路条件 bestroute as-path-neglect 配置伪AS 编号 peer { ip-address | group-name } fake-as fake-as-number 使用此命令可以将本地真实的 AS 编号隐藏,其他AS 内的对等体在指定本端对等体所在的 AS 编号时,应该设置成这个伪AS 编号。
配置BGP 路由信息的发布策略
配置出方向路由策略 peer { ip-address | group-name } route-policy route-policy-name export 配置基于ACL 的过滤策略 peer { ip-address | group-name } filter-policy acl-number export 配置基于 AS 路径过滤器的路由过滤 peer { ip-address | group-name } as-path-filter as-path-filter-number export 配置基于前缀列表的路由过滤 peer { ip-address | group-name } ip-prefix ip-prefix-name export
执行 peer default-route-advertise 命令后,不论本地路由表中是否存在缺省路由,都将 向指定对等体发布一条下一跳地址为本地地址的缺省路由。
配置相关访问列表
配置AS 路径过滤列表 ip as-path-filter as-path-filter-number { permit | deny } regular-expression 配置标准团体属性过滤器 ip community-filter basic-comm-filter-num { deny | permit } [ community-number | aa:nn ] *&<1-16> [ internet | no-export-subconfed | no-advertise | no-export ] * 配置高级团体属性过滤器 ip community-filter adv-comm-filter-num { permit | deny } regular-expression 扩展团体属性过滤器 ip extcommunity-filter extcomm-filter-number { deny | permit } rt { as-number : nn | ipv4-address : nn } &<1-16>
配置BGP 路由衰减参数
dampening [ half-life-reach half-life-unreach reuse suppress ceilicy-name ] 指定的reuse、suppress、ceiling 三个阈值是依次增大,dampening 命令只对EBGP 路由 生效。
配置BGP 路由信息的接收策略
对接收的所有BGP 路由信息进行过滤 filter-policy { acl-number | ip-prefix ip-prefix-name } import 对接收的路由信息应用路由策略 peer { ip-address | group-name } route-policy route-policy-name import 配置基于ACL 的路由过滤 peer { ip-address | group-name } filter-policy acl-number import 配置基于 AS 路径过滤器的路由过滤 peer { ip-address | group-name } as-path-filter as-path-filter-number import 配置基于地址前缀列表的路由过滤 peer { ip-address | group-name } ip-prefix ip-prefix-name import
检查配置结果
查看BGP 发布的路由信息 display bgp network 查看与指定AS 路径过滤器匹配的路由信息 display bgp routing-table as-path-filter as-path-filter-number 查看CIDR 路由信息 display bgp routing-table cidr 查看匹配指定BGP 团体属性过滤器的路由 display bgp routing-table community-filter community-filter-number [ whole-match ] 查看BGP 衰减的路由 display bgp routing-table dampened 查看BGP 衰减的配置参数 display bgp routing-table dampening parameter 查看路由振荡统计信息 display bgp routing-table flap-info 查看BGP 对等体发布或者收到的路由信息 display bgp routing-table peer ip-address { advertised-routes | received-routes } [ statistics ]
组建大型BGP 网络
配置BGP 对等体组
创建IBGP 对等体组 group group-name [ internal ] 向对等体组中加入对等体 peer ip-address group group-name 创建EBGP 对等体组 group group-name external 设置该对等体组所属的AS 编号 peer group-name as-number as-number 向对等体组中加入对等体 peer ip-address group group-name
替换AS_Path 属性中的AS 编号 peer { ip-address | group-name } substitute-as 如果AS_Path 属性中含有对等体所在的AS 的编号, 则在通告给对等体之前, 将这些AS 编号 用本地AS 编号替换。 配置AS_Path 属性中仅携带公有AS 编号(该命令只能应用于 EBGP 对等体。) peer { ip-address | group-name } public-as-only
调整和优化BGP 网络
配置BGP 定时器 timer keepalive keepalive-time hold hold-time 配置对等体/组的keepalive 发送间隔和保持时间 peer { ip-address | group-name } timer keepalive keepalive-time hold hold-time 配置更新报文的发送时间间隔 peer { ip-address | group-name } route-update-interval interval 使能Route-refresh 能力 peer { ip-address | group-name } capability-advertise { route-refresh |conventional } 保留对等体的所有路由更新 peer { ip-address | group-name } keep-all-routes 软复位BGP 连接(用户视图下执行 refresh bgp 命令) refresh bgp [ vpn-instance vpn-instance-name |vpnv4 ] { all | ipv4-address | group group-name |external | internal } { export | import } 使能EBGP 连接快速复 ebgp-interface-sensitive 配置MD5 认证密码 peer { ip-address | group-name } password { cipher | simple } password 配置BGP 最大等价路由条数 maximum load-balancing number
BGP常用配置命令(华为设备VRP5.30)
配置BGP 的基本功能
启动BGP(指定本地AS 编号) bgp as-number 配置BGP 的Router ID router-id ip-address 指定对等体的IP 地址及其所属的AS 编号 peer ip-address as-number as-number 进入BGP-IPv4 单播地址族视图(系统默认配置在单播地址族视图下) ipv4-family unicast 配置BGP 发布本地路由(要发布的本地路由必须存在于本地的 IP 路由表中) network ip-address [ mask | mask-length ][ route-policy route-policy-name ] 指定BGP 连接所使用的本地接口 peer { ip-address | group-name }connect-interface interface-type interface-number 缺省情况下,BGP 使用与邻居直连的物理接口作为TCP 连接的本地接口。 配置EBGP 连接的最大跳数 peer { ip-address | group-name } ebgp-max-hop [ number ] 通常情况下,EBGP 对等体之间必须具有直连的物理链路,如果不满足这一要求,则必须 使用peer ebgp-max-hop 命令允许它们之间经过多跳建立TCP 连接。