CCNP经典笔记

  • 格式:doc
  • 大小:40.50 KB
  • 文档页数:5

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BGP协议

应用范围:1.ISP;2.MPLS-VPN;3.企业有多个internet出口,并且要精确控制流量进出internet

internet上的AS自治系统号和公网地址一样是全球统筹唯一的

BGP关心去目的网络的下一个AS是谁一般IGP关心去目的网络的下一跳router是谁即,BGP只管将路由指向下一个AS,而对在这个AS中的路由的指向不关心。

BGP中的路由是通往目的网络的下一跳的AS号。

BGP选择路由时,是依赖于路径上的属性(大多数属性可以)。

BGP会将自己通往目的网络路径最好的那一条路由通告给他人。

BGP广播

协议端口

RIP UDP 520

BGP TCP 179

BGP广播不像EIGRP,OSPF那样有确认数据包,而是利用TCP来实现可靠传输。

利用TCP连接的滑动窗口机制,使得能够有效传输大量路由

路径矢量型协议..每条BGP的广播发布一条路径,其中包括一系列此路经可达的网络以及路径属性等等

BGP表种类

邻居表:

BGP广播是单播,必须手工指定邻居;BGP邻居可以不直连;

BGP表:

1.从其他邻居那里得到的BGP广播;

2.要发给邻居的路由信息;

3.自己选出的最佳路由信息注意:某些路由即使进入了BGP表,但不一定能进入路由表。而数据转发是参照路由表的。

BGP消息类型

OPEN消息:用来建立邻居关系的。Router id的选取与OSPF类似

Keepalive消息:用来维持邻居关系

Update消息:用来发送路由信息。以路径为单位发送,一条路径的广播中可以包含多个网络。每个路径广播还包含该路径的属性。

Notification消息:用来报错。

BGP邻居Peer

在两个BGP邻居之间需要进行BGP路由交换

分为内部邻居和外部邻居

外部邻居EBGP neighbour,邻居双方属于不同的AS,通常外部邻居之间需要直连

内部邻居IBGP,邻居双方属于同一AS,内部邻居可以不直连,但必须保证能够建立TCP 连接。

Transit AS中的所有路由器都需要运行BGP(否则,需要在AS中进行路由重分布)且推荐

Transit AS内的IBGP是全连接的(即,所有IBGP间两两建立邻居关系)

[IBGP水平分割,从一个IBGP邻居那里学到BGP广播不会再告诉另一个BGP。]

router bgp AS //通过AS号判断是内部还是外部邻居

router# neighbor ip-address remote-as AS //邻居地址和所属的自治系统号

BGP广播的目的地址是用neighbor命令指定的ip-address,源地址为该广播输出接口的接口地址

邻居关系

A按照neighbor命令中的配置向邻居B发送BGP广播,以TCP包的方式

B收到TCP包后,比较TCP包中的源地址是否在自己的邻居列表中(即按neighbor命令核对)

所以可能有邻居发送的BGP广播的源地址与自己邻居列表中的配置的地址不一致的情况(尤其容易发生在内部邻居之间,因为内部邻居不一定直连)

解决方法是把BGP广播的源地址设置成自己的Loopback

neighbor ip-address update-source interface-type interface-number//指定向该邻居发送的BGP 广播的源地址

[注意:此时,要保证内部路由协议配置时保证IBGP邻居的Loopback地址相互可见]

[注意:外部邻居如果不直连,如果也是这样用Loopback作为源地址,必须手工改变TTL 值(默认为1),保证广播能够达到对方]

对于EBGP,路由的next hop指的是目的网络的下一跳自治系统的入口地址(即,该邻居发布广播包的源地址)

而该路由在IBGP中传播时,next hop是不变的,但该next hop地址对于IBGP邻居不一定可达,所以需要配置

neighbor ip-address next-hop-self //把向IBGP邻居发送的路由广播的next hoop地址改为自己

通过邻居组peer group,对于有相同属性的邻居配置成邻居组,可以简化配置(否则,对于每个邻居都需要重复配置)

neighbor name邻居组名字peer-group

neighbor name…//添加属性

BGP的网络广播也用network命令,但表达的含义与其他路由协议不同

network network-number [mask network-mask写mask的话必须extra match才会广播]//表示那些网络的路由会被广播,只会广播自己路由表中有的记录(必须是exact match的记录),不局限于直连网络,只要是路由表中存在的路由都可以广播

自己的路由表中没有东西是不会广播的

network-number必须与路由表中的记录能够exact match(地址,掩码全部相同)才会被广播,除非,auto-summary开启,且路由表中有此network的子网,且没有写mask时,才会将network 命令中配置的较大的网络号network-number会被广播出去

[如果network在路由表中不存在,但又想要在BGP中发布它(例如做手工路由汇总),可以添加空路由,强制在BGP中发布]

[建议写network命令前观察路由表,防止无法exact match。]

[通常建议把直连网络广播出来]

BGP同步

在BGP只运行在边界路由器上,而在AS内做路由重发布的方式的情况下,只有当BGP表中学到的路由同样能够通过IGP学到时,称为同步,只有达到同步,才会将此路由发布给其他EBGP邻居。

一般路由器上bgp synchronization是默认关闭的。

邻居关系的建立

1.idle状态:根据邻居的ip查找路由

2.connect状态:TCP三次握手建立连接

3.open sent状态,open confirm状态:发送OPEN消息,等待对方的OPEN消息

4.established状态:交换BGP信息

邻居关系不能建立的常见原因

1.没有邻居的路由;

2.TCP连接无法建立(中间路由有问题);

3.邻居对open消息无响应,持续处于active,可能是广播源地址与邻居的邻居列表不匹配,

自治系统号不一致等

sh ip bgp summary //最后一项的数字,表示从邻居那里获得多少BGP路由,如果是active等则表示邻居关系建立有问题

sh ip bgp nei //也能看出BGP状态

BGP邻居关系的认证

Router# neighbor {ip-address | peer-group} password password

sh ip bgp //看BGP表

第一列

* 代表下一条地址对于本路由器是可到达的

r 代表该路由虽然从BGP中学习到,但不能放入路由表,可能是由于从其他路由协议也获得到达相同网络的路由

s 代表该路由不广播给其他邻居

第二列

> 代表最佳路径

第三列

i 代表该消息是从内部邻居学习到的

next hop = 0.0.0.0 代表该network是路由器自己发布的(即写入了network命令)

path 代表去往network的路径,其中的i表示该路由的起源是IGP,?表示该路由的起源是路由再发布,e表示该路由的起源是EGP

sh ip bgp rib-failure //

EBGP邻居处学到的路由的管理距离是20,IBGP邻居处学到的路由的管理距离是200

BGP会话重新置位

由于BGP超时,更新速度较慢,为了改变的配置即刻生效,可以重置

相关主题