[OT] Handling multiple UDP clients through NAT
Dave Smith
dave at thesmithfam.org
Wed Feb 7 16:11:50 MST 2007
Topher Fischer wrote:
> It also rubs me the wrong way when people say the TCP or UDP is built on
> top of IP. Maybe I misunderstand the implementations of the two, but as
> I see it, TCP and UDP are normally "wrapped" in IP.
This is another case of differing perspective. On the wire, the TCP
packet is wrapped in an IP packet, which is a good reason for saying
that TCP is "wrapped in" IP.
But in the operating system, it is often implemented as a stack of sorts
(not the kind of stack you can pop() and push(), mind you), where at the
lowest level of the stack resides the physical layer that interfaces
with hardware. Above that sites the media access control (MAC) layer,
often Ethernet. Above that sites the network layer, almost always IP.
Above that sits the transport layer, almost always TCP. Finally above
that sits the application layer (usually pr0n, a.k.a. HTTP).
On the wire, each protocol is wrapped in the one below it in the stack.
Using the running example, the HTTP packets are wrapped in TCP packets.
The TCP packets are wrapped in IP packets. The IP packets are wrapped in
Ethernet frames (MAC layer). The Ethernet frames are bit-stuffed and
shoved onto the wire (Physical layer). The Ethernet specification
(802.3) actually spans two layers and thus has two parts, the physical
and MAC layer.
There are actually lots of really cool protocols that replace Ethernet
at the data link layer for higher speed, higher capacity links (If you
want to work with these protocols, send me your resume. Seriously.).
On a lighter note, I used to have this funny 3D animation about packets
and stuff flying around the Internet. We used to show it at UUG meetings
for a laugh, probably 5-6 years ago now. Anyone remember that?
--Dave
More information about the PLUG
mailing list