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 | mf |
where the df bit (don't fragment) prevents packets from being fragmented if set, and the mf bit (more fragments) is set in all but 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.