The IKE Header
IKE messages use UDP ports 500 and/or 4500, with one IKE message per
UDP datagram. Information from the beginning of the packet through
the UDP header is largely ignored except that the IP addresses and
UDP ports from the headers are reversed and used for return packets.
When sent on UDP port 500, IKE messages begin immediately following
the UDP header. When sent on UDP port 4500, IKE messages have
prepended four octets of zeros. These four octets of zeros are not
part of the IKE message and are not included in any of the length
fields or checksums defined by IKE. Each IKE message begins with the
IKE header, denoted HDR in this document. Following the header are
one or more IKE payloads each identified by a Next Payload field in
the preceding payload. Payloads are identified in the order in which
they appear in an IKE message by looking in the Next Payload field in
the IKE header, and subsequently according to the Next Payload field
in the IKE payload itself until a Next Payload field of zero
indicates that no payloads follow. If a payload of type "Encrypted"
is found, that payload is decrypted and its contents parsed as
additional payloads. An Encrypted payload MUST be the last payload
in a packet and an Encrypted payload MUST NOT contain another
Encrypted payload.
The responder's SPI in the header identifies an instance of an IKE
Security Association. It is therefore possible for a single instance
of IKE to multiplex distinct sessions with multiple peers, including
multiple sessions per peer.
All multi-octet fields representing integers are laid out in big
endian order (also known as "most significant byte first", or
"network byte order").
Defined in RFC7296 section 3.1
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static