多协议可达NLRI提供了以下功能
向对等体发布可达路由发布下一跳信息例如BGP4+中的Next_Hop属性用IPv6地址来表示可以是IPv6全球单播地址或者下一跳的链路本地地址使能路由器报告本地系统中的部分或全部SNPASub-network Points of Attachment该属性的字段格式如下图
主要字段的解释如下
Address Family Identifier该字段携带了网络层协议的地址族标识对应RFC1700的Address Family Number所定义的地址族值例如IPv4的值是1IPv6的值是2Subsequent Address Family Identifier该字段提供了NLRI类型的附加信息
− 1用于单播模式的NLRI
− 2用于组播模式的NLRI
− 3同时用于单播和组播模式的NLRI
Length of Next Hop Network AddressNetwork Address of Next Hop字段的长度以字节为单位Network Address of Next Hop下一跳网络地址该字段长度可变Number of SNPAs下面的字段中SNPA的数量如果该字段取值为0表示属性中不包含SNPA
Length of Nth SNPA第N个SNPA字段的长度以半字节semi-octets为单位Nth SNPA of Next Hop路由器的SNPA该路由器的网络地址包含在Network Address of Next Hop字段中这个字段的长度是字节的整数倍即以半字节为单位的Length of Nth SNPA字段四舍五入得出的整数值如果SNPA包含奇数个半字节该字段尾部剩余的半个字节以0补位
Network Layer Reachability Information可达路由列表如果Subsequent Address Family Identifier字段置位则每个NLRI由一个二元组Length-Prefix表示− Length表示IP地址前缀的长度单位为比特
如果为0则说明该前缀匹配所有的IP地址
− Prefix包含了IP地址的前缀后面则是填充比特用于保证字段结尾符合字节边界填充比特的值无意义
携带了MP_REACH_NLRI属性的Update消息必须携带用于EBGP和IBGP信息交换的Origin属性和AS_Path属性另外如果这个Update消息在IBGP对等体之间传播还要携带Local_Pref属性如果这条消息是从EBGP对等体接收的本地系统需要检查AS_Path列表最左侧的AS号是否与发送该信息的AS号一致如果不一致本地系统会发送Notification消息携带Update消息错误码给对端
如果Update消息中MP_REACH_NLRI属性没有携带NLRI则该消息也不允许携带Next_Hop属性如果这条消息中包含了Next_Hop属性Next_Hop属性将被忽略多协议不可达NLRI用于撤销一条或多条不可达路由
Withdrawn Routes不可达路由列表
携带了MP_UNREACH_NLRI属性的Update消息不再需要携带其他的属性