RFC1163 - Border Gateway Protocol (BGP)(2)

时间:2005-02-13 来源: 作者: 点击:
A,B,... to all its neighbors. B later advertises B,...,A,... back to A, without ever declaring its previous path B,... to be unreachable. Evidently, A prefers routes via B and B prefers routes via A.
  
<A,B,...> to all its neighbors. B later advertises <B,...,A,...>
back to A, without ever declaring its previous path <B,...> to be
unreachable. Evidently, A prefers routes via B and B prefers routes
via A. The combined policies of A and B, taken together, cannot be
satisfied. Such an event should be noticed, logged locally, and
brought to the attention of AS A's administration. The means to do
this, however, lies outside the scope of this document. Also outside
the document is a more complete procedure for detecting such
contradictions of policy.

While the above rules provide a mechanism to detect a set of routing
policies that cannot be satisfied simultaneously, the protocol itself
does not provide any mechanism for suppressing the route oscillation
that may result from these unsatisfiable policies. The reason for
doing this is that routing policies are viewed as external to the
protocol and as determined by the local AS administrator.

Appendix 1. BGP FSM State Transitions and Actions.

This Appendix discusses the transitions between states in the BGP FSM
in response to BGP events. The following is the list of these states
and events.

BGP States:

1 - Idle
2 - Connect
3 - Active
4 - OpenSent
5 - OpenConfirm
6 - Established

BGP Events:

1 - BGP Start
2 - BGP Stop
3 - BGP Transport connection open
4 - BGP Transport connection closed
5 - BGP Transport connection open failed
6 - BGP Transport fatal error
7 - ConnectRetry timer expired
8 - Holdtime timer expired
9 - KeepAlive timer expired
10 - Receive OPEN message
11 - Receive KEEPALIVE message
12 - Receive UPDATE messages
13 - Receive NOTIFICATION message

The following table describes the state transitions of the BGP FSM
and the actions triggered by these transitions.

Event Actions Message Sent Next State
--------------------------------------------------------------------
Idle (1)
1 Initialize resources none 2
Start ConnectRetry timer
Initiate a transport connection
others none none 1

Connect(2)
1 none none 2
3 Complete initialization OPEN 4
Clear ConnectRetry timer
5 Restart ConnectRetry timer none 3
7 Restart ConnectRetry timer none 2
Initiate a transport connection
others Release resources none 1

Active (3)
1 none none 3
3 Complete initialization OPEN 4
Clear ConnectRetry timer
5 Close connection 3
Restart ConnectRetry timer
7 Restart ConnectRetry timer none 2
Initiate a transport connection
others Release resources none 1

OpenSent(4)
1 none none 4
4 Close transport connection none 3
Restart ConnectRetry timer
6 Release resources none 1
10 Process OPEN is OK KEEPALIVE 5
Process OPEN failed NOTIFICATION 1
others Close transport connection NOTIFICATION 1
Release resources

OpenConfirm (5)
1 none none 5
4 Release resources none 1
6 Release resources none 1
9 Restart KeepAlive timer KEEPALIVE 5
11 Complete initialization none 6
Restart Holdtime timer
13 Close transport connection 1
Release resources
others Close transport connection NOTIFICATION 1
Release resources

Established (6)
1 none none 6
4 Release resources none 1
6 Release resources none 1
9 Restart KeepAlive timer KEEPALIVE 6
11 Restart Holdtime timer KEEPALIVE 6
12 Process UPDATE is OK UPDATE 6
Process UPDATE failed NOTIFICATION 1
13 Close transport connection 1
Release resources
others Close transport connection NOTIFICATION 1
Release resources
---------------------------------------------------------------------

The following is a condensed version of the above state transition
table.

Events| Idle | Active | Connect | OpenSent | OpenConfirm | Estab
| (1) | (2) | (3) | (4) | (5) | (6)
|--------------------------------------------------------------
1 | 2 | 2 | 3 | 4 | 5 | 6
| | | | | |
2 | 1 | 1 | 1 | 1 | 1 | 1
| | | | | |
3 | 1 | 4 | 4 | 1 | 1 | 1
| | | | | |
4 | 1 | 1 | 1 | 3 | 1 | 1
| | | | | |
5 | 1 | 3 | 3 | 1 | 1 | 1
| | | | | |
6 | 1 | 1 | 1 | 1 | 1 | 1
| | | | | |
7 | 1 | 2 | 2 | 1 | 1 | 1
| | | | | |
8 | 1 | 1 | 1 | 1 | 1 | 1
| | | | | |
9 | 1 | 1 | 1 | 1 | 5 | 6
| | | | | |
10 | 1 | 1 | 1 | 1 or 5 | 1 | 1
| | | | | |
11 | 1 | 1 | 1 | 1 | 6 | 6
| | | | | |
12 | 1 | 1 | 1 | 1 | 1 | 1 or 6
| | | | | |
13 | 1 | 1 | 1 | 1 | 1 | 1
| | | | | |
---------------------------------------------------------------

Appendix 2. Comparison with RFC1105

Minor changes to the RFC1105 Finite State Machine were necessary to
accommodate the TCP user interface provided by 4.3 BSD.

The notion of Up/Down/Horizontal relations present in RFC1105 has
been removed from the protocol.

The changes in the message format from RFC1105 are as follows:

1. The Hold Time field has been removed from the BGP header and
added to the OPEN message.

2. The version field has been removed from the BGP header and
added to the OPEN message.

3. The Link Type field has been removed from the OPEN message.

4. The OPEN CONFIRM message has been eliminated and replaced
with implicit confirmation provided by the KEEPALIVE message.

5. The format of the UPDATE message has been changed
significantly. New fields were added to the UPDATE message
to support multiple path attributes.

6. The Marker field has been expanded and its role broadened to
support authentication.

Appendix 3. TCP options that may be used with BGP

If a local system TCP user interface supports TCP PUSH function, then
each BGP message should be transmitted with PUSH flag set. Setting
PUSH flag forces BGP messages to be transmitted promptly to the
receiver.

If a local system TCP user interface supports setting precedence for
TCP connection, then the BGP transport connection should be opened
with precedence set to Internetwork Control (110) value (see also
[6]).

References

[1] Mills, D., "Exterior Gateway Protocol Formal Specification", RFC
904, BBN, April 1984.

[2] Rekhter, Y., "EGP and Policy Based Routing in the New NSFNET
Backbone", RFC1092, T.J. Watson Research Center, February 1989.

[3] Braun, H-W., "The NSFNET Routing Architecture", RFC1093,
MERIT/NSFNET Project, February 1989.

[4] Postel, J., "Transmission Control Protocol - DARPA Internet
Program Protocol Specification", RFC793, DARPA, September 1981.

[5] Honig, J., Katz, D., Mathis, M., Rekhter, Y., and J. Yu,
"Application of the Border Gateway Protocol in the Internet",
RFC1164, Cornell University Theory Center, Merit/NSFNET,
Pittsburgh Supercomputing Center, IBM, Merit/NSFNET, June 1990.

[6] Postel, J., "Internet Protocol - DARPA Internet Program Protocol
Specification", RFC791, DARPA, September 1981.

Security Considerations

Security issues are not discussed in this memo.

Authors' Addresses

Kirk Lougheed
cisco Systems, Inc.
1525 O'Brien Drive
Menlo Park, CA 94025

Phone: (415) 326-1941

Email: LOUGHEED@CISCO.COM

Yakov Rekhter
T.J. Watson Research Center IBM Corporation
P.O. Box 218
Yorktown Heights, NY 10598

Phone: (914) 945-3896
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容