0 | . | . | 3 | 4 | . | . | 7 | 8 | . | . | . | . | . | . | 15 | 16 | . | 18 | 19 | . | . | . | 23 | 24 | . | . | . | . | . | . | 31 |
ipv | ihl | tos | total length | ||||||||||||||||||||||||||||
identification | flags | frag offs | |||||||||||||||||||||||||||||
ttl | proto | header checksum | |||||||||||||||||||||||||||||
source address | |||||||||||||||||||||||||||||||
destination address | |||||||||||||||||||||||||||||||
(options) | (padding) | ||||||||||||||||||||||||||||||
(data) |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
precedence | d | t | r | reserved |
bits 0-2: (precedence) |
000 - routine traffic 001 - priority 010 - immediate 011 - flash 100 - flash override 101 - critic/ecp 110 - internetwork control 111 - network control |
bit 3: (d) | normal(0)/low(1) delay |
bit 4: (t) | normal(0)/high(1) throughput |
bit 5: (r) | normal(0)/high(1) reliability |
bits 6-7: | reserved for future use |
0 | 1 | 2 |
reserved | df | lf |
where the df bit (don't fragment) prevents packets from being fragmented if set, and the lf bit (last fragment) is set in the last packet in the sequence of fragments.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
copy flag | option class | option number |
If the copy flag is set, the option is copied into all fragments upon fragmentation. Option classes are: 0) control, 1) reserved, 2) debugging and measurement, and 3) reserved. A few option types are defined:
class | number | length | description |
0 | 0 | - | end of option list |
0 | 1 | - | no operation |
0 | 2 | 11 | security |
0 | 3 | var. | loose source routing |
0 | 9 | var. | strict source routing |
0 | 7 | var. | record route |
0 | 8 | 4 | stream id |
2 | 4 | var. | internet timestamp |
The next option byte (if required by the option type) is usually a length byte (in bytes, not 32 bit words).
protocol number | protocol name | rfcs listed | ||||
---|---|---|---|---|---|---|
decimal | octal | hexadecimal | keyword | meaning | 790 | 1010 |
0 | 000 | 00 | (reserved) | * | * | |
1 | 001 | 01 | ICMP | internet control message protocol | * | * |
2 | 002 | 02 | IGMP | Internet Gateway Management Protocol | * | |
3 | 003 | 03 | GGP | Gateway-to-Gateway | * | * |
4 | 004 | 04 | (unassigned) | CMCC | (unassigned) | |
5 | 005 | 05 | ST | Stream | * | * |
6 | 006 | 06 | TCP | Transmission Control Protocol | * | * |
7 | 007 | 07 | UCL | UCL | * | * |
8 | 010 | 08 | EGP | External Gateway Protocol | * | |
9 | 011 | 09 | IGP | any private interior gateway | SECURE | IGP |
10 | 012 | 0a | BNN-RCC-MON | BBN RCC Monitoring | * | * |
11 | 013 | 0b | NVP-II | Network Voice Protocol | NVP | NVP-II |
12 | 014 | 0c | PUP | PUP | * | * |
13 | 015 | 0d | ARGUS | ARGUS | PLURIBUS | ARGUS |
14 | 016 | 0e | EMCON | EMCON | TELENET | EMCON |
15 | 017 | 0f | XNET | Cross Net Debugger | * | * |
16 | 020 | 10 | CHAOS | Chaos | * | * |
17 | 021 | 11 | UDP | User Datagram Protocol | * | * |
18 | 022 | 12 | MUX | Multiplexing | * | * |
19 | 023 | 13 | DCN-MEAS | DCN Measurement Subsystems | DCN | DCN-MEAS |
20 | 024 | 14 | HMP | Host Monitoring | TAC | HMP |
21 | 025 | 15 | PRM | Packet Radio Measurement | * | |
22 | 026 | 16 | XNS-IDP | XEROX NS IDP | * | |
23 | 027 | 17 | TRUNK-1 | Trunk-1 | * | |
24 | 030 | 18 | TRUNK-2 | Trunk-2 | * | |
25 | 031 | 19 | LEAF-1 | Leaf-1 | * | |
26 | 032 | 1a | LEAF-2 | Leaf-2 | * | |
27 | 033 | 1b | RDP | Reliable Data Prococol | * | |
28 | 034 | 1c | IRTP | Internet Reliable Transaction | * | |
29 | 035 | 1d | ISO-TP4 | ISO Transport Protocol Class 4 | * | |
30 | 036 | 1e | NETBLT | Bulk Data Transfer Protocol | * | |
31 | 037 | 1f | MFE-NSP | MFE Network Services Protocol | * | |
32 | 040 | 20 | MERIT-INP | MERIT Internodal Protocol | * | |
33 | 041 | 21 | SEP | Sequential Exchange Protocol | * | |
34-60 | 042-074 | 22-3c | (unassigned) | * | * | |
61 | 075 | 3d | any host internal procotol | * | ||
62 | 076 | 3e | CFTP | CFTP | * | |
63 | 077 | 3f | any local network | |||
64 | 100 | 40 | SAT-EXPAK | SATNET and backroom EXPAK | * | * |
65 | 101 | 41 | MIT-SUBNET | MIT subnet support | ||
66 | 102 | 42 | RVD | MIT Remote Virtual Disk Protocol | * | |
67 | 103 | 43 | IPPC | Internet Pluribus Packet Core | * | |
68 | 104 | 44 | any distributed file system | * | ||
69 | 105 | 45 | SAT-MON | SATNET Monitoring | * | * |
70 | 106 | 46 | (unassigned) | * | * | |
71 | 107 | 47 | IPCV | Internet Packet Core Utility | * | * |
72-75 | 110-113 | 48-4b | (unassigned) | * | * | |
76 | 114 | 4c | BR-SAT-MON | Backroom SATNET Monitoring | * | * |
77 | 115 | 4d | (unassigned) | * | * | |
78 | 116 | 4e | WB-MON | WIDEBAND Monitoring | * | * |
79 | 117 | 4f | WB-EXPAK | WIDEBAND EXPAK | * | * |
80-254 | 120-376 | 50-fe | (unassigned) | * | * | |
255 | 377 | ff | (reserved) | * | * |
or try reading your local /etc/protocols file.