BGP
配置基本的
BGP
拥有多条到
Internet
的连接是,应使用边界网关协议(
BGP
)
来控制路径选择而不适用默认路由。
BGP
是一种域间路由选择协议(
IDRP
,也称
EGP
),最新版本
BGP4, RFC1771
中定义
自治系统
AS
:
RFC
中定义
;
一组被统一管理的路由器,他们使用相同的内部网关协议,和统一的度量值在
AS
内部路由分组,并使用外部网关协议将分组路由到其他
AS
AS
号由
Internet
地址授权委员会
IANA
分配,每个区域由一个组织分配,美国是
Internet
美洲注册局
ARIN
,亚太由亚太
NIC AP-NIC
分配。自治系统号是一个
16
位的
2
进制数,范围是
1―65535
,
64512―65535
的
AS
号保留做私用
。
BGP
的主旨是提供一种域间路由选择系统,确保
AS
只能无环路的交换路由选择信息,
BGP
路由器交换有关前往目标网络的路径信息。
BGP
路由器只能通告其使用的路由通告给临街自助系统的对等体,反映当前
Internet
采用的逐条路由选择模式。
要使用
BGP
的的条件,至少满足其中之一。
1 AS
允许分组通过他前往其他
AS
例如服务提供商
2 AS
由多条到其他
AS
的连接
3
必须对数据流进入和离开
AS
的方式进行控制。
何时不使用
BGP
?满足下面条件之一时不使用
BGP
,应使用静态路由
1
只有一条到
Internet
或另一个
AS
的连接
2
路由器没有足够的
CPU
和内存来处理
BGP
更新
3
对路由过滤和
BGP
路径选择的过程了解有限
4
自主系统之间的链路的带宽较低
静态路由中的注意点:
如果在使用的是多路访问介质如
LAN
,帧中继,
X.25,
等,必须在命令中指定下一跳地址。
ISDN
命令用出接口
在
ospf
中用
default-information originate always
将默认路由传输到
OSPF
路由选择域。
BGP
特征
BGP
是路径矢量协议,将
TCP
作为其传输层协议,包含在端口号为
179
的
tcp
数据段内。
BGP
对等体或
BGP
邻居:
BGP
路由器之间建立
TCP
连接,并通
过交换信息来指出和确认连接参数。这就是
BGP
对等体
增量更新
:建立
TCP
连接后,交换的是
BGP
的整个路由表,在此之
后只发送增量更新,并采用触发更新。发送存活消息
keepalive
BGP AS
路径是无环路
BGP
邻接关系
运行
BGP
的路由器被称为
BGP
发言
speaker).
BGP
对等体
=BGP
邻居,邻居可位于
AS
内部或
AS
外部。
BGP
在不同
AS
之间的路由器上运行时,叫做
EBGP
,两路由器通常彼此相连,
neighbor
后的
ip
地址必须是不通过
IGP
就能到达的,该
ip
必须是通过直连或者静态路由能够到达
BGP
在相同
AS
内部路由器上运行时,叫做
IBGP
,无需彼此相连只要能够彼此到达对方,完成
TCP
握手进而建立
BGP
邻接关系即可。在
AS
中通常有多条路径前网其他路由器,所以
neighbor
后的
ip
地址通常指定一个环回地址来建立
BGP
邻接。
BGP
表
对路由器进行配置,是他在
BGP
表和
ip
路由选择表之间共享信息。邻居表:包含与之建立了
BGP
连接的邻居。
BGP
拓扑数据库
;
建立好邻居后,从与之建立邻接关系的路由器,将其加入到
BGP
拓扑数据库
。
Ip
路由选择表:
选择最佳路由放入到
ip
路由选择表中
BGP
消息类型:
打开(
open
)消息:建立
TCP
连接后,首先发送打开消息,
存活(
keepalive
)消息:如果可接受则发送存活消息。为了确认
BGP
对等体之间的连接是否处于活动状态
更新(
update
)消息:建立后,可以交换更新,存活和通知消息。
通知(
notification
)消息:发送通知旨在相应错误或特殊状况。
BGP
属性
属性可以分为:
公认的
(well-known)
:是所有
BGP
实现都必须能够识别的属
或可选的(
options
),强制的(
mandatory
),或自由决定的(
discretionary
)传递的(
transitive
)
或非传递的(
Nontransitive
)
.
也可以是部分的。
路径属性分为
4
类:
公认强制
:该属性必须出现在路由描述中,公认自由决定属性可以不出现在路由描述中。所有的
BGP
实现都必须能够识别的属性。这些被传递给
BGP
邻居
公认自由决定的,
可选传递的
,对不支持的可选传递属性,路由器将其原封不动的传递给其他的
BGP
路由器,这时属性被标记为部分的。
可选非传递的
:路由器必须将其删除,而不将其传递给其他路由器
BGP
更新消息内容:包含描述路由的变长路径属性,由
3
个字段组成:属性类型
(包含一字节的属性标记字段和一字节的属性类型编码字段)
属性长度
属性值
属性标记
字段的第一位指出该属性是可选的还是公认的,第二位指出是可选属性是传递的还是非传递的,第
3
位指出传递的属性是部分的还是完整的,第
4
位指出了属性长度字段是一字节还是
2
字节,其他标记未使用全为
0
BGP
定义的属性:
公认强制属性
:
1.AS
路径(
AS-path
,编码为
2
),
2
,下一跳(
next-hop
,编码为
3
),
3.
源头(
origin,
编码
1
)
公认自由决定
的属性:
1.
本地优先级(
local preference 5
)
2.
原子聚合(
atomic aggregate 6
)
可选传递
属性:聚合体(
aggregator 7
)
共同体(
community 8
,
cisco
定义)
可选非传递
属性:
1
多出口鉴别器(
multi-exit-discriminator MED
,编
码为
4
)
AS
路径
属性确保无环路环境,仅当路由器将路由通告给
EBGP
邻居是才修改路径属性加上自己的
AS
号,通告给
IBGP
邻居是不会修改路径属性。
下一跳属性
是公认强制属性,指出前往目的地的下一跳
ip
地址,
EBGP
的下一跳是发送更新的邻居路由器的
ip
地址,
igp
的跳是路由器,而
BGP
的跳是
AS
,指下一个
AS
的入口
ip
地址。
BGP
规定,
EBGP
通告的下一跳应传输到
IBGP
中
在多路访问网络中,运行
BGP
时,
BGP
路由器将使用合适的地址作为下一跳地址,(通过修还下一跳属性)。以避免在网络中插入额外的跳,这种特性优势被称为第三方下一跳。(
third-party next hop
源头
,是公认强制属性,它定义路径信息的源头,源头属性可以是下列
3
个值之一:
IG
P
:路由在起始
AS
中,用
network
通告
BGP
消息,源头在
BGP
表中用
I
标识
EGP
:在
bgp
表中用
e
标识,过时的路由选择协议,在
Internet
中不支持,支持分类路由选择,不支持
CIDR
不完全
:路由的源头未知或通过其他方法获得,咱
BGP
表中通常用
?
标志
)
本地优先级:
是公认自由选择的属性他告诉
AS
中路由器。那条路径是离开
AS
的首选路径
本地优先级越高,路径被选中的可能性越高。
本地优先级是在路由器上配置的一种属性,只在同一个
AS
中的路由器之间交换。
Cisco
路由器默认本地优先级值为
100.
共同体(团体)
:
BGP
共同体是用于过滤入站、出站路由的一种方式
。
BGP
共同体让路由器能够用指示符(共同体)来标记路由。其他路由器根据该标记来做出决策。任何路由器都可以对入站和出站路由选择更新中的路由进行标记,也可以在重分布中做,任何
BGP
路由器都可以根据共同体来过滤入站和出站更新中的路由。
BGP
共同体属性被用于具有某些相同特性的
i
一组目的地:这样路由器就是根据共同体而不是通过路由采取措施。共同体不被限制在单个网络或
AS
,他们没有物理边界
共同体是可选传递属性,,如果路由器不识别共同体,将把他留给下一个路由器去处理。如果路由器能够识别共同体,必须对其进行配置,使之传播共同体。否则共同体属性将被丢弃。
MED:
MED
属性也被称为度量值,是一种可选非传递属性。用于向外部邻居指出进入
AS
的首选路径,他是唯一一个可影响数据如何进入
AS
的属性。
度量值越小,路径被选中的可能性越大。
MED
是在
AS
间交换的
,
MED
被传输到邻接
AS
,该
AS
使用他,但不将它再传递给下一个
AS
,将收到的更新传递给下一个
AS
是删除当中的度量值。
MED
形象进入
AS
的数据流,
ip
优先级形象离开
AS
的数据流。
默认情况下,进当路径来自统一
AS
的不同邻居时,才比较他们的
MED
。
要让路由器对不同自主系统中的邻居提供的度量值进行比较,必须用命令:
Bgp always-compare-med
权重(
cisco
专有)
在路由器上配置每个路由器的权重。
权重属性提供本地路由选择策略,不会传递给任何
BGP
邻居。如果有多条路径前往目的地
,将选择权重最高的路由器为下一条路由器。
权重值范围
0―65536
,通告的路径默认权重为
32768
,其他路径为
0
。、
当路由器由多条路径离开
AS
的出口时,将根据权重属性来决定选择那个出口,而有多台路由器提供多个出口时,将根据本地优先级来决定选择那个出口。
BGP
的工作原理
BGP
全互联
bgp
邻居和水平分割。
BGP
水平分割:他禁止将通过
IBGP
获悉的路由传播给其他
ibgp
对等体(必须一全互联方式连接
IBGP
对等体)。
BGP
同步:仅当位于
AS
内部的中转路径(即边界路由器之间的路径)上的所有路由器都运行了
BGP
时,才可以关闭同步
。
路由选择过程:
对于特定的目的地,
BGP
只选择一条最佳路径。
BGP
不执行负载均衡,他根据策略而不是带宽来选择路径。
BGP
选择最佳路由的步骤如下:
1
首选权重最高的路由,
2
如果权重相同,选择本地优先级最高的路由(本地优先级用于
AS
内部)
3
如果本地优先级相同,选择当前路由器通告的路由(在
BGP
表中,当前路由器通告的路由的下一跳为
0.0.0
.0
)
4
如果没有当前路由器通告的路由选择
AS
路径最短的路由
5
如果
AS
路径长度相同,选择源头编码(
IGP<EGP<
不完全)最小的路径。
6
如果源头编码相同,选择
MED
最小的路径(
MED
来自其他
AS
)
7
如果
MED
相同则外部路径(
EBGP
)优先于内部路径(
IBGP
)
8
如果同步被关闭,使的只有内部路径,则选择经过最近的
IGP
邻居的路径,
9
对于
EBGP
路径,选择最老的路由,以最大限度的降低路由翻滚的影响
10
首选邻居
BGP
路由器
ID
最小的路由
11
如果
BGP
路由器
ID
相同,选择邻居
IP
地址最小的路由。
如果路由器有多条前往同一远程
AS
中不同路由器的路径,路由器配置命令,
maximum-paths
将把两条路径都显示在路由选择表中。
对等体组
;
:在
BGP
中,很多邻居的更新策略相同。在
cisco
路由器上可将更新策略相同的邻居话分到一个对等体组中
。以简化配置和提高更新效率(对于每个对等体组,更新至生成一次而不是为每个邻居分别生成)。对等体众多时强烈建议采用这种方法。
对等体组:是一组采用相同更新策略的
BGP
邻居。(模板)
对等体组的成员继承对等体组的配置信息,也可以对某个成员进行配置。
对等体组的名称只在当前路由器上有意义,不会传递给其他路由器。
要创建
BGP
对等体课使用命令:
Neighbor
peer-group-name
peer-group
要把邻居加入对等体组可以使用路由器配置命令:
Neighbor
ip-address
peer-group
peer-group-name
每个邻接路由器只能是一个对等体组的成员
删除所有成员和
BGP
对等体组的关联,可使用
Clear ip bgp peer-group
peer-group-name
要进入
BGP
配置模式
Router bgp
本文出自 “卖血上网的博客” 博客,谢绝转载!