|
|
 |
| GNAT |
| Gateway Network Address
Translator |
|
GNAT
is a high performance network address
translator (NAT) designed for use in an embedded
environment. Its core engine maps internal IP addresses to
external ones using port translation (NAPT) based on
pre-defined mapping rules. With support for bidirectional
NAT, static and dynamic rule mappings, and reference
Application Level Gateways ALGs such as FTP, GNAT can be
used as a tiny, yet flexible functional component in
embedded networking devices seeking to isolate a private
network from a public one and increase the private IP
address space available while using a single or few public
IP addresses. It also finds use in separating traffic
between an in-system network (e.g. one based on an
ethernet backplane) from an external one. GNAT's small
footprint, low latency and robustness make it the NAT of
choice in embedded networking applications.
|
|
|
|
|
|
|
|
|
|
|
|
GNAT's
network address translation engine allows IP datagrams
to be transparently mapped from one address realm to
another. This translation is useful in situations where
an internal network's IP addresses are to be kept
private or are invalid for use in an external network,
as is common in enterprise or home gateway applications.
Further, in an embedded devices that have multiple line
cards or blades with unique IP addresses, GNAT allows
for the system to be treated as a single network node
with a single recognizable external IP address having
its various service ports redirected to the service
provided by its internal units.
GNAT modifies IP packet addresses and rewrites the
address headers for packets that are passed through it,
according to network specific address translation rules.
The packets are then routed according to the newly
written header information.
GNAT can be configured for outbound mappings that are
created manually or on-the-fly using a dynamic firewall
such as FireFly, which provides some measure of added
security, by allowing only connections that originate in
the internal network. This means that the hosts in the
internal network can connect to an outside address, but
connections from the outside will not be possible.
GNAT also allows inbound mappings that may be configured
when situations demand it, such as when internal servers
are to be made available to the outside world. This
allows certain TCP or UDP ports to be mapped to specific
internal IP addresses making services such as HTTP or
HTPPS running on an internal network node externally
available. |
|
 |
Features |
 |
 |
 |
|
 |
Many-to-one
address translation. |
|
 |
Conserves
IP addresses. |
|
 |
Supports
bi-directional translation. |
|
 |
Includes static and dynamic NAT with port
translation (NAPT). |
|
 |
Includes reference ALG implementation for FTP. |
|
 |
Supports ICMP ID mapping. |
|
 |
Integrates with firewalls for dynamic
firewalling. |
|
 |
Extremely
small footprint. |
|
 |
Low
network latency. |
|
 |
Easily controlled by web server through string
based CLI. |
|
 |
Supports
rule numbering. |
|
 |
Validated on big & little endian architectures
including PowerPC, MIPS, ARM, XScale, and X86. |
|
 |
Royalty-free
full-source distribution. |
|
|
 |
 |
 |
 |
|
|
|
|
 |
|
GNAT supports both static mappings which
translate IP addresses on an one-on-one basis and require an
equal number of internal and external IP addresses, as well as
dynamic mappings through port translation allowing for a single
or fewer external IP addresses to be used for IP address
conservation on a large internal network. |
|
GNAT has been extensively validated on a
variety of CPU architectures, and this minimizes development and
integration efforts. GNAT transparently works with the native OS
network stack or with TeamF1’s NetF1 high-performance stack as
well as other third-party stacks. GNAT's small footprint and
robustness have been specifically designed for use in an
embedded environment. GNAT’s unprecedented flexibility and easy
customization make it the NAT of choice in embedded networking
applications. |
|
Special Features |
|
 |
Supports static and
dynamic NAT |
|
 |
Supports
inbound and outbound mappings (bidirectional NAT) |
|
 |
Dynamic
firewall interface to optionally open NAT mappings for
internally initiated connections |
|
 |
Supports port
redirection on incoming side (servers on internal nodes)
and outgoing side (e.g. DNS proxy) |
|
 |
Ultra-small memory
footprint and minimal dynamic memory usage |
|
 |
Very low network
latency |
|
|
|
|
|
|