BGP路径属性(4)

BGP的路径属性描述了BGP路由的路径信息,是每个Update数据包的一部分;

一、BGP路径属性可分成4大类:

1、公认必遵        BGP路由器必须识别这类属性,Update报文必须携带这类属性;

如果收到的更新报文中缺少这类属性,BGP邻居关系会被重置;

2、公认任意        BGP路由器必须识别这类属性,Update报文可选携带这类属性;

3、可选过渡        BGP路由器可选识别这类属性,不识别也可以转发这类属性;

4、可选非过渡    BGP路由器可选识别这类属性,不识别不转发这类属性;

二、BGP常用的路径属性有13个

1、origin                公认必遵

用来代表BGP路由的起源,标记一条路由是如何进入BGP,有3种类型:

(1)IGP        

IGP学到的路由,通过network方式注入到BGP中的路由或者聚合路由,用i表示;

(2)EGP

EGP学到的路由,EGP协议几乎没有使用,只能手工调整,用e表示;

(3)incomplete

来源未知的路由,通过import方式引入到BGP中的路由或者聚合路由,用?表示;


聚合路由的起源属性依赖于成员路由的起源属性:

(1)成员路由的起源属性都是IGP,聚合路由的起源属性是IGP;

(2)成员路由的起源属性都是incomplete,聚合路由的起源属性是incomplete;

(3)成员路由的起源属性既有IGP,又有incomplete,聚合路由的起源属性是incomplete;

origin属性3种路由比较优先级:

IGP起源的路由优于EGP起源的路由,优于incomplete起源的路由;

2、as_path           公认必遵

用于记录路由沿途所经过的AS,路由在离开AS时,当前的AS号会自动添加到AS_PATH序列的前面(最左面);

路由在AS内传递时,不对路由的AS_PATH属性做任何改动;

BGP的AS_PATH属性内容由segment构成,有4种segment类型:

(1)AS_SET            AS号的无序集合

(2)AS_SEQUENCE        AS号的有序列表

(3)AS_CONFED_SET            联盟中成员AS号的无序集合

(4)AS_CONFED_SEQUENCE        联盟中成员AS号的有序列表

每种segment类型在AS_PATH属性中仅能出现一次;

AS_PATH中可能仅携带一种segment类型,也可能同时携带多种segment类型;

AS_SET和AS_CONFED_SET一定是聚合路由的才会包含的segment类型;

多种segment类型同时出现在AS_PATH中,则前后顺序一定是AS_CONFED_SEQUENCE、AS_CONFED_SET、AS_SEQUENCE、AS_SET;

AS_PATH的长度是由AS_SEQUENCE这种segment的AS号数量来决定的,而AS_CONFED_SEQUENCE、AS_CONFED_SET和AS_SET的长度都不计入AS长度计算;

不论何种类型的segment,若其中携带的AS号等于接收设备所在的AS号,则该路由都将因为环路问题而被丢弃,可通过peer x.x.x.x allow-as-loop使接收设备接收含有自己AS号的路由;

3、next_hop        公认必遵

用来记录BGP路由的下一跳信息,BGP设备会忽略下一跳地址不可达的BGP路由;

BGP下一跳属性遵循如下规则:

(1)BGP设备将本地始发路由发布给所有BGP对等体时,会把路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址;

(2)BGP设备向EBGP对等体发布路由时,会把路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址;

(3)BGP设备在IBGP对等体发布从EBGP学来的路由时,不改变路由信息的下一跳属性;

可以通过如下两条命令修改下一跳属性缺省行为:

peer next-hop-local

peer next-hop-invariable

关于下一跳带来的问题:

区别于IGP中下一跳是直连路由器的IP地址,BGP路由的下一跳往往都是非直连设备的IP地址,所以出现了下一跳地址不可达问题、路由黑洞问题以及负载分担问题;

(1)下一跳地址不可达问题

下一跳是非直连地址,必须保证路由表存在到达下一跳地址所在网络的路由;

(2)路由黑洞问题

从数据平面分析,如果数据流访问目标BGP网络,R5根据下一跳发给R2,但中间IGP路由器R3和R4没有对应的BGP路由,所以会出现路由黑洞;

方法1:

全都运行BGP,运营商网络中使用较多,IBGP全互联、RR、联盟;

方法2:

IGP同步,将BGP路由引入IGP,保证路由全网可达。

此种方法不建议使用,过量的BGP路由会加重IGP路由器的负荷,同时IGP路由也不适合承担过大的AS间数据流量,可以根据需要引入少量路由或对引入的路由做必要的汇总;

方法3:

开启MPLS标签交换,在运行BGP的设备R2和R5之间为下一跳地址所对应的路由创建LSP隧道,所有发往下一跳地址的数据包执行标签转发,中间设备不需要存在相应的BGP路由;

方法4:

把运行BGP的设备直连,这样AS间的数据流量将不需要经过IGP路由器;

(3)负载分担问题

默认情况下,BGP只把最佳路由放进IP路由表,即BGP缺省没有等价路由;

如果下一跳地址路由是负载分担的路径,可以保证R5到R2的数据流量负载分担;

4、local_pref        公认任意

Local_Pref属性用来判断流量离开AS时的最佳路由,仅在IBGP邻居间传递,不通告给其他AS;

当AS内BGP设备通过不同的IBGP对等体得到目的网段相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由;

Local_Pref属性将会在整个AS内传递,在本AS内的所有路由器都将收到该优先级,如果路由没有配置Local_Pref属性,将按缺省值100来处理;

5、med                   可选非过渡

MED属性用来判断流量进入AS时的最佳路由,仅在两个相邻的AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三发AS;

MED值越小,路由的优先级越高;

BGP路由器默认只对相同的AS传递过滤的路由进行MED的比较,不会比较不同AS传递的路由,可以使用命令compare-different-as-med来使其比较不同AS传递的路由;

如果路由没有配置MED属性,将按照缺省值0来处理;

6、originator_id    可选非过渡

专为RR开发,用来在AS内防环,由RR添加到路由更新中,并随路由在AS内传递,离开AS时会被剥离;

OriginatorID属性值为AS内第一台通告该路由的BGP设备的RouterID;

如果路由器接收路由时,路由携带的OriginatorID与自身RouterID相同,丢弃该路由,实现集群内防环;

7、cluster_list        可选非过渡

专为RR开发,用来在AS内防环;

Cluster_List是路由经过RR反射时由RR添加的一个集群列表,记录路由经过的Cluster_ID;

如果RR在接收到路由的Cluster_List中存在自身Cluster_ID,丢弃该路由,实现集群间防环;

8、atomic_aggregate    公认任意

用于路由聚合时,告知对等体,原始的明细路由AS_Path出现了丢失,只在抑制明细路由时携带;

如果聚合路由将所有明细路由抑制了,就会为聚合路由生成该属性;

9、aggregator            可选过渡

聚合后的路由一定携带aggregator属性,指明聚合路由设备所在的AS号和RouterID;

10、community        可选过渡

Community团体属性用来标识具有相同特征的BGP路由,提高路由策略使用效率;

可以用十进制和十六进制来表示该属性,范围0x00000000(0)-0x0000FFFF(65535)和0xFFFF0000-0xFFFFFFFF是被保留的,其中定义了4中公认团体属性:

(1)Internet    0x00000000

设备收到具有此属性的路由后,可以向任何BGP对等体发送该路由,路由的缺省属性;

(2)No_Advertise    0xFFFFFF02

设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由;

(3)No_Export    0xFFFFFF01

设备收到具有此属性的路由后,将不向AS外发送该路由;

(4)No_Export_Subconfed    0xFFFFFF03

设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发送该路由;

除了公认团体属性外,如果需要定义私有团体属性控制BGP路由时,可以利用团体属性的前2个字节作为AS号,用后面的2个字节定义与该AS相关的数值;

多条路由可以拥有相同的团体属性,bgp路由器需要对这些路由实施策略时,只需匹配该团体属性;

一条路由也可以拥有多个团体属性,BGP路由器可以根据其中的一部分或全部属性进行匹配;

11、MP_Reachable    可选非过渡

12、MP_Unreachable    可选非过渡

13、扩展团体属性

除了标准团体属性外,扩展团体属性是对BGP团体属性的扩展,长度8字节,主要用于MPLS VPN的Route Target(前面2字节代表类型,后面6字节代表数值);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343