a ip header:
0 15 16 31
--------------------------------------------------------------------------------------------------
| 4-bit | 4-bit header | 8-bit type of service | 16-bit total length |
| version | length | (TOS) | (in bytes) |
--------------------------------------------------------------------------------------------------
| 16-bit identification | 3-bit | 13-bit fragment offset |
| | flags | |
--------------------------------------------------------------------------------------------------
| 8-bit time to live | 8-bit protocol | 16-bit header checksum |
| (TTL) | | |
--------------------------------------------------------------------------------------------------
| 32-bit source IP address |
--------------------------------------------------------------------------------------------------
| 32-bit destination IP address |
--------------------------------------------------------------------------------------------------
protocol:
1 - ICMP
2 - IGMP
6 - TCP
9 - IGRP
17 - UDP
47 - GRE
50 - ESP
51 - AH
88 - EIGRP
89 - OSPF
115 - L2TP