Skip to content
Laurent Deru edited this page Mar 24, 2016 · 2 revisions

NAT64

6LBR integrate an extended version of the NAT64 module from Contiki. It allows to access the Border Router and all the nodes using IPv4 instead of IPv6. Contrary to Contiki, the IPv6 stack is still accessible when NAT64 is activated. Also, nodes (and 6LBR) can access any IPv4 address by using the special NAT 64 prefix ::ffff:0:0/96 or 64:ff9b::/96 (RFC6052)

IPv4 towards Node

In order to access a node from an IPv4 host, NAT64 and static port mapping must be enabled (see below). The remote host can then access the node using the NAT64 IPv4 address and the configured mapped port for the given node.

For example, if a node has a CoAP server enabled on port 5683, and the NAT64 address configured is 192.168.1.200 and the mapped port is 10087, the node can be accessed using the following URI : coap://192.168.1.200:10087/

Node towards IPv4

In order to access an IPv4 host from a node, NAT64 must be enabled. The node can access the host by using a IP64 address build using the NAT64 prefix configured.

For example, if your node wants to access the host 10.0.1.5, it must use the following destination address : ::ffff:000a:0501, or if you are using RFC6052 prefix, 64:ff9b::000a:0501

The NAT64 module in 6LBR will allocate a temporary port dedicated to that connection.

Configuration

The NAT64 service is disabled by default, to activate it either set in on in the Network Configuration page or using nvm_tool

The IPv4 configuration can be static or configured via DHCP. By default the following configuration is used :

  • NAT64 DHCP : disabled
  • Address : 172.16.0.2
  • Netmask : 255.255.255.0
  • Gateway : 172.16.0.1

Dynamic port mapping

The dynamic port mapping is used for traffic initiated from a node, the port are dynamically allocated and freed when no longer used. The default port range is : 10000 - 20000

Static port mapping

The static port mapping is used for traffic initiated from an IPv4 host, but it can also be used for traffic initiated from a node.

On Native platforms, the static port mapping is configured in the Node Configuration file. If a node is defined but no port mapping is configured, a port is allocated in the 20000 - 25000 range for CoAP and in the 25000 to 30000 for HTTP.

On embedded platforms, the static port mapping can not be preconfigured, ports are allocated dynamically when the node is detected.

Status

If enabled, the configured address can be found on the webserver main page. In the Network Status page, you can find the complete configuration status :

It also list all the dynamic port allocation.

Clone this wiki locally