BGP学习笔记<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、 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水平分割
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

通过IBGP学习到的路径从来不会公告给其他IBGP.
上图的B和E若没有邻居关系的话,D和C不会将从B学来的路径公告给E
转载于:https://blog.51cto.com/ccjjzj/198671