+-----+--------+
| Bit | 0-7 |
+-----+--------+
| 0 | Kind |
+-----+--------+
| 8 | Length |
+-----+--------+
| 16 | Data |
| ... | |
+-----+--------+
EthernetLayer ethernetLayer = new EthernetLayer
{
Source = new MacAddress("00:01:02:03:04:05"),
Destination = new MacAddress("A0:A1:A2:A3:A4:A5")
};
IpV4Layer ipV4Layer = new IpV4Layer
{
Source = new IpV4Address("1.2.3.4"),
Ttl = 128,
};
IcmpEchoLayer icmpLayer = new IcmpEchoLayer();
PacketBuilder builder = new PacketBuilder(ethernetLayer, ipV4Layer, icmpLayer);
List<Packet> packets = new List<Packet>();
for (int i = 0; i != 100; ++i)
{
ipV4Layer.Destination = new IpV4Address("2.3.4." + i);
ipV4Layer.Identification = (ushort)i;
icmpLayer.SequenceNumber = (ushort)i;
icmpLayer.Identifier = (ushort)i;
packets.Add(builder.Build(DateTime.Now));
}
+--------+--------+--------+--------+
|01000100| length | pointer|oflw|flg|
+--------+--------+--------+--------+
| internet address |
+--------+--------+--------+--------+
| timestamp |
+--------+--------+--------+--------+
| . |
.
.
Type = 68
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Data |
| ... | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Value |
| ... | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Option Data |
| ... | |
+-----+----------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Option Type | Opt Data Len (optional) |
+-----+-------------+-------------------------+
| 16 | Option Data (optional) |
| ... | |
+-----+---------------------------------------+
+-----+---+---+---+-----+-------------------------+
| Bit | 0 | 1 | 2 | 3-7 | 8-15 |
+-----+---+---+---+-----+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-----------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-----------------+-------------------------+
| 32 | Checksum |
+-----+-----------------+-------------------------+
| 48 | B.R. Type | R. Trigger |
+-----+-----------------+-------------------------+
| 64 | Sequence # |
+-----+---+---+---+-------------------------------+
| 80 | P | V | G | Reserved |
+-----+---+---+---+-------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+-------------------------------------------+
+-----+---+---+---+-----+-------------------------+
| Bit | 0 | 1 | 2 | 3-7 | 8-15 |
+-----+---+---+---+-----+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-----------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-----------------+-------------------------+
| 32 | Checksum |
+-----+-----------------+-------------------------+
| 48 | B.R. Type | R. Trigger or Status |
+-----+-----------------+-------------------------+
| 64 | Sequence # |
+-----+---+---+---+-------------------------------+
| 80 | P | V | G | Reserved |
+-----+---+---+---+-------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+-------------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Message Data |
| ... | ends with Mobility Options |
+-----+---------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | Data |
| ... | |
+-----+---------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+-------------+-------------------------+
| 48 | Status | Reserved |
+-----+-------------+-------------------------+
| 64 | Home Address |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+---------------------------------------+
| 192 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | Value according to Type |
+-----+-------------------------+
| 64 | Payload |
| ... | |
+-----+-------------------------+
+-----+------+-------------+------------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+-------------+------------------+
| 0 | Type | Code | Checksum |
+-----+------+-------------+------------------+
| 32 | ID Number | unused |
+-----+--------------------+------------------+
| 64 | Outbound Hop Count | Return Hop Count |
+-----+--------------------+------------------+
| 96 | Output Link Speed |
+-----+---------------------------------------+
| 128 | Output Link MTU |
+-----+---------------------------------------+
+-----+-----------+-----------------+----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+-----------+-----------------+----------+
| 0 | Type | Code | Checksum |
+-----+-----------+-----------------+----------+
| 32 | Num Addrs | Addr Entry Size | Lifetime |
+-----+-----------+-----------------+----------+
| 64 | Router Address[1] |
+-----+----------------------------------------+
| 96 | Preference Level[1] |
+-----+----------------------------------------+
| 128 | Router Address[2] |
+-----+----------------------------------------+
| 160 | Preference Level[2] |
+-----+----------------------------------------+
| . | . |
| . | . |
| . | . |
+-----+----------+--------+
| bit | 0-15 | 16-31 |
+-----+----------+--------+
| 0 | Priority | Weight |
+-----+----------+--------+
| 32 | Target |
| ... | |
+-----+-------------------+
+----------------------+
| Previous Domain Name |
+----------------------+
| Next Domain Name |
+----------------------+
+-----+-----+----------------------+----------+-----------+
| bit | 0-7 | 8-7+X | 8+X-55+X | 56+X-63+X |
+-----+-----+----------------------+----------+-----------+
| 0 | AFI | Domain Specific Area | ID | Sel |
+-----+-----+-----+----------------+----------+-----------+
| 0 | AFI | IDI | HO-DSP | ID | Sel |
+-----+-----+-----+----------------+----------+-----------+
| 0 | Area Address | ID | Sel |
+-----+-----------+----------------+----------+-----------+
| 0 | IDP | DSP |
+-----+-----------+---------------------------------------+
IDP is Initial Domain Part.
DSP is Domain Specific Part.
HO-DSP may use any format as defined by the authority identified by IDP.
+-----+
| CPU |
+-----+
| OS |
+-----+
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
|
| data octets ...
+---------------- ...
+-----+-------------+----------+-----+-----+-----+-----+-----+-----+------------------+
| Bit | 0-4 | 4-9 | 10 | 11 | 12 | 13 | 14 | 15 | 16-31 |
+-----+-------------+----------+-----+-----+-----+-----+-----+-----+------------------+
| 0 | Source Port | Destination Port |
+-----+------------------------------------------------------------+------------------+
| 32 | Sequence Number |
+-----+-------------------------------------------------------------------------------+
+-----+-------------+--------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------+
| 0 | Option Type | 2 |
+-----+-------------+--------+
| 16 | Router Alert Type |
+-----+----------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Option Data |
| ... | |
+-----+----------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Option Type | Opt Data Len (optional) |
+-----+-------------+-------------------------+
| 16 | Option Data (optional) |
| ... | |
+-----+---------------------------------------+
+-----+--------------+
| Bit | 0-7 |
+-----+--------------+
| 0 | Option Type |
+-----+--------------+
| 8 | Opt Data Len |
+-----+--------------+
| 16 | 0 |
| ... | |
+-----+--------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | SPI |
| | |
+-----+----------------------------+
| 48 | Authenticator |
| ... | |
+-----+----------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 32 | Options |
| ... | |
+-----+---------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | Options |
| ... | |
+-----+---------------------------------------+
+-----+---+---+----------+-------------------------+
| Bit | 0 | 1 | 2-7 | 8-15 |
+-----+---+---+----------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+------------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+------------------+-------------------------+
| 32 | Checksum |
+-----+--------------------------------------------+
| 48 | Sequence # |
+-----+---+---+----------+-------------------------+
| 64 | S | U | Reserved | Code |
+-----+---+---+----------+-------------------------+
| 96 | Mobility Options |
| ... | |
+-----+--------------------------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding
Example:
Transfer-Encoding: chunked
If multiple encodings have been applied to an entity, the transfer-codings MUST be listed in the order in which they were applied.
Additional information about the encoding parameters MAY be provided by other entity-header fields not defined by this specification.
transfer-coding = "chunked" | transfer-extension
transfer-extension = token *( ";" parameter )
Parameters are in the form of attribute/value pairs.
parameter = attribute "=" value
attribute = token
value = token | quoted-string
All transfer-coding values are case-insensitive.
Whenever a transfer-coding is applied to a message-body, the set of transfer-codings MUST include "chunked",
unless the message is terminated by closing the connection.
When the "chunked" transfer-coding is used, it MUST be the last transfer-coding applied to the message-body.
The "chunked" transfer-coding MUST NOT be applied more than once to a message-body.
These rules allow the recipient to determine the transfer-length of the message.
+-----+----------------+------------+------------+
| Bit | 0-15 | 16-23 | 24-31 |
+-----+----------------+------------+------------+
| 0 | Address Family | SRE Offset | SRE Length |
+-----+----------------+------------+------------+
| 32 | Routing Information ... |
+-----+------------------------------------------+
+---------------------+
| One ore more strings|
+---------------------+
+---------+
| RMAILBX |
+---------+
| EMAILBX |
+---------+
+-----+---------+------+-----------+----------+
| bit | 0-7 | 8-15 | 16-23 | 24-31 |
+-----+---------+------+-----------+----------+
| 0 | VERSION | SIZE | HORIZ PRE | VERT PRE |
+-----+---------+------+-----------+----------+
| 32 | LATITUDE |
+-----+---------------------------------------+
| 64 | LONGITUDE |
+-----+---------------------------------------+
| 96 | ALTITUDE |
+-----+---------------------------------------+
+------+----------------+----------+
| bit | 0-7 | 8-15 |
+------+----------------+----------+
| 0 | Name |
| ... | |
+------+---------------------------+
| | Type = OPT |
+------+---------------------------+
| | Sender's UDP payload size |
+------+----------------+----------+
| | EXTENDED-RCODE | VERSION |
+------+----------------+----------+
| | Flags |
+------+---------------------------+
| | Resource Data Length |
+------+---------------------------+
| | Resource Data |
| ... | |
+------+---------------------------+
+------+-------------------------------------------------+
| byte | 0-1 |
+------+-------------------------------------------------+
| 0 | Name |
| ... | |
+------+-------------------------------------------------+
| | Type |
+------+-------------------------------------------------+
| | Class |
+------+-------------------------------------------------+
| | TTL |
| | |
+------+-------------------------------------------------+
| | Resource Data Length |
+------+-------------------------------------------------+
| | Resource Data |
| ... | |
+------+-------------------------------------------------+
+------+-------------------------------------------------+
| byte | 0-1 |
+------+-------------------------------------------------+
| 0 | Name |
| ... | |
+------+-------------------------------------------------+
| | Type |
+------+-------------------------------------------------+
| | Class |
+------+-------------------------------------------------+
| | TTL (not available in queries) |
| | |
+------+-------------------------------------------------+
| | Resource Data Length (not available in queries) |
+------+-------------------------------------------------+
| | Resource Data (not available in queries) |
| ... | |
+------+-------------------------------------------------+
+-----+------------+-----+--------------+
| Bit | 0-5 | 6-7 | 8-15 |
+-----+------------+-----+--------------+
| 0 | Option Type | Opt Data Len |
+-----+------------+-----+--------------+
| 16 | Prefix-len | Reserved |
+-----+------------+--------------------+
| 32 | IPv4 home address |
| | |
+-----+---------------------------------+
+-----+---------+------+--------+----------+
| Bit | 0-3 | 4-7 | 8-15 | 16-31 |
+-----+---------+------+--------+----------+
| 0 | Version | Type | Unused | Checksum |
+-----+---------+------+--------+----------+
| 32 | Group Address |
+-----+------------------------------------+
RFC 2236.
Version 2 (query, report or leave group):
+-----+------+---------------+----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+---------------+----------+
| 0 | Type | Max Resp Time | Checksum |
+-----+------+---------------+----------+
| 32 | Group Address |
+-----+---------------------------------+
RFC 3376.
Version 3 query:
+-----+------+---+-----+---------------+-----------------------+
| Bit | 0-3 | 4 | 5-7 | 8-15 | 16-31 |
+-----+------+---+-----+---------------+-----------------------+
| 0 | Type = 0x11 | Max Resp Code | Checksum |
+-----+----------------+---------------+-----------------------+
| 32 | Group Address |
+-----+------+---+-----+---------------+-----------------------+
| 64 | Resv | S | QRV | QQIC | Number of Sources (N) |
+-----+------+---+-----+---------------+-----------------------+
| 96 | Source Address [1] |
+-----+--------------------------------------------------------+
| 128 | Source Address [2] |
+-----+--------------------------------------------------------+
. . . .
. . . .
+-----+--------------------------------------------------------+
| 64 | Source Address [N] |
| + | |
| 32N | |
+-----+--------------------------------------------------------+
RFC 3376.
Version 3 report:
+-----+-------------+----------+-----------------------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+-------------+----------+-----------------------------+
| 0 | Type = 0x22 | Reserved | Checksum |
+-----+-------------+----------+-----------------------------+
| 32 | Reserved | Number of Group Records (M) |
+-----+------------------------+-----------------------------+
| 64 | Group Record [1] |
. . .
. . .
. . .
| | |
+-----+------------------------------------------------------+
| | Group Record [2] |
. . .
. . .
. . .
| | |
+-----+------------------------------------------------------+
| | . |
. . . .
| | . |
+-----+------------------------------------------------------+
| | Group Record [M] |
. . .
. . .
. . .
| | |
+-----+------------------------------------------------------+
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+
Value = (mant | 0x10) << (exp + 3).
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+
Max Resp Time = (mant | 0x10) << (exp + 3).
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+
Max Resp Time = (mant | 0x10) << (exp + 3).
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+
QQI = (mant | 0x10) << (exp + 3)
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+
QQI = (mant | 0x10) << (exp + 3)
+-----+-----------+-----------+
| bit | 0-7 | 8-15 |
+-----+-----------+-----------+
| 0 | algorithm | fp type |
+-----+-----------+-----------+
| 16 | fingerprint |
| ... | |
+-----+-----------------------+
+-----+-------------+----------+--------+------------+
| bit | 0-7 | 8-14 | 15 | 16-31 |
+-----+-------------+----------+--------+------------+
| 0 | Hash Alg | Reserved | OptOut | Iterations |
+-----+-------------+----------+--------+------------+
| 32 | Salt Length | Salt |
+-----+-------------+ |
| ... | |
+-----+----------------------------------------------+
+-----+-------------+----------+--------+------------+
| bit | 0-7 | 8-14 | 15 | 16-31 |
+-----+-------------+----------+--------+------------+
| 0 | Hash Alg | Reserved | OptOut | Iterations |
+-----+-------------+----------+--------+------------+
| 32 | Salt Length | Salt |
+-----+-------------+ |
| ... | |
+-----+----------------------------------------------+
| ... | ... |
+-----+----------------------------------------------+
+-----+-------+
| bit | 0-127 |
+-----+-------+
| 0 | IP |
+-----+-------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
+-----+----------+
| Bit | 0-7 |
+-----+----------+
| 0 | Kind |
+-----+----------+
| 8 | Length |
+-----+----------+
| 16 | Checksum |
+-----+----------+
+-----+-------------+------+----------+--------------+-------+-------+
| Bit | 0-7 | 8-15 | 16-19 | 20-23 | 24-29 | 30-31 |
+-----+-------------+------+----------+--------------+-------+-------+
| 0 | Option Type | 6 | Function | Rate Request | QS TTL |
+-----+-------------+------+----------+--------------+-------+-------+
| 32 | QS Nonce | R |
+-----+------------------------------------------------------+-------+
+-----+-------------+
| Bit | 0-7 |
+-----+-------------+
| 0 | Option Type |
+-----+-------------+
+-----+------------+---+---+--------------+
| Bit | 0-5 | 6 | 7 | 8-15 |
+-----+------------+---+---+--------------+
| 0 | Option Type | Opt Data Len |
+-----+------------+---+---+--------------+
| 16 | Prefix-len | P | Reserved |
+-----+------------+---+------------------+
| 32 | IPv4 home address |
| | |
+-----+-----------------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | IPv4 address |
| | |
+-----+----------------------------+
+-----+---------------------+
| Bit | 0-7 |
+-----+---------------------+
| 0 | ANI Type |
+-----+---------------------+
| 8 | ANI Length |
+-----+---------------------+
| 16 | Op-ID Type |
+-----+---------------------+
| 24 | Operator-Identifier |
| ... | |
+-----+---------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Sequence # |
+-----+-------------+-------------------------+
| 64 | Reserved | Code |
+-----+-------------+-------------------------+
| 80 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+---+---+---+---+-----+-------------------------+
| Bit | 0 | 1 | 2 | 3 | 4-7 | 8-15 |
+-----+---+---+---+---+-----+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+---------------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+---------------------+-------------------------+
| 32 | Checksum |
+-----+---------------------+-------------------------+
| 48 | Sequence # |
+-----+---+---+---+---+-------------------------------+
| 64 | A | H | L | K | Reserved |
+-----+---+---+---+---+-------------------------------+
| 80 | Lifetime |
+-----+-----------------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+-----------------------------------------------+
+-----+---+---+---+---+-----+-------------------------+
| Bit | 0 | 1 | 2 | 3 | 4-7 | 8-15 |
+-----+---+---+---+---+-----+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+---------------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+---------------------+-------------------------+
| 32 | Checksum |
+-----+-----------------------------------------------+
| 48 | Sequence # |
+-----+---+---+---+---+-------------------------------+
| 64 | A | H | L | K | Reserved |
+-----+---+---+---+---+-------------------------------+
| 80 | Lifetime |
+-----+-----------------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+-----------------------------------------------+
+-----+---------+
| Bit | 0-3 |
+-----+---------+
| 0 | Version |
+-----+---------+
| 4 | |
| ... | |
+-----+---------+
+------+-------------+----------+-----------+
| bit | 0-15 | 16-31 | 32-47 |
+------+-------------+----------+-----------+
| 0 | Algorithm Name |
| ... | |
+------+------------------------------------+
| X | Time Signed |
+------+-------------+----------+-----------+
| X+48 | Fudge | MAC Size | MAC |
+------+-------------+----------+ |
| ... | |
+------+-------------+----------+-----------+
| Y | Original ID | Error | Other Len |
+------+-------------+----------+-----------+
| Y+48 | Other Data |
| ... | |
+------+------------------------------------+
0 Or more of:
+-----+---------------+
| bit | 0-15 |
+-----+---------------+
| 0 | OPTION-CODE |
+-----+---------------+
| 16 | OPTION-LENGTH |
+-----+---------------+
| 32 | OPTION-DATA |
| ... | |
+-----+---------------+
+------+-------------------------------------------------+
| byte | 0-1 |
+------+-------------------------------------------------+
| 0 | Name |
| ... | |
+------+-------------------------------------------------+
| | Type |
+------+-------------------------------------------------+
| | Class |
+------+-------------------------------------------------+
+-----+-----------+
| Bit | 0-7 |
+-----+-----------+
| 0 | Kind |
+-----+-----------+
| 8 | Length |
+-----+-----------+
| 16 | shift.cnt |
+-----+-----------+
+--------+--------+--------+---------//--------+
|10000011| length | pointer| route data |
+--------+--------+--------+---------//--------+
Type=131
+-----+---+---+---+-----+---------------+
| Bit | 0 | 1 | 2 | 3-7 | 8-15 |
+-----+---+---+---+-----+---------------+
| 0 | Option Type | Opt Data Len |
+-----+---+---+---+-----+---------------+
| 16 | O | R | F | 0 | RPLInstanceID |
+-----+---+---+---+-----+---------------+
| 32 | SenderRank |
+-----+---------------------------------+
| 48 | (sub-TLVs) |
| ... | |
+-----+---------------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Signature |
| ... | |
+-----+----------------------------+
+-----+--------------+---------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+---------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+---------------+
| 16 | Reserved | Prefix Length |
+-----+--------------+---------------+
| 32 | Mobile Network Prefix |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+------------------------------+
+-----+--------------+---------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+---------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+---------------+
| 16 | Reserved | Prefix Length |
+-----+--------------+---------------+
| 32 | Network Prefix |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+------------------------------+
+-----+-------------+--------------+----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+-------------+--------------+----------+
| 0 | Option Type | Opt Data Len | Priority |
+-----+-------------+--------------+----------+
| 32 | Sessions in Use |
+-----+---------------------------------------+
| 64 | Maximum Sessions |
+-----+---------------------------------------+
| 96 | Used Capacity |
+-----+---------------------------------------+
| 128 | Maximum Capacity |
+-----+---------------------------------------+
+-----+--------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+--------------+
| 16 | Authenticator |
| ... | |
+-----+-----------------------------+
+-----+--------------+
| Bit | 0-7 |
+-----+--------------+
| 0 | Sub-Opt Type |
+-----+--------------+
+-----+-------------------+
| Bit | 0-7 |
+-----+-------------------+
| 0 | ANI Type |
+-----+-------------------+
| 8 | ANI Length |
+-----+-------------------+
| 16 | Latitude Degrees |
| | |
| | |
+-----+-------------------+
| 40 | Longitude Degrees |
| | |
| | |
+-----+-------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
| 64 | Originate Timestamp |
+-----+-------------------------------+
| 96 | Receive Timestamp |
+-----+-------------------------------+
| 128 | Transmit Timestamp |
+-----+-------------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | unused |
+-----+-------------------------+
| 64 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+-------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | unused |
+-----+-------------------------+
| 64 | IpV4 datagram |
+-----+-------------------------+
HTTP-message = Request | Response
generic-message = start-line
*(message-header CRLF)
CRLF
[ message-body ]
start-line = Request-Line | Status-Line
message-header = field-name ":" [ field-value ]
field-name = token
field-value = *( field-content | LWS )
field-content = <the OCTETs making up the field-value and consisting of either *TEXT or combinations of token, separators, and quoted-string>
message-body = entity-body
| <entity-body encoded as per Transfer-Encoding>
general-header = Cache-Control
| Connection
| Date
| Pragma
| Trailer
| Transfer-Encoding
| Upgrade
| Via
| Warning
Request:
Request = Request-Line
*(( general-header
| request-header
| entity-header ) CRLF)
CRLF
[ message-body ]
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
Method = "OPTIONS"
| "GET"
| "HEAD"
| "POST"
| "PUT"
| "DELETE"
| "TRACE"
| "CONNECT"
| extension-method
extension-method = token
Request-URI = "*" | absoluteURI | abs_path | authority
absoluteURI = scheme ":" ( hier_part | opaque_part )
scheme = alpha *( alpha | digit | "+" | "-" | "." )
hier_part = ( net_path | abs_path ) [ "?" query ]
opaque_part = uric_no_slash *uric
net_path = "//" authority [ abs_path ]
abs_path = "/" path_segments
query = *uric
uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","
uric = reserved | unreserved | escaped
authority = server | reg_name
path_segments = segment *( "/" segment )
unreserved = alphanum | mark
escaped = "%" hex hex
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","
server = [ [ userinfo "@" ] hostport ]
reg_name = 1*( unreserved | escaped | "$" | "," | ";" | ":" | "@" | "&" | "=" | "+" )
segment = *pchar *( ";" param )
mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
userinfo = *( unreserved | escaped | ";" | ":" | "&" | "=" | "+" | "$" | "," )
hostport = host [ ":" port ]
pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","
param = *pchar
host = hostname | IPv4address
port = *digit
hostname = *( domainlabel "." ) toplabel [ "." ]
IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
toplabel = alpha | alpha *( alphanum | "-" ) alphanum
alphanum = alpha | digit
alpha = lowalpha | upalpha
lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" |
"w" | "x" | "y" | "z"
upalpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" |
"W" | "X" | "Y" | "Z"
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
request-header = Accept
| Accept-Charset
| Accept-Encoding
| Accept-Language
| Authorization
| Expect
| From
| Host
| If-Match
| If-Modified-Since
| If-None-Match
| If-Range
| If-Unmodified-Since
| Max-Forwards
| Proxy-Authorization
| Range
| Referer
| TE
| User-Agent
Response:
Response = Status-Line
*(( general-header
| response-header
| entity-header ) CRLF)
CRLF
[ message-body ]
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Status-Code = "100"
| "101"
| "200"
| "201"
| "202"
| "203"
| "204"
| "205"
| "206"
| "300"
| "301"
| "302"
| "303"
| "304"
| "305"
| "307"
| "400"
| "401"
| "402"
| "403"
| "404"
| "405"
| "406"
| "407"
| "408"
| "409"
| "410"
| "411"
| "412"
| "413"
| "414"
| "415"
| "416"
| "417"
| "500"
| "501"
| "502"
| "503"
| "504"
| "505"
| extension-code
extension-code = 3DIGIT
Reason-Phrase = *<TEXT, excluding CR, LF>
response-header = Accept-Ranges
| Age
| ETag
| Location
| Proxy-Authenticate
| Retry-After
| Server
| Vary
| WWW-Authenticate
entity-header = Allow
| Content-Encoding
| Content-Language
| Content-Length
| Content-Location
| Content-MD5
| Content-Range
| Content-Type
| Expires
| Last-Modified
| extension-header
extension-header = message-header
entity-body = *OCTET
entity-body := Content-Encoding( Content-Type( data ) )
+------+------------+------------+
| bit | 0-15 | 16-31 |
+------+------------+------------+
| 0 | Algorithm |
| ... | |
+------+-------------------------+
| X | Inception |
+------+-------------------------+
| X+32 | Expiration |
+------+------------+------------+
| X+64 | Mode | Error |
+------+------------+------------+
| X+96 | Key Size | |
+------+------------+ Key Data |
| ... | |
+------+------------+------------+
| | Other Size | |
+------+------------+ Other Data |
| ... | |
+------+-------------------------+
+-----+------+
| bit | 0-31 |
+-----+------+
| 0 | IP |
+-----+------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | IPv4 home address |
| | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | IPv4 Care-of address |
| | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved | ATT |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved | Value |
+-----+-------------+--------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Sequence # |
+-----+---------------------------------------+
| 64 | Reserved |
+-----+---------------------------------------+
| 80 | Lifetime |
+-----+---------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Reserved |
+-----+---------------------------------------+
| 64 | Home Init Cookie |
| | |
| | |
| | |
+-----+---------------------------------------+
| 128 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
| 64 | Originate Timestamp |
+-----+-------------------------------+
| 96 | Receive Timestamp |
+-----+-------------------------------+
| 128 | Transmit Timestamp |
+-----+-------------------------------+
+-----+--------+
| bit | 0-15 |
+-----+--------+
| 0 | Value |
+-----+--------+
| 16 | Domain |
| ... | |
+-----+--------+
+------+
| NAME |
+------+
0 Or more of:
+-----+---------+-----------+-------------+
| bit | 0-15 | 16-23 | 24-31 |
+-----+---------+-----------+-------------+
| 0 | key tag | algorithm | Digest type |
+-----+---------+-----------+-------------+
| 32 | digest |
| ... | |
+-----+-----------------------------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | Connection |
| | Count |
+-----+---------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Home Address |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Src Len | Dst Len |
+-----+-------------+--------------+
| 32 | Source EID |
| ... | |
+-----+----------------------------+
| | Destination EID |
| ... | |
+-----+----------------------------+
+-----+--------------+
| Bit | 0-7 |
+-----+--------------+
| 0 | Option Type |
+-----+--------------+
| 8 | Opt Data Len |
+-----+--------------+
| 16 | Vendor ID |
| | |
| | |
| | |
+-----+--------------+
| 48 | Sub-Type |
+-----+--------------+
| 56 | Data |
| ... | |
+-----+--------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | Request 1 |
| ... | Request 2 |
| | ... |
| | Request n |
+-----+----------------------------+
+-----+--------------+-------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+-------------+
| 0 | Sub-Opt Type | Sub-Opt Len |
+-----+--------------+-------------+
| 16 | TS Format | Reserved |
+-----+--------------+-------------+
| 32 | Traffic Selector |
| ... | |
+-----+----------------------------+
+-----+--------------+-------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+-------------+
| 0 | Sub-Opt Type | Sub-Opt Len |
+-----+--------------+-------------+
| 16 | Option Data |
| ... | |
+-----+----------------------------+
+-----+-------------+-------------------------+--------------+---------------+
| Bit | 0-7 | 8-15 | 16-23 | 24-31 |
+-----+-------------+-------------------------+--------------+---------------+
| 0 | Next Header | Header Extension Length | Routing Type | Segments Left |
+-----+-------------+-------------------------+--------------+---------------+
| 32 | Reserved |
+-----+----------------------------------------------------------------------+
| 64 | Address[1] |
| | |
| | |
| | |
+-----+----------------------------------------------------------------------+
| 192 | Address[2] |
| | |
| | |
| | |
+-----+----------------------------------------------------------------------+
| . | . |
| . | . |
| . | . |
+-----+----------------------------------------------------------------------+
| | Address[n] |
| | |
| | |
| | |
+-----+----------------------------------------------------------------------+
+-----+-------------+-------------------------+--------------+---------------+
| Bit | 0-7 | 8-15 | 16-23 | 24-31 |
+-----+-------------+-------------------------+--------------+---------------+
| 0 | Next Header | Header Extension Length | Routing Type | Segments Left |
+-----+-------------+-------------------------+--------------+---------------+
| 32 | Routing Data - type-specific data |
| ... | |
+-----+----------------------------------------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Reserved |
+-----+---------------------------------------+
| 64 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | pointer to problem area |
+-----+-------------------------+
| 64 | copy of datagram that |
| | could not be converted |
| | ... |
+-----+-------------------------+
+-----+--------+-----------+
| bit | 0-7 | 8-15 |
+-----+--------+-----------+
| 0 | coding | subcoding |
+-----+--------+-----------+
| 16 | data |
| ... | |
+-----+--------------------+
+------------------+
| next domain name |
| |
+------------------+
| type bit map |
| |
+------------------+
+-----+-------+
| bit | 0-31 |
+-----+-------+
| 0 | LEASE |
+-----+-------+
+-----+------------+
| bit | 0-15 |
+-----+------------+
| 0 | VERSION |
+-----+------------+
| 16 | LLQ-OPCODE |
+-----+------------+
| 32 | ERROR-CODE |
+-----+------------+
| 48 | LLQ-ID |
| | |
| | |
| | |
+-----+------------+
| 112 | LEASE-LIFE |
| | |
+-----+------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | Left Edge of |
| | 1st Block |
+-----+---------------+
| 48 | Right Edge of |
| | 1st Block |
+-----+---------------+
...
+-----+---------------+
| | Left Edge of |
| | nth Block |
+-----+---------------+
| | Right Edge of |
| | nth Block |
+-----+---------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | MD5 digest |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+---------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | 4 bytes of |
| | echoed info |
+-----+---------------+
+-----+--------+
| Bit | 0-7 |
+-----+--------+
| 0 | Kind |
+-----+--------+
| 8 | Length |
+-----+--------+
| 16 | ASCII |
| ... | Mood |
+-----+--------+
ASCII Mood
===== ====
:) Happy
:( Sad
:D Amused
%( Confused
:o Bored
:O Surprised
:P Silly
:@ Frustrated
>:@ Angry
:| Apathetic
;) Sneaky
>:) Evil
Proposed ASCII character encoding
Binary Dec Hex Character
======== === === =========
010 0101 37 25 %
010 1000 40 28 (
010 1001 41 29 )
011 1010 58 3A :
011 1011 59 3B ;
011 1110 62 3E >
100 0000 64 40 @
100 0100 68 44 D
100 1111 79 4F O
101 0000 80 50 P
110 1111 111 6F o
111 1100 124 7C |
+-----+---------+---------------+-------+-------------+-----------+
| Bit | 0-3 | 4-11 | 12-15 | 16-23 | 24-31 |
+-----+---------+---------------+-------+-------------+-----------+
| 0 | Version | Traffic Class | Flow Label |
+-----+---------+---------------+-------+-------------+-----------+
| 32 | Payload Length | Next Header | Hop Limit |
+-----+---------------------------------+-------------+-----------+
| 64 | Source Address |
| | |
| | |
| | |
+-----+-----------------------------------------------------------+
| 192 | Destination Address |
| | |
| | |
| | |
+-----+-----------------------------------------------------------+
| 320 | Extension Headers (optional) |
| ... | |
+-----+-----------------------------------------------------------+
+-----+---------------------+
| Bit | 0-7 |
+-----+---------------------+
| 0 | Option Type |
+-----+---------------------+
| 8 | Opt Data Len |
+-----+---------------------+
| 16 | LineIDLen |
+-----+---------------------+
| 24 | Line Identification |
| ... | |
+-----+---------------------+
+-----+---+---+-----+--------------+
| Bit | 0 | 1 | 2-7 | 8-15 |
+-----+---+---+-----+--------------+
| 0 | Option Type | Opt Data Len |
+-----+---+---+-----+--------------+
| 16 | K | N | Reserved |
+-----+---+---+--------------------+
| 32 | r2LMA Address |
| | |
| ... | |
+-----+----------------------------+
+-----+---+---------+--------------+
| Bit | 0 | 1-7 | 8-15 |
+-----+---+---------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+---+---------+--------------+
| 16 | F | Reserved |
+-----+---+------------------------+
| 32 | Refresh time |
| | |
+-----+----------------------------+
+-----+-------------+----------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+----------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+----------------+
| 16 | Sub-type | Reserved |
+-----+-------------+----------------+
| 32 | Mobile Node Group Identifier |
| | |
+-----+------------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Care-of Keygen Token |
| | |
| | |
| | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Value |
| | |
| | |
| | |
+-----+----------------------------+
+-----+------------+-------------+
| Bit | 0-7 | 8-15 |
+-----+------------+-------------+
| 0 | Security Parameters |
| | Index (SPI) |
+-----+--------------------------+
| 32 | Sequence Number |
| | |
+-----+--------------------------+
| 64 | Payload Data |
| ... | |
+-----+--------------------------+
| | Padding |
| ... | |
+-----+------------+-------------+
| | Pad Length | Next Header |
+-----+------------+-------------+
| | Authentication Data |
| ... | |
+-----+--------------------------+
+-----+------------+-------------+
| Bit | 0-7 | 8-15 |
+-----+------------+-------------+
| 0 | Security Parameters |
| | Index (SPI) |
+-----+--------------------------+
| 32 | Sequence Number |
| | |
+-----+--------------------------+
| 64 | Encrypted Data |
| ... | |
+-----+--------------------------+
| | Authentication Data |
| ... | |
+-----+--------------------------+
+-----+-------------+---+---+----+----+---------+
| Bit | 0-7 | 8 | 9 | 10 | 11 | 12-15 |
+-----+-------------+---+---+----+----+---------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+---------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+---------------------------+
| 32 | Checksum |
+-----+-------------+---+---+---+----+----------+
| 48 | Status | K | R | P | T | Reserved |
+-----+-------------+---+---+---+----+----------+
| 64 | Sequence # |
+-----+-----------------------------------------+
| 80 | Lifetime |
+-----+-----------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+-----------------------------------------+
+-----+-------------+---+---------------------+
| Bit | 0-7 | 8 | 9-15 |
+-----+-------------+---+---------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+-------------+---+---------------------+
| 48 | Status | K | Reserved |
+-----+-------------+---+---------------------+
| 64 | Sequence # |
+-----+---------------------------------------+
| 80 | Lifetime |
+-----+---------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+----------+---------+
| bit | 0-7 | 8-31 |
+-----+----------+---------+
| 0 | Address |
+-----+----------+---------+
| 32 | Protocol | Bit Map | (Bit Map is variable multiple of 8 bits length)
+-----+----------+---------+
+-----+----------+
| bit | 0-15 |
+-----+----------+
| 0 | subtype |
+-----+----------+
| 16 | hostname |
| ... | |
+-----+----------+
+-------------+----------------+-----------------+
| Prefix len. | Address suffix | Prefix name |
| (1 octet) | (0..16 octets) | (0..255 octets) |
+-------------+----------------+-----------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | Connection |
| | Count |
+-----+---------------+
+------------+------------+------------+-------------//----------+
| 10000010 | XXXXXXXX | SSSSSSSS | AAAAAAA[1] AAAAAAA0 |
| | | | [0] |
+------------+------------+------------+-------------//----------+
TYPE = 130 LENGTH CLASSIFICATION PROTECTION
LEVEL AUTHORITY
FLAGS
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Option Data |
| ... | |
+-----+----------------------------+
+-----+----------------------------+--------+
| Bit | 0-7 | 8-15 |
+-----+----------------------------+--------+
| 0 | Option Type | 1 |
+-----+----------------------------+--------+
| 16 | Tunnel Encapsulation Limit |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Option Data |
| ... | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | Interface Identifier |
| | |
| | |
| | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved | HI |
+-----+----------------------------+
+-----+-------------+---+----------+
| Bit | 0-7 | 8 | 9-15 |
+-----+-------------+---+----------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+---+----------+
| 16 | Status | R | Reserved |
+-----+-------------+---+----------+
| 32 | MN identity (FQDN) |
| ... | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
+-----+-------------+---+-----------+
| Bit | 0-7 | 8 | 9-15 |
+-----+-------------+---+-----------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+---------------+
| 16 | Binding ID (BID) |
+-----+-------------+---+-----------+
| 32 | Status | H | BID-PRI |
+-----+-------------+---+-----------+
| 48 | IPv4 or IPv6 |
| ... | care-of address (CoA) |
+-----+-----------------------------+
+-----+-------------+------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+------------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+------------------+
| 16 | Alternate IPv4 Care-of Address |
| | |
+-----+--------------------------------+
+-----+-------------+-------------------------+-----------------+-------+----+
| Bit | 0-7 | 8-15 | 16-28 | 29-30 | 31 |
+-----+-------------+-------------------------+-----------------+-------+----+
| 0 | Next Header | Header Extension Length | Fragment Offset | Res | M |
+-----+-------------+-------------------------+-----------------+-------+----+
| 32 | Identification |
+-----+----------------------------------------------------------------------+
+-----+-------------+-------------+----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+-------------+-------------+----------+
| 0 | Next Header | Payload Len | RESERVED |
+-----+-------------+-------------+----------+
| 32 | Security Parameters Index (SPI) |
+-----+--------------------------------------+
| 64 | Sequence Number Field |
+-----+--------------------------------------+
| 96 | Authentication Data (variable) |
| ... | |
+-----+--------------------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
| 64 | Address Mask |
+-----+-------------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | unused |
+-----+-------------------------+
| 64 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+-------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | reserved |
+-----+-------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
| 64 | Address Mask |
+-----+-------------------------------+
+-----+---+---+---+---+---+-------+---+-------+---------+-------------------+
| Bit | 0 | 1 | 2 | 3 | 4 | 5-7 | 8 | 9-12 | 13-15 | 16-31 |
+-----+---+-----------+---+-------+---+-------+---------+-------------------+
| 0 | C | R | K | S | s | Recur | A | Flags | Version | Protocol Type |
+-----+---+-----------+---+-------+---+-------+---------+-------------------+
| 32 | Checksum (optional) | Offset (optional) |
+-----+-------------------------------------------------+-------------------+
| 32 | Key (optional) |
+-----+---------------------------------------------------------------------+
| 32 | Sequence Number (optional) |
+-----+---------------------------------------------------------------------+
| 32 | Acknowledgment Number (optional) |
+-----+---------------------------------------------------------------------+
| 32 | Routing (optional) |
+-----+---------------------------------------------------------------------+
+-----+----------------+------------+------------+
| Bit | 0-15 | 16-23 | 24-31 |
+-----+----------------+------------+------------+
| 0 | Address Family | SRE Offset | SRE Length |
+-----+----------------+------------+------------+
| 32 | Routing Information ... |
+-----+------------------------------------------+
The routing field is terminated with a "NULL" SRE containing an address family of type 0x0000 and a length of 0.
+-------+---------+
| bit | 0-31 |
+-------+---------+
| 0 | MNAME |
| ... | |
+-------+---------+
| X | RNAME |
| ... | |
+-------+---------+
| Y | SERIAL |
+-------+---------+
| Y+32 | REFRESH |
+-------+---------+
| Y+64 | RETRY |
+-------+---------+
| Y+96 | EXPIRE |
+-------+---------+
| Y+128 | MINIMUM |
+-------+---------+
+------------------+
| next domain name |
| |
+------------------+
| type bit map |
| |
+------------------+
+-----+-------+------------+
| bit | 0-15 | 16-31 |
+-----+-------+------------+
| 0 | Order | Preference |
+-----+-------+------------+
| 32 | FLAGS |
| ... | |
+-----+--------------------+
| | SERVICES |
| ... | |
+-----+--------------------+
| | REGEXP |
| ... | |
+-----+--------------------+
| | REPLACEMENT |
| ... | |
+-----+--------------------+
+-----+------------+--------------+-----------+
| bit | 0-7 | 8-15 | 16-31 |
+-----+------------+--------------+-----------+
| 0 | HIT Length | PK Algorithm | PK Length |
+-----+------------+--------------+-----------+
| 32 | HIT |
| ... | |
+-----+---------------------------------------+
| | Public Key |
| ... | |
+-----+---------------------------------------+
| | Rendezvous Servers |
| ... | |
+-----+---------------------------------------+
0 Or more of:
+-----+--------+---+-----------+
| bit | 0-7 | 8 | 9-15 |
+-----+--------+---+-----------+
| 0 | ADDRESSFAMILY |
+-----+--------+---+-----------+
| 16 | PREFIX | N | AFDLENGTH |
+-----+--------+---+-----------+
| 32 | AFDPART |
| ... | |
+-----+------------------------+
+-----+------------+----------+--------+
| Bit | 0 | 1 | 2-7 |
+-----+------------+----------+--------+
| 0 | Kind |
+-----+--------------------------------+
| 8 | Length |
+-----+------------+----------+--------+
| 16 | Start_flag | End_flag | Filler |
+-----+------------+----------+--------+
+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+-----+
| Bit | 0-6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+-----+
| 0 | | NS | CWR | ECE | URG | ACK | PSH | RST | SYN | FIN |
+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+-----+
+--------+--------+--------+--------+
|10010100|00000100| 2 octet value |
+--------+--------+--------+--------+
+--------+----------+-------+---------+-------+-------+
| 0-7 | 8-15 | 16-19 | 20-23 | 24-29 | 30-31 |
+--------+----------+-------+---------+-------+-------+
| Option | Length=8 | Func. | Rate | QS TTL |
| | | 0000 | Request | |
+--------+----------+-------+---------+-------+-------+
| QS Nonce | R |
+---------------------------------------------+-------+
+-----+---------+-----+-----------------+-------+-----------------+
| Bit | 0-3 | 4-7 | 8-15 | 16-18 | 19-31 |
+-----+---------+-----+-----------------+-------+-----------------+
| 0 | Version | IHL | Type of Service | Total Length |
+-----+---------+-----+-----------------+-------+-----------------+
| 32 | Identification | Flags | Fragment Offset |
+-----+---------------+-----------------+-------+-----------------+
| 64 | Time to Live | Protocol | Header Checksum |
+-----+---------------+-----------------+-------------------------+
| 96 | Source Address |
+-----+-----------------------------------------------------------+
| 128 | Destination Address |
+-----+-----------------------------------------------------------+
| 160 | Options with padding |
+-----+-----------------------------------------------------------+
| 160 | Data |
| to | |
| 360 | |
+-----+-----------------------------------------------------------+
+-----+---+-------+--------+
| Bit | 0 | 1-3 | 4-7 |
+-----+---+-------+--------+
| 0 | Option Type |
+-----+--------------------+
| 8 | Opt Data Len |
+-----+---+-------+--------+
| 16 | 0 | TidTy | TidLen |
+-----+---+-------+--------+
| 24 | TaggerId |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+--------------------+
| 152 | Identifier |
| ... | |
+-----+--------------------+
+-----+---+-------+--------+
| Bit | 0 | 1-3 | 4-7 |
+-----+---+-------+--------+
| 0 | Option Type |
+-----+--------------------+
| 8 | Opt Data Len |
+-----+---+-------+--------+
| 16 | 0 | TidTy | TidLen |
+-----+---+-------+--------+
| 24 | TaggerId |
| ... | |
+-----+--------------------+
| | Identifier |
| ... | |
+-----+--------------------+
+-----+---+------------------+
| Bit | 0 | 1-7 |
+-----+---+------------------+
| 0 | Option Type |
+-----+----------------------+
| 8 | Opt Data Len |
+-----+---+------------------+
| 16 | H | DPD Identifier |
+-----+---+ Option Fields |
| ... | or Hash Assist Value |
+-----+----------------------+
+-----+---+-------+--------+
| Bit | 0 | 1-3 | 4-7 |
+-----+---+-------+--------+
| 0 | Option Type |
+-----+--------------------+
| 8 | Opt Data Len |
+-----+---+-------+--------+
| 16 | 0 | TidTy | TidLen |
+-----+---+-------+--------+
| 24 | TaggerId |
| ... | |
+-----+--------------------+
| | Identifier |
| ... | |
+-----+--------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | Link-layer Identifier |
| ... | |
+-----+----------------------------+
+-----+--------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+--------------+
| 16 | Address |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+-----------------------------+
+-----+-------------+----------+-------+
| Bit | 0-7 | 8-13 | 14-15 |
+-----+-------------+----------+-------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+----------+-------+
| 16 | Status | Pref-len | Res |
+-----+-------------+----------+-------+
| 32 | IPv4 home address |
| | |
+-----+--------------------------------+
+-----+-------------+------+-------+
| Bit | 0-7 | 8-14 | 15 |
+-----+-------------+------+-------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+------+-------+
| 16 | Reserved | S |
+-----+--------------------+-------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Reserved |
+-----+----------------------------+
| 32 | GRE Key Identifier |
| | |
+-----+----------------------------+
+-----+---+---------------------------------+
| Bit | 0 | 6-7 |
+-----+---+---------------------------------+
| 0 | ANI Type |
+-----+-------------------------------------+
| 8 | ANI Length |
+-----+---+---------------------------------+
| 16 | E | Reserved |
+-----+---+---------------------------------+
| 24 | Net-Name Len |
+-----+-------------------------------------+
| 32 | Network Name (e.g., SSID or PLMNID) |
| ... | |
+-----+-------------------------------------+
| | AP-Name Len |
+-----+-------------------------------------+
| | Access-Point Name |
| ... | |
+-----+-------------------------------------+
+-----+----------------+------+----+-------------+
| Bit | 0-7 | 8-13 | 14 | 15 |
+-----+----------------+------+----+-------------+
| 0 | Next Header | Header Extension Length |
+-----+----------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+----------------+-------------------------+
| 32 | Checksum |
+-----+-----------------------+----+-------------+
| 48 | Reserved | U | R |
+-----+-----------------------+----+-------------+
| 64 | Sequence Number |
| | |
+-----+------------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+------------------------------------------+
+-----+----------+----------+------------+
| bit | 0 | 1-7 | 8-15 |
+-----+----------+----------+------------+
| 0 | Critical | Reserved | Tag Length |
+-----+----------+----------+------------+
| 16 | Tag |
| ... | |
+-----+----------------------------------+
| ... | Value |
+-----+----------------------------------+
+--------+--------+--------+---------//--------+
|10001001| length | pointer| route data |
+--------+--------+--------+---------//--------+
Type=137
+-----+-------------+
| Bit | 0-7 |
+-----+-------------+
| 0 | Option Type |
+-----+-------------+
| 8 | N |
+-----+-------------+
| 16 | 0 |
| ... | |
+-----+-------------+
+-----+----------+---+--------------+
| Bit | 0-6 | 7 | 8-15 |
+-----+----------+---+--------------+
| 0 | Option Type | Opt Data Len |
+-----+----------+---+--------------+
| 16 | Reserved | L | Lifetime |
+-----+----------+---+--------------+
+-----+-------------+-----------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-----------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+-----------------+
| 16 | Option-Code | Reserved |
+-----+-------------+-----------------+
| 32 | Local Mobility Anchor Address |
| | |
| ... | |
+-----+-------------------------------+
+-----+--------------+-------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+-------------+
| 0 | Sub-Opt Type | Sub-Opt Len |
+-----+--------------+-------------+
| 16 | Option Data |
| ... | |
+-----+----------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Home Nonce Index |
+-----+---------------------------------------+
| 64 | Home Init Cookie |
| | |
| | |
| | |
+-----+---------------------------------------+
| 128 | Home Keygen Token |
| | |
| | |
| | |
+-----+---------------------------------------+
| 192 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+------+------+--------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+--------------+
| 0 | Type | Code | Checksum |
+-----+------+------+--------------+
| 32 | unused | Next-Hop MTU |
+-----+-------------+--------------+
| 64 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+----------------------------+
+---------------+
| ISDN-address |
+---------------+
| sa (optional) |
+---------------+
+-----+---------+
| bit | 0-7 |
+-----+---------+
| 0 | FORMAT |
+-----+---------+
| 8 | ADDRESS |
| ... | |
+-----+---------+
+--------+--------+--------+---------//--------+
|00000111| length | pointer| route data |
+--------+--------+--------+---------//--------+
Type=7
+-----+---+-------+--------+
| Bit | 0 | 1-3 | 4-7 |
+-----+---+-------+--------+
| 0 | Option Type |
+-----+--------------------+
| 8 | Opt Data Len |
+-----+---+-------+--------+
| 16 | 0 | TidTy | TidLen |
+-----+---+-------+--------+
| 24 | Identifier |
| ... | |
+-----+--------------------+
+-----+---+-------+--------+
| Bit | 0 | 1-3 | 4-7 |
+-----+---+-------+--------+
| 0 | Option Type |
+-----+--------------------+
| 8 | Opt Data Len |
+-----+---+-------+--------+
| 16 | 0 | TidTy | TidLen |
+-----+---+-------+--------+
| 24 | TaggerId |
| | |
| | |
| | |
+-----+--------------------+
| 56 | Identifier |
| ... | |
+-----+--------------------+
+-----+-------------+-----------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-----------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+-----------------+
| 16 | Domain of Interpretation |
| | |
+-----+-------------+-----------------+
| 48 | Cmpt Lengt | Sens Level |
+-----+-------------+-----------------+
| 64 | Checksum (CRC-16) |
+-----+-------------------------------+
| 80 | Compartment Bitmap (Optional) |
| ... | |
+-----+-------------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Restart Counter |
| | |
+-----+----------------------------+
+-----+--------------+
| Bit | 0-7 |
+-----+--------------+
| 0 | Option Type |
+-----+--------------+
| 8 | Opt Data Len |
+-----+--------------+
| 16 | Subtype |
+-----+--------------+
| 24 | Identifier |
| ... | |
+-----+--------------+
+-----+-------------+--------------+----------+
| Bit | 0-7 | 8-13 | 14-15 |
+-----+-------------+--------------+----------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+----------+
| 16 | Status | Prefix-len | Reserved |
+-----+-------------+--------------+----------+
| 32 | IPv4 home address |
| | |
+-----+---------------------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | FID ... |
| ... | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | FID |
+-----+----------------------------+
| 32 | FID-PRI |
+-----+-------------+--------------+
| 48 | Reserved | Status |
+-----+-------------+--------------+
| 64 | Sub-options (optional) |
| ... | |
+-----+----------------------------+
+-----+--------------+
| Bit | 0-7 |
+-----+--------------+
| 0 | Sub-Opt Type |
+-----+--------------+
| 8 | N |
+-----+--------------+
| 16 | 0 |
| ... | |
+-----+--------------+
+-----+-------+-------+------+------------------+--------------+---------------+
| Bit | 0-3 | 4-7 | 8-11 | 12-15 | 16-23 | 24-31 |
+-----+-------+-------+------+------------------+--------------+---------------+
| 0 | Next Header | Header Extension Length | Routing Type | Segments Left |
+-----+-------+-------+------+------------------+--------------+---------------+
| 32 | CmprI | CmprE | Pad | Reserved |
+-----+-------+-------+------+-------------------------------------------------+
| 64 | Address[1] |
| ... | |
+-----+------------------------------------------------------------------------+
| | Address[2] |
| ... | |
+-----+------------------------------------------------------------------------+
| . | . |
| . | . |
| . | . |
+-----+------------------------------------------------------------------------+
| | Address[n] |
| ... | |
+-----+------------------------------------------------------------------------+
| | Padding |
| ... | |
+-----+------------------------------------------------------------------------+
+-----+-------------+-------------------------+--------------+---------------+
| Bit | 0-7 | 8-15 | 16-23 | 24-31 |
+-----+-------------+-------------------------+--------------+---------------+
| 0 | Next Header | Header Extension Length | Routing Type | Segments Left |
+-----+-------------+-------------------------+--------------+---------------+
| 32 | Reserved |
+-----+----------------------------------------------------------------------+
| 64 | Home Address |
| | |
| | |
| | |
+-----+----------------------------------------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | Options |
| ... | |
+-----+---------------------------------------+
+-----+----------+------------+
| Bit | 0-7 | 8-15 |
+-----+----------+------------+
| 0 | ANI Type | ANI Length |
+-----+----------+------------+
| 16 | Option Data |
| ... | |
+-----+-----------------------+
+-----+---+----------+-------------------------+
| Bit | 0 | 3-7 | 8-15 |
+-----+---+----------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+--------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+--------------+-------------------------+
| 32 | Checksum |
+-----+----------------------------------------+
| 48 | Sequence # |
+-----+---+----------+-------------------------+
| 64 | U | Reserved | Status |
+-----+---+----------+-------------------------+
| 80 | Lifetime |
+-----+----------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+----------------------------------------+
+-----+----------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+----------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+----------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+----------------+-------------------------+
| 32 | Checksum |
+-----+----------------+-------------------------+
| 48 | # of Addresses | Reserved |
+-----+----------------+-------------------------+
| 64 | Home Agent Addresses |
| ... | |
+-----+------------------------------------------+
| | Mobility Options |
| ... | |
+-----+------------------------------------------+
+-----+---+---+---+---+---+---+---+---+---+---+-----------------+
| Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10-15 |
+-----+---+---+---+---+---+---+---+---+---+---+-----------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------------------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------------------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------------------------+
| 48 | Sequence # |
+-----+---+---+---+---+---+---+---+---+---+---+-----------------+
| 64 | A | H | L | K | M | R | P | F | T | B | Reserved |
+-----+---+---+---+---+---+---+---+---+---+---+-----------------+
| 80 | Lifetime |
+-----+---------------------------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+---------------------------------------------------------+
+-----+-------------+--------------+--------+--------------+
| Bit | 0-7 | 8-15 | 16-31 | |
+-----+-------------+--------------+--------+--------------+
| 0 | Record Type | Aux Data Len | Number of Sources (N) |
+-----+-------------+--------------+--------+--------------+
| 32 | Multicast Address |
+-----+----------------------------------------------------+
| 64 | Source Address [1] |
+-----+----------------------------------------------------+
| 96 | Source Address [2] |
+-----+----------------------------------------------------+
. . . .
. . . .
+-----+----------------------------------------------------+
| 32 | Source Address [N] |
| + | |
| 32N | |
+-----+----------------------------------------------------+
| 64 | Auxiliary Data |
. + . .
. 32N . .
. . .
| | |
+-----+----------------------------------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 0 | Identifier | Sequence Number |
+-----+-------------+-----------------+
| 32 | Data... |
+-----+-------------------------------+
+-----+-----+-----+------+------------------+
| bit | 0-2 | 3 | 4-15 | 16-31 |
+-----+-----+-----+------+------------------+
| 0 | TCI | EtherType/Length |
+-----+-----+-----+------+------------------+
| 0 | PCP | CFI | VID | EtherType/Length |
+-----+-----+-----+------+------------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | TS Value |
| | (TSval) |
+-----+---------------+
| 48 | TS Echo Reply |
| | (TSecr) |
+-----+---------------+
+-----+------+----------+
| Bit | 0-7 | 8-15 |
+-----+------+----------+
| 0 | Kind | Length |
+-----+------+----------+
| 16 | 4 bytes of info |
| | to be echoed |
+-----+-----------------+
+-----+-------------+----------+----+-----+-----+-----+-----+-----+-----+-----+-----+------------------+
| Bit | 0-3 | 4-6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16-31 |
+-----+-------------+----------+----+-----+-----+-----+-----+-----+-----+-----+-----+------------------+
| 0 | Source Port | Destination Port |
+-----+-----------------------------------------------------------------------------+------------------+
| 32 | Sequence Number |
+-----+------------------------------------------------------------------------------------------------+
| 64 | Acknowledgment Number |
+-----+-------------+----------+----+-----+-----+-----+-----+-----+-----+-----+-----+------------------+
| 96 | Data Offset | Reserved | NS | CWR | ECE | URG | ACK | PSH | RST | SYN | FIN | Window |
+-----+-------------+----------+----+-----+-----+-----+-----+-----+-----+-----+-----+------------------+
| 128 | Checksum | Urgent Pointer |
+-----+-----------------------------------------------------------------------------+------------------+
| 160 | Options + Padding |
| ... | |
+-----+------------------------------------------------------------------------------------------------+
+--------+--------+--------+--------+
|10001000|00000010| Stream ID |
+--------+--------+--------+--------+
Type=136 Length=4
This option provides a way for the 16-bit SATNET stream identifier to be carried through networks that do not support the stream concept.
Must be copied on fragmentation.
Appears at most once in a datagram.
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Timestamp |
| | |
| | |
| | |
+-----+----------------------------+
+-----+-------------+---------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+---------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+---------------+
| 16 | Permanent Home Keygen Token |
| ... | |
+-----+-----------------------------+
+-----+--------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+--------------+
| 16 | Home Nonce Index |
+-----+-----------------------------+
| 32 | Care-of Nonce Index |
+-----+-----------------------------+
+-----+-------------+---------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+---------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+---------------+
| 16 | Option-Code | Prefix Length |
+-----+-------------+---------------+
| 32 | IPv6 Address/Prefix |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+-----------------------------+
+-----+--------------+-------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+-------------+
| 0 | Sub-Opt Type | Sub-Opt Len |
+-----+--------------+-------------+
| 16 | BIDs |
| ... | |
+-----+----------------------------+
+-----+------+------+------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+------------+
| 0 | Type | Code | Checksum |
+-----+------+------+------------+
| 0 | Gateway Internet Address |
+-----+--------------------------+
| 32 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+--------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 0 | Identifier | Sequence Number |
+-----+-------------+-----------------+
| 32 | Data... |
+-----+-------------------------------+
+------+-----------------+------------+------------------+
| Byte | 0-5 | 6-11 | 12-13 |
+------+-----------------+------------+------------------+
| 0 | MAC Destination | MAC Source | EtherType/Length |
+------+-----------------+------------+------------------+
| 14 | Data |
+------+-------------------------------------------------+
+-----+------------+
| bit | 0-15 |
+-----+------------+
| 0 | Preference |
+-----+------------+
| 16 | MAP822 |
| ... | |
+-----+------------+
| | MAPX400 |
| ... | |
+-----+------------+
+-----+----------+
| bit | 0-15 |
+-----+----------+
| 0 | Priority |
+-----+----------+
| 16 | Weight |
+-----+----------+
| 32 | Port |
+-----+----------+
| 48 | Target |
| ... | |
+-----+----------+
+-----+-------------------+
| bit | 0-15 |
+-----+-------------------+
| 0 | preference |
+-----+-------------------+
| 16 | intermediate-host |
| ... | |
+-----+-------------------+
+-----------+
| LONGITUDE |
+-----------+
| LATITUDE |
+-----------+
| ALTITUDE |
+-----------+
0 8 16 24
+-+---+---------+---------------+-------------------------------+
|F| C | Number | Length | ID Number |
+-+---+-------------------------+-------------------------------+
| Outbound Hop Count | Return Hop Count |
+-------------------------------+-------------------------------+
| Originator IP Address |
+---------------------------------------------------------------+
+-----+------------+
| Bit | 0-7 |
+-----+------------+
| 0 | Kind |
+-----+------------+
| 8 | Length |
+-----+------------+
| 16 | KeyId |
+-----+------------+
| 24 | RNextKeyId |
+-----+------------+
| 32 | MAC |
| ... | |
+-----+------------+
+-----+-------------+--------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------+
| 0 | Option Type | 4 |
+-----+-------------+--------+
| 16 | Jumbo Payload Length |
| | |
+-----+----------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Nonce Value |
| ... | |
+-----+----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Identifier |
| ... | |
+-----+----------------------------+
+-----+--------------+---------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+---------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+---------------+
| 16 | Reserved | Prefix Length |
+-----+--------------+---------------+
| 32 | Mobile Network Prefix |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+------------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Reserved |
+-----+---------------------------------------+
| 64 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+-------------+-------------------------+
| 48 | Message Data |
| ... | |
+-----+---------------------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Care-of Nonce Index |
+-----+---------------------------------------+
| 64 | Care-of Init Cookie |
| | |
| | |
| | |
+-----+---------------------------------------+
| 128 | Care-of Keygen Token |
| | |
| | |
| | |
+-----+---------------------------------------+
| 192 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+--------------+-----------+--------+
| bit | 0-15 | 16-23 | 24-31 |
+-----+--------------+-----------+--------+
| 0 | type covered | algorithm | labels |
+-----+--------------+-----------+--------+
| 32 | original TTL |
+-----+-----------------------------------+
| 64 | signature expiration |
+-----+-----------------------------------+
| 96 | signature inception |
+-----+--------------+--------------------+
| 128 | key tag | |
+-----+--------------+ signer's name |
| ... | |
+-----+-----------------------------------+
| | signature |
| ... | |
+-----+-----------------------------------+
+-----+-------------------+
| bit | 0-15 |
+-----+-------------------+
| 0 | PREFERENCE |
+-----+-------------------+
| 16 | EXCHANGER |
| ... | |
+-----+-------------------+
+-----+--------------+
| bit | 0-7 |
+-----+--------------+
| 0 | precedence |
+-----+--------------+
| 8 | gateway type |
+-----+--------------+
| 16 | algorithm |
+-----+--------------+
| 24 | gateway |
| ... | |
+-----+--------------+
| | public key |
| ... | |
+-----+--------------+
+-----+--------+---+-----------+
| bit | 0-7 | 8 | 9-15 |
+-----+--------+---+-----------+
| 0 | ADDRESSFAMILY |
+-----+--------+---+-----------+
| 16 | PREFIX | N | AFDLENGTH |
+-----+--------+---+-----------+
| 32 | AFDPART |
| ... | |
+-----+------------------------+
+-----+------------------------+------------------------+-----------------------------------------------+
| bit | 0-7 | 8-15 | 16-31 |
+-----+------------------------+------------------------+-----------------------------------------------+
| 0 | Hardware type (HTYPE) | Protocol type (PTYPE) |
+-----+------------------------+------------------------+-----------------------------------------------+
| 32 | Hardware length (HLEN) | Protocol length (PLEN) | Operation (OPER) |
+-----+------------------------+------------------------+-----------------------------------------------+
| 64 | Sender hardware address (SHA) (first 32 bits) |
+-----+-------------------------------------------------+-----------------------------------------------+
| 96 | Sender hardware address (SHA) (last 16 bits) | Sender protocol address (SPA) (first 16 bits) |
+-----+-------------------------------------------------+-----------------------------------------------+
| 128 | Sender protocol address (SPA) (last 16 bits) | Target hardware address (THA) (first 16 bits) |
+-----+-------------------------------------------------+-----------------------------------------------+
| 160 | Target hardware address (THA) (last 32 bits) |
+-----+-------------------------------------------------------------------------------------------------+
| 192 | Target protocol address (TPA) |
+-----+-------------------------------------------------------------------------------------------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | Connection |
| | Count |
+-----+---------------+
+-----+---+----------+
| Bit | 0 | 1-7 |
+-----+---+----------+
| 0 | Option Type |
+-----+--------------+
| 8 | Opt Data Len |
+-----+---+----------+
| 16 | 1 | Hash |
+-----+---+ Assist |
| ... | Value (HAV) |
+-----+--------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | Timestamp |
| | |
| | |
| | |
+-----+----------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Sequence # |
+-----+---------------------------------------+
| 64 | Reserved |
+-----+---------------------------------------+
| 80 | Lifetime |
+-----+---------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+-------------+---+---------------------+
| Bit | 0-7 | 8 | 9-15 |
+-----+-------------+---+---------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+-------------+---+---------------------+
| 48 | Status | K | Reserved |
+-----+-------------+---+---------------------+
| 64 | Sequence # |
+-----+---------------------------------------+
| 80 | Lifetime |
+-----+---------------------------------------+
| 96 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+---------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+---------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+---------+------+-----------+
| 32 | Pointer | unused |
+-----+---------+------------------+
| 64 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+----------------------------+
+-----+-------+----------+-----------+
| bit | 0-15 | 16-23 | 24-31 |
+-----+-------+----------+-----------+
| 0 | flags | protocol | algorithm |
+-----+-------+----------+-----------+
| 32 | public key |
| ... | |
+-----+------------------------------+
+-----+-----------+------+------------+
| bit | 0-7 | 8-15 | 16-31 |
+-----+-----------+------+------------+
| 0 | type | key tag |
+-----+-----------+------+------------+
| 32 | algorithm | certificate or CRL|
+-----+-----------+ |
| | |
| ... | |
+-----+-------------------------------+
+-----+-------------+----------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+----------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+----------------+
| 16 | Reserved | Address Length |
+-----+-------------+----------------+
| 32 | MAG IPv6 Address |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+------------------------------+
+-----+--------------+
| Bit | 0-7 |
+-----+--------------+
| 0 | Option Type |
+-----+--------------+
| 8 | Opt Data Len |
+-----+--------------+
| 16 | Option-Code |
+-----+--------------+
| 24 | LLA |
| ... | |
+-----+--------------+
+-----+----------+------------+
| Bit | 0-7 | 8-15 |
+-----+----------+------------+
| 0 | Req-type | Req-length |
+-----+----------+------------+
| 16 | Req-option |
| ... | |
+-----+-----------------------+
+-----+---------------------+
| Bit | 0-7 |
+-----+---------------------+
| 0 | Option Type |
+-----+---------------------+
| 8 | Opt Data Len |
+-----+---------------------+
| 16 | Subtype |
+-----+---------------------+
| 24 | Mobility SPI |
| | |
| | |
| | |
+-----+---------------------+
| 56 | Authentication Data |
| ... | |
+-----+---------------------+
+-----+--------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+--------------+
| 16 | Alternate Care-of Address |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+-----------------------------+
+-----+-------------+-------------------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-------------+-------------------------+
| 32 | Checksum |
+-----+---------------------------------------+
| 48 | Reserved |
+-----+---------------------------------------+
| 64 | Care-of Init Cookie |
| | |
| | |
| | |
+-----+---------------------------------------+
| 128 | Mobility Options |
| ... | |
+-----+---------------------------------------+
+-----+---+---+---+-----+-------------------------+
| Bit | 0 | 1 | 2 | 3-7 | 8-15 |
+-----+---+---+---+-----+-------------------------+
| 0 | Next Header | Header Extension Length |
+-----+-----------------+-------------------------+
| 16 | MH Type | Reserved |
+-----+-----------------+-------------------------+
| 32 | Checksum |
+-----+-----------------+-------------------------+
| 48 | B.R. Type | Status |
+-----+-----------------+-------------------------+
| 64 | Sequence # |
+-----+---+---+---+-------------------------------+
| 80 | P | V | G | Reserved |
+-----+---+---+---+-------------------------------+
| 96 | Mobility options |
| ... | |
+-----+-------------------------------------------+
Trailer = "Trailer" ":" 1#field-name
An HTTP/1.1 message should include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer.
Doing so allows the recipient to know which header fields to expect in the trailer.
If no Trailer header field is present, the trailer should not include any header fields.
Message header fields listed in the Trailer header field must not include the following header fields:
* Transfer-Encoding.
* Content-Length.
* Trailer.
Content-Type = "Content-Type" ":" media-type
An example of the field is
Content-Type: text/html; charset=ISO-8859-4
+-----+---+---+--------------+----+----------+------+--------+-------+-------+----------+-------+
| bit | 0 | 1 | 2 | 3 | 4 | 5 | 6-7 | 8 | 9 | 10-11 | 12-15 |
+-----+---+---+--------------+----+----------+------+--------+-------+-------+----------+-------+
| 0 | A | C | experimental | XT | Reserved | user | NAMTYP | IPSEC | email | Reserved | SIG |
+-----+---+---+--------------+----+----------+------+--------+-------+-------+----------+-------+
| 16 | protocol | algorithm |
+-----+------------------------------------------------------+----------------------------------+
| 32 | Flags extension (optional) |
+-----+-----------------------------------------------------------------------------------------+
| 32 | public key |
| or | |
| 48 | |
| ... | |
+-----+-----------------------------------------------------------------------------------------+
+-----+----------+----------+--------+----------+--------------------+
| bit | 0-6 | 7 | 8 | 9-14 | 15 |
+-----+----------+----------+--------+----------+--------------------+
| 0 | Reserved | Zone Key | Revoke | Reserved | Secure Entry Point |
+-----+----------+----------+--------+----------+--------------------+
| 16 | Protocol | Algorithm |
+-----+---------------------+----------------------------------------+
| 32 | Public Key |
| ... | |
+-----+--------------------------------------------------------------+
+-----+------+--------+
| Bit | 0-7 | 8-15 |
+-----+------+--------+
| 0 | Kind | Length |
+-----+------+--------+
| 16 | max seg size |
+-----+---------------+
+-----+--------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+--------------+
| 16 | Link-local Address |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----+-----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | CGA Parameters |
| ... | |
+-----+----------------------------+
+-----+--------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+--------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+--------------+--------------+
| 16 | Refresh Interval |
+-----+-----------------------------+
+-----+-------------+--------------+
| Bit | 0-7 | 8-15 |
+-----+-------------+--------------+
| 0 | Option Type | Opt Data Len |
+-----+-------------+--------------+
| 16 | ANI Sub-option(s) |
| ... | |
+-----+----------------------------+
+-----+------+------+----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+----------+
| 0 | Type | Code | Checksum |
+-----+------+------+----------+
| 32 | Reserved | Pointer |
+-----+-------------+----------+
| 64 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+------------------------+
+-----+------+------+-----------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------+
| 32 | unused |
+-----+-------------------------+
| 64 | Internet Header |
| | + 64 bits of |
| | Original Data Datagram |
+-----+-------------------------+
+-----+------+------+-----------------+
| Bit | 0-7 | 8-15 | 16-31 |
+-----+------+------+-----------------+
| 0 | Type | Code | Checksum |
+-----+------+------+-----------------+
| 32 | Identifier | Sequence Number |
+-----+-------------+-----------------+
+------------+
| mbox-dname |
+------------+
| txt-dname |
+------------+
+-----+-------------+----------+--------+------------+
| bit | 0-7 | 8-14 | 15 | 16-31 |
+-----+-------------+----------+--------+------------+
| 0 | Hash Alg | Reserved | OptOut | Iterations |
+-----+-------------+----------+--------+------------+
| 32 | Salt Length | Salt |
+-----+-------------+ |
| ... | |
+-----+-------------+--------------------------------+
| | Hash Length | Next Hashed Owner Name |
+-----+-------------+ |
| ... | |
+-----+----------------------------------------------+
| | Type Bit Maps |
| ... | |
+-----+----------------------------------------------+
+-----+------------+
| bit | 0-15 |
+-----+------------+
| 0 | PREFERENCE |
+-----+------------+
| 16 | EXCHANGE |
| ... | |
+-----+------------+
+-----+----+--------+----+----+----+----+---+----+----+-------+
| bit | 0 | 1-4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12-15 |
+-----+----+--------+----+----+----+----+---+----+----+-------+
| 0 | ID |
+-----+----+--------+----+----+----+----+---+----+----+-------+
| 16 | QR | Opcode | AA | TC | RD | RA | Z | AD | CD | RCODE |
+-----+----+--------+----+----+----+----+---+----+----+-------+
| 32 | QDCOUNT |
+-----+-------------------------------------------------------+
| 48 | ANCOUNT |
+-----+-------------------------------------------------------+
| 64 | NSCOUNT |
+-----+-------------------------------------------------------+
| 80 | ARCOUNT |
+-----+-------------------------------------------------------+
| 96 | Question - the question for the name server |
+-----+-------------------------------------------------------+
| | Answer - RRs answering the question |
+-----+-------------------------------------------------------+
| | Authority - RRs pointing toward an authority |
+-----+-------------------------------------------------------+
| | Additional - RRs holding additional information |
+-----+-------------------------------------------------------+
The header section is always present.
The header includes fields that specify which of the remaining sections are present,
and also specify whether the message is a query or a response, a standard query or some other opcode, etc.
The names of the sections after the header are derived from their use in standard queries.
The question section contains fields that describe a question to a name server.
These fields are a query type (QTYPE), a query class (QCLASS), and a query domain name (QNAME).
The last three sections have the same format: a possibly empty list of concatenated resource records (RRs).
The answer section contains RRs that answer the question; the authority section contains RRs that point toward an authoritative name server;
the additional records section contains RRs which relate to the query, but are not strictly answers for the question.