Yes, BGP is the exterior gateway routing protocol. It is an autonomous system routing protocol that runs on TCP and is used to transmit routing information between ASs. BGP is the only protocol designed to handle networks the size of the Internet and the only protocol that can properly handle multiple connections between unrelated routing domains.
The operating environment of this tutorial: Windows 10 system, Dell G3 computer.
Exterior Gateway Protocol (Exterior Gateway Protocol) is a routing protocol used between ASs. It was first proposed in 1982 by Eric C. Rosen and David L. Mills of BBN Technology Company. It was first described in RFC827 and formally standardized in RFC904 in 1984. EGP is a simple (network) reachability protocol that, unlike modern distance-vector and path-vector protocols, is limited to networks with tree topologies.
Due to the many limitations of EGP, the IETF Border Gateway Protocol Working Group developed the standard Border Gateway Protocol (BGP), which is currently widely used.
Introduction to BGP
BGP is the exterior gateway routing protocol, used to transmit routing information between ASs; the BGP protocol belongs TCP protocol, port number is 179
Border Gateway Protocol (BGP) is an autonomous system routing protocol running on TCP. BGP is the only protocol designed to handle networks the size of the Internet and the only protocol that can properly handle multiple connections between unrelated routing domains. BGP builds on the experience of EGP. The main function of the BGP system is to exchange network reachability information with other BGP systems. Network reachability information includes information about listed autonomous systems (AS). This information effectively constructs the topology diagram of the AS interconnection and thereby clears routing loops, while policy decisions can be implemented at the AS level.
BGP Features
(1) It is an enhanced path vector routing protocol with reliable Route update mechanism;
(2) Rich Metric measurement methods;
(3) Loop-free protocol design;
(4) Attached multiple attribute information to routing entries;
(5 ) Support CIDR (classless inter-domain routing);
(6) Rich route filtering and routing policies;
(7) No need for periodic updates:
(8) Only increments are sent when routing updates Routing;
(9) Periodically send KeepAlive messages to maintain TCP connectivity.
Extension:
- BGP neighbor relationship is peer relationship;
- BGP neighbor is BGP peer (peer).
BGP message type
- #The router running BGP is called BGP Speaker, and BGP Speakers will exchange Five types of messages, including OPEN messages, KEEPALIVE messages and NOTIFICATION messages, are used to establish and maintain neighbor relationships.
The five types of BGP messages are as follows:
- Open: Responsible for establishing neighbor relationships with peers; mainly includes BGP version, AS number and other information; the two routers trying to establish a BGP neighbor relationship begin to exchange OPEN information after establishing a TCP session connection to confirm whether a neighbor relationship can be formed.
- KeepAlive: This message is sent periodically between peers to determine the reachability between peers and maintain BGP neighbor relationships;
- Update: This message is used to exchange routing information between BGP peers. This includes withdrawn routing information, reachable routing information and various routing attributes;
- Notification: BGP error detection mechanism; once any form of error is detected, the BGP Speaker will send an NPTIFICATION message and then communicate with The related neighbor relationship will be closed;
- Route-refresh: used to notify the BGP peer that it supports route refresh capabilities.
BGP database type:
- IP routing table--------------IGP
- BGP routing table-----------EGP
BGP’s 6 state machines
- Idle: Idle is the first state of the BGP connection. In the idle state, BGP is waiting for a startup event. After the startup event occurs, BGP initializes resources, resets the connection retry timer, and initiates a TCP Connect and enter the Connect state at the same time;
- Connect-Connect: In the Connect state, BGP initiates the first TCP connection. If the connection retry timer (Connect-Retry) times out, the TCP connection is reinitiated and Continue to remain in the Connect state. If the TCP connection is successful, it will enter the OpenSent state. If the TCP connection fails, it will enter the Active state.
- Active – Active: In the Active state, BGP is always trying to establish a TCP connection. , if the connection retry timer times out, it will return to the Connect state. If the TCP connection is successful, it will transfer to the OpenSent state. If the TCP connection fails, it will continue to remain in the Active state and continue to initiate TCP connections;
- OpenSent-Open message has been sent: In the OpenSent state, the TCP connection has been established, and BGP has also sent the first Open message. message, the rest of the work is that BGP is waiting for its peer to send the Open message. The received Open message is checked for correctness. If there is an error, the system will send an error notification message and return to the Idle state. If there is no error, BGP will start sending Keepalive messages and reset the Keepalive timer. Timing. At the same time, it enters the OpenConfirm state;
- OpenConfirm – Open message confirmation: In the OpenConfirm state, BGP sends a Keepalive message and resets the hold timer. If a Keepalive message is received, BGP enters the Established stage. Neighbor relationships are established. If the TCP connection is interrupted, it returns to the Idle state;
- Established-the connection has been established: In the Established state, the BGP neighbor relationship has been established. At this time, BGP will exchange Update messages with its neighbors and reset at the same time. Keep a timer.
For more related knowledge, please visit the FAQ column!
The above is the detailed content of Is bgp an external routing protocol?. For more information, please follow other related articles on the PHP Chinese website!
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn