[Ilugc] packets and TCP

  • From: 0@xxxxxxxxxxx (0)
  • Date: Wed, 20 Jun 2012 22:41:00 +0530


A packet on the network looks like a train.

The engine is the packet header. Then the different layers are like
the compartments and the Ethernet trailer
  is like the guard compartment.

Obviously without the engine the train is useless.

I like this analogy. Easy to remember and simple.


In the case of packets on the Internet WAN path, packets are small.
Normally 256 bytes
  or something to account for the MTUs of the physical links.


Atleast in ADSL, the MTU on an Internet path is quite close to the MTU 
on a local ethernet. One can use traceroute to find it,

$ traceroute --mtu 8.8.8.8 | cut -d" " -f1-2,6-
....
  1  1.411 ms F=1500  1.425 ms  1.319 ms
  2  2.403 ms  2.253 ms  2.256 ms
  3  3.380 ms  3.262 ms  3.276 ms
  4  35.600 ms F=1460  36.049 ms  35.662 ms
  5  35.964 ms  36.442 ms  36.002 ms
  6  36.333 ms  35.301 ms  35.725 ms
  7  61.767 ms  61.721 ms  62.017 ms
  8  65.059 ms  61.646 ms  62.070 ms
  9  36.790 ms  37.032 ms  37.538 ms
10  39.013 ms  41.111 ms  38.754 ms

In the above case "F=1460" indicates an MTU of 1460 on the internet hop.

And every TCP connection involves 3 packet exchanges before the first
byte of payload
  is sent.

Syn, ACK and ACK ACK or something.

I have seen with netcat that whenever there is a port forwarding, NAT
or some other
  issue, the handshake fails.


I am not sure if I understand. It will help if you can elaborate on what 
you have noticed which leads to the failure in TCP handshake.

An interesting article. Thanks.

-- 
0

Other related posts: