📄 networkdictionary 网络大典.htm
字号:
<P>值 段类型<BR>1 AS_SET: 在UPDATE消息中的路由经过的AS的无序集<BR>2 AS_SEQUENCE:
在UPDATE消息中的路由经过的AS的有序集 </P>
<P>路径段长度是1字节长度的域包含了在路径段值域的AS的数量。 </P>
<P>路径段值域包含了一个或者多个AS号,每一个编码为2字节长度的域。 </P>
<P>属性的使用定义在5.1.2。 </P>
<P>c) NEXT_HOP (类型码3): </P>
<P>公认强制属性定义了作为到达UPDATE消息网络层可达域地址所用的下一跳的边界路由器的IP地址属性的使用定义在5.1.3。 </P>
<P>d) MULTI_EXIT_DISC (类型码4): </P>
<P>可选非转发属性4自解非负整数。属性值可以被BGP发言者决策过程在相邻自治系统中区分多个出口。 </P>
<P>它的使用在5.1.4.定义。 </P>
<P>e) LOCAL_PREF (类型编码 5): </P>
<P>LOCAL-PREF是公认自决属性4自解非负整数。BGP发言者使用它通知别的BGP在自己的自治系统中源发言者广播路由的优先程度。使用属性在5。1。5中描述。
</P>
<P>f) ATOMIC_AGGREGATE (类型编码6) </P>
<P>ATOMIC-AGGREGATE是公认自决属性长度为0。BGP发言者使用它通知别的BGP法颜真本的选择了一条更不特殊的路由而不是选择了一条更特殊的包括在内的路由。使用这个属性描述在5。1。6。
</P>
<P>g) AGGREGATOR (类型编码7) </P>
<P>AGGREGATOR是可选转发属性长度为6。属性包含了形成聚合路由最后的AS号码(编码为2字节),后面是形成聚合路由的BGP发言者的IP地址(编码为4字节)。使用这个属性描述在5。1。7。
</P>
<P>Network Layer Reachability Information(网络层可达信息): </P>
<P>这个变长域包含了IP地址前缀的清单。网络层可达信息的字节长度不是明确编码的,但是可以计算如下: </P>
<P>UPDATE消息长度-23-总的路径属性长度-不可用路由长度。 </P>
<P>其中UPDATE消息长度是定长BGP消息头的编码值,总的路径属性长度和不可用路由长度是作为部分UPDATE消息的编码值。23是定长的BGP消息头,总的路径属性长度域和不可用路由长度域的组合长度。
</P>
<P>可达信息编码时作为一个或者多个二元组格式为〈长度,前缀〉,它们的域描述如下: </P>
<P><IMG height=69 alt=可达信息编码
src="NetworkDictionary 网络大典.files/rfc1771-8.htm" width=230> </P>
<P>域使用和含义如下: </P>
<P>a) 长度: </P>
<P>长度域指示了IP地址前缀的比特长度。0地址指示了匹配所有IP地址的前缀(前缀本身0字节) </P>
<P>b) 前缀: </P>
<P>前缀域包含了IP地址前缀跟随足够的填充比特使=域的结尾能够落在字节边界。注意填充比特的值不关紧要。 </P>
<P>UPDTAE消息的最小长度是23字节—19字节定长消息头+2字节不可用路由长度+2字节总的路径属性长度(不可用路由长度是0同时总的路径属性长度是0)。
</P>
<P>UPDATE消息能够广播至少一条路由,路由可用几个路径属性描述。所有的路径树形包括在一个给定的UPDATE消息适用于在UPDATE消息的网络层可达信息域内包含的目的地。
</P>
<P>一个UPDATE消息能够列出多个路由撤销服务。每一个路由通过目的地制定(表示为IP前缀),明白的根据上下文指定了BGP发言者-BGP发言者连接先前广播过的路由
</P>
<P>一个UPDATE消息可以仅仅撤销路由,这样就不需要包括路径属性或者网络层可达信息。相反,也可以仅仅广播可达路由,这样WITHDRAWN
ROUTES不需要了。 </P>
<P><A id=44 title=44 name=44></A><STRONG>4.4 KEEPALIVE消息格式</STRONG> </P>
<P>BGP不使用任何基于传输协议的心跳机制来确定对端是否可达。相反,KEEPALIVE消息在对端之间交换频率要满足HOLD计时器不溢出的标准。合理的最大KEEPALIVE消息时间是HOLD计时器间隔的1/3。KEEPALIVE消息必须不能比每秒一个更频繁。应用可以调整发送KEEPALIVE消息的速率使用HOLD计时间隔的函数。如果商议哦HOLD计时间隔是0,周期性的KEKPALIVE消息必须不发送。KEEPALIVE消息只包含消息头长度是19字节。
</P>
<P><A id=45 title=45 name=45></A><STRONG>4.5 NOTIFICATION消息格式</STRONG>
</P>
<P>NOTIFACATION消息在探测到错误情况时发送。BGP连接发送他之后要立即关闭。 </P>
<P>除了顶长BGP消息头,NOTIFICATION消息包括下面的域。 </P>
<P><IMG alt=NOTIFICATION消息格式
src="NetworkDictionary 网络大典.files/rfc1771-9.htm"> </P>
<P>错误码: </P>
<P>1字节的无符号整数指示了NOTIFICATION的类型。下列的错误类型编码定义: </P>
<P>错误码 符号名称 参考<BR>1 消息头错误 部分 6.1<BR>2 OPEN消息错误 部分6.2<BR>3 UPDATE消息错误
部分6.3<BR>4 Hold 计时器溢出 部分6.5<BR>5 FSM错误 部分6.6<BR>6 终止 部分6.7 </P>
<P>错误子码: </P>
<P>一个字节的无符号整数提供了更多的信息关于报告的错误的种类。每一个错误可以由一个或者多个错误子码,如果没有特别的错误子码定义,在错误子码域填充0(不具体)。
</P>
<P>Message Header Error subcodes(消息头错误子码): </P>
<UL>
<LI>1 - 连接未同步.
<LI>2 - 错误消息长度.
<LI>3 - 错误消息类型. </LI></UL>
<P>OPEN Message Error subcodes(OPEN 显系错误子码): </P>
<UL>
<LI>1 - 不支持版本号.
<LI>2 - 错误对端AS.
<LI>3 - 坏的BGP标示符. '
<LI>4 - 不支持的选项参数.
<LI>5 - 认证失败.
<LI>6 - 不支持的HOLD时间. </LI></UL>
<P>UPDATE Message Error subcodes(UPDATE消息错误子码): </P>
<UL>
<LI>1 – 畸形属性链表.
<LI>2 – 不认识工人属性
<LI>3 – 缺少工人属性
<LI>4 – 属性标志错误
<LI>5 – 属性长度错误
<LI>6 – 无效ORIGION属性
<LI>7 – AS路由环路
<LI>8 – 无效的NEXT-HOP属性
<LI>9 – 可选参数错误
<LI>10 – 无效网络域
<LI>11 – 畸形AS_PATH. </LI></UL>
<P>数据: </P>
<P>变长的域白用来诊断NOTIFICATION的原因。数据与的内容依赖于错误码和错误子码。部分6有详细说明。注意数据与的长度可以使用公式来计算按消息长度来确定。
</P>
<P>Message Length = 21 + Data Length </P>
<P>NOTIFICATION消息最小的长度是21字节,(包括消息头) </P></TD></TR>
<TR>
<TD align=right><A
href="http://www.networkdictionary.cn/comment/reply/1310#contents">返回目录</A></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=5 width=550 border=0>
<TBODY>
<TR>
<TD><A id=5 title=5 name=5></A>5. 路径属性</TD></TR>
<TR>
<TD>
<P>这个部分讨论UPDATE消息的路径属性。 </P>
<P>路径属性分为下面四类。 </P>
<OL>
<LI>Well-known mandatory.(公认强制)
<LI>Well-known discretionary.(公认自决)
<LI>Optional transitive.(可选转发)
<LI>Optional non-transitive.(可选非转发) </LI></OL>
<P>公认属性是所有BGP应用都要认识的。有一些属性是情之的必须被包括在每一个ATE消息内部。别的是自觉的可以也可以不在特定的UPDATE消息内部发送。
</P>
<P>所有的公认属性必须发送到BGP对端(在必要的更新之后)。 </P>
<P>作为公认属性的附加,每一个路径可以包括一个或者多个可选属性。不是所有的BGP应用都要支持所有的可选属性。如里一个不认识的可选属性是通过设置属性标志字节的转发比特来确定的。又不认识转发属性的路径应该被接受。如果一个有不认识的转发属性的路经被接受并且被转发别的BGP,不认识的路径转发可选属性必须和路径一起传递到别的BGP对端,同时属性标志字节的部分位设置为1。如果一个路径有不认识的转发可选属性被接受并且转发到别的BGP对端,他的属性标志字节的部分比特被先前的AS设置为1,当前的AS不能把他设置为0。不认识的非转发可选属性必须默默丢弃不要发送到别的BGP对端。
</P>
<P>新的转发可选属性可以被起源者和别的AS附加到路径上。如果不是被其源者附加的,属性标志的部分位被设置为1。附加新的非转发可选属性依赖于特定属性的特性。每一非转发可选属性的文档要包括这些法则。(MULTI-EXIT-DISC属性的描述给出了一个例子)所有可选的属性(转发和非专发的)可以被路径上的AS更新(如果合适)。UPDATE西噢啊系的发送者要排序路径树形在UPDATE消息内同时准备处理没有顺序的UPDATE消息的路径属性。同样的属性不能在UPDATE消息的路径属性消息与内出现两次。
</P>
<P><A id=51 title=51 name=51></A><STRONG>5.1 路径属性使用</STRONG> </P>
<P>每一个BGP路径属性的使用描述如下: </P>
<P>clauses. </P>
<P><A id=511 title=511 name=511></A><STRONG>5.1.1 ORIGIN</STRONG> </P>
<P>ORIGIN式是一个公认强制属性。ORIGIN
属性是产生路由的自治系统产生的。所有选择通告路由到别的BGP发言者的BGP发言者可以把这个包括在UPDATE消息内。 </P>
<P><A id=512 title=512 name=512></A><STRONG>5.1.2 AS-PATH</STRONG> </P>
<P>AS-PATH是公认强制属性。本属性定义了UPDATE消息那的路由信息经过的AS。列表的元素可以是AS_SET或者AS_SEQUENCE。
</P>
<P>当BGP发言者通告从别的BGP发言者 UPDATE的消息学习到的路由,应该根据路由发送到的BGP发言者的位置,修改路由 AS-PATH的属性。
</P>
<OL>
<LI>当给定的BGP发言者通告路由到本AS的别的BGP发言者,通告发言者应该修改路由的AS-PATH属性。
<LI>当给定的BGP发言者通告路由到邻居AS的BGP发言者,通告发言者因该修改路由的AS-PATH属性。 </LI></OL>
<P> </P>
<OL>
<LI>如果AS-PATH的第一个路径属性是AS-SEQUENCE类型,本地系统应该把字节的AS号码作为序列的最后一个AS号码加在后面(放在最左面)。
<LI>如果AS-PATH的第一个属性类型是AS-SET类型,本地系统应该添加一个新的路径段AS-SEQUENCE类型,在段的内部放AS号码。
</LI></OL>
<P>当BGP发言者产生路由: </P>
<OL>
<LI>起源发言者应该包括自己的AS号码在发送到邻居AS自治系统的BGP发言者的所有UPDATE消息的AS-PATH属性中。(在这种情况下,起源发言者的自治系统号因该是AS-PATH属性的入口)。
<LI>起源发言者因该包括一个空的AS-PATH属性在发送到本地自治系统的BGP发言者的所有UPDATE消息的AS-PATH属性中。(空的AS-PATH属性是长度域是0的属性)
</LI></OL>
<P><A id=513 title=513 name=513></A><STRONG>5.1.3 NEXT-HOP</STRONG> </P>
<P>NEXT-HOP路径属性定义了边界路由器的IP地址,作为到达UPDATE消息的目的地列表的下一跳。如果边界路由器和对端属于同一个AS,对端是内部边界路由器。否则,是外部边界路由器。BGP发言者可以通告任何内部边界路由器作为下一跳,如果本边界路由器和IP地址对应的接口(说明在NEXT-HOP路径属性中)和本地以及远端边界路由器共享公共的子网。BGP发言者可以通告任何外部边界路由器作为下一跳,如果本边界路由器的IP地址是通过对端BGP发言者学习到的,同时边界路由器的IP地址相应的接口(在NEXT-HOP路径属性中说明)和本地以及远端的BGP发言者共享了公共的子网。BGP发言者需要能够支持外部边界路由器的通告能力不足。
</P>
<P>BGP发言者必须不通告对端的一个地址作为NEXT-HOP到这个对端,作为这个发言者产生的路由。BGP发言者必须不能安装路由把自己作为下一跳。
</P>
<P>当BGP发言者通告路由到本地AS的BGP发言者,通告发言者不应该修改路由的NEXT-HOP属性。当BGP发言者通过内部链路受到路由,可以转发包到NEXT-HOP地址,如果属性中包含的地址是和本地以及远端BGP发言者在公共的子网上。
</P>
<P><A id=514 title=514 name=514></A><STRONG>5.1.4 MULTI-EXIT-DISC</STRONG>
</P>
<P>MULTI-EXIT-DISC属性可以被用来在外部(AS间)链路上区分同一个邻居AS的多个出口或者说入口。MULTI-EXIT-DISC属性的值时四个字节的无符号数称为一个度量。所有别的因子相等,具有较低的度量的出口或者入口有较高的优先级。如果在外部链路上收到,MULTI-EXIT-DISC属性可以通告到内部链路的同一个AS的别的BGP发言者。MULTI-EXIT-DISC属性不能再通告到邻居AS的别的BGP发言者。
</P>
<P><A id=515 title=515 name=515></A><STRONG>5.1.5 LOCAL_PREF</STRONG> </P>
<P>LOCAL-PREF是公认自决属性,可以包括在发送到本地AS的BGP发言者的UPDATE消息内。BGP发言者应该为每一条外部路由计算优先级程度同时在通告路由到内部对端的时候包括这个优先级。优先级高的路由应该使用。BGP发言者因该使用通过LOCAL-PREF学习到的优先级用于决策过程(见部分9。1。1)。
</P>
<P>BGP发言者应该不包括这个属性在发送到邻居AS的发言者的UPDATE消息中。如果BGP发言者受到一条不在同一个AS内的BGP发言者的UPDATE消息包括了这个属性,这个属性应该被忽略掉。
</P>
<P><A id=516 title=516 name=516></A><STRONG>5.1.6
ATOMIC_AGGREGATE</STRONG> </P>
<P>ATOMIC-AGGREGATE是公认自决属性。如果BGP发言者,当得到一个对端的一些重叠的路由(见9。1。4),选择了一条更不特殊的路由而不是选择一条更特殊的路由,那末本地系统应该附加ATOMIC-AGGREGATE属性到路由,当通告道别的BGP发言者的时候(如果属性没有表示在接收的更不特殊的路由中)。BGP发言者接收具有ATOMIC-AGGREGATE属性的路由不应该从路由中去掉这个属性,当通告路由到别的BGP发言者的时候。收到具有ATOMIC-AGGREGATE属性的路由的BGP发言者需要知道如下事实:实际的到达目的地的路由,在NLRI内说明,有自由环回特性,可以通过AS-PATH属性内没有列出的AS。
</P>
<P><A id=517 title=517 name=517></A><STRONG>5.1.7 AGGREGATOR</STRONG> </P>
<P>AGGREGATOR是可选转发属性,可以包括在聚合形成的更新中,(见9。2。4。2)。执行聚合的BGP发言者可以加入AGGREGATOR属性,里面包括自己的AS号和IP地址。
</P></TD></TR>
<TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -