RRRequest.seq - Requesting Router transmit Request messages to populate IA_PD with delegated prefix
Router for DHCP client
RRRequest.seq [-tooloption ...] -pkt RRRequest.def -tooloption : v6eval tool option
TN TN1
| | ISP site
--+----+---+----------- Link0
|
NUT Host
| | Customer site
-------+-------+------- Link1 3ffe:501:fffb:XXXX::/64
| TN (Preference 200) |
Link-local |
fe80::200:ff:fe00:a0a0 |
| Ether |
00:00:00:00:a0:a0 |
| Delegate Prefix |
3ffe:501:fffb:: |
| Prefix Length |
48 |
| TN1 (Preference 100) |
Link-local |
fe80::200:ff:fe00:a1a1 |
| Ether |
00:00:00:00:a1:a1 |
| Delegate Prefix |
3ffe:501:fffb:: |
| Prefix Length |
48 |
| Host |
Link-local |
fe80::200:ff:fe00:101 |
| ether |
00:00:00:00:01:01 |
- NUT sets up Prefix Delegation.
- NUT sets up Router Advertisement to the interface by the side of downstream.
Tester as Server Target as Client Tester as Host
| | |
|<--------------------------| |
| DHCP Solicit message | |
| | |
|-------------------------->| |
| DHCP Advertise messages | |
| with Preference option | |
| containing preference | |
| value: 200 | |
| | |
|-------------------------->| |
| DHCP Advertise messages | |
| with Preference option | |
| containing preference | |
| value: 100 | |
| | |
1. Wait DHCP Solicit message
2. Send DHCP Advertise messages with preference value 200
3. Send DHCP Advertise messages with preference value 100
Addresses
Solicit message
| Src |
NUT link-local address |
| Dst |
All_DHCP_Relay_Agents_and_Servers |
All_DHCP_Relay_Agents_and_Servers FF02::1:2
Advertise message
| Src |
fe80::200:ff:fe00:a0a0 |
| Dst |
NUT link-local address |
UDP Ports
Clients listen for DHCP messages on UDP port 546
Server listen for DHCP messages on UDP port 547
DHCP Messages
DHCP Solicit message
| msg-type |
SOLICIT(1) |
| transaction-id |
The transaction ID for this message exchange |
| options |
| Client Identifier Option (MUST) |
| IA_PD Option (MUST) |
| |
Code |
33 (TBD) |
| |
IAID |
The unique identifier which client specified |
| |
T1 |
ANY |
| |
T2 |
ANY |
| Elapsed Time Option (MUST) |
| |
elapsed-time |
ANY |
| Option Request Option (Optional) |
DHCP Advertise message 1 with Preference option including pref-value 200
| msg-type |
ADVERTISE(2) |
| transaction-id |
The same transaction ID previous message |
| options |
| Client Identifier Option |
| Server Identifier Option |
| |
DUID Contents type |
1 Link-layer address plus time |
| |
hardware type |
1 Ether |
| |
time |
Time which the server included |
| |
link-layer address |
00:00:00:00:a0:a0 |
| Preference Option |
| |
pref-value |
200 |
| IA_PD Option |
| |
Code |
33 (TBD) |
| |
IAID |
Unique identifier which client specified |
| |
T1 |
40 |
| |
T2 |
64 |
| |
IA_PD Prefix Option |
| |
|
Code |
34 (TBD) |
| |
|
preferred-lifetime |
80 |
| |
|
valid-lifetime |
120 |
| |
|
prefix-length |
48 |
| |
|
IPv6 prefix |
3ffe:501:fffb:: |
DHCP Advertise message 2 with Preference option including pref-value 100
| msg-type |
ADVERTISE(2) |
| transaction-id |
The same transaction ID previous message |
| options |
| Client Identifier Option |
| Server Identifier Option |
| |
DUID Contents type |
1 Link-layer address plus time |
| |
hardware type |
1 Ether |
| |
time |
Time which the server included |
| |
link-layer address |
00:00:00:00:a1:a1 |
| Preference Option |
| |
pref-value |
100 |
| IA_PD Option |
| |
Code |
33 (TBD) |
| |
IAID |
Unique identifier which client specified |
| |
T1 |
300 |
| |
T2 |
480 |
| |
IA_PD Prefix Option |
| |
|
Code |
34 (TBD) |
| |
|
preferred-lifetime |
600 |
| |
|
valid-lifetime |
1200 |
| |
|
prefix-length |
48 |
| |
|
IPv6 prefix |
3ffe:501:fffd:: |
Tester as PE Target as CPE Tester as client
| | |
|<--------------------------| |
| Judgment #1 | |
| DHCP Request message | |
| | |
| : | |
| Judgment #2 | |
| Contining REQ_MAX_RC(10) | |
| times | |
| : | |
| | |
|<--------------------------| |
| Judgment #3 | |
| DHCP Request message | |
| to TN1's DUID | |
| or | |
| DHCP Solicit message | |
| | |
| | |
v v
1. Wait until receiving DHCP Request message REQ_MAX_RC(10) times.
2. NUT takes an action based on the client's local policy.
- Select another server from a list of servers known to the client;
for example, servers that responded with an Advertise message
- Initiate the server discovery process described in section 17
- Terminate the configuration process and report failure
Addresses
Request messages
| Src |
NUT link-local address |
| Dst |
All_DHCP_Relay_Agents_and_Servers |
All_DHCP_Relay_Agents_and_Servers FF02::1:2
UDP Ports
Clients listen for DHCP messages on UDP port 546
Server listen for DHCP messages on UDP port 547
DHCP Messages
DHCP Request message with IA_PD option including TNs DUID
| msg-type |
REQUEST(3) |
| transaction-id |
The transaction ID for this message exchange |
| options |
| Client Identifier Option (MUST) |
| Server Identifier Option (MUST) |
| |
DUID Contents type |
1 Link-layer address plus time |
| |
hardware type |
1 Ether |
| |
time |
Time which the server included |
| |
link-layer address |
00:00:00:00:a0:a0 |
| IA_PD Option (MUST) |
| |
Code |
33 (TBD) |
| |
IAID |
Unique identifier which client specified |
| |
T1 |
ANY |
| |
T2 |
ANY |
| |
IA_PD Prefix Option (Optional) |
| |
|
Code |
34 (TBD) |
| |
|
preferred-lifetime |
ANY |
| |
|
valid-lifetime |
ANY |
| |
|
prefix-length |
48 |
| |
|
IPv6 prefix |
3ffe:501:fffb:: |
| Elapsed Time Option (MUST) |
| |
elapsed-time |
ANY |
| Option Request Option (Optional) |
DHCP Request message with IA_PD option including TN1s DUID
| msg-type |
REQUEST(3) |
| transaction-id |
The transaction ID for this message exchange |
| options |
| Client Identifier Option (MUST) |
| Server Identifier Option (MUST) |
| |
DUID Contents type |
1 Link-layer address plus time |
| |
hardware type |
1 Ether |
| |
time |
Time which the server included |
| |
link-layer address |
00:00:00:00:a1:a1 |
| IA_PD Option (MUST) |
| |
Code |
33 (TBD) |
| |
IAID |
Unique identifier which client specified |
| |
T1 |
ANY |
| |
T2 |
ANY |
| |
IA_PD Prefix Option (Optional) |
| |
|
Code |
34 (TBD) |
| |
|
preferred-lifetime |
ANY |
| |
|
valid-lifetime |
ANY |
| |
|
prefix-length |
48 |
| |
|
IPv6 prefix |
3ffe:501:fffb:: |
| Elapsed Time Option (MUST) |
| |
elapsed-time |
ANY |
| Option Request Option (Optional) |
DHCP Solicit message is same above.
1. DHCP Request message is recieved
2. DHCP Request message is received to REQ_MAX_RC(10) times.
3. NUT takes an action based on the client's local policy.
N/A
draft-ietf-dhc-dhcpv6-opt-prefix-delegation-01.txt
11. Requesting router initiated prefix delegation
A requesting router uses the same message exchanges as described in
section "DHCP Client-Initiated Configuration Exchange" of the DHCP
specification [6] to obtain or update prefix(es) from a delegating
router. The requesting router and the delegating router use the
IA_PD Prefix option to exchange information about prefix(es) in much
the same way IA Address options are used for assigned addresses.
11.1 Requesting router behaviour
The requesting router uses a Request message to populate IA_PDs with
prefixes. The requesting router includes one or more IA_PD options
in the Request message. The delegating router then returns the
prefixes for the IA_PDs to the requesting router in IA_PD options in
a Reply message.
draft-ietf-dhc-dhcpv6-28.txt
14. Reliability of Client Initiated Message Exchanges
see the retransmission mechanism
15. Message Validation
15.4. Request Message
Clients MUST discard any received Request messages.
Servers MUST discard any received Request message that meet any of
the following conditions:
- the message does not include a Server Identifier option
- the contents of the Server Identifier option do not match the
server's DUID
- the message does not include a Client Identifier option
18. DHCP Client-Initiated Configuration Exchange
A client initiates a message exchange with a server or servers
to acquire or update configuration information of interest. The
client may initiate the configuration exchange as part of the
operating system configuration process, when requested to do
so by the application layer, when required by Stateless Address
Autoconfiguration or as required to extend the lifetime of an address
(Renew and Rebind messages).
18.1. Client Behavior
A client uses Request, Renew, Rebind, Release and Decline messages
during the normal life cycle of addresses. It uses Confirm to
validate addresses when it may have moved to a new link. It uses
Information-Request messages when it needs configuration information
but no addresses.
If the client has a source address of sufficient scope that can be
used by the server as a return address and the client has received
a Server Unicast option (section 22.12) from the server, the client
SHOULD unicast any Request, Renew, Release and Decline messages to
the server.
DISCUSSION:
Use of unicast may avoid delays due to relaying of messages
by relay agents as well as avoid overhead and duplicate
responses by servers due to delivery of client messages to
multiple servers. Requiring the client to relay all DHCP
messages through a relay agent enables the inclusion of
relay agent options in all messages sent by the client. The
server should enable the use of unicast only when relay
agent options will not be used.
18.1.1. Creation and Transmission of Request Messages
The client uses a Request message to populate IAs with addresses and
obtain other configuration information. The client includes one or
more IA options in the Request message. The server then returns
addresses and other information about the IAs to the client in IA
options in a Reply message.
The client generates a transaction ID and inserts this value in the
"transaction-id" field.
The client places the identifier of the destination server in a
Server Identifier option.
The client MUST include a Client Identifier option to identify itself
to the server. The client adds any other appropriate options,
including one or more IA options (if the client is requesting that
the server assign it some network addresses).
The client MUST include an Option Request option (see section 22.7)
to indicate the options the client is interested in receiving. The
client MAY include options with data values as hints to the server
about parameter values the client would like to have returned.
The client includes a Reconfigure Accept option (see section
indicating whether or not the client is willing to accept Reconfigure
messages from the server.
The client transmits the message according to section 14, using the
following parameters:
IRT REQ_TIMEOUT
MRT REQ_MAX_RT
MRC REQ_MAX_RC
MRD 0
If the message exchange fails, the client takes an action based on
the client's local policy. Examples of actions the client might take
include:
- Select another server from a list of servers known to the client;
for example, servers that responded with an Advertise message
- Initiate the server discovery process described in section 17
- Terminate the configuration process and report failure
5.5. Transmission and Retransmission Parameters
This section presents a table of values used to describe the message
transmission behavior of clients and servers.
Parameter Default Description
-------------------------------------
REQ_TIMEOUT 1 sec Initial Request timeout
REQ_MAX_RT 30 secs Max Request timeout value
REQ_MAX_RC 10 Max Request retry attempts
24.2. DHCP Message Types
IANA is requested to record the following message types (defined
in section 5.3). IANA is requested to maintain a registry of DHCP
REQUEST 3
A. Appearance of Options in Message Types
The following table indicates with a "*" the options are allowed in
each DHCP message type:
Client Server IA_NA Option Pref Time Relay Auth. Server
ID ID IA_TA Request Msg. Unica.
Request * * * * * *
Status Rap. User Vendor Vendor Inter. Recon. Recon.
Code Comm. Class Class Spec. ID Msg. Accept
Request * * * *
perldoc V6evalTool