BGP团体属性课堂笔记
HCNP笔记-BGP-陈海辉

BGP一、BGP概述(Border gateway protocol)EGP:外部网关路由协议,工作在AS与AS之间BGP着重于控制路由的传播和选择最优路由1.可靠的路由更新机制:在TCP之上2.丰富的Metric度量方法3.从协议上避免了环路的发生支持CID(无类别域间选择)丰富的路由过滤和路由策略增量更新计算因为要建立TCP连接,所以两端的路由器必须知道对方的IP地址,可以通过智联的端口、静态路由或者IGP学习AS内部使用IGP来发现和计算路由,AS之间使用BGP来传递和控制路由。
BGP可以跨越多跳路由器建立邻居关系,为实现路由按需进行控制和优选,BGP设计了诸多属性带在路由中。
二、BGP邻居关系的建立与配置1.BGP邻居发现2.BGP邻居类型-EBGP运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(External BGP)邻居关系3.BGP邻居类型-IBGP运行在相同AS内的BGP路由器建立的邻居关系为IBGP(internal BGP)邻居关系4.BGP邻居关系配置5.BGP邻居关系配置的优化6.BGP邻居关系建立三、BGP路由生成方式1.BGP路由的生成方式-networknetwork命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中。
2.BGP路由的生成方式-Importimport命令是根据运行的路由协议(RIP、OSPF、ISIS等)将路由引入到BGP路由表中,同时import命令哈可以引入直连和静态路由。
四、BGP通告原则与路由处理1.BGP的update报文2.BGP通告原则之一:仅将自己最优的路由发布给邻居3.BGP通告原则之二:通过EBGP获得的最优路由发布给所有BGP邻居4.BGP通告原则之三:通过IBGP获得的最优路由不会发布给其他的IBGP邻居5.BGP通告原则之四:BGP与IGP同步BGP与IGP同步默认关闭6.BGP路由信息处理五、BGP常用属性介绍1.公认必遵(well-know mandatory)所有BGP路由器都可以识别,且必须存在于Update消息中,如果缺乏这种属性,路由信息就会出错2.公认任意(well-know discretionary)所有BGP都可以识别,但不要求必须存在于update消息中,可以根据具体情况决定是否添加到update消息中3.可选过渡(optional transitire)BGP路由器可以选择是否在update消息中携带这种属性,接收的路由器如果不识别这种属性,可以转发给邻居路由器,邻居路由器可能会识别并使用这种属性4.可选非过渡(optional non-transitire)BGP路由器可以选择是否在update消息中携带这种属性,在整个路由发布的路径上,如果部分路由器不能识别这种属性,可能会导致该属性无法发挥效用,因此接收的路由器如果不能识别这种属性,将丢弃这种属性,不必转发给邻居路由器六、常见BGP路由属性1.起源(origin)属性1.1某条路由是直接而具体地注入到BGP路由表中的,则origin属性为IGP。
HCIEBGP学习笔记

BGP学习笔记目录1BGP概述 (3)1.1IGP与EGP的区别在于: (3)1.2BGP特征 (3)1.3BGP路由传递 (3)1.4BGP可靠的路由更新 (4)1.5BGP报文种类 (4)1.5.1BGP报文有五种类型: (4)1.5.2BGP报文头 (4)1.5.3Open报文 (5)1.5.4KeepAlive报文 (5)1.5.5Update报文 (6)1.5.6Notification报文 (7)1.5.7Route-refresh报文 (8)1.6BGP协议中消息的应用 (8)1.7BGP状态机 (9)1.8BGP数据库 (10)1.9BGP路由信息处理 (10)2BGP工作原理 (11)2.1基于TCP连接的邻居关系 (11)2.2I BGP两种邻居-IBGP和EBGP (11)2.3EBGP多跳和指定更新源 (11)2.4BGP路由通告原则 (11)2.4.1BGP路由通告原则(一) (11)2.4.2BGP路由通告原则(二) (12)2.4.3BGP路由通告原则(三) (12)2.4.4BGP路由通告原则(四) (12)2.5BGP属性 (12)2.5.1BGP的路径属性 (12)2.5.2BGP路径属性可以被分为四大类: (12)2.5.3BGP路由属性 (13)2.6BGP路径选择 (16)2.7BGP基本配置 (18)2.8BGP路由聚合 (18)2.9正则表达式 (24)3BGP高级特性 (25)3.1路由反射和联盟 (25)3.2路由反射(RFC2796) (25)3.3联盟(RFC3065) (26)3.4联盟与反射的比较 (29)3.5BGP中通告默认路由的方法: (29)3.6BGP认证 (30)3.7其它 (30)动态路由协议可以按照工作范围分为IGP以及EGP。
IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换;而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种。
BGP协议的课堂笔记

ip as-path access-list 23 permit ^850[0-5]$
匹配上一个过滤器中除了859以外的其他AS号
ip as-path access-list 24 permit ^85[^0-5]$
bgp bestpath as-path ignore
让BGP进行选路的时候,忽略AS-PATh,这条是隐藏命令
==============================================
weight控制路由
================================= =============
当在括号中使用字符时,将否定括号中指定的范围,结果是正则表达式讲匹配范围之外的任何内容
指定了不是0-5,而是将匹配856-859范围内的单个AS号
ip as-path access-list 24 permit ^85.
匹配一个由AS号850-859开始的AS-PATH, “.”可以匹配一个空格,AS号85也能匹配成功
ip as-path access-list 20 permit ^850$
^表示一个行的开始,$表示一个行的结束,这样就只能匹配唯一的AS号850的as-path了
ip as-path access-list 21 permit ^$
匹配一个空的AS-path
ip as-path access-list 22 permit ^85[0123459]$
========================================================
BGP学习笔记

BGP学习笔记2009年03月11日星期三 12:14<BGP(Border Gateway Protocol)>·BGP属于EGP,是高级DV协议,也被称为路径矢量协议,基于TCP 179端口。
·现在使用版本BGP4。
建立TCP连接后,第一次做完整更新,以后就只增量更新、触发更新。
·BGP的目地是提供一种域间路由选择系统,确保自主系统能够无环路的交换路由选择信息。
BGP路由器交换有关前往目标网络的路径的信息。
·Autonomous Systems:运行同一种选路策略,由统一管理者管理。
RFC对AS的定义:一组被统一管理的路由器,它们使用相同的内部网关协议和统一的度量值在AS内部路由分组,并使用外部网关协议将分组路由到其他AS。
取值范围:1-655351-64511(公有)64512-65535(私有)电信AS号:4134 网通AS号:9929 一个好的网站,可以了解到关于AS号的一些信息Telnet 这一地址可以看到公网上的路由条目数<>AS号由internet地址授权委员会(IANA)统一负责分配,下设三个分支局·IGP支持的路由条目有限运行IGP不利于做路由聚合、选路。
·BGP路由器不接受路径列表中包含其AS号的路由选择更新,这种机制也被称为EBGP的水平分割原则。
用来防环·BGP路由器只能将其使用的路由通告给他的邻居。
·BGP支持遂跳路由选择模式的策略--你可以决定自已的数据流去往哪一个AS,但不能决定邻接的AS如何转发你的数据流。
何时使用BGP:1、AS允许数据包通过自已到达其它AS2、AS有多条到其它自治系统的连接3、需要对数据流进入和离开AS的方式进行控制BGP的特性:·BGP属于EGP,是高级DV协议,也被称为路径矢量协议,基于TCP 179端口。
·现在使用版本BGP4。
BGP笔记2

BGP报文BGP有四种报文:1.Open2.Keepalive3.Update4.Notification1)Open报文用于建立邻居Open报文中包含如下信息:Version:版本不一样也可以建立邻居,不过会被同步到低的版本Router-id 一定不能一样Hold-time 3min 不一样也可以建立邻居,自动协商为少的时间AS号,这里的AS号一定要和对端的配置一样才能建立邻居2)Keepalive报文:收到打开消息的一方在接受open报文后,会回送keepalive报文,确认open报文,从而建立BGP连接。
Keepalive报文默认每隔60s发送一次3)Update更新报文:更新报文中指包含一条路径信息,多条路径需要多个报文4)Notification报文:显示重要的事件BGP基本的配置1常用的配置一个路由器只能使用一个BGP的进程。
启动BGP进程Router(config)#router bgp xx(AS号)指定邻居激活接口Router(config-router)#neighbor A.B.C.D remote-as xx(对端AS号)BGP路由使用自治系统号判断邻居的种类,同一个AS内为ibgp邻居,不同AS内为ebgp 邻居。
指定路由选择更新的源IP地址:Router(config-router)#neighbor A.B.C.D update-source [interface]EBGP邻居使用loopback口建立邻居的时候还要加上Router(config-router)#neighbor A.B.C.D ebgp-mulithop [2–255]如果不加默认是255这条命令修改默认的存活时间(TTL)值,以增大ebgp对等体的跳数,从而使得能够路由到ebgp环回接口。
Network宣告网段在bgp里advertise网络,一定要精确的匹配路由表里的条目。
如果没有指定掩码,那么就会按照classful匹配,所以子网也将会被发布。
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连接。
BGP边界网关路由协议学习笔记之属性和选路规则详解

BGP边界⽹关路由协议学习笔记之属性和选路规则详解本⽂讲述了BGP边界⽹关路由协议学习笔记之属性和选路规则。
分享给⼤家供⼤家参考,具体如下:1.BGP属性Weight :权重属性、LP:本地优先级属性、AS-Path、origin:起源码、cluster-ID:簇ID、originetor:起源者、community:社团属性、MED:多出⼝鉴别属性、Next-Hop:下⼀跳属性2.选路条件有效的(下⼀跳可达和同步)、⽆环的路径,没有惩罚路由Weight:范围0-65535,选⼤local-perference:范围0-4294967295,选⼤本地起源:起源于本地优先(Next-Hop为0.0.0.0)AS-Path:最短最优起源码:选⼩MED:范围:0-4294967285,只在通过两条路径得到最左边AS是相同时才进⾏⽐较EBGP优于IBGP,联邦EBGP于普通IBGP不能使⽤该条进⾏⽐较,此时联邦EBGP路由与IBGP相同⽐较最近的下⼀跳地址,在IGP表中Metric最⼩如果配置了Maximum-path,如果存在多条等价路径,会同时进⼊路由表最⽼的路由:前提必须是external路由,联邦内的EBGP路由当作EBGP处理最低的router-id多条路径的始发router-id相同,那么选择cluster-list长度最短的BGP优选来⾃最低邻居IP地址的路径(BGP的neighbor配置的那个IP地址)Weight权重值,cisco私有范围:0-65535,默认本地为32768,学习到的为0,越⼤越优仅仅在本路由器上⽣效,不可传递全局修改某个邻居发送所有路由的Weight值在本路由器修改某个邻居发送路由的weight使⽤ACL或prefix-list定义感兴趣路由再在route-map中修改weight值之后再某个邻居之间调⽤,weight只能在in⽅向修改,不可⽤于out⽅向Local Preference本地优先级(本AS,也就是⼤AS)范围:0-4294967295,默认100,数值越⼤越优⽤于限制离开本AS的流量,部署于AS边界的IBGP邻居之间全局修改:针对本边界通告进⼊本AS的所有路由LP⽣效,可以在本AS之内传递在IBGP邻居间使⽤route-map修改某些路由的LP值AS-Path默认值:路由经过的AS号,越短越优先(只⽐较长度,不⽐较⼤⼩);部署在AS之间(EBGP邻居间),传递范围:整个BGP域设置允许包含⾃⾝AS的路由起源码默认值:路由引⼊⽅法;越⼩越优(i=0,e=1,?=2)部署在整个BGP域MED多出⼝鉴别属性,范围:0-4294967295,默认为0,越⼩越优先部署在不同AS之间使⽤(EBGP邻居),影响进⼊本AS的流量使⽤扩展ping测试:开启BGP负载均衡IBGP负载均衡EBGP负载均衡。
BGP学习总结笔记

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秒)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
export 相同;如果有联盟存在的话,那就 是不能通告到“子AS”之外去;
5、none:不携带任何的“团体属 性”;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我们首先根据“联盟拓扑”来了解“团体属性”:
什么是BGP路由的“团体属性”?
我们可以为一个路由添加上任何一个 community 值,这样的话,以后再对这 个路由进行控制的时候,就方便多了,就 可以通过 community来控制,相当于之前 IGP 协议中的 TAG 标记;
如何来表示BGP的"团体属性" ?
注意:
@ 每个BGP路由条目默认情况下,都是包含一个公有的团体属性: internet(虽然默认情况下不显示) @在团体属性列表中,无论是标准的,还是扩展的,最后有一个默认 的deny any ,即 deny internet 。 所以,如果想放行其他的路由,一定得记得配置最后的 permit any,即permit internet ;【permit <cr>也相当于 Permit internet ,结果相同】
$针对同一个邻居的同一个方向,分发列表与前缀列表,只能使用一 个;如果同时配置,会报错“不能同时共存”! $以上策略均是:在上一个策略过滤的基础上,再执行下面一个过滤策 略;
如果我们调用了一个从来没有进行定义过的策略,该如何处理? @distribute-list/prefix-list,则允许所有; @filter-list / route-map ,则拒绝所有;
@如果一个路由含有多个community属性,他们之间是什么逻辑关系; $当一个路由同时包含多个团体属性的时候,他们之间是或的关
系。当我们在匹配时,只要匹配其中一个属性就 可以了; 1:1 2:2 3:3
$ 当一个路由同时包含多个“公有”属性的时候,到底哪个属性生 效呢?传输范围小的生效; @如何传递community属性; 默认情况下, community属性是不会随着路由一起传递出去的;除非 我们使用 neighbor x.x.x.xsend-community 命令,使该路由器再将路由发送出去的时候,同时也将“团体属 性”发送出去。并且我们需要知道的是: community属性的传递是有绝对的方向性的; @ 团体属性在一个IOS中的表示; 无论我们在IOS中使用 community老的格式,还是新的格式。这些格式 都只是用来让人看的,在被IOS进行处理 的时候,都是相同的。即均为2进制的格式; 所以,我们在定义或者调用的时候,无论我们如何去书写。最后依然 会变成该IOS当前使用的community的格 式;
community属性 为:100:1,100:100,则应用策略 之后,应该是:100:1,100:100,456:4;
当我们更改一个 route-map的时候,先后配置的两个不同的set 命令(都是set community {value} ) ,他们之间是同时并存, 而不是相互覆盖; 如:一个route-map实现为10.10.4.0/24添加 community属性 456:4 ; route-map COMMU permit 10 match ip address prefix-list 4.0 set community 456:4 后来想增加另外一个属性:456:456,此时我们可以直接对原来的 route-map进行操作: route-map COMMU permit 10 set community 456:456
联想:route-map中的match语句的书写; @如果route-map的一个条目中,在一个match后面同时匹配多个属 性,则这些属性之间是“或”的关系; @如果route-map的一个条目中,同时存在多个 match 条目,则多 个match条目之间属于“与”的关系; 但是,匹配多个“团体属性列表”时,无论怎么写,在route-map中的 最终的状态都是:
route-map WOLF PERMIT 20 match community 1 2 matchip address 99
扩展的团体属性列表: R3(config)#ip community-list 100 permit ? LINE An ordered list as a regular-expression ------>扩展的团体属性列表 是通过“正则表达式”来表示“团体属性”的!
团体属性列表:ip community-list 分类:标准、扩展;
标准的团体属性列表:匹配的是特定的团体属性值(老格式和新格式
均可),ID范围为 1 ---- 99 扩展的团体属性列表:匹配的是“正则表达式”,即通过正则表达式 的方法来表示“团体属性字符串”,ID范围为 100 --500;
标准的团体属性列表: Ip community-list 10 permit 100:1 100:2 100:3 ----->当多个团体属性在 同一个团体属性列表条目时,他们之间是“与”的关 系,即一个路由条目必须同时包含这些团体属性值,才可以匹配住;
@ 删除其中任何一个条目的时候,都会将整个团体列表全部删除!这 点与ACL相同!格外注意! @ 通过 community-list 进行过滤时,如果无法正常收发一个路由, 则一定得考虑是否某一条列表中含有Internet; 因为该属性比较特殊(任何一个BGP路由条目都包含该属性),所以要格 外注意!
Ip community-list 20 permit 100:1 Ip community-list 20 permit 100:2 ------->如果这样来写的话,表示团 体属性列表 20 中有两个条目,每个条目只匹配一 个团体属性值,这两个条目之间的关系是“或”的关系! R3# Show ip community-list ----->一个团体属性列表中的多个条目并不是 通过“序列号”区分开的;而是按照先后顺序! Community standard list 20 permit 100:1 permit 100:2 permit 100:3
最后显示结果为: show route-map COMMU -------->验证最后配置的 route-map ;
route-map COMMU permit 10 match clause : ip address prefix-list : 4.0 set :
community 456:4 456:456 (两者同时共存,而不是相互覆 盖)
需要搞清楚的问题:
@如何设置community属性; 通过 route-map,可以在宣告路由、发送路由、接收路由时候进行配 置; @如何添加community属性;
通过 route-map,在路由的传递过程中修改 &覆盖原来的 community,直接set community 456:4 &增加原来的 community,直接set community 456:4 additive 通过 route-map ,在刚刚进入 BGP的时候修改 & 可以在 route-map中同时书写多个 set community,他们之间是共 存的关系;不是相互覆盖; @如果匹配community属性; 通过团体属性列表-----community-list;有两种表示方法,一种是通 过ID来表示,一种是通过“命名”来表示;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BGP路由管理 @更改AD:distance命令,与IGP中的应用相同; @更改metric:通过route-map更改 MED; @分发列表 @前缀列表 @Route-map @filter-list @ORF
Ip bgp-community new-format ( 全局配
置模式下 )
团体属性的分类: 分为“公有团体属性”和“私有团体属性”!
公有团体属性----
1、internet :说明该路由可以在internet
网上任意的传输;
2、no-export :将本路由不能传输到 本地
的 AS(大的AS) 之外;
Ipbgp-community new-format
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 当我们更改一个BGP路由的现有 community属性时候,我们通 过route-map来实现;
$ set community 456:4 ----->将原有的community属性全部覆盖掉,即 该路由此时 只有一个 community属性:456:4 ; $ set community 456:4 additive ----->将该community值 456:4 ,添加到 该路由的原 来的 community属性中。即,如果该路原来的
注意:
当对同一个邻居同时通过上述的多种方式进行过滤时,他们之间的优 先级如何?
入向策略:filter-list -----> route-map -----> distribute-list / prefix-list (优先
ቤተ መጻሕፍቲ ባይዱ
级从高到低)
出向策略:distribute-list/prefix-list -----> ORF ----> filter-list / route-map (优先级从高到低)
@ 在 BGP 更新报文中占用了4个字节;表 示格式有两种,一种为新格式;一种为老 格 式; @ 新格式为: AS:nn;其中前面的 AS 为 AS 号;后面的nn为管理员为该路由任意设 置的一个"团体值"; @ 老格式为:10进制数值;范围从 0 --- 4294967295 ; 默认情况下,IOS使用 的均为老格式的 community表示形式; @ 为了能在两种格式之间进行转换,让 IOS支持新的格式,我们可以以下命令: