RE: Update APBS port mappings
RE: Update APBS port mappings
- Subject: RE: Update APBS port mappings
- From: "Peter Sichel" <email@hidden>
- Date: Wed, 1 Oct 2003 16:24:13 -0400
>
> Is there a way programmatically to update an airport base
>
> station port mapping. I want my software to work behind
>
> airport base station, I can see that configuring the base
>
> station port mapping so that APBS port points to the users
>
> machine works, so the initial connection works, but as the
>
> server then hands off to another port for communication and
>
> continues listening, then the APBS isn't forwarding the
>
> connection onto this new port.
The basic function of an internet sharing NAT box is to
translate between Apparent network endpoints on the NAT box
and Actual network endpoints behind the NAT box. The translation
is performed using a lookup table.
"Port mapping" in this case refers to a NAT table entry for
translating between "Apparent" to "Actual" endpoints.
There are two ways to create these translation entries:
(1) Automatically by sending an outbound datagram.
(2) Manually by specifying a so called "port mapping".
The primary reason to create manual port mappings is that
you have some kind of server behind your NAT box that you
would like to receive unsolicited traffic for a known Apparent
endpoint on the NAT box.
Once your server has a way to communicate with a specific client,
it can create any port mappings it wants just by sending
packets with the corresponding address and port information
in the IP and TCP/UDP header.
When you say the "server then hands off to another port",
what exactly is going on? How does the client find out
about this other port? All you should need to do to create
a port mapping is initiate contact with the client from
this other port on your server behind the NAT box.
The requirements for creating NAT friendly services are to:
(1) Initiate new data flows from behind the NAT box.
(2) Do not require a unique fixed port number on the NAT box
since that port may already be in use by another client.
(3) Do not encrypt port information or embed it as application
data. If your service requires data encryption, encapsulate
the encrypted stuff with an additional unencrypted transport
header.
Just about anyone designing a network service should be able to
meet these requirements if desired. Many services have.
Kind Regards,
- Peter
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.