Endpoint Independent Mapping (EIM) refers to assigning the same external address and port for all connections from a given host if they use the same internal address and port. It ensures that even if the destination address or port of the traffic originating from a private network IP or port are different, the requests originating from that pair of private IP and port will always be mapped to the same public NAT IP and port.
Configuration
admin@Site2Branch1-cli(config)% show orgs org-services ServiceProvider cgnat pools { Failover-Pool-ISPA-Network { routing-instance ISPA-Network-Transport-VR; egress-network [ ISPA-Network ]; address-allocation round-robin; source-port { allocation-scheme range-based; random-allocation; range { low 1024; high 32000; } } } } rules { From_Redundant_To_ISPA-Network_Traffic { precedence 1; from { source-zone [ Intf-ISPA-Network-Failover-Zone ]; destination-zone [ Intf-ISPA-Network-Zone ]; routing-instance ISPA-Network-Transport-VR; source-address [ 172.16.255.2/32 ]; } then { translated { translation-type napt-44; source-pool Failover-Pool-ISPA-Network; mapping-type endpoint-independent; } } } }
Verification
Run the show orgs org-services ServiceProvider cgnat ei-mappings | notab CLI to view active Endpoint Independent Mappings on Versa FlexVNF.
Reference count in the following CLI indicates the number of current sessions using this EIM.
admin@Site2Branch1-cli> show orgs org-services ServiceProvider cgnat ei-mappings | notab cgnat ei-mappings ISPA-Network-Transport-VR 172.16.255.2 4790 public-vrf ISPA-Network-Transport-VR public-ip 70.70.10.2 public-port 12138 pool-name Failover-Pool-ISPA-Network reference-count 24 vsn-id 0
Use Case
EIM is used in active-active SDWAN branch deployment, where a branch uses the same public IP and port to talk to the controller and all the other peer branches. EIM along with EIF (Endpoint Independent Filtering) keep NAT pinholes active and allow traffic from either direction.
Refer to RFC 4787 (Section 4.1) to learn more about EIM.