BGP协议

 
1。定位:运营商。
2。强调点:
1)处理的是互联网的路由。
2)企业是否需要(传输AS:承担互联网的流量
多归路的网络环境:外网有电信和网通。)
3http//www.cidr-report.org/
464512-65535:是私有的AS
5。路径矢量。经过的AS数量越少,越好。
6。没有metric,用属性。
7。只能影响自己的路由做决策,不能影响不能别人的路由器做的决策。
8BGP的特征:
1BGP的用途:
传输AS
AS到其它的AS有多个连接
希望我的流量在转发的时候更依赖管理员的控制
2)不需要用BGP
对路由过滤和BGP路径选择理解不够
连接到ISP只有一个
内存不足或者处理器不够强劲
3)距离矢量的增强:
可靠更新:因为要建立TCP的连接(179
增量更新,出发更新。
周期发送存活消息来验证TCP连接性。
(补充比较:
rip udp
eigrp ip
ospf ip
bgp tcp
路径矢量或属性
设计来用于大型互联网情况。
 
9BGP数据库:
1)邻居表
2BGP表(转发数据库)
3IP 路由表
10。管理距离
IBGP200
EBGP20
 
11。四个消息类型
1opentcp建立完成,发送open消息。
version number1个字节
AS number
hold time0或者至少是3秒。0代表不考虑。
router id
optional parameters
2keeplive:保活消息。是holdtime的三分之一。每隔60s,交换keeplive消息,对open消息的确认。
3update
network-layer reachability information(网络号)
path attributes (路径属性)
可能出现:withdrawn routes(撤销路由)
4notification:检测错误发送的消息
error code
  error subcode data
 
12EBGPIBGP
EBGPAS之间应该是直连的。
IBGPAS内部有协议:可以不直连。
13IBGP
邻居关系不需要直接相连。
AS之间都用IBGP,而且是full-mesh互联。
为什么要全互联:
原因:IBGP水平分割:从一个IBGP邻居收到一个路由更新,不会发送给其它的IBGP邻居。
 
14.配置:
可以宣告非直连的网络。
network:将哪个网络在哪里作为起源。
前提:存在在IP路由表里。
 
15.IP地址的问题:
IP地址必须和neighbor命令所指定的IP地址必须相同。
问题一:去往目的地的时候有冗余路径的时候(即有多条路径的时候)
 
 
解决方法:环回口来建立邻居关系。
EBGP
1)修改ebgp-multihop 2
2)修改更新源
IBGP
修改更新源就可。不用修改ebgp-multihop
 
16.下一跳属性:
EBGP邻居那里收到更新时,在AS里,下一跳不会改变。
解决办法:
neigh 4.4.4 .4 next-hop-self
 
16。减少命令的方法:
对等组:
neigh test peer-group
neigh test remote-as 200
 
neigh 2.2.2 .2 peer-group test
 
17BGP的状态:
1idle:查找本地路由表看是否能够达到。找不到,始终停留在idle
2connect:接受到对方的tcp syn ack确认,进入连接状态。
3open sent:创建一个open包,并发送,进入open sent状态。5秒钟后没收到确认,进入active状态。
4open confirm:收到一个open的响应,进入open confirm状态。
5established:路由传递完成,邻居关系建立。
 
注意:active状态,发了open 没收到确认。
哪些原因导致:
邻居没有到源IP地址的路由。
邻居对等邻居指向错误
邻居没有做neigh 语句
as号错误配置
 
18.BGP规则和同步
要接受BGP路由,要先存在IGP路由表中。
关闭同步。
 
19.BGP邻居认证
neighbor ip-address password string
 
20.
show ip bgp
第一列: 如果为*号,意味着第五列 即下一跳 是可达的。
第二列:可以是>号:代表最佳路径。没有负载均衡。
s:汇总
d 惩罚
h:历史(已经失效,但还没从路由表删除)
 
第三列:小i:通过ibgp学习的。
空:通过ebgp学习而来的。
 
第四列:网络号和掩码
第五列:下一跳 :如果是 0.0.0 .0  本地产生
最后一列:
i:通过network起源的
?:不知道怎么起源(重发布)
e:通过ebgp协议学习
 
21.BGP的路径选择。
路径属性:
1)公认的(well-known):所有运行bgp路由器都知道,了解和实现。
   1.1)必遵      路由更新要携带必遵属性。
1.2)随意的     发送路由更新,可以发也可以不发。
2)任选的(optional):有些属性不被识别
2.1)可传输  :不认识的也要传
   2.2)不可传输:  不认识可以丢弃
 
22.BGP属性
AS path  1.1
next-hop1.1
origin 1.1
local  preference 1.2
med2.2
others
23.具体属性的工作
1AS-path属性:自治系统号的列表,
经过的as越少越优先
不能有重复的as
2)下一跳属性:
3)起源属性
4)本地优先属性:IBGP的宣告者计算每一条外部路由的优先程度的属性。
 
本地的IBGP有效,用来决定离开本地的出口是谁。
选高的。
默认值是100.
5MEDmetric 用来区分到ebgp邻居,怎么样离开本地到达邻居。
对端设置,本地选择。
对方影响本地。
选低的优先。
6cisco专有:weight属性。
只在本地路由器上配置,不会向外传递。
选高的。
 
24.路径决策的规则:
1)如果路径是内部的,同步要求打开,而路由没有被同步,则不选择这条路径。
2)如果路由的下一跳,是不可达的,不选择这条路径。
3)通过最高的weight值来比较路由。
4)如果weight值相同,选举最高的本地优先。
5)如果本地优先相同,考虑起源属性。本地始发的路径优先。
6)如果没有路径是本地起源的,选择最短的as-path属性。
7as-path相同,选择最低的起源值。(IGP
8)如果起源相同,选择最低的MED
9)如果MED相同,在EBGPIBGP之间,优先选择EBGP
10)如果同步关闭,却只有内部路由,就选择最近的IGP邻居。
11)在EBGP路径中,选择存在时间最长的。
12)选择最低的邻居路由器ID