③Type:占1字节,标识BGP报文的类型。其取值从1到5,分别表示Open、Update、Notification、Keepalive和Route-refresh消息。
报文格式以及参数解析:
一条Update报文可以通告一类具有相同路径属性的可达路由,这些路由放在NLRI(Network Layer ReachableInformation,网络层可达信息)字段中,PathAttributes字段携带了这些路由的属性,BGP根据这些属性进行路由的选择;同时Update报文还可以携带多条不可达路由信息,被撤销的路由放在WithdrawnRoutes字段中,用来通知对等体要撤销的路由。
①Withdrawn routes length:撤销路由的长度,Update报文中可以包含0条、1条或者多条准备撤销的BGP路由。该字段是一个无符号整数,它指示了Update报文中所包含的“撤销的路由条目”字段的长度(字节数)。
②Withdrawn routes:不可达路由列表,长度可变,包含要从对等体BGP路由表中撤销的当前不可达路由的网络地址及前缀。
③Total path attributelength:标识路径属性(Path attributes)字段的长度,占2字节,以字节为单位。如果为0则说明没有下面的Path attributes字段。
④Path attributes:与NLRI字段相关的所有路径属性列表,每个路径属性由一个TLV(Type-Length-Value)三元组构成,可变长度。BGP正是根据这些属性值来避免环路,进行选路、协议扩展等。
⑤NLRI(Network LayerReachability Information):标识网络层可达信息,包含要向对等体通告的每条可达路由的前缀,长度可变。这些可达路由信息来自本地Adj-RIB-In(AdiacentRouting Information Base,Incoming,入方向邻接路由信息库),然后又将加入到对端Adj-RIB-In中。
1、Route-Refresh报文,用于请求对等体重新发送路由信息;
2、对等体之间发送Open报文进行能力协商时,会进行路由刷新能力协商;
3、当BGP的邻居入口路由策略改变后,会自动向邻居发送Refresh消息请求对等体重新发送路由信息;
4、当BGP的邻居出口路由策略改变后,BGP会向邻居重新发送路由信息;
Route-refresh(路由刷新)报文用来要求对等体重新发送指定地址族的路由信息。
①AFI:Address FamilyIdentifier,地址族标识,占2字节,用于标识所采用的地址族类型。
②Res:保留,1字节,必须为0。
③SAFI:subsequentAddress Family Identifier,子地址族标识,1字节,用于标识子地址族类型。
一条Update报文可以通告一类具有相同路径属性的可达路由,这些路由放在NLRI(Network Layer ReachableInformation,网络层可达信息)字段中,PathAttributes字段携带了这些路由的属性,BGP根据这些属性进行路由的选择;同时Update报文还可以携带多条不可达路由信息,被撤销的路由放在WithdrawnRoutes字段中,用来通知对等体要撤销的路由。①Marker:占16字节,用于标明BGP报文边界,固定值为所有比特均为“1”,相当于一个报文的头部标识符。