BGP学习笔记


  自主系统号范围 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 (从邻居那收到了多少个网络条目)


使用BGP来连接Inertnet
一个企业使用两个ISP服务
什么是多宿主MUltihoming?
连接至2个多个ISP以提升:
 -可靠性:如果1个ISP或连接失效,仍有一个可用的互联网访问。
 -性能:为相同互联网目的地更优的选路
ISP通告默认路由和部分路由
ISP通告全路由表
BGP自治系统
1.一个AS代表属于同一个技术管理者的网络集合
2.AS内部使用IGPs协议
3.自治系统之间使用BGP
4.保证交换无环路路由信息
BGP距离矢量路由协议
1.IGPs通告网络及描述对应到达这些网络的度量值。
2.BGP通告路径和可到达的网络。BGP使用属性描述路径(属性和度量值相似)
3.BGP允许管理者定义策略或规定,用于控制数据如何传输通过自治系统
BGP路由策略
BGP可以支持任何逐跳选路原则的策略。
BGP特征
BGP最适合在以下环境使用:
 -一个AS允许数据报文通过它到达另外一个AS(比如说ISP的网络)
 -一个AS有多个连接到其它AS.
 -数据进入和离开AS时必需控制路由策略和选路。
BGP不一定适合用于任何环境,在以下环境你不需要使用BGP:
 -对路由过滤和BGP路径选择的理解有限
 -只有单条链路连接到互联网和另外一个AS
 -却反内存或者处理BGP路由更新的能力
BGP是路径矢量路由协议,较距离矢量路由协议有以下差异:
 -可靠更新:基于TCP(PORT 179)
 -只有增加,触发更新
 -定时发送存活信息验证TCP连接
 -丰富度量值(称为路径向量 或者 属性)
 -设计用于可扩展至巨大的互联网络。
BGP数据库
1.邻居表
 -BGP邻居表(单播)
2.BGP表(转发数据库)
 -从每个邻居收到所有网络列表
 -到一个目的地可以包含多条路径
 -每个路径均包含BGP属性
3.IP routing table
 -到目的网络的最佳路径
BGP信息类型
1.Open
 -包含hold time和BGP router ID
2.keeppalive
3.Update
 -仅有一条路径信息(可以有多个网络)
 -包含路径属性和网络
4.Notitfication
 -检测到错误的时候
 -信息发送之后,BGP连接关闭
总结
1.BGP是多宿主连接INTERNET恰当的办法
2.ISP提供的多宿主选项包含:
 -仅通告1条默认路由
 -1条默认路由和提供商自身的路由
 -全路由
3.BGP是外部路由协议,用于自治系统之间,基于策略转发,而不是最佳路劲(最好的策略就被认为是最佳路劲)



BGP信息:
1. Open:用来建立BGP会话
2. Keepalive:用来维护TCP连接
3. Update:用来承载BGP路由信息,每一个BGP更新都会相应的附带一些BGP属性。
4. Notification:当BGP检测到错误之后,用于切断BGP会话。
BGP路由器鉴别机制:BGP Router-ID(RID):
1. 如果有逻辑接口,逻辑接口IP地址最大的IP地址作为RID
2. 如果只有物理接口,物理接口IP地址最大的IP地址作为RID
BGP邻居关系的建立:
1. 首先,当BGP路由器之间准备建立TCP连接,此时,BGP邻居关系的状态称之为空闲状态(idle)
2. 当TCP连接建立完成之后,此时BGP邻居关系的状态称之为活跃状态(active)
3. 当TCP双向连接建立之后,BGP路由器发送open包,open包包含的参数包含:AS号,keepalive计时器,RID等,这个状态叫做OpenSent状态
4. 对方给予open包,这个状态叫做OpenConfirm状态
5. 如果双方Open包参数协商成功,那么BGP邻居(会话)关系建立,达到 Established状态,如果不成功,可能回退到Active状态,再重新发送Open包,试图建立BGP会话。
3和4在CISCO IOS的show命令里是看不到的,统称为active状态。
1、 AS-PATH属性:AS-PATH属性越短,路径越优先。
2、 起源(Origin)属性:定义BGP更新是如何产生的:
(1)、起源于IGP:BGP更新是通过BGP进程下network命令所发布出来的。(i)
(2)、起源于EGP:BGP更新是通过EGP重分发进来的。(e)
(3)、起源不完整(incomplete):BGP更新是通过IGP(OSPF,EIGRP等)重分发进来的。(?)
如果同一个BGP更新有3种起源方式。IGP优先于EGP优先Incomplete
3、下一跳(NEXT_HOP)属性:到达目标AS的下一个AS(IP地址)。
BGP连接关系:
1.内部BGP(Internal BGP,IBGP)
建立BGP邻居关系的BGP路由器位于同一自治系统。
对于IBGP邻居,AS-PATH属性是不变,下一跳属性也不变。
2.外部BGP(External BGP,EBGP)
建立BGP邻居关系的BGP路由器位于不同自治系统。
对于EBGP,AS_PATH属性根据经过的AS号码向前叠加,下一跳属性也会改变。
对于EBGP而言:下一跳属性是宣告该EBGP更新的接口IP地址。
知名任意属性:
1、本地优先级(Local_pref):默认值100。用于同一个AS多出口的选路控制,值超高,也就越优先。本地优先级只在AS内比较(只在IBGP邻居间比较),用于影响出站流量。 本地产生的为空。
2、Atomic aggregate:用于通知邻居AS,说明执行汇总路由器的路由信息。地址信息以RID呈现。
可选传递属性:
1. Aggregator:定义了实行路由聚合(汇总)的路由器的IP地址AS号信息,地址信息是接口信息。
2. 社团属性(community):用于BGP的路由标记(打标签)。
可选非传递:
1. MED:默认值为0,值越低越优先,用于不同AS多出口的选路比较。用于影响进站流量。默认情况下,来自不同AS的MED属性不能相互比较。如果MED属性为空(NULL),CISCO设备把空值当成0,其他厂商把空值当成无穷大。
CISCO私有属性:权重(0-65535)
1. 本一产生的BGP更新权重默认是32768
2. 从邻居学过来的BGP更新权重默认为0,值越高,越优先。权重本地有效,不传递。影响出站流量。
BGP的选路法则:
(必须要下一跳可达)
如果一个BGP更新同时通过多个邻居学习到,就要进行一系列的选路比较法则。过程如下:
1. 先比较权重,权重高的越优先。(只对本地有效,只能影响自己不能影响别人)
2. 比较本地优先级,越高越优先,仅在同一个AS内的IBGP邻居比较。
3. 本地产生(下一跳属性为0.0.0.0)的优先于从邻居学过来的。
4. AS-PATH长度最短。(BGP:路径矢量协议)
5. 比较起源属性:IGP优先于EGP优先于Incomlete
6. 比较MED属性,越低越优先。
7. EBGP(AD=20)优先于IBGP(AD=200)
-------------------------------------------------分水岭------------------------------------------------------------
8a.如果是EBGP更新,那么最老(最先被学习到的)的EBGP更新更优先
8b.如果是IBGP更新,离邻居IGP度量值最小的路径优先。
-------------------------------------------------分水岭------------------------------------------------------------
9.比较BGP RID,越低越优先。
10.比较学习到BGP更新的接口地址,接口IP地址越小越优先。


你可能感兴趣的:(职场,休闲,BGP)