-
BGP
简介
BGP
属于路径矢量协议
他和距离矢量路由协议的区别是:
距
离矢量强调的是一个距离,
即下一跳路由器,
因为一台路由器下
一跳地址总是他的邻居路
由器
路径矢
量强调的是一个下个
AS
,即下一跳
A
S
。他的选路也是基于
AS
不同的<
/p>
ISP
之间有不同的
AS
号,
不同的
AS
主要目的是基
于管理,
电信和
网络
各自管理各自
p>
AS
内部的
IGP
,而
AS
和
AS
之间的路由则基于
BGP
,同时也是为了减少路由条目。
p>
BGP
更新利用
TCP
端口
179
所以更新是可靠的更新
基础概念
一些名词
peer=neighbor
Bgpspeakers= <
/p>
运行
BGP
的路由器
BGP
管理距离
IBGP 200
IBGP
是就是同一个
AS
之中建立的
bgp
邻居关系
EBGP 20
EBGP
就是在不同
as
之间所建立的
bgp
邻居关系
用
EBGP
是为了提供
AS
之间的路由,单既然用
IGP
就可以在一个
AS
内部通告
路由问什么要
再搞个
IBGP
出来
p>
答:
IBGP
的
作用就是为了在同一个
AS
内的边界路由器上互相通告更新信息
,必须有个机制
能让同一个
AS
内的<
/p>
BGP
路由器来互相通告更新信息
BGP
中
的建立邻居不需要有直连的链路(这点和
IGP
的不同)原因是
BGP
使用的
TCP
< br>协议,
TCP
是个点到点的协议他不支持组播,
所以他是单播的
,
单播是可以被路由器转发的。
由此我
推理出
BGP
< br>的所有报文都是单播的,因为他的邻居不直连所以无法通告组播来传递
BGP
是路劲矢量协议凡矢量协议必
有水品分割,
BGP
的水品分割分为
E
BGP
和
IBGP
的水品分
割
EBGP
水平分割:
主要依赖
AS
号来防止环路(例如从某个
EBGP
邻居学到路由会再通告给此
邻居通告命令
shipbgpneix.x.x.x advertised-route
查看,
单对方不会接收而已)
,
在
路由被传播
过程中每个传播者都加入自身的
AS
进去
.(AS
是
bgp
的属性之一
)
IBGP
水平分割
:
默认的通过
IBGP
学到的路由不会再通告给其他的
邻居,所以必须保证网络
是全网状的或者通过其他手段来通告给其他
IBGP
)
BGP
的边界网关路由
器从
EBGP
学到的路
由通告给
IBGP
的邻居,
通过
IBGP
接收到的路由的路由器默认不再通告给其他
IBGP
邻居了,
所以要保持一个
full m
esh
接口,
(但是如果此路由器也是
BGP
的边界网关路由器,
则可以通
告
给其他的
EBGP
邻居)有个例外是通告的路由如果不在路由表
中的则不会通告此路由
BGP
的
route-id
建议和
OSPF
的一致不然会出问题
BGP
的用环回口建立邻居的时候
neighbor x.x.x.x update-source
< br>虽然理论上只要一边设置就
可以但是建议两边都设置
BGP
的
neighbor
和
network
是分开的
neighbor
命令用来建立邻居,而
network
命令仅
用
来传路由(通告路由)
BGP
中三张表?
BGP
表是什么?
答
1
路由
表,
bgp
表,邻居表
2 shi
pbgp
可查看被注入(用
network
命令)
BGP
的路由
BGP
默认不负载均衡
BGP
传播和下一跳;
BGP
传播的是
AS
的路径
,所以实际的下一跳地址是通告
AS
路劲的
bgp
路由器,不像
IGP
总是相
邻的邻居路由器,
所以必须保证通过递归让
bgp
路由器能有下一跳地址。
但是不建议
用
IGP
或者用静态来做,推荐用
next-hop-self
原理是改变边界
bgp
路由器传给
IBGP
时
路由的下一跳地址是自身的接口地址,因为可以通
过
IGP
p>
来到达
.
BGP
报文
OPEN
报文三次握手建立邻居关系
keeplive
报文维持
keepl
ive
状态
60
秒
/
次
dead-interval
180
秒
update
传输
BGP
路由更新
notification
通告当错误发生时
比如
AS
指向错误
OPEN
报文:协商邻居关系的条件
包含
hold time
和
BGP router-id
(
Router-id
选取和
OSPF
一致手工
>
环
回
>
物理接口
&
地址高
>
地址低
)
BGP
的重定向:
在多路访问网络中的一台
AS
边界路由器从
EBGP
邻居那收到一个数据包
如果要通过同一个
接口再转发到另外一台
IBGP
邻居那里,那他就会触发一个
ICMP
重定向,把更
优的下一跳
地址告诉
EBGP
邻居,<
/p>
即
EBGP
邻居的路由表内路由指向的下
一跳直接为更优的
IBGP
邻居的
接口
BGP
同步和规则:
基本规则
、由
eBGP
邻居学来的信息肯定会传给另外的
eBGP
邻居。
2
、由
eBGP
邻居学来的信息肯定会传给
iBGP
邻居。
3
、
由
iBGP
邻居学来的信息不会再传给另外的
< br>iBGP
邻居。
4
、由
iBGP
邻居学来的信息:
< br>
1
)如果同步关了,会传给
e
BGP
邻居,前提是通过递归有下一跳的出接口(下一跳地址可
达)
2
)如果同步开了,先查找自己
的
IGP
。如果
IGP
里面有这个网络,就把这个网络传给
eBGP;
如果<
/p>
IGP
里面没有这个网络,就不会传给
e
BGP
邻居。
BGP
同步
所谓
BGP
同步是指从
IBGP
学到路由传给
EB
GP
邻居时的规则
在开启同步情况下
,
要求
IBGP
学到的路由必须是
p>
IGP
也学到的
(静态也算)
,
才会传给
ebgp