BGP是一种基于策略的路由选择协议,让AS能够根据多种BGP属性来控制数据流的传输。运行BGP的路由器交换被称为路径矢量或者属性的NLRI。
路径矢量信息中包含一个BGP-AS号列表称为AS-PATH属性,其中列出了前往目标网络必须经过的AS号码。通过AS-PATH路由环路也很容易检测到。如果在路由器接收到一条更新消息的AS-PATH中包含本地的AS号就拒绝接收该更新消息,这就说明检测到了一条路由环路。
Cisco路由器使用一个单独的路由表来存放BGP路由信息show ip bgp,这个列表列出了所有的BGP可知路径。

BGP路由表的路由信息只能传递给BGP协议,如果两台BGP邻居的BGP路由表为空,就不会有任何路由传递。只能先将路由从IP路由表(show ip route)导入到BGP路由表后才能在BGP邻居之间传递。默认,任何路由不会自动进入BGP 路由表。当 BGP 收到多个通往特定目标的路由时,它会按收到路由的相反顺序列出它们(从最新到最旧)。

BGP路由表的路由获得有多种方式,可以从BGP邻居获得,也可以手工将IGP路由导入BGP路由表(Network),还可以将其它路由重分布进BGP(redistribute),只要BGP的路由不是从邻居学习到的而是手工导入的,那么这样的路由被称为BGP本地路由。BGP路由表列出所有可知的路径。

>-best:BGP中最优的路径。一般也作为使用路径(是否真的使用要看AD值,从eBGP对等体学到的路由AD为20,从iBGP对等体学到的路由AD为200,如果路由是从本地导入的那么AD也为200)。
*-valid:当前可用的路由,也就是在BGP路由表中所有可用的。
s-suppressed:被suppress-map抑制的。 不会宣告给对等体(IBGP和EBGP对等体都不能宣告),但是可以装载进自己的IP路由表。
D-damped:这个IP前缀因为抖动被抑制惩罚,不能宣告给对等体也不能安装进自己的IP路由表。
H-history:IP条目曾经在BGP路由表,但是现在不可达,启用dampening。
i-internal:这个条目是通过IBGP邻居学习到的,是内部的。
R-RIB-failure:不能被使用的,也就是不能安装进IP路由表,但是可以宣告给EBGP对等体和IBGP对等体。原因:1该路由IGP比BGP有更小的AD 2内存错误 3超出VRF中路由限制。
S-stale:当路由器得知对等体GR后将对端传来的条目变为该状态,该状态条目在选路和转发和正常一样,GR完成后恢复正常状态或者有其他变更。
Next-hop属性:BGP本地路由(从本路由器宣告进BGP的)都为0.0.0.0!其他不管是EBGP和IBGP对等体宣告都是用来建立邻居关系的那个地址。有3种情况。
情况1外部对等:就是为ebgp邻居,next-hop为正在宣告这条路由的接口的地址,就是建立EBGP对等体关系的源地址。默认next-hop self
情况2内部对等,目的地在本AS:next-hop为最初宣告这条路由条目的iBGP对等体源地址。默认next-hop unchange
情况2内部对等,目的地在其他AS:next-hop为最初宣告这条路由条目的eBGP对等体源地址。默认next-hop unchange
默认EBGP对等体宣告条目会将下一跳改为自己。IBGP对等体宣告条目不会更改原有的下一跳属性。

抑制inactive路由:抑制把没有被安装进路由表的路由通告给对等体。正常情况下BGP会通告inactive(RIB-failure)的路由条目。路由器将给没有被安装进路由表的最优BGP条目打上RIB-failure标记,这个标记可以在show ip bgp中显示出来。这标志并不表示路由条目或RIB出现错误,这种路由条目是否通告给对等体就取决于该命令bgp suppress-inactive 。

RIB-NH matches如果为n/a标识没有开启bgp suppress-inactive命令。
RIB-NH matches下面的内容只在RIB-failure为higher admin distance时候才有作用(就是IGP路由的管理距离优于BGP路由的管理距离)。
RIB-NH matches如果为yes表示路由仍然会传递给对等体,因为从BGP路由条目递归到的下一跳和IGP学到的路由条目的下一跳相同。
RIB-NH matches如果为no不会传递给对等体,因为从BGP路由条目递归到的下一跳和IGP条目的下一跳来源不相同。

BGP表的更多相关文章

  1. BGP - 4,BGP的三张表

    1,BGP的三张表      邻居表(adjancy table)      BGP表(forwarding database):BGP默认不做负载均衡,会选出一条最优的,放入路由表      路由表 ...

  2. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  3. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

  4. CCIE路由实验(2) -- BGP选路原则

    BGP路径属性分为4类: 公认必遵(Well-Known Mandatory):BGP更新报文中必须包含的,且必须被所有BGP厂商实现所能识别的,包括ORIGIN,AS-PATH和Next_Hop 1 ...

  5. bgp选路原则【第二部】

    面向逻辑谈bgp选路原则(第二部) 终于到了BGP终极解析的第二部曲--BGP选路原则.与题目相呼应,我不会直接介绍选路原则的规则,而是从时间逻辑和空间逻辑上将所有的选路原则分层分类.因为只有从这种角 ...

  6. BGP笔记

    BGP:用于AS与AS之间的路由,但现在也越来越多的用在IDC内部了 BGP是应用层协议,应用TCP协议(唯一一个运用TCP的路由协议) IGP和EGP的区别:IGP运行在一个AS之内,EGP运行在A ...

  7. BGP - 5,BGP属性

    metric,自己决定去哪个EBGP邻居 local-pre,影响AS内部IBGP邻居的路由决策 med,影响AS外部EBGP邻居的路由决策   1,BGP属性     公认传递(well-known ...

  8. BGP - 3,BGP重要概念(EBGP,IBGP,防环/黑洞/全互连/同步)

    1,防环/黑洞/同步/全互连(为出现大于号,现在通常都是要下一跳可达+关同步) a)EBGP邻居传来的路由可以通过AS_PATH防环,所以收到的不会有问题,因此直接是优化的(>),也就是直接装表 ...

  9. BGP的那些安全痛点(转)

    0x00 BGP(RFC 1771. RFC 4271)定义 全称是Border Gateway Protocol, 对应中文是边界网关协议,最新版本是BGPv4. BGP是互联网上一个核心的互联网去 ...

随机推荐

  1. [转]VC中调用外部exe程序方式

    本文转自:http://blog.sina.com.cn/s/blog_486285690100ljwu.html 目前知道三种方式:WinExec,ShellExecute ,CreateProce ...

  2. 配置组件的 props

    组件是相互独立.可复用的单元,一个组件可能在不同地方被用到.但是在不同的场景下对这个组件的需求可能会根据情况有所不同,例如一个点赞按钮组件,在我这里需要它显示的文本是“点赞”和“取消”,当别的同事拿过 ...

  3. 学习Python的day1

    自己以前从来没有写博客的想法,但是学Python,里面的老师也说了,写博客可以加深自己的记忆,也能回顾内容.还能给别人参考.挺值的.2017-09-16 一. Python介绍 python的创始人为 ...

  4. life of a NPTL pthread

    这是2013年写的一篇旧文,放在gegahost.net上面 http://raison.gegahost.net/?p=91 March 7, 2013 life of a NPTL pthread ...

  5. [转]qt QTableWidget&&QTableView 导出数据到excel

    转自http://blog.csdn.net/fairystepwgl/article/details/54576372 注意:由于在qt导出的过程中分为QTableWidget导出文件到excel和 ...

  6. 给Sublime Text3 设置自定义快捷键

    Preferrences -> Key Bindings-User打开用户自定义快捷键文件,添加以下代码,保存. [ { "keys": ["ctrl+shift+ ...

  7. 关于Ubuntu上的服务文件

    问题发现 今天在给ubuntu系统安装ftp服务时,一件奇怪的事引起了我的注意.当我服务安装完成后,想要测试一下是否能控制服务,便输入如下命令: service vsftpd restart 它返回的 ...

  8. 4.03 使用NULL代替默认值

    问题:在一个定义了默认值的列插入数据,并且需要不管该列的默认值是什么,都将该列值设为NULL.考虑一下下面的表: create table D (id interger default 0, foo ...

  9. zuul 整理

    网关: 为了解决ip+端口的不友好性而产生.具有服务代理的功能nginx 功能: 1.验证与安全保障: 识别面向各类资源的验证要求并拒绝那些与要求不符的请求. 2.审查与监控: 在边缘位置追踪有意义数 ...

  10. instance of type of object.prototype.tostring 区别

    typeof typeof 是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的数据类型.   返回的结果用该类型的字符串(全小写字母)形式表示,包括以下 6 种:   number.boolea ...