BGP路由表:

  1. *:表示有效的
  2. 对勾:表示最优的.

BGP报文:

  1. open:协商BGP的一些参数
  2. keepalive保活报文(维持tcp会话)
  3. update增加或者减少BGP的路由报文
  4. notification当一个错误在BGP被检测出来的时候,会触发notification报文,一旦BGP对端收到该报文,会重置TCP会话
  5. refrash 刷新所有的BGP的路由条目

BGP邻居状态:

  1. idle:你向别人发起neighbor,别人还未向你发起neighbor
  2. connect:双方都发起neighbor,尝试去建立TCP连接,不一定成功
  3. open sent :成功建立TCP了连接,并成功发送了一个open报文
  4. active:TCP建立失败,不停的建立连接
  5. open confirm :检查收到对端的open参数匹不匹配
  6. established :open合适,建立成功。
    2-6状态如果其中一个出错了,瞬间回到1状态。

IBGP:

在向IBGP邻居传递IBGP路由的时候不会更改下一跳

bgp状态停留在IDLE bgp状态no neg_网络

会导致R1能收到关于R3的IBGP路由,但是不加到路由表中。

解决方案:

conf-router#neighbor 1.1.1.1 next-hop-self
在向1.1.1.1 邻居更新路由的时候会将路由的下一跳指向自己
IBGP内无所谓(IBGP地址互知),主要是EBGP内互传路由需要更改下一跳为自

修改EBGP的跳数(即建立邻居的范围):
Conf-router#neighbor 1.1.1.1 ebgp-multihop 2
在EEGP中建立TCP时的SYN的TTL默认是1,从而导致R2和R3不修改跳数2.2.2.2 无法与3.3.3.3 成功建立,即使存在路由。
还有一种方法就是关闭直连检测,直连检测是防御别人攻击的。
EBGP默认跳数是1,防止别人攻击

又例如:

bgp状态停留在IDLE bgp状态no neg_网络_02

BGP属性:

BGP在传递路由条目的时候,带的一些路由的信息。

公认属性:

公认必尊:
所有运行BGP协议的系统都要必须识别和支持的属性。

  1. AS-path所经过的路径
    路由到达一个目的地所经过的一系列AS号码的有序列表

当BGP将一条路由通告其他AS时,便会把自己的AS号添加在AS- PATH列表的最前面

  1. Origin 包括IGP 和EGP和‘?’,属性定义了路由信息的来源
    IGP:network产生的

表明路由信息产生于AS内部

‘ ?’:表示来源未知
向BGP里重分布路由的时候,前面就是?。

EGP:表示是从EGP学来的,不过现在不存在EGP了

3.Next-hop:下一跳具体的位置

公认任意:可选,只要携带就必须认识

1.local-preference
只在本AS生效
越大越优先

可选属性:可选属性并不要求所有BGP协议的系统都识别
可选过度:即使你不认识,也要接受并转发给邻居

可选非过渡:可以选择不传一定的属性

硬重置:

clear ip bgp *
直接断开该设备和其他所有BGP的邻居TCP会话

软重置:

R1#clear ip bgp 10.0.12.2 in 10.0.12.2

邻居收到了一个flresh报文,因此邻居重新发送BGP路由
R1#clear ip bgp 10.0.12.2 out
直接重新向10.0.12.2 发送更新
注意:
软重置不会中断BGP的TCP会话,而且软重置时针对特定的邻居起作用

在router-map中设置BGP的weight

(weight值越大同目的地路由越优先选择)
conf-route-map#set weight 200
先比weight值再比local-preference,谁大谁优先

在router-map的一个表中如果什么都不设置,则默认匹配所有。

BGP选路(优先级由上至下由重至轻):

  1. 比较weight
  2. 比较local-preference
  3. 遵循水平分割:同一个目的相同的路由从哪里收到过就不再发向那里
    相同的weight和local-preference下,优先选择本地的路由。

###注意:当出现水平分割时,丢弃非直连路由,不丢弃直连路由

  1. 当1,2相同的时候,优选AS-path经过的AS更少的
  2. IGP
  3. metric越小,越优先
  4. EBGP的路由优先级大于IBGP的路由

配置BGP属性:

  1. local-preference 控制我出AS时的路径,设置我进来的路由的metric
  2. AS-path
  3. Origin
  4. MED属性控制的是我相邻的AS进入本AS的路径(相邻的AS和本AS 有多个接口相连),MED=metric
    即,设置发放的路由metric

local-preference与MED功能正好相反

在router-map中增加AS-path
Conf-route-map#set as-path prepend 500 600

在BGP中重分布直连的路由:
conf-router#redistribute connected

在router-map中设置起源:
conf-router-map#set origin igp

在router-map中取消隐式拒绝:
conf-router#route-map jazzi 20 然后什么都不做就行了

BGP中只匹配掩码16-18:
conf# ip prefix-list qwe permit 0.0.0.0/0 ge 16 le 18

应用到接口上:
conf-router#neighbor 10.0.13.1 prefix-list qwe out