IP Library Granted Patent US 11,863,515
Granted Patent B2
US 11,863,515 · App. 17/689,051 · Granted Jan 2, 2024

Systems and methods for translating IPV6 packets for DIA in an SD-WAN environment

Inventors: Changhong Shen (Shanghai, CN); Sampath Kumar (Santa Clara, CA); Ruozhong Xuan (San Ramon, CA); Yin Wang (Shanghai, CN); Madhu Gindi (Sunnyvale, CA); Garima Pal (Milpitas, CA); Vincent Li (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L61/2514H04L45/748H04L63/0272H04L2101/35H04L2101/659
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,863,515
App. No.
17/689,051
Granted
Jan 2, 2024
Kind
B2
Abstract

In one embodiment, a method includes determining, by a router, a common prefix pool from a transport interface associated with a transport virtual private network (VPN). The method also includes identifying, by the router, a prefix associated with a service VPN and generating, by the router, an IPv6-to-IPv6 Network Address Translation (NAT66) prefix translation using the common prefix pool and the prefix. The NAT66 prefix translation includes a predetermined prefix length. The method further includes automatically installing, by the router, the NAT66 prefix translation into a translation table.

Claims (56)

1. A router comprising one or more processors and one or more computer-readable non-transitory storage media coupled to the one or more processors and including instructions that, when executed by the one or more processors, cause the router to perform operations comprising:

determining a common prefix pool from a transport interface associated with a transport virtual private network (VPN);

identifying a prefix associated with a service VPN;

generating an IPv6-to-IPv6 Network Address Translation (NAT66) prefix translation using the common prefix pool and the prefix, wherein the NAT66 prefix translation comprises a predetermined prefix length;

automatically installing the NAT66 prefix translation into a translation table;

receiving an IPv6 Internet Control Message Protocol (ICMPv6) packet from a branch router, wherein the ICMPv6 packet comprises the prefix associated with the service VPN;

translating the prefix using the NAT66 prefix translation;

supporting IPv6 Path Maximum Transmission Unit (IPv6 PMTU) Discovery natively; and

performing an inside-to-outside and an outside-to-inside translation for a payload of the ICMPv6 packet.

2. The router of claim 1 , the operations further comprising:

refreshing a predetermined session time period associated with the NAT66 prefix translation each time a packet is translated using the NAT66 prefix translation within the predetermined session time period;

expiring the NAT66 prefix translation after in response to inactivity of the NAT66 prefix translation for the predetermined session time period; and

reusing an entry for the NAT66 prefix translation after a predetermined expiration time period.

3. The router of claim 1 , the operations further comprising dynamically embedding an identifier of the service VPN into a header of the NAT66 prefix translation.

4. The router of claim 1 , the operations further comprising directing incoming traffic to the transport interface in accordance with a centralized data policy.

5. The router of claim 1 , the operations further comprising:

assigning an IPv6 address prefix to the transport interface using an IPv6 generic prefix from an IPv6 neighbor discovery (ND) advertisement; and

performing IPv6 duplicate address detection (DAD).

6. The router of claim 1 , further comprising dynamically updating an address associated with the transport interface, the common prefix pool, and the translation table.

7. A method, comprising:

determining, by a router, a common prefix pool from a transport interface associated with a transport virtual private network (VPN);

identifying, by the router, a prefix associated with a service VPN;

generating, by the router, an IPv6-to-IPv6 Network Address Translation (NAT66) prefix translation using the common prefix pool and the prefix, wherein the NAT66 prefix translation comprises a predetermined prefix length;

automatically installing, by the router, the NAT66 prefix translation into a translation table;

receiving, by the router, an IPv6 Internet Control Message Protocol (ICMPv6) packet from a branch router, wherein the ICMPv6 packet comprises the prefix associated with the service VPN;

translating, by the router, the prefix using the NAT66 prefix translation;

supporting, by the router, IPv6 Path Maximum Transmission Unit (IPv6 PMTU) Discovery natively; and

performing an inside-to-outside and an outside-to-inside translation for a payload of the ICMPv6 packet.

8. The method of claim 7 , further comprising:

refreshing, by the router, a predetermined session time period associated with the NAT66 prefix translation each time a packet is translated using the NAT66 prefix translation within the predetermined session time period;

expiring, by the router, the NAT66 prefix translation after in response to inactivity of the NAT66 prefix translation for the predetermined session time period; and

reusing, by the router, an entry for the NAT66 prefix translation after a predetermined expiration time period.

9. The method of claim 7 , further comprising dynamically embedding an identifier of the service VPN into a header of the NAT66 prefix translation.

10. The method of claim 7 , further comprising directing, by the router, incoming traffic to the transport interface in accordance with a centralized data policy.

11. The method of claim 7 , further comprising:

assigning, by the router, an IPv6 address prefix to the transport interface using an IPv6 generic prefix from an IPv6 neighbor discovery (ND) advertisement; and

performing, by the router, IPv6 duplicate address detection (DAD).

12. The method of claim 7 , further comprising dynamically updating, by the router, an address associated with the transport interface, the common prefix pool, and the translation table.

13. One or more computer-readable non-transitory storage media embodying instructions that, when executed by a processor, cause the processor to perform operations comprising:

determining a common prefix pool from a transport interface associated with a transport virtual private network (VPN);

identifying a prefix associated with a service VPN;

generating an IPv6-to-IPv6 Network Address Translation (NAT66) prefix translation using the common prefix pool and the prefix, wherein the NAT66 prefix translation comprises a predetermined prefix length;

automatically installing the NAT66 prefix translation into a translation table;

receiving an IPv6 Internet Control Message Protocol (ICMPv6) packet from a branch router, wherein the ICMPv6 packet comprises the prefix associated with the service VPN;

translating the prefix using the NAT66 prefix translation;

supporting IPv6 Path Maximum Transmission Unit (IPv6 PMTU) Discovery natively; and

performing an inside-to-outside and an outside-to-inside translation for a payload of the ICMPv6 packet.

14. The one or more computer-readable non-transitory storage media of claim 13 , the operations further comprising:

refreshing a predetermined session time period associated with the NAT66 prefix translation each time a packet is translated using the NAT66 prefix translation within the predetermined session time period;

expiring the NAT66 prefix translation after in response to inactivity of the NAT66 prefix translation for the predetermined session time period; and

reusing an entry for the NAT66 prefix translation after a predetermined expiration time period.

15. The one or more computer-readable non-transitory storage media of claim 13 , the operations further comprising dynamically embedding an identifier of the service VPN into a header of the NAT66 prefix translation.

16. The one or more computer-readable non-transitory storage media of claim 13 , the operations further comprising directing incoming traffic to the transport interface in accordance with a centralized data policy.

17. The one or more computer-readable non-transitory storage media of claim 13 , the operations further comprising:

assigning an IPv6 address prefix to the transport interface using an IPv6 generic prefix from an IPv6 neighbor discovery (ND) advertisement; and

performing IPv6 duplicate address detection (DAD).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2022
From: SHEN, CHANGHONG; KUMAR, SAMPATH; XUAN, RUOZHONG; WANG, YIN; GINDI, MADHU; PAL, GARIMA; LI, VINCENT
To: CISCO TECHNOLOGY, INC.
Reel/Frame 059193/0622 →
Continuity (2)
Provisional Application 63265248 · Dec 10, 2021
Related Publication 20230188492A1 · Jun 15, 2023