BGP
学习笔记
一、
BGP
协议基本概念
AS:
自治系统
AN as is a collection of networks under a single technical administation.
一个自治系统通常是一个有着单一管理技术的网络集体
IGP:
包括
RIP/IGRP/EIGRP/ODR/OSPF/ISIS
运行在同一个
AS
中
IGP是通过cost/metric判断路由的优,约小越好
IGP的主要任务:
更快/更好的正确描述路由信息,尽快地将数据包送到目的地
强调收敛速率
BGP:(v4)
运行在不同的AS之间,用于对路由的控制/策略
BGP的主要任务:网管的人为意图的集中体现,强调策略控制,不强调收敛
BGP是通过BGP属性/attributes,判断路径的优劣,从中进行选择
BGP可以通过网管所定义的策略,实现根据路由的操纵
1、BGP是自治系统间的路由协议。
2、BGP的网络可达性信息提供了足够的信息来检测路
由回路。
3、根据性能优先和策略约来对路由进行决策
4、BGP交换包含全部AS path的网络可达性信息,按照
配置信息执行路由策略。
AS:
独立的技术
/
管理域
,
通常是一个大型公司
,
或者组织
,
或者国家
BGP本身就是一种策略路由/PBR
实现网管的人为的集中体现
BGP是一种AS BY AS 的高级的路径向量/DV协议
BGP认为:每经过一个AS就是一跳
RIP认为:每经过一个router是一跳
BGP号:1~65535 (64K)BGP区域号,其中64512~65535为私有号
(
理解时为
63k-64k
这1K之间
)
.
BGP的宿主:视SP为宿,自己为主,接多个SP为多宿主。
应该使用
BGP
的情况
:
1.ISP
当允许AS 1 的数据包穿越AS 2,但是不允许AS 1 的用户访问AS 2内部的时候
2.Multihome/多宿主
对于一个用户的AS,如果他同时连接到多个AS/ISP
3.PBR
当需要对BGP路由/数据,进行人为控制/操纵的时候
不该使用
BGP
的情况
:
1.与ISP只有单连接,没有同时连接到多个ISP
2.如果网络硬件设备的档次不够(内存/CPU)
3.对BGP路由操纵理解有限,无法预计启动BGP的后果
4.链路带宽不足
BGP
特征
:
1.BGP是高级DV协议
2.BGP工作在TCP/IP协议栈的4层:TCP 179 端口
3.BGP是触发/增量更新的协议
4.BGP通过周期性的发送keepalive消息,保证TCP连接的可靠性
5.BGP使用多种"BGP属性/Attribute"来衡量路径的优劣
6.BGP是为巨型网络设计的,意味着这种路由协议,可能带来海量的路由和数据
BGP
协议的三张表
:
1.BGP的邻居表:
BGP的邻居可以直接相连,也可以凌空建立
2.BGP转发表
2-1:一个BGP路由器,可能从它的多个BGP neighbor那里,学到到达同一个目标网络的多条可能路径
2-2:但是,BGP这种路由协议,默认情况下,是不
进行负载均衡的
,也就是说,到达一个目标网络,
只允许有一条
可用
路径
2-3:BGP路由器通过"BGP属性",从多条候选路由中,优选出一条,它自己认为最好/最优/的路径,作为到达这个
目标网络的"最佳路由",这条路由也会被称之为"优化"了("优化"的路由,会标上">")
2-4:只有优化了的路由,才能作为BGP选送出的,最佳的,去参加,到达这个目标网络的"AD竞争/竞选"
3.路由表:
上面BGP提交的"优化"路由,在经过"AD竞选"之后,如果获胜,才能成功地送进路由表
各路由协议的管理距离:
直联 0
static: 1
EIGRP : 5
汇总
EBGP: 20
EIGRP: 90
IGRP: 100
OSPF: 110
IS-IS: 115
RIP: 120
ODR: 160
EIGRP(EX):170
IBGP: 200
BGP
的
4
种消息类型
:
1.open
相当于
Hello (
版本、自治系统号、保持时间、BGP标识符)
2.keepalive
保持
(长度:19BIT,间隔60秒)
3.update CNLRI
网络层可达信息
(撤销路由信息、可达路由信息)
4.notification
(
发生错误时
,
就发送一个
notification
包
)
(1)When error is detecte
(2)BGP connection is closed after sent
BGP states(
状态
)
:
Idle
初始状态
Active TCP
三次握手
Open sent
发
open
包
Open confirm open包确认状态
Established 邻居建立成功
Peers=neighbor 对等体=邻居
EBGP peer 不同AS之间的邻居
IBGP peer 相同AS之间的邻居
any two routers that have formed a tcp connection to exchange bgp routing information are
called bgp peers or neighor
1.EBGP neighbor
两个
BGP neighbor
分别属于两个不同的
AS,EBGP neighbor
通常是直接相连的
2.IBGP neighbor
两个
BGP neighbor
同时属于一个相同的
AS.
一个
IBGP
邻居可以是直接的
,
也可以是非直连的
Router-id
作用
:
选路、同步、防止回路。各路由器中
R-id
最好不同
,
同一
AS
下
R-id
必须不同。
BGP的更新源就是TCP连接的源地址。
BGP水平分割
通过IBGP学习到的路径从来不会公告给其他IBGP.
上图的B和E若没有邻居关系的话,D和C不会将从B学来的路径公告给E