> 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 _______________________________________________ ILUGC Mailing List: http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
