2.2.2.3 REQUEST
The REQUEST message is sent by a Resolver to a Publisher so that it can request a route entry for a given key in the Publisher's cache, as seen in an ADVERTISE message.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FieldID1 |
Length1 |
||||||||||||||||||||||||||||||
Reserved |
|||||||||||||||||||||||||||||||
FieldID2 |
Length2 |
||||||||||||||||||||||||||||||
Size |
Offset |
||||||||||||||||||||||||||||||
FieldID3 |
Length3 |
||||||||||||||||||||||||||||||
Nonce (16 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
FieldID4 |
Length4 |
||||||||||||||||||||||||||||||
NumEntries |
ArrayLength |
||||||||||||||||||||||||||||||
ElementFieldType |
EntryLength |
||||||||||||||||||||||||||||||
IDList (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
FieldID5 (optional) |
Length5 (optional) |
||||||||||||||||||||||||||||||
Credential (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
FieldID6 (optional) |
Length6 (optional) |
||||||||||||||||||||||||||||||
Signature (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
FieldID7 (optional) |
Length7 (optional) |
||||||||||||||||||||||||||||||
KeyIdentifier (variable) |
|||||||||||||||||||||||||||||||
... |
FieldID1 (2 bytes): If present, this field MUST be set to 0x0040 (FLAGS_FIELD). MUST be present if and only if the protocol is executing in membership or confidential security mode.
Length1 (2 bytes): If present, this field MUST be set to 0x0006. MUST be present if and only if FieldID1 is present.
Reserved (4 bytes): If present, this field MUST be set to zero and ignored on receipt. MUST be present if and only if FieldID1 is present.
FieldID2 (2 bytes): MUST be set to 0x0098 (SPLIT_CONTROLS). MUST be present if and only if the protocol is executing in membership or confidential security mode.
Length2 (2 bytes): MUST be set to 0x0008. MUST be present if and only if FieldID2 is present.
Size (2 bytes): Size, in bytes, of the remainder of the message, starting from FieldID3 (inclusive). This field MUST NOT be greater than 0x91E4 (37348), which is large enough to hold a Certificate Chain and a maximum-sized extended payload. MUST be present if and only if FieldID2 is present.
Offset (2 bytes): Byte offset, in network byte order, of the message fragment in the original message. It MUST be a multiple of 1188. MUST be present if and only if FieldID2 is present.
FieldID3 (2 bytes): MUST be set to 0x0093 (NONCE).
Length3 (2 bytes): MUST be set to 0x0014 (20 bytes).
Nonce (16 bytes): The nonce for the conversation.
FieldID4 (2 bytes): MUST be set to 0x0060 (DRT_ID_ARRAY).
Length4 (2 bytes): MUST be set to 12+(NumEntries*EntryLength).
NumEntries (2 bytes): The number of keys in the IDList field. This field MUST be in the range 0x0000 to 0x7FFF.
ArrayLength (2 bytes): The length of the array of entries. This field MUST be set to 8+(NumEntries*EntryLength).
ElementFieldType (2 bytes): The type of entries in the array. This field MUST be set to 0x0030 (DRT_ID).
EntryLength (2 bytes): The length, in bytes, of each array element. This field MUST be set to 0x20 (32 bytes).
IDList (variable): A set of 32-byte keys.
FieldID5 (2 bytes): Optional. MUST be set to 0x0080 (CREDENTIAL). MUST be present if and only if the protocol is executing in membership or confidential security mode.
Length5 (2 bytes): Optional. MUST be present if and only if FieldID5 is present. If present, it MUST be set to 4 plus the length in bytes of the Credential field.
Credential (variable): Optional. MUST be present if and only if FieldID5 is present. Contains a Credential structure defined in the security profile and provided by the upper-layer application.
FieldID6 (2 bytes): Optional. MUST be set to 0x00A5 (SIGNATURE). MUST be present if and only if the protocol is executing in membership or confidential security mode.
Length6 (2 bytes): Optional. MUST be present if and only if FieldID6 is present. If present, it MUST be set to 4 plus the length in bytes of the Signature field.
Signature (variable): Optional. MUST be present if and only if FieldID6 is present. Contains a Signature structure defined in the security profile and provided by the upper-layer application. The signature is calculated over the IDList field.
FieldID7 (2 bytes): Optional. MUST be set to 0x00A6 (KEY_IDENTIFIER). MUST be present if and only if the protocol is executing in membership or confidential security mode.
Length7 (2 bytes): Optional. MUST be present if and only if FieldID7 is present. If present, it MUST be set to 4 plus the length in bytes of the KeyIdentifier field.
KeyIdentifier (variable): Optional. MUST be present if and only if FieldID7 is present. Contains a Key Identifier structure defined in the security profile and provided by the upper-layer application. This field is used to indicate which portion of the Credential field is used to generate the Signature field.