This module describes configuration tasks to configure various options involving Border Gateway Protocol (BGP) neighbor peer sessions. BGP is an interdomain routing protocol designed to provide loop-free routing between organizations. This module contains tasks that use BGP neighbor session commands to configure:
Options to help an autonomous system migration
TTL Security Check, a lightweight security mechanism to protect External BGP (eBGP) peering sessions from CPU-utilization-based attacks
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see
Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for Configuring BGP Neighbor Session Options
Before configuring advanced BGP features you should be familiar with the "Cisco BGP Overview" module and the "Configuring a Basic BGP Network" module.
Restrictions for Configuring BGP Neighbor Session Options
A router that runs Cisco software can be configured to run only one BGP routing process and to be a member of only one BGP autonomous system. However, a BGP routing process and autonomous system can support multiple address family configurations.
Information About Configuring BGP Neighbor Session Options
BGP Neighbor Sessions
BGP is mainly used to connect a local network to an external network to gain access to the Internet or to connect to other organizations. A BGP-speaking router does not discover another BGP-speaking device automatically. A network administrator usually manually configures the relationships between BGP-speaking routers.
A BGP neighbor device is a BGP-speaking router that has an active TCP connection to another BGP-speaking device. This relationship between BGP devices is often referred to as a peer instead of neighbor because a neighbor may imply the idea that the BGP devices are directly connected with no other router in between. Configuring BGP neighbor or peer sessions uses BGP neighbor session commands so this module uses the term “neighbor” over “peer.”
BFD Support of BGP IPv6 Neighbors
In Cisco IOS Release 15.1(2)S and later releases, Bidirectional Forwarding Detection (BFD) can be used to track fast forwarding path failure of BGP neighbors that have an IPv6 address. BFD is a detection protocol that is designed to provide fast forwarding path failure detection times for all media types, encapsulations, topologies, and routing protocols. BFD provides faster reconvergence time for BGP after a forwarding path failure.
When implemented for BGP, the TTL Security Check feature introduces a lightweight security mechanism to protect eBGP neighbor sessions from CPU utilization-based attacks. These types of attacks are typically brute force Denial of Service (DoS) attacks that attempt to disable the network by flooding the network with IP packets that contain forged source and destination IP addresses.
The TTL Security Check feature protects the eBGP neighbor session by comparing the value in the TTL field of received IP packets against a hop count that is configured locally for each eBGP neighbor session. If the value in the TTL field of the incoming IP packet is greater than or equal to the locally configured value, the IP packet is accepted and processed normally. If the TTL value in the IP packet is less than the locally configured value, the packet is silently discarded and no Internet Control Message Protocol (ICMP) message is generated. This is designed behavior; a response to a forged packet is unnecessary.
Although it is possible to forge the TTL field in an IP packet header, accurately forging the TTL count to match the TTL count from a trusted peer is impossible unless the network to which the trusted peer belongs has been compromised.
The TTL Security Check feature supports both directly connected neighbor sessions and multihop eBGP neighbor sessions. The BGP neighbor session is not affected by incoming packets that contain invalid TTL values. The BGP neighbor session will remain open, and the router will silently discard the invalid packet. The BGP session, however, can still expire if keepalive packets are not received before the session timer expires.
TTL Security Check for BGP Neighbor Sessions
The BGP Support for TTL Security Check feature is configured with the neighborttl-security command in router configuration mode or address family configuration mode. When this feature is enabled, BGP will establish or maintain a session only if the TTL value in the IP packet header is equal to or greater than the TTL value configured for the peering session. Enabling this feature secures the eBGP session in the incoming direction only and has no effect on outgoing IP packets or the remote router. The hop-count argument is used to configure the maximum number of hops that separate the two peers. The TTL value is determined by the router from the configured hop count. The value for this argument is a number from 1 to 254.
TTL Security Check Support for Multihop BGP Neighbor Sessions
The BGP Support for TTL Security Check feature supports both directly connected neighbor sessions and multihop neighbor sessions. When this feature is configured for a multihop neighbor session, the neighborebgp-multihop router configuration command cannot be configured and is not needed to establish the neighbor session. These commands are mutually exclusive, and only one command is required to establish a multihop neighbor session. If you attempt to configure both commands for the same peering session, an error message will be displayed in the console.
To configure this feature for an existing multihop session, you must first disable the existing neighbor session with the noneighborebgp-multihop command. The multihop neighbor session will be restored when you enable this feature with the neighborttl-security command.
This feature should be configured on each participating router. To maximize the effectiveness of this feature, the hop-count argument should be strictly configured to match the number of hops between the local and external network. However, you should also consider path variation when configuring this feature for a multihop neighbor session.
Benefits of the BGP Support for TTL Security Check
The BGP Support for TTL Security Check feature provides an effective and easy-to-deploy solution to protect eBGP neighbor sessions from CPU utilization-based attacks. When this feature is enabled, a host cannot attack a BGP session if the host is not a member of the local or remote BGP network or if the host is not directly connected to a network segment between the local and remote BGP networks. This solution greatly reduces the effectiveness of DoS attacks against a BGP autonomous system.
BGP Support for TCP Path MTU Discovery per Session
The IP protocol family was designed to use a wide variety of transmission links. The maximum IP packet length is 65000 bytes. Most transmission links enforce a smaller maximum packet length limit, called the maximum transmission unit (MTU), which varies with the type of the transmission link. The design of IP accommodates link packet length limits by allowing intermediate routers to fragment IP packets as necessary for their outgoing links. The final destination of an IP packet is responsible for reassembling its fragments as necessary.
All TCP sessions are bounded by a limit on the number of bytes that can be transported in a single packet, and this limit is known as the maximum segment size (MSS). TCP breaks up packets into chunks in a transmit queue before passing packets down to the IP layer. A smaller MSS may not be fragmented at an IP device along the path to the destination device, but smaller packets increase the amount of bandwidth needed to transport the packets. The maximum TCP packet length is determined by both the MTU of the outbound interface on the source device and the MSS announced by the destination device during the TCP setup process.
Path MTU discovery (PMTUD) was developed as a solution to the problem of finding the optimal TCP packet length. PMTUD is an optimization (detailed in RFC 1191) wherein a TCP connection attempts to send the longest packets that will not be fragmented along the path from source to destination. It does this by using a flag, don’t fragment (DF), in the IP packet. This flag is supposed to alter the behavior of an intermediate router that cannot send the packet across a link because it is too long. Normally the flag is off, and the router should fragment the packet and send the fragments. If a router tries to forward an IP datagram, with the DF bit set, to a link that has a lower MTU than the size of the packet, the router will drop the packet and return an ICMP Destination Unreachable message to the source of this IP datagram, with the code indicating "fragmentation needed and DF set." When the source device receives the ICMP message, it will lower the send MSS, and when TCP retransmits the segment, it will use the smaller segment size.
BGP Neighbor Session TCP PMTUD
TCP path MTU discovery is enabled by default for all BGP neighbor sessions, but there are situations when you may want to disable TCP path MTU discovery for one or all BGP neighbor sessions. Although PMTUD works well for larger transmission links (for example, Packet over Sonet links), a badly configured TCP implementation or a firewall may slow or stop the TCP connections from forwarding any packets. In this type of situation, you may need to disable TCP path MTU discovery.
In Cisco software, configuration options were introduced to permit TCP path MTU discovery to be disabled, or subsequently reenabled, either for a single BGP neighbor session or for all BGP sessions. To disable the TCP path MTU discovery globally for all BGP neighbors, use the
nobgptransportpath-mtu-discovery command in router configuration mode. To disable the TCP path MTU discovery for a single neighbor, use the
noneighbortransportpath-mtu-discovery command in router configuration mode or address family configuration mode. For more details, see the “Disabling TCP Path MTU Discovery Globally for All BGP Sessions” section or the “Disabling TCP Path MTU Discovery for a Single BGP Neighbor” section.
How to Configure BGP Neighbor Session Options
Configuring BFD for BGP IPv6 Neighbors
In Cisco IOS Release 15.1(2)S and later releases, Bidirectional Forwarding Detection (BFD) can be used for BGP neighbors that have an IPv6 address.
Once it has been verified that BFD neighbors are up, the
showbgpipv6unicastneighbors command will indicate that BFD is being used to detect fast fallover on the specified neighbor.
Enables BGP to monitor the peering session of an IPv6 neighbor using BFD.
Step 15
end
Example:
Device(config-router-af)# end
Exits address family configuration mode and enters privileged EXEC mode.
Configuring the TTL Security Check for BGP Neighbor Sessions
Perform this task to allow BGP to establish or maintain a session only if the TTL value in the IP packet header is equal to or greater than the TTL value configured for the BGP neighbor session.
Before You Begin
To maximize the effectiveness of the BGP Support for TTL Security Check feature, we recommend that you configure it on each participating router. Enabling this feature secures the eBGP session in the incoming direction only and has no effect on outgoing IP packets or the remote router.
Note
The
neighborebgp-multihop command is not needed when the BGP Support for TTL Security Check feature is configured for a multihop neighbor session and should be disabled before configuring this feature.
The effectiveness of the BGP Support for TTL Security Check feature is reduced in large-diameter multihop peerings. In the event of a CPU utilization-based attack against a BGP router that is configured for large-diameter peering, you may still need to shut down the affected neighbor sessions to handle the attack.
This feature is not effective against attacks from a peer that has been compromised inside of the local and remote network. This restriction also includes peers that are on the network segment between the local and remote network.
SUMMARY STEPS
1.enable
2.trace [protocol]
destination
3.configureterminal
4.routerbgpautonomous-system-number
5.neighborip-addressttl-securityhopshop-count
6.end
7.showrunning-config
8.showipbgpneighbors [ip-address]
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
trace [protocol]
destination
Example:
Device# trace ip 10.1.1.1
Discovers the routes of the specified protocol that packets will actually take when traveling to their destination.
Enter the
trace command to determine the number of hops to the specified peer.
Step 3
configureterminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 4
routerbgpautonomous-system-number
Example:
Device(config)# router bgp 65000
Enters router configuration mode, and creates a BGP routing process.
Configures the maximum number of hops that separate two peers.
The
hop-count argument is set to the number of hops that separate the local and remote peer. If the expected TTL value in the IP packet header is 254, then the number 1 should be configured for the
hop-count argument. The range of values is a number from 1 to 254.
When the BGP Support for TTL Security Check feature is enabled, BGP will accept incoming IP packets with a TTL value that is equal to or greater than the expected TTL value. Packets that are not accepted are discarded.
The example configuration sets the expected incoming TTL value to at least 253, which is 255 minus the TTL value of 2, and this is the minimum TTL value expected from the BGP peer. The local router will accept the peering session from the 10.1.1.1 neighbor only if it is one or two hops away.
Step 6
end
Example:
Device(config-router)# end
Exits router configuration mode and enters privileged EXEC mode.
Step 7
showrunning-config
Example:
Device# show running-config | begin bgp
(Optional) Displays the contents of the currently running configuration file.
The output of this command displays the configuration of the
neighborttl-security command for each peer under the BGP configuration section of output. That section includes the neighbor address and the configured hop count.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Step 8
showipbgpneighbors [ip-address]
Example:
Device# show ip bgp neighbors 10.4.9.5
(Optional) Displays information about the TCP and BGP connections to neighbors.
This command displays "External BGP neighbor may be up to
number hops away" when the BGP Support for TTL Security Check feature is enabled. The
number value represents the hop count. It is a number from 1 to 254.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Examples
The configuration of the BGP Support for TTL Security Check feature can be verified with the
showrunning-config and
showipbgpneighbors commands. This feature is configured locally on each peer, so there is no remote configuration to verify.
The following is sample output from the
showrunning-config command. The output shows that neighbor 10.1.1.1 is configured to establish or maintain the neighbor session only if the expected TTL count in the incoming IP packet is 253 or 254.
Router# show running-config
| begin bgp
router bgp 65000
no synchronization
bgp log-neighbor-changes
neighbor 10.1.1.1 remote-as 55000
neighbor 10.1.1.1 ttl-security hops 2
no auto-summary
.
.
.
The following is sample output from the
showipbgpneighbors command. The output shows that the local router will accept packets from the 10.1.1.1 neighbor if it is no more than 2 hops away. The configuration of this feature is displayed in the address family section of the output. The relevant line is shown in bold in the output.
Router# show ip bgp neighbors 10.1.1.1
BGP neighbor is 10.1.1.1, remote AS 55000, external link
BGP version 4, remote router ID 10.2.2.22
BGP state = Established, up for 00:59:21
Last read 00:00:21, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(new)
Address family IPv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 2 2
Notifications: 0 0
Updates: 0 0
Keepalives: 226 227
Route Refresh: 0 0
Total: 228 229
Default minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1/0
Output queue sizes : 0 self, 0 replicated
Index 1, Offset 0, Mask 0x2
Member of update-group 1
Sent Rcvd
Prefix activity: ---- ----
Prefixes Current: 0 0
Prefixes Total: 0 0
Implicit Withdraw: 0 0
Explicit Withdraw: 0 0
Used as bestpath: n/a 0
Used as multipath: n/a 0
Outbound Inbound
Local Policy Denied Prefixes: -------- -------
Total: 0 0
Number of NLRIs in the update sent: max 0, min 0
Connections established 2; dropped 1
Last reset 00:59:50, due to User reset
External BGP neighbor may be up to 2 hops away.
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.2.2.22, Local port: 179
Foreign host: 10.1.1.1, Foreign port: 11001
Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes)
Event Timers (current time is 0xCC28EC):
Timer Starts Wakeups Next
Retrans 63 0 0x0
TimeWait 0 0 0x0
AckHold 62 50 0x0
SendWnd 0 0 0x0
KeepAlive 0 0 0x0
GiveUp 0 0 0x0
PmtuAger 0 0 0x0
DeadWait 0 0 0x0
iss: 712702676 snduna: 712703881 sndnxt: 712703881 sndwnd: 15180
irs: 2255946817 rcvnxt: 2255948041 rcvwnd: 15161 delrcvwnd: 1223
SRTT: 300 ms, RTTO: 607 ms, RTV: 3 ms, KRTT: 0 ms
minRTT: 0 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: passive open, nagle, gen tcbs
Datagrams (max data segment is 1460 bytes):
Rcvd: 76 (out of order: 0), with data: 63, total data bytes: 1223
Sent: 113 (retransmit: 0, fastretransmit: 0), with data: 62, total data bytes: 4
Configuring BGP Support for TCP Path MTU Discovery per Session
Disabling TCP Path MTU Discovery Globally for All BGP Sessions
Perform this task to disable TCP path MTU discovery for all BGP sessions. TCP path MTU discovery is enabled by default when you configure BGP sessions, but we recommend that you enter the
showipbgpneighbors command to ensure that TCP path MTU discovery is enabled.
Before You Begin
This task assumes that you have previously configured BGP neighbors with active TCP connections.
SUMMARY STEPS
1.enable
2.showipbgpneighbors [ip-address]
3.configureterminal
4.routerbgpautonomous-system-number
5.nobgptransportpath-mtu-discovery
6.end
7.showipbgpneighbors [ip-address]
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
showipbgpneighbors [ip-address]
Example:
Device# show ip bgp neighbors
(Optional) Displays information about the TCP and BGP connections to neighbors.
Use this command to determine whether BGP neighbors have TCP path MTU discovery enabled.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Step 3
configureterminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 4
routerbgpautonomous-system-number
Example:
Device(config)# router bgp 50000
Enters router configuration mode to create or configure a BGP routing process.
Step 5
nobgptransportpath-mtu-discovery
Example:
Device(config-router)# no bgp transport path-mtu-discovery
Disables TCP path MTU discovery for all BGP sessions.
Step 6
end
Example:
Device(config-router)# end
Exits router configuration mode and returns to privileged EXEC mode.
Step 7
showipbgpneighbors [ip-address]
Example:
Device# show ip bgp neighbors
(Optional) Displays information about the TCP and BGP connections to neighbors.
In this example, the output from this command will not display that any neighbors have TCP path MTU enabled.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Examples
The following sample output from the
showipbgpneighbors command shows that TCP path MTU discovery is enabled for BGP neighbors. Two entries in the output—Transport(tcp) path-mtu-discovery is enabled and path mtu capable—show that TCP path MTU discovery is enabled.
Router# show ip bgp neighbors
BGP neighbor is 172.16.1.2, remote AS 45000, internal link
BGP version 4, remote router ID 172.16.1.99
.
.
.
For address family: IPv4 Unicast
BGP table version 5, neighbor version 5/0
.
.
.
Address tracking is enabled, the RIB does have a route to 172.16.1.2
Address tracking requires at least a /24 route to the peer
Connections established 3; dropped 2
Last reset 00:00:35, due to Router ID changed
Transport(tcp) path-mtu-discovery is enabled
.
.
.
SRTT: 146 ms, RTTO: 1283 ms, RTV: 1137 ms, KRTT: 0 ms
minRTT: 8 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: higher precedence, retransmission timeout, nagle, path mtu capable
The following is sample output from the
showipbgpneighbors command after the
nobgptransportpath-mtu-discovery command has been entered. Note that the path mtu entries are missing.
Router# show ip bgp neighbors
BGP neighbor is 172.16.1.2, remote AS 45000, internal link
BGP version 4, remote router ID 172.16.1.99
.
.
.
For address family: IPv4 Unicast
BGP table version 5, neighbor version 5/0
.
.
.
Address tracking is enabled, the RIB does have a route to 172.16.1.2
Address tracking requires at least a /24 route to the peer
Connections established 3; dropped 2
Last reset 00:00:35, due to Router ID changed
.
.
.
SRTT: 146 ms, RTTO: 1283 ms, RTV: 1137 ms, KRTT: 0 ms
minRTT: 8 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: higher precedence, retransmission timeout, nagle
Disabling TCP Path MTU Discovery for a Single BGP Neighbor
Perform this task to establish a peering session with an internal BGP (iBGP) neighbor and then disable TCP path MTU discovery for the BGP neighbor session. The
neighbortransport command can be used in router configuration mode or address family configuration mode.
Before You Begin
This task assumes that you know that TCP path MTU discovery is enabled by default for all your BGP neighbors.
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
Device(config-router-af)# no neighbor 172.16.1.1 transport path-mtu-discovery
Disables TCP path MTU discovery for a single BGP neighbor.
In this example, TCP path MTU discovery is disabled for the neighbor at 172.16.1.1.
Step 8
end
Example:
Device(config-router-af)# end
Exits address family configuration mode and returns to privileged EXEC mode.
Step 9
showipbgpneighbors
Example:
Device# show ip bgp neighbors
(Optional) Displays information about the TCP and BGP connections to neighbors.
In this example, the output from this command will not display that the neighbor has TCP path MTU discovery enabled.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Examples
The following sample output shows that TCP path MTU discovery has been disabled for BGP neighbor 172.16.1.1 but that it is still enabled for BGP neighbor 192.168.2.2. Two entries in the output—Transport(tcp) path-mtu-discovery is enabled and path mtu capable—show that TCP path MTU discovery is enabled.
Router# show ip bgp neighbors
BGP neighbor is 172.16.1.1, remote AS 45000, internal link
BGP version 4, remote router ID 172.17.1.99
.
.
.
Address tracking is enabled, the RIB does have a route to 172.16.1.1
Address tracking requires at least a /24 route to the peer
Connections established 1; dropped 0
Last reset never
.
.
.
SRTT: 165 ms, RTTO: 1172 ms, RTV: 1007 ms, KRTT: 0 ms
minRTT: 20 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: higher precedence, retransmission timeout, nagle
.
.
.
BGP neighbor is 192.168.2.2, remote AS 50000, external link
BGP version 4, remote router ID 10.2.2.99
.
.
.
For address family: IPv4 Unicast
BGP table version 4, neighbor version 4/0
.
.
.
Address tracking is enabled, the RIB does have a route to 192.168.2.2
Address tracking requires at least a /24 route to the peer
Connections established 2; dropped 1
Last reset 00:05:11, due to User reset
Transport(tcp) path-mtu-discovery is enabled
.
.
.
SRTT: 210 ms, RTTO: 904 ms, RTV: 694 ms, KRTT: 0 ms
minRTT: 20 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: higher precedence, retransmission timeout, nagle, path mtu capable
Enabling TCP Path MTU Discovery Globally for All BGP Sessions
Perform this task to enable TCP path MTU discovery for all BGP sessions. TCP path MTU discovery is enabled by default when you configure BGP sessions, but if the BGP Support for TCP Path MTU Discovery per Session feature has been disabled, you can use this task to reenable it. To verify that TCP path MTU discovery is enabled, use the
showipbgpneighbors command.
Before You Begin
This task assumes that you have previously configured BGP neighbors with active TCP connections.
SUMMARY STEPS
1.enable
2.configureterminal
3.routerbgpautonomous-system-number
4.bgptransportpath-mtu-discovery
5.end
6.showipbgpneighbors
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
routerbgpautonomous-system-number
Example:
Device(config)# router bgp 45000
Enters router configuration mode to create or configure a BGP routing process.
Step 4
bgptransportpath-mtu-discovery
Example:
Device(config-router)# bgp transport path-mtu-discovery
Enables TCP path MTU discovery for all BGP sessions.
Step 5
end
Example:
Device(config-router)# end
Exits router configuration mode and returns to privileged EXEC mode.
Step 6
showipbgpneighbors
Example:
Device# show ip bgp neighbors
(Optional) Displays information about the TCP and BGP connections to neighbors.
In this example, the output from this command will show that all neighbors have TCP path MTU discovery enabled.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Examples
The following sample output from the
showipbgpneighbors command shows that TCP path MTU discovery is enabled for BGP neighbors. Two entries in the output—Transport(tcp) path-mtu-discovery is enabled and path mtu capable—show that TCP path MTU discovery is enabled.
Router# show ip bgp neighbors
BGP neighbor is 172.16.1.2, remote AS 45000, internal link
BGP version 4, remote router ID 172.16.1.99
.
.
.
For address family: IPv4 Unicast
BGP table version 5, neighbor version 5/0
.
.
.
Address tracking is enabled, the RIB does have a route to 172.16.1.2
Address tracking requires at least a /24 route to the peer
Connections established 3; dropped 2
Last reset 00:00:35, due to Router ID changed
Transport(tcp) path-mtu-discovery is enabled
.
.
.
SRTT: 146 ms, RTTO: 1283 ms, RTV: 1137 ms, KRTT: 0 ms
minRTT: 8 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: higher precedence, retransmission timeout, nagle, path mtu capable
Enabling TCP Path MTU Discovery for a Single BGP Neighbor
Perform this task to establish a peering session with an eBGP neighbor and then enable TCP path MTU discovery for the BGP neighbor session. The
neighbortransport command can be used in router configuration mode or address family configuration mode.
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
Device(config-router-af)# neighbor 192.168.2.2 transport path-mtu-discovery
Enables TCP path MTU discovery for a single BGP neighbor.
Step 8
end
Example:
Device(config-router-af)# end
Exits address family configuration mode and returns to privileged EXEC mode.
Step 9
showipbgpneighbors [ip-address]
Example:
Device# show ip bgp neighbors 192.168.2.2
(Optional) Displays information about the TCP and BGP connections to neighbors.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS IP Routing: BGP Command Reference.
Examples
The following sample output from the
showipbgpneighbors command shows that TCP path MTU discovery is enabled for the BGP neighbor at 192.168.2.2. Two entries in the output—Transport(tcp) path-mtu-discovery is enabled and path-mtu capable—show that TCP path MTU discovery is enabled.
Router# show ip bgp neighbors 192.168.2.2
BGP neighbor is 192.168.2.2, remote AS 50000, external link
BGP version 4, remote router ID 10.2.2.99
.
.
.
For address family: IPv4 Unicast
BGP table version 4, neighbor version 4/0
.
.
.
Address tracking is enabled, the RIB does have a route to 192.168.2.2
Address tracking requires at least a /24 route to the peer
Connections established 2; dropped 1
Last reset 00:05:11, due to User reset
Transport(tcp) path-mtu-discovery is enabled
.
.
.
SRTT: 210 ms, RTTO: 904 ms, RTV: 694 ms, KRTT: 0 ms
minRTT: 20 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: higher precedence, retransmission timeout, nagle, path mtu capable
Configuration Examples for BGP Neighbor Session Options
Example: Configuring BFD for a BGP IPv6 Neighbor
The following example configures FastEthernet interface 0/1 with the IPv6 address 2001:DB8:4:1::1. Bidirectional Forwarding Detection (BFD) is configured for the BGP neighbor at 2001:DB8:5:1::2. BFD will track forwarding path failure of the BGP neighbor and provide faster reconvergence time for BGP after a forwarding path failure.
The example configurations in this section show how to configure the BGP Support for TTL Security Check feature.
The following example uses the
trace command to determine the hop count to an eBGP peer. The hop count number is displayed in the output for each networking device that IP packets traverse to reach the specified neighbor. In the following example, the hop count for the 10.1.1.1 neighbor is 1.
Router# trace ip 10.1.1.1
Type escape sequence to abort.
Tracing the route to 10.1.1.1
1 10.1.1.1 0 msec * 0 msec
The following example sets the hop count to 2 for the 10.1.1.1 neighbor. Because the hop-count argument is set to 2, BGP will accept only IP packets with a TTL count in the header that is equal to or greater than 253.
Example: Disabling TCP Path MTU Discovery Globally for All BGP Sessions
The following example shows how to disable TCP path MTU discovery for all BGP neighbor sessions. Use the
showipbgpneighbors command to verify that TCP path MTU discovery has been disabled.
enable
configure terminal
router bgp 45000
no bgp transport path-mtu-discovery
end
show ip bgp neighbors
Example: Disabling TCP Path MTU Discovery for a Single BGP Neighbor
The following example shows how to disable TCP path MTU discovery for an eBGP neighbor at 192.168.2.2:
enable
configure terminal
router bgp 45000
neighbor 192.168.2.2 remote-as 50000
neighbor 192.168.2.2 activate
no neighbor 192.168.2.2 transport path-mtu-discovery
end
show ip bgp neighbors 192.168.2.2
Example: Enabling TCP Path MTU Discovery Globally for All BGP Sessions
The following example shows how to enable TCP path MTU discovery for all BGP neighbor sessions. Use the
showipbgpneighbors command to verify that TCP path MTU discovery has been enabled.
enable
configure terminal
router bgp 45000
bgp transport path-mtu-discovery
end
show ip bgp neighbors
Example: Enabling TCP Path MTU Discovery for a Single BGP Neighbor
The following example shows how to enable TCP path MTU discovery for an eBGP neighbor at 192.168.2.2. Use the
showipbgpneighbors command to verify that TCP path MTU discovery has been enabled.
enable
configure terminal
router bgp 45000
neighbor 192.168.2.2 remote-as 50000
neighbor 192.168.2.2 activate
neighbor 192.168.2.2 transport path-mtu-discovery
end
show ip bgp neighbors 192.168.2.2
To locate and download MIBs for selected platforms, Cisco IOS XE software releases, and feature sets, use Cisco MIB Locator found at the following URL:
Application of the Border Gateway Protocol in the Internet
RFC 1773
Experience with the BGP Protocol
RFC 1774
BGP-4 Protocol Analysis
RFC 1930
Guidelines for Creation, Selection, and Registration of an Autonomous System (AS)
RFC 2858
Multiprotocol Extensions for BGP-4
RFC 2918
Route Refresh Capability for BGP-4
Technical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for Configuring BGP Neighbor Session Options
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1 Feature Information for Configuring BGP Neighbor Session Options Features
Feature Name
Releases
Feature Information
BGP Support for TCP Path MTU Discovery per Session
12.2(33)SRA
12.2(31)SB
12.2(33)SXH
12.4(20)T
15.0(1)S
BGP support for TCP path maximum transmission unit (MTU) discovery introduced the ability for BGP to automatically discover the best TCP path MTU for each BGP session. The TCP path MTU is enabled by default for all BGP neighbor sessions, but you can disable, and subsequently enable, the TCP path MTU globally for all BGP sessions or for an individual BGP neighbor session.
The following commands were introduced or modified by this feature:
bgptransport,
neighbortransport,
showipbgpneighbors.
BGP Support for TTL Security Check
12.0(27)S
12.3(7)T
12.2(25)S
12.2(18)SXE
15.0(1)S
The BGP Support for TTL Security Check feature introduced a lightweight security mechanism to protect external Border Gateway Protocol (eBGP) peering sessions from CPU utilization-based attacks using forged IP packets. Enabling this feature prevents attempts to hijack the eBGP peering session by a host on a network segment that is not part of either BGP network or by a host on a network segment that is not between the eBGP peers.
The following commands were introduced or modified by this feature:
neighborttl-security,showipbgpneighbors.
BGP IPv6 Client for Single-Hop BFD
15.1(2)S
15.2(3)T
15.2(4)S
Bidirectional Forwarding Detection (BFD) can be used to track fast forwarding path failure of BGP neighbors that use an IPv6 address.
The following command was modified by this feature:
neighborfall-over.
In Cisco IOS Release 15.2(4)S, support was added for the Cisco 7200 series router.