可编辑 可修改
BGP路由协议
BGP是一种自治系统间的动态路由协议它的基本功能是在自治系统之间提供自动交换无环路由信息通过交换带有自治区域号AS序列属性的路径可达信息来构造自治区域的拓朴图从设计上消除了路由环。
BGP基本概念
BGP特点
BGP是一种外部路由协议与OSPF、 RIP不同其着眼点不在于发现和计算路由而在
于控制路由的传播和选择最好的路由。
BGP通过携带AS路径信息可以彻底的解决路由循环问题。
为了控制路由的传播和路由的选择 为路由附带属性信息。
使用TCP作为其传输层协议提高了协议的可靠性。端口号179。
BGP-4支持CIDR 无类别域间选路 CIDR的引入简化了路由聚合减化了路由表。 BGP更新时只发送增量路由减少了BGP传播路由占用的带宽。
提供了丰富的路由策略。
1、 自治系统
定义由同一技术管理机构管理使用统一选路策略的一些路由器的集合。每一个自治系统都有唯一的自治系统编号这个编号是由因特网授权管理机构分配的。
引用自治系统的思想是通过不同的编号来区分不同的自治系统。
自治系统的编号范围是1到65535其中1到65411是注册的因特网编号65412到65535是专用网络编号。
2、 BGP工作机制
BGP作为一个应用层协议运用在一台特定的路由器上系统启动时通过发送整个BGP路由表交换路由信息之后为了更新路由表只交换更新信息在系统运行过程中通过接收和发送keep-alive消息来检测相互之间连接是否正常。
自治系统分为过渡自治系统和SUTB自治系统。
BGP发送优选的BGP路由和引入的IGP路由给对等体peer。
精选模板
可编辑 可修改
3、 BGP的两种邻居
IBGP对等体之间不一定是物理直连的但必须保证逻辑上的全连接。 TCP连接
EBGP对等体之间有物理上的直接链路。
4、 BGP的路由通造原则
多条路径时 BGP speaker只选择最优的路径给自己使用。
BGP speaker只将自己使用的路由通告给相邻体。
BGP speaker从EBGP获得的路由会向所有的BGP相邻体通告。
BGP speaker从IBGP获得的路由不向它的IBGP相邻体通告。
BGP speaker从IBGP获得的路由信息是否通告给EBGP相邻体要依据IGP和BGP的同步情况来决定。
连接一建立 BGP speaker将自己所有的BGP路由信息通告给新相邻体。
5、 BGP同步
BGP必须等待直到IGP在其自治系统中成功的传播该选路信息才向其它自治系统通告过渡信息。
当As中所有的BGP路由器组成IBGP全合闭网时可以取消同步。
路由器在向IBGP邻居通告路由时强制下一跳为自己本身的接口。
6、 BGP的三种路由来源
BGP的路由信息需要通过配置命令的方式注入到BGP中。
纯动态注入路由器将通过IGP路由协议动态获得的路由信息直接注入到BGP中。
半动态注入路由器有选择性的将IGP路由协议获得的动态路由信息注入到BGP中。
静态注入路由器将静态配置的某条路由注入到BGP系统中。
7、 BGP的四种报文
Open报文用来交换各自版本号、 自治系统号、保持时间、 BGP标识等信息进行协商。
Updata报文携带更新路由信息其中包括撤消路由信息和可达路由信息及其路径属性。
撤消路由和目的地址的表示方法为 length表示地址前缀的长度 prefix表示地址前缀。
UPDATA由不可达路由、路径属性和网终可达性信息三部分构成。
一个UPDATA消息一次只能通告一个路由但可以携带多个路径属性。
精选模板
可编辑 可修改
一个UPDATA消息一次可以通告多个路由但它的路径属性必须相同。
一个UPDATA消息一次可以列出多个被撤消的路由。
Notification报文 BGP检测到连接中断、协商出错、报文差错时关闭同对等体的连接。
Keepalive报文在BGP对等体之间周期性的发送报文 以确保其连接有效。
OPEN报文首先建立邻居关系其它对等体收到OPEN报文后以KEEPALIVE作出响应握手成功后开始UPDATA之后是KEEPALIVE和NOTIFICATION等消息的交换操作。
8、 BGP协议的状态机
BGP邻居关系建立过程
首先是idle状态BGP一旦开始状态机就进入connect状态之后如果connect-retry定时器超时则停在connect状态并建立TCP连接如果连接失败则进入active状态如果成功则进入opensent状态。在active状态下如果TCP状态建立不成功则一直在active状态下成功后进入opensent状态。在opensent状态下 BGP一旦收到open报文就会进入openconfirm状态下。在openconfirm状态下如果keepalive定时器超时则会停在openconfirm状态下直到收到keepalive报文 BGP进入established状态 BGP建立成功。
9、 BGP的属性
BGP的属性是一套参数对特定的路由进行进一步的描述使BGP能够对路由进行过滤和选择。路由属性分为如下几类
必遵属性在路由更新的数据报中必须存在的路由属性如缺少必遵属性路由信息就会出错。
可选属性可选的不一定存在于更新的数据报文中根据需要配置。
过渡属性具有AS间可传递的属性就是过滤属性过滤属性的域值可以被传送到其它AS中并继续起作用。
非过滤属性只在本地起作用出了自治系统域值就会恢复到缺省值。
常见BGP路由属性
Origin 起点属性定义路径信息的来源标记一条路由怎么成为BGP。是必遵的路由属性。
在其它因素相同的情况下 BGP按IGP、 EGP、 INCOMPLETE的顺序选择路由。
IGP为是将聚合路由和用直接注入到BGP路由表的具体路由看作AS内部的。
精选模板
可编辑 可修改
EGP是通过EGP得到的路由的起点。
INCOMPLETE通过其它的IGP协议引入的路由起点。
AS-path AS-路径属性是路由经过的AS序列 即列出在到达所通告的网络之前所经过的AS清单。是一个必遵的过渡属性。 BGP使用AS-PATH属性作为路由更新的一部分来确保在INTERNET上的一个无环路的拓朴结构。 BGP不会接受在AS路径属性中包含本自治系统的路由。 BGP在向EBGP对等体通告一条路由中要将自己的AS号加入到AS路径属性中。在其它因素相同时选择AS路径最短的路由。
Next-hop 下一跳属性到达更新消息所列网络的下一跳边界路由器的IP地址。是一个必遵过渡属性。 BGP在向IBGP通告其它EBGP的路由信息时不改变下一跳地址。 BGP在向EBGP通告路由信息时下一跳属性为BGP与对端连接的本地端口地址。对于可能多路访问的网络下一跳情况会不同。
MED属性当某个AS有多个入口时用MED属性可能帮助外部的邻居路由器选一条较好的入口路径一条路由的MED值超低其优先级越高。可选非过渡属性路由器只比较来自同一AS中各EBGP邻居路径的MED值不比较来自不同AS的MED值除非能够确实不同的AS采用了相同的IGP和路由选择方式。
Local-perference本地优先属性用于在自治系统内优选到达某一目的地的路由。可选非过渡属性。本地优先属性是用来帮助AS内部的路由器到区域外部选择一个较好的出口即本地优先较高的出口点。
Community 团体属性团体属性标识了一组有相同特征的路由信息与它所在的IP网段和自治系统无关。可选过渡属性。公认团体有
NO-EXPORT不应该通告给其它联盟之外的对等体。
NO-ADVERTISE不应该通告给任何BGP对等体。
LOCAL-AS通告给本地AS内的对等体不应该通告给任何EBGP对等体。
INTERNET通告给所有其它路由器。
10、 BGP路由选择过程
如果此路由的下一跳不可达则忽略此路由。
选择本地优先级较大的路由。
选择本地路由器始发的路由本地优先级相同
选择AS路径较短的路由
依次选择起点类型为IGP、 EGP、 INCOMPLETE路由。
精选模板
可编辑 可修改
选择MED较小的路由
选择ROUTER ID较小的路由。
11、 BGP基本配置
[quidway]bgp as-number启动BGP as-number指本地自治系统号。
[quidway-bgp]peer peer-address as-number as-number配置BGP邻居 IBGP配置as-number为AS号 EBGP配置as-number为EBGP所在AS号。
[quidway-bgp]network ip-address [mask mask]
[quidway-bgp] import-route protocol[med med]配置注入路由
12、 BGP参数配置
[quidway-bgp]peer peer-address version version-number配置同伴BGP的版本号
[quidway-bgp]timers keepalive-interval holdtime-interval配置BGP定时器的时间间隔和连接保持间隔通常时间间隔为连接保持间隔的三分之一
[quidway-bgp]peer peer-address route-updata-interval seconds配置同伴发送UPDATA报文的时间间隔。
13、 配置BGP路由策略
[quidway-bgp]peer {group-name|peer-address}filter-policy acl-number{import|export}配置对等体的前缀过滤器。
[quidway-bgp]peer peer-address acl aspath-list-number {import|export}配置对等体的AS路径过滤器。
[quidway-bgp]peer peer-address route-policy policy-name {import|export}配置对等体的路由策略。
14、 BGP路由器对路由的处理过程
对ASBR来说路由有两种来源从对等体接收的和从IGP引入的。对于接收的 BGP可能从多个对等体收到目的地相同的路由根据规则选择最好的路由加入的IP路由表中。
对于IGP引入的要经过引入策略的过滤和设置 BGP发送优选的BGP路由和引入IGP路由给对等体。
15、 BGP在大规模的网络中遇到的问题
路由聚合就是把各段路由综合到一个或多个聚合或CIDR中 以便把路由表中的路由数目减到最小。
[quidway-bgp]addregate 172. 16.0.0 255.255.240 detail-suppressed只通告聚合路
精选模板
可编辑 可修改由。
精选模板
可编辑 可修改
BGP反射指定一台集中路由器作为内部对话的焦点多个BGP路由器可以与一个中心对等话然后多个路由反射器在进行对等话。
[quidway-bgp]reflect cluster-id 10 指定焦点
[quidway-bgp]peer 1. 1. 1.2 reflect-client 指定非客户路由器
BGP联盟 [quidway-bgp]confederation id 100 申所属的自治系统
[quidway-bgp]confederation peer-as 201 本自治系统中的邻居子系统。
BGP路由衰减控制路由不稳定的技术。可达衰减期不可达衰减期重用值抑制值惩罚上限。 [quidway-bgp]dampening 15 15 500 1000 8000
精选模板
可编辑 可修改
路由策略与引入
1. 路由策略的作用
1、路由信息过滤的手段
2、 发步路由信息时只发送部分信息
3、 接收路由信息时只接收部分信息
4、 进行路由引入时 引入满足特定条件的信息支持等值路由
5、 设置路由协议引入的路由属性
路由策略由一系列规则组成规则大体分为三类分别作用于路由发布、路由接收和路由引入过程。定义一条策略等同于定义一组过滤器并在接收、发布一条路由信息或在不同协议间进行路由信息交换前应用这些过滤器路由策略也常被称为路由过滤。公共过滤器是路由策略实现的基础。
2. 策略相关的五种过滤器
1、路由策略(routing policy) 由一组if-match和apply子句组成 if-match定义
所满足的过滤条件 apply定义满足了过滤条件后执行的命令。
2、 访问列表access-list
3、 前缀列表prefix-list 在应用于路由信息的过滤时匹配对象为路由信息的目
的地址信息域另一种应用直接用于路由器对象使本地路由协议只能接收某些特
定路由器发布的路由信息这些路由器的地址必须通过prefix-list的过滤。
4、 自治系统路径信息访问列表aspath list 仅用于BGP协议
5、 团体属性列表communi ty-l i st 仅用于BGP协议
3. 路由策略与过滤器的关系
在路由引入import-route时使用routing policy
匹配as-path时使用AS-PATH LIST
匹配community时使用community list
匹配ip address时使用ip prefix和access list
在路由发布export和路由接收(import)时使用地址前缀列表和访问控制列表接收时还可以使用gateway 特定路由器
4. 路由策略的配置
精选模板
可编辑 可修改
路由策略的配置可以分为过滤列表的定义和过滤列表的应用两部分过滤器的应用实际上是一个策略规则的定义过程通过对过滤器的引用以实现路由过滤的功能。
定义路由策略routing policy
[quidway]route-policy policy-name {permit|deny} {seq-number}一个routingpolicy下可以有多个节点不同的节点用seq-number标识不同的seq-number各个部分之间的关系是或的关系即路由信息依次匹配各个部分通过routingpolicy的某一部分就意味着通过该routing policy过滤。
定义路由策略的if-match子句if-match as-path aspath-list-number指定匹配路由信息的原AS路径前的AS序号if-match community {standard-community-list-number[exact-match] |extended-community-list-number}指定匹配路由信息BGP团体属性if-match ip address {acl-number| ip-prefix prefix-list-name}指定匹配的路由信息访问列表和前缀列表if-match interface [type number]指定匹配的接口if-match ip next-hop{acl-number| ip-prefix prefix-list-name}指定路由信息的下一跳if-match cost cost指定匹配的OSPF路由信息的花费if-match tag tag-value指定匹配OSPF路由信息的标记域的值if-match route-type{internal |external}指定匹配的路由信息的路径类型
每个节点下可以有多个if-match和apply子句 if-match子句之间是与的关系即路由信息必须通过该部分所有if-match子句的匹配才算通过routing policy该部分的过滤如果不指定if-match子句则所有的路由信息都会通过该节点的过滤。
定义路由策略的apply子句apply as-path aspath-list-number指定原AS路径前的AS序号apply community
{ { [aa:nn] [no-export-subconfed] [no-advertise] [no-export] } [additive] |none|additive}指定设置BGP团体的属性apply ip next-hop ip-address配置BGP路由信息的下一跳地址apply local-preference local-preference配置BGP路由信息的本地优先级apply cost cost配置路由信息的路由花费
精选模板
Sharktech又称SK或者鲨鱼机房,是一家主打高防产品的国外商家,成立于2003年,提供的产品包括独立服务器租用、VPS云服务器等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等。之前我们经常分享商家提供的独立服务器产品,近期主机商针对云虚拟服务器(CVS)提供优惠码,优惠后XS套餐年付最低仅33.39美元起,支持使用支付宝、PayPal、信用卡等付款方式。下面以XS套餐为例,分享产品配...
今天中午的时候看到群里网友在讨论新版本的Apache HTTP Server 2.4.51发布且建议更新升级,如果有服务器在使用较早版本的话可能需要升级安全,这次的版本中涉及到安全漏洞的问题。Apache HTTP 中2.4.50的修复补丁CVE-2021-41773 修复不完整,导致新的漏洞CVE-2021-42013。攻击者可以使用由类似别名的指令配置将URL映射到目录外的文件的遍历攻击。这里...
搬瓦工和Vultr哪个好?搬瓦工和Vultr都是非常火爆的国外VPS,可以说是国内网友买的最多的两家,那么搬瓦工和Vultr哪个好?如果要选择VPS,首先我们要考虑成本、服务器质量以及产品的售后服务。老玩家都知道目前在国内最受欢迎的国外VPS服务商vultr和搬瓦工口碑都很不错。搬瓦工和Vultr哪个稳定?搬瓦工和Vultr哪个速度快?为了回答这些问题,本文从线路、速度、功能、售后等多方面对比这两...