Skip to main content

BGP Address Families

·817 words·4 mins
lab1918
Author
lab1918

Border Gateway Protocol (BGP), specifically in its version 4 (BGP-4), supports multiple address families for routing various types of network protocols. The support for multiple address families allows BGP to carry routing information not just for IPv4 (which was its original design) but also for other network protocols. Here are some of the commonly supported address families by BGP:

  1. IPv4 Unicast: This is the most common address family, used for routing IPv4 unicast traffic. It’s the default address family for BGP.

  2. IPv4 Multicast: This family supports the exchange of IPv4 multicast routing information, which is essential for multicast applications.

  3. IPv6 Unicast: With the increasing adoption of IPv6, BGP has been extended to support IPv6 unicast routes, allowing for the routing of IPv6 traffic.

  4. IPv6 Multicast: Similar to IPv4 multicast but for IPv6, this family handles the routing of IPv6 multicast traffic.

  5. VPNv4: This address family is used for BGP/MPLS VPNs (Virtual Private Networks). It allows BGP to carry VPN-IPv4 prefix information, enabling BGP to support Layer 3 VPN services.

  6. VPNv6: This is the IPv6 equivalent of VPNv4, used for carrying VPN-IPv6 prefix information in BGP/MPLS VPNs.

  7. L2VPN (Layer 2 VPN): This address family is used for signaling in BGP Layer 2 VPN services.

  8. Multicast VPN (MVPN): This is used for supporting multicast distribution in a VPN.

  9. EVPN (Ethernet VPN): BGP EVPN address family is used for Ethernet VPN services, which is a common requirement in modern data center networking.

  10. IPv4/IPv6 Labelled Unicast: This address family allows BGP to carry MPLS labels along with IPv4 or IPv6 routes.

These address families allow BGP to be extremely versatile and capable of supporting a wide range of network architectures and services. Network operators and engineers can configure BGP to use one or more of these families depending on the specific requirements of their network.

Border Gateway Protocol (BGP) communicates AFI/SAFI routing information. Take IPv4 unicast for example, using a process that involves establishing sessions between BGP routers, exchanging routing information, and maintaining routing tables. Here’s a breakdown of how this process works:

1. Establishing BGP Sessions
#

  • Peer Discovery and Session Establishment: BGP routers (or BGP speakers) initiate a BGP session with other BGP routers. This is typically configured manually by specifying the IP addresses of the BGP peers.
  • TCP Connection: BGP uses TCP as its transport protocol, typically on port 179. A reliable TCP connection ensures the successful delivery of BGP messages.
  • BGP Open Messages: Once the TCP connection is established, BGP speakers exchange ‘OPEN’ messages to negotiate session parameters like BGP version, AS (Autonomous System) number, and hold time.

2. Exchanging Routing Information
#

  • Initial Routing Table Exchange: After the OPEN message exchange and session establishment, BGP speakers exchange their entire BGP routing tables using ‘UPDATE’ messages. This includes all the IPv4 unicast routes they know.
  • Incremental Updates: Following the initial exchange, any changes to the routing table (like new routes, withdrawn routes, or route modifications) are sent as incremental UPDATE messages.
  • Path Attributes: BGP UPDATE messages carry path attributes for each route, including attributes like AS_PATH, NEXT_HOP, and others, which are used to determine the best path and enforce routing policies.

3. Maintaining Routing Tables
#

  • Routing Decision Process: BGP routers process incoming UPDATE messages, applying various BGP attributes and policies to select the best path for each route.
  • BGP Table vs. Routing Table: The selected routes are then placed into the BGP table. A subset of these routes, based on routing policies and preferences, may be installed in the router’s IP routing table for actual packet forwarding.
  • KEEPALIVE Messages: To maintain the session, BGP routers periodically send KEEPALIVE messages. If a router doesn’t receive KEEPALIVE or UPDATE messages within the hold time, the session is considered down, and routes learned from that peer are removed.

4. Handling Network Changes
#

  • Withdrawn Routes: If a route is no longer valid, a BGP speaker sends an UPDATE message with the withdrawn route, prompting peers to remove the route from their tables.
  • Convergence: When network changes occur, BGP routers exchange UPDATE messages to re-converge, i.e., to update their routing tables to reflect the new network state.

5. Implementing Policies and Attributes
#

  • Routing Policies: Network administrators can implement various routing policies on BGP routers to influence route selection, path preference, and route advertisement.
  • Attribute Manipulation: Attributes like LOCAL_PREF, MED, AS_PATH prepending, and route filtering are commonly used to manipulate routing decisions and traffic flow.

Key Points
#

  • Scalability and Stability: BGP is designed to handle a large volume of routing information and maintain stability in a dynamic global internet environment.
  • Policy-Based Routing: One of BGP’s key strengths is its ability to implement complex routing policies, making it essential for inter-domain routing on the internet.

In summary, BGP communicates IPv4 unicast routing information through a structured process of session establishment, routing information exchange, table maintenance, and response to network changes, all while allowing for extensive policy-based control over routing decisions.