Network protocol - Winona State University
Download
Report
Transcript Network protocol - Winona State University
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>.