BGP �C path-vector routing
自主系统号范围
1~65535
,私有
AS
号
64512~65535
外部
BGP
邻居由于没有运行
IGP
,为此,
IP
地址必须通过直连网络或静态路由才能到达。
内部
GBP
邻居使用直连网络,静态路由或者动态路由协议,一般指定一个环回地址来建立
IBGP
会话。
为避免
AS
中出现路由选择环路,
BGP
规定不将通过
IBGP
获悉的路由传播给其他
IBGP
对等体,
IBGP
邻居收到更新后,不转发更新,因为他们假定发送该更新的
IBGP
邻居与所有
IBGP
发言者都直接相连,它已经将该更新发送给每个
IBGP
邻居。
在
AS
内,
IBGP
邻居之间的路径被称为中转路径,这种路径中的所有路由器都必须运行
BGP
。这些
IBGP
会话必须是全互联的。根据
AS
号区分
iBGP
或者
EBGP
。
基于
TCP
,端口
179
初次建立连接发全表,接下来增量触发更新。不需要发送定期路由选择更新。
BGP database
1.
邻居表
�C neighbor table
2.
BGP
表(转发数据库)
-
多条路径
3.
ip
路由表
4.
存储收到和发送的
BGP
信息的独立的表
BGP
消息类型
1.
Open
包括
hold time
和
BGP router ID
Open
:
version number(
向后兼容
)
,
AS number
,
holdtime
,
router ID
,
optional parameters
2.
Keepalive
Holdtime
的
1/3
,
holdtime
时间不小于
3s
3.
Update
Network-layer reachability information
Path attributes
Withdrawn routes
4.
Notification
When error is detected
Keepalive
只包含消息头,长
19
字节;默认情况下,每
60
秒发送一次,其他类型消息
19~4096
字节。默认保持时间为
180
秒。
EBGP
必须直连,
IBGP
不需要直接相连
一台路由器只能存在于一个
AS
。
BGP session
1.
idle
2.
connect
3.
open sent
4.
open confirm
a)
如果没有收到对
open
的响应(
5
秒内),路由器将进入
Active
状态
5.
established
BGP
配置步骤:
1.
对等体组(对等体)
2.
bgp router-id
3.
指定邻居
neighbor
4.
配置环回地址
指定源
IP
地址
(
update-source
)
5.
EBGP
多条
ebgp-multihop
6.
修改下一跳属性
next-hop-self
7.
配置分发列表
8.
network
通告网络
a)
BGP network
通告的网络必须是
ip
路由表中存在的网络号,但不管它是通过什么方式学来的路由
b)
可配置静态路由
ip route x.x.x.x mask null0
指向空接口,
BGP
将在路由选择表中找到一个完全匹配的条目,进而将该网络通告给邻居。
当有多条路径时,
BGP
路由器只能将其使用的最佳路径通告给邻居自主系统中的对等体。
Show ip bgp
a)
Suppressed
表示汇总路由
b)
Damped
惩罚路由,如果过于频繁的
up
和
down
,不启用该路由
c)
History
路由不可用,并可能出现了故障;曾经拥有路由,未删除
d)
Rib failure
路由没有加入到
RIB
中
e)
Next hop �C 0.0.0.0
是本地起源的
f)
Stale
过期路由,用于支持不中断转发的路由器
g)
Origin codes: ? --
表示不知道怎么起源的,是重发布的路由和静态路由。
Show ip bgp rib-failure
Show ip bgp neighbors
Show ip bgp summary
(查看
BGP
邻居)
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.200.200.12 4 65001 806 808 15 0 0 13:15:18 2
(从邻居那收到了多少个网络条目)
idle状态,可能静态路由或IGP有问题。
在active状态,路由器发送open包,等到回应。
可能出现问题的原因:邻居peer地址错误,邻居没有neighbor句为这个router,邻居没有路由回到发包的router。
本文出自 “沉” 博客,谢绝转载!