[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