Network protocol - Winona State University

advertisement
BORDER GATEWAY PROTOCOL
By: Darrell Hageman
OUTLINE

Introduction

Background
BGP Overview
 BGP Finite State Machine


States
Other General Information
 Comparisons to Similar Machines
 Conclusion
 References

INTRODUCTION
BGP was initially created in three different
implementations.
 Kirk Lougheed of Cisco systems developed a
proprietary version of BGP for Cisco router
equipment.
 Jeff Honig, Cornell University and Dennis
Ferguson, University of Toronto developed a BGP
version called gated to run on Unix computers.
 Yakov Rekhter from the IBM Thomas J. Watson
Research Center wrote a BGP version for the
NSFNET backbone.
 Internet standard in 1989

BGP OVERVIEW

What is BGP



The routing protocol used to exchange routing
information across the Internet
BGP is an inter-Autonomous System routing
protocol.
BGP makes it possible for ISPs to connect to each
other and for end-users to connect to more than
one ISP
The primary function of a BGP is to exchange
network reachability information with other BGP
systems
 The network reachability information includes
information on the list of Autonomous Systems (ASs)
that reachability information traverses

BGP OVERVIEW

The information is important to construct a graph of
AS connectivity from which routing loops may be
shortened
Only protocol that can deal well with having
multiple connections to unrelated routing
domains
 Only protocol designed to deal with a network of
the Internet's size
 One of the other important functions performed
by the BGP algorithm is to eliminate loops from
routing information

BGP OVERVIEW
BGP OVERVIEW

There are four types of BGP messages




Open - messages are sent by the router initiating the
BGP connection, in order to identify itself and to begin
the exchange of routing information.
Update - messages are sent by BGP peers in order to
carry the network reachability information and path
attributes between them. These messages are the
“heart” of the protocol.
Keepalive - messages are exchanged between peers to
continually verify peer reachability when no updates are
sent for a period of time.
Notification - messages are BGP’s way of providing error
messaging and control services
BGP FINITE STATE MACHINE

States






Idle
Connect
Active
Open Sent
Open Confirm
Established
BGP FINITE STATE MACHINE

Idle State





Initial state
BGP speaker is not yet ready to accept a BGP
Connection.
Tries to establish a TCP connection with configured
BGP Peer
Listens for a TCP connection from its Peer
Changes to Connect State
BGP FINITE STATE MACHINE

Types of Errors
TCP port 179 is not open.
 A random TCP port over 1023 is not open.
 Peer address configured incorrectly on either router.
 AS number configured incorrectly on either router.

BGP FINITE STATE MACHINE

Connect State

Is waiting for the transport protocol connection to be
completed
If connection succeeds, the local system clears the
ConnectRetry timer, completes initialization, sends an
OPEN message to its peer, and changes its state to
OpenSent
 If connection fails the local system restarts the
ConnectRetry timer, continues to listen for a connection
that may be initiated by the remote BGP peer, and changes
its state to Active state.


BGP does not spend much time in this state if the
TCP session has been successfully established
BGP FINITE STATE MACHINE

Active State
In active state, because it was unable to establish a
successful TCP connection with its peers
 BGP speaker ignores the start event
 Resets the ConnectRetry timer
 Attempts to initiate a TCP sessions with its peer




If successful it sends an OPEN message to its peer
 Sets the hold timer
 Transitions to OpenSent State
If unsuccessful again the FSM is reset to the IDLE state
Repeated failures could be a result of



TCP port 179 is not open.
BGP configuration error.
Network congestion.
BGP FINITE STATE MACHINE

OpenSent State
BGP peers are waiting for an OPEN message from its
peer
 After an Open message has been received




All fields in Open message are checked against local BGP
configurations
 If any of the fields don’t match this will cause an
OPEN message error to occur
 Return to Idle State
BGP peer also checks to verify that a connection collision
has not occurred
If there are no errors in the OPEN message
BGP sends a KEEPALIVE message and sets a KeepAlive
timer
 State is changed to OpenConfirm

BGP FINITE STATE MACHINE

OpenConfirm State
BGP waits for a KEEPALIVE or NOTIFICATION
message
 If the local system receives a KEEPALIVE message,
it changes its state to Established
 If a timer expires before a KEEPALIVE message is
received, or if an error condition occurs, the router
transitions back to the IDLE state

BGP FINITE STATE MACHINE

Established State
Peers reach this state after they have succesfully
exchanged OPEN and KEEPALIVE messages
 Begin to UPDATE messages contianing routing
information and KEEPALIVE messages to verify the
TCP Connection state
 If error local peer sends a NOTIFICATION message
with reasons back to IDLE state

BGP FINITE STATE MACHINE
OTHER GENERAL INFORMATION
BGP is unique because of its ability to apply
policies to the information contained in routing
updates and therefore accepts or rejects update
information based on attributes of the
information itself
 BGP uses the TCP/IP protocol on port 179 to
establish connections
 Routing messages are the highest precedence
traffic on the Internet, and each BGP router
gives them first priority over all other traffic

CONCLUSION
BGP is the glue that holds the Internet together
 Little bandwidth/processing overhead
 Suitable for indicating liveliness in both
directions
 Appropriate for complex applications where there
are numerous paths active at one time
 Policy-based, providing policy control over what
is sent and received

CONCLUSION
Not simple to configure. Certain settings must be
coordinated with the provider
 Policy controls can require significant manual
configuration on each router. The more policy
controls in use, the more configuration required

REFERENCE





"BGP Finite State Model." InetDaemon.Com. Web. 15 Apr. 2010.
<http://www.inetdaemon.com/tutorials/internet/ip/routing/bgp/ope
ration/finite_state_model.shtml>.
"File:BGP FSM.svg - Wikimedia Commons." Main Page Wikimedia Commons. Web. 15 Apr. 2010.
<http://commons.wikimedia.org/wiki/File:BGP_FSM.svg>.
Routing TCP IP. München: Markt Und Technik, Buch- Und
Software-Verl., 2002. Print.
Solie, Karl, and Leah Lynch. CCIE Practical Studies.
Indianapolis, IN: Cisco, 2002. Print.
Solie, Karl, and Leah Lynch. "InformIT: CCIE Practical Studies,
Volume II BGP Finite-State Machine Operation." InformIT: The
Trusted Technology Learning Source. Web. 15 Apr. 2010.
<http://www.informit.com/library/content.aspx?b=CCIE_Practical
_Studies_II&seqNum=79>.
Download