Search

US-20260128982-A1 - SYSTEMS AND METHODS FOR MITIGATING NETWORK ERRORS CAUSED BY DUPLICATE IP ADDRESSES

US20260128982A1US 20260128982 A1US20260128982 A1US 20260128982A1US-20260128982-A1

Abstract

Duplicate IP addresses within a network can lead to misdelivered packets or network outages. To mitigate routing errors, routers may enter an error mode when a duplicate IP address is detected, such as when a router advertising a route to a particular IP address receives an advertisement from another router for the same IP address. While operating in the error mode, the router updates packets to/from the duplicate IP address with a port number that satisfies a port criterion. When the router receives a packet addressed to the duplicate IP address, the router determines whether the destination port number satisfies the criterion. If the port number satisfies the criterion, the router routes the packet to a first host associated with the IP address. Otherwise, the router forwards the packet to the second router for delivery to a second host associated with the (same) IP address.

Inventors

  • John R.B. WOODWORTH
  • Dean Ballew

Assignees

  • CENTURYLINK INTELLECTUAL PROPERTY LLC

Dates

Publication Date
20260507
Application Date
20251105

Claims (20)

  1. 1 . A method performed at a first router, the method comprising: advertising, to a network, a first route to a first internet protocol (IP) address, wherein the first route ends at a first host device; receiving, from a second router of the network, an advertisement for a second route to the first IP address; determining that the advertisement for the second route to the first IP address is indicative of an error condition; in response to determining that the advertisement for the second route to the first IP address is indicative of an error condition, entering an error mode, wherein entering the error mode includes identifying a first port criterion; while operating in the error mode, receiving a first packet from the first host device, wherein the first packet includes the first IP address as a first source IP address, a first port number as a first source port number, and a second IP address as a first destination IP address; determining that the first source port number fails to satisfy the first port criterion; in response to determining that the first source port number fails to satisfy the first port criterion, updating the first packet to generate an updated first packet by replacing the first source port number with a second source port number that satisfies the first port criterion to generate an updated first packet; and forwarding the updated first packet, including the first IP address and the second source port number, to a third host device associated with the second IP address.
  2. 2 . The method of claim 1 , further comprising: after forwarding the updated first packet to the third host device, receiving a second packet in response to the first packet, the second packet including the first IP address as a destination IP address, the second source port number as a first destination port number, and the second IP address as a second source IP address; determining that the first destination port number satisfies the first port criterion; and in response to determining that the first destination port number satisfies the first port criterion: replacing the first destination port number with the first source port number in the second packet to generate an updated second packet, and forwarding the updated second packet to the first host device.
  3. 3 . The method of claim 1 , further comprising: in response to receiving the advertisement of the second route to the first IP address from the second router, sending a notification to the second router indicating an error condition.
  4. 4 . The method of claim 3 , wherein the notification includes an indication of port criteria including the first port criterion.
  5. 5 . The method of claim 1 , further comprising: while operating in the error mode, receiving a third packet that includes the first IP address as a third source IP address, a third port number as a third source port number, and the second IP address as a second destination IP address; determining that the third source port number satisfies the first port criterion; in response to determining that the third source port number satisfies the first port criterion, forwarding the third packet, including the first IP address and the third source port number, to the third host device without updating the third source port number; receiving a fourth packet in response to the third packet, the fourth packet including the first IP address as a third destination IP address, the third port number as a third destination port number, and the second IP address as a third source IP address; determining that the third destination port number satisfies the first port criterion; and in response to determining third destination port number satisfies the first port criterion, forwarding the third packet to the first host device.
  6. 6 . The method of claim 1 , further comprising: while operating in the error mode, receiving a fifth packet from a third host device, the fifth packet including the first IP address as a fourth destination IP address, a third IP address as a fourth source IP address, and a fourth port number as a fourth destination port number, determining that the first IP address is a duplicated IP address and the fifth packet is not a response packet; and in response to determining that the first IP address is the duplicated IP address and the fifth packet is not the response packet, forwarding the fifth packet to the first host device and to the second router.
  7. 7 . A router comprising: at least one processor; and memory, storing instructions that, when executed individually or collectively by the at least one processor, cause the router to perform a method, the method comprising: advertising, to a network, a first route to a first internet protocol (IP) address, wherein the first route ends at a first host device; receiving, from a second router of the network, an advertisement for a second route to the first IP address; determining that the advertisement for the second route to the first IP address is indicative of an error condition; in response to determining that the advertisement for the second route to the first IP address is indicative of an error condition, entering an error mode, wherein entering the error mode includes identifying a first port criterion;while operating in the error mode, receiving a first packet from the first host device, wherein the first packet includes the first IP address as a first source IP address, a first port number as a first source port number, and a second IP address as a first destination IP address; determining that the first source port number fails to satisfy the first port criterion; in response to determining that the first source port number fails to satisfy the first port criterion, updating the first packet to generate an updated first packet by replacing the first source port number with a second source port number that satisfies the first port criterion; and forwarding the updated first packet, including the first IP address and the second source port number, to a third host device associated with the second IP address.
  8. 8 . The router of claim 7 , wherein the method further comprises: after forwarding the updated first packet to the third host device, receiving a second packet in response to the first packet, the second packet including the first IP address as a destination IP address, the second source port number as a first destination port number, and the second IP address as a second source IP address; determining that the first destination port number satisfies the first port criterion; and in response to determining that the first destination port number satisfies the first port criterion: replacing the first destination port number with the first source port number in the second packet to generate an updated second packet, and forwarding the updated second packet to the first host device.
  9. 9 . The router of claim 7 , wherein the method further comprises: in response to receiving the advertisement of the second route to the first IP address from the second router, sending a notification to the second router indicating an error condition.
  10. 10 . The router of claim 9 , wherein the notification includes an indication of port criteria including the first port criterion.
  11. 11 . The router of claim 7 , wherein the method further comprises: while operating in the error mode, receiving a third packet that includes the first IP address as a third source IP address, the second IP address as a third destination IP address, and a third port number as a third source port number; determining that the third source port number satisfies the first port criterion; in response to determining that the third source port number satisfies the first port criterion, forwarding the third packet, including the first IP address and the third source port number, to the third host device without updating the third source port number; receiving a fourth packet in response to the third packet, the fourth packet including the first IP address as a third destination IP address, the third port number as a third destination port number, and the second IP address as a third source IP address; determining that the third destination port number satisfies the first port criterion; and in response to determining third destination port number satisfies the first port criterion, forwarding the third packet to the first host device.
  12. 12 . The router of claim 7 , wherein the method further comprises: while operating in the error mode, receiving a fifth packet from a third host device, the fifth packet including the first IP address as a fourth destination IP address, a third IP address as a fourth source IP address, and a fifth port number as a fourth destination port number; determining that the first IP address is a duplicated IP address and the fifth packet is not a response packet; in response to determining that the first IP address is the duplicated IP address and the fifth packet is not the response packet, forwarding the fifth packet to the first host device and to the second router.
  13. 13 . A routing system comprising: a first router connected to a network and configured to advertise, to the network, a first set of one or more routes to a first set of one or more Internet protocol addresses (IP addresses); a second router connected to the network and configured to advertise, to the network, a second set of one or more routes to a second set of one or more Internet protocol addresses (IP addresses); wherein the first router is configured to: enter an error mode in response to receiving an advertisement from the second router advertising a route to a first IP address that is included in the first set of one or more IP addresses, wherein entering the error mode comprises identifying a first port criterion; while operating in the error mode: receive a first packet from a first host device associated with the first IP address, wherein the first packet includes the first IP address as a first source IP address, a first port number as a first source port number, and a second IP address as a first destination IP address; determine that the first source port number fails to satisfy the first port criterion; based on determining that the first source port number fails to satisfy the first port criterion, update the first packet to generate an updated first packet by replacing the first source port number with a second source port number that satisfies the first port criterion; and forward the updated first packet, including the first IP address and the second source port number, to a third host device associated with the second IP address.
  14. 14 . The routing system of claim 13 , wherein the second router is configured to: enter the error mode in response to receiving an advertisement from the first router advertising a route to the first IP address, wherein entering the error mode comprises identifying a second port criterion different from the first port criterion; while operating in the error mode: receive a second packet from a second host device associated with the first IP address, wherein the second packet includes the first IP address as a first source IP address, a third port number as a third source port number, and a third IP address as a second destination IP address, wherein the third IP address is associated with a third host device; determine that the second source port number fails to satisfy the second port criterion; based on determining that the second source port number fails to satisfy the second port criterion, update the second packet to replace the third source port number with a fourth source port number that satisfies the second port criterion; and forward the updated first packet, including the first IP address and the third source port number, to the third host device.
  15. 15 . The routing system of claim 13 , wherein the first router is configured to send an indication of the first port criterion to the second router.
  16. 16 . The routing system of claim 15 , wherein the second router is configured to identify a second port criterion based on the first port criterion.
  17. 17 . The routing system of claim 13 , wherein the first router is configured to identify the first port criterion based on receiving a second port criterion from the second router.
  18. 18 . The routing system of claim 13 , wherein the first router is configured to identify the first port criterion based on a loopback IP address of the first router.
  19. 19 . The routing system of claim 13 , wherein the first router is further configured to: receive a second packet from the second router, the second packet including the first IP address as a second destination IP address and a third port number as a third destination port number; determine that the third port number satisfies the first port criterion; and based on determining that the third port number satisfies the first port criterion, forward the second packet to the first host device.
  20. 20 . The routing system of claim 13 , wherein the first source port number satisfies the first port criterion when the first source port number is an odd number, and the first source port number fails to satisfy the first port criterion when the first source port number is an even number.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 63/716,381 filed November 5, 2024, entitled “Systems and Methods for Mitigating Network Errors Caused by Duplicate IP Addresses,” which is incorporated herein by reference in its entirety. BACKGROUND Networks such as the Internet typically route packets to a host device based on an Internet protocol (IP) address associated with the host device. In general, each host device connected to the network has a unique IP address that is used for routing network traffic to/from that host. In some cases, however, the same IP address may be inadvertently assigned to multiple (different) hosts. When this happens, the network routers may deliver a packet to the wrong host or experience other network errors such as network outages. It is with respect to this general technical environment that aspects of the present disclosure are related. SUMMARY The present application describes a method including: advertising, to a network, a first route to a first internet protocol (IP) address, where the first route ends at a first host device; receiving, from a second router of the network, an advertisement for a second route to the first IP address; determining that the advertisement for the second route to the first IP address is indicative of an error condition; in response to determining that the advertisement for the second route to the first IP address is indicative of an error condition, entering an error mode, where entering the error mode includes identifying a first port criterion; while operating in the error mode, receiving a first packet from the first host device, where the first packet includes the first IP address as a first source IP address, a first port number as a first source port number, and a second IP address as a first destination IP address; determining that the first source port number fails to satisfy the first port criterion; in response to determining that the first source port number fails to satisfy the first port criterion, updating the first packet to generate an updated first packet by replacing the first source port number with a second source port number that satisfies the first port criterion to generate an updated first packet; and forwarding the updated first packet, including the first IP address and the second source port number, to a third host device associated with the second IP address. In some examples, the method further includes: after forwarding the updated first packet to the third host device, receiving a second packet in response to the first packet, the second packet including the first IP address as a destination IP address, the second source port number as a first destination port number, and the second IP address as a second source IP address; determining that the first destination port number satisfies the first port criterion; and in response to determining that the first destination port number satisfies the first port criterion: replacing the first destination port number with the first source port number in the second packet to generate an updated second packet, and forwarding the updated second packet to the first host device. In some examples, the method further includes: in response to receiving the advertisement of the second route to the first IP address from the second router, sending a notification to the second router indicating an error condition. In some examples, the notification includes an indication of port criteria including the first port criterion. In some examples, the method further includes: while operating in the error mode, receiving a third packet that includes the first IP address as a third source IP address, a third port number as a third source port number, and the second IP address as a second destination IP address; determining that the third source port number satisfies the first port criterion; in response to determining that the third source port number satisfies the first port criterion, forwarding the third packet, including the first IP address and the third source port number, to the third host device without updating the third source port number; receiving a fourth packet in response to the third packet, the fourth packet including the first IP address as a third destination IP address, the third port number as a third destination port number, and the second IP address as a third source IP address; determining that the third destination port number satisfies the first port criterion; and in response to determining third destination port number satisfies the first port criterion, forwarding the third packet to the first host device. In some examples, the method further includes: while operating in the error mode, receiving a fifth packet from a third host device, the fifth packet including the first IP address as a fourth destination IP address, a third IP address as a fourth source IP address, and a fourth port number as a fo