Name

NAT Application Plugin

Repo Name

natapp

Description

NAT functionality is one of the basic features of any enterprise network by which the local IP addresses are translated into global IP addresses and viceversa for Internet connectivity. This is traditionally done by the Gateway router in the enterprise network which is connected to the Service Provider network. In the SDN scenario, this functionality in the router has to be hosted as an application on the SDN controller (just like FW application).

Benefits of NAT implementation
Methods of NAT
UseCase: Network Port Address Translation with ODL in Enterprise Networks

In the present project proposal we intend to bring in the NAT functionality ad a plugin (NATApp plugin) at the ODL controller. Whenever an enterprise user connects to the Internet with his local IP address, the NATApp plugin on ODL will translate that local IP address with a global IP address and installs OpenFlow rules accordingly on the switch. Nat App installs two flow rules; one for outgoing packet from and another for incoming to Enterprise network. The first rule will modify the source IP address from local to global IP address and the second rule will modify the destination IP address from global IP to local IP address.

NATApp1.png

NAT Plugin Interactions with other ODL modules:
NAT App Service Architecture

NATApp2.png

Scope

The scope of this project is mostly about implementing Static NAT, Dynamic NAT, Network Address Port Translation and other NAT mechanisms mentioned above.

Resources Committed (developers committed to working)

Initial Committers

Vendor Neutral

The project is made from scratch, no vendor code, logos nor is anything included.

Meets Board Policy (including IPR)

New Project. No Inbound Code Review required