Sunteți pe pagina 1din 24

BORDER GATEWAY PROTOCOL

OUTLINE
Introduction
Background
BGP Overview
BGP Finite State Machine
States
Other General Information
Lab exercise
Conclusion
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 BGPs 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 Connect
Retry timer, completes initialization, sends an OPEN
message to its peer, and changes its state to Open Sent
If connection fails the local system restarts the Connect

Retry 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
Open Sent 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 dont 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 Keep Alive
timer
State is changed to Open Confirm
BGP FINITE STATE MACHINE
Open Confirm 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 successfully
exchanged OPEN and KEEPALIVE messages
Begin to UPDATE messages containing 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
BGP LAB EXERCISE
CONFIGURATION FILE
Router1
Router1>enable
Router1(config)#interface GigabitEthernet0/0
Router1(config-if)#ip address 10.0.4.1
255.255.255.0
Router1(config-if)#no shutdown
!
Router1(config)#interface GigabitEthernet0/1
Router1(config-if)#ip address 10.0.1.1
255.255.255.0
Router1(config-if)#no shutdown
!
Router1(config)#router bgp 100
Router1(config-router)#neighbor 10.0.4.2
remote-as 200
Router1(config-router)# neighbor 10.0.4.3
remote-as 300
CONT

Router2
Router2>enable
Router2(config)#interface
GigabitEthernet0/0
Router2(config-if)#ip address 10.0.4.2
255.255.255.0
Router2(config-if)#no shutdown
!
Router2(config)#interface
GigabitEthernet0/1
Router2(config-if)#ip address 10.0.2.2
255.255.255.0
Router2(config-if)#no shutdown
!
Router2(config)#router bgp 200
Router2(config-router)# neighbor 10.0.4.1
remote-as 100
Router2(config-router)# neighbor 10.0.4.3
remote-as 300
Router2(config-router)# network 10.0.2.0
mask 255.255.255.0
CONT

Router3
Router3>enable
Router3(config)#interface
GigabitEthernet0/0
Router3(config-if)#ip address 10.0.4.3
255.255.255.0
Router3(config-if)#no shutdown
!
Router3(config)#interface
GigabitEthernet0/1
Router3(config-if)#ip address 10.0.3.3
255.255.255.0
Router3(config-if)#no shutdown
!
Router3(config)#router bgp 300
Router3(config-router)# neighbor 10.0.4.1
remote-as 100
Router3(config-router)# neighbor 10.0.4.2
remote-as 200
Router3(config-router)# network 10.0.3.0
mask 255.255.255.0
BGP TROUBLESHOOTING
We use the following commands to check the proper
connectivity among routers in GBP.
Router#show ip bgp shows table version, local router
ID and connected neighbors
Router#show ip bgp neighbours shows detailed
information on TCP and BGP neighbor connections.
Router#summary shows summary of BGP neighbor status.
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

S-ar putea să vă placă și