NAME

  RRReleaseRetransmitMRC.seq - Requesting Router retransmits Release messages REL_MAX_MRC(5) times.


TARGET

  Router for DHCP client


SYNOPSIS

  RRReleaseRetransmitMRC.seq [-tooloption ...] -pkt RRReleaseRetransmitMRC.def -tooloption : v6eval tool option


TOPOLOGY

   TN
    |                     ISP site
  --+----+--------------- Link0
         |
        NUT     Host
         |       |        Customer site
  -------+-------+------- Link1 3ffe:501:fff1:XXXX::/64
TN Link-local fe80::200:ff:fe00:a0a0
Ether 00:00:00:00:a0:a0
Delegate Prefix 3ffe:501:fff1::
Prefix Length 48
Host Link-local fe80::200:ff:fe00:101
ether 00:00:00:00:01:01
  1. NUT sets up Prefix Delegation.

Tester as Server          Target as Client        Tester as Host
    |                           |                           |
    |<--------------------------|                           |
    |   DHCP Solicit message    |                           |
    |                           |                           |
    |-------------------------->|                           |
    |   DHCP Advertise message  |                           |
    |                           |                           |
    |<--------------------------|                           |
    |   DHCP Request message    |                           |
    |                           |                           |
    |-------------------------->|                           |
    |   DHCP Reply message      |                           |
    |                           |                           |

1. Wait DHCP Solicit message 2. Send DHCP Advertise message 3. Wait DHCP Request message 4. Send DHCP Reply message
Addresses
Solicit, Request messages
Src NUT link-local address
Dst All_DHCP_Relay_Agents_and_Servers

All_DHCP_Relay_Agents_and_Servers FF02::1:2
Advertise, Reply 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
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
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:fff1::

DHCP Request message with IA_PD option
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:fff1::
Elapsed Time Option (MUST)
  elapsed-time ANY
Option Request Option (Optional)

DHCP Reply message with IA_PD option including IA_Prefix option
msg-type REPLY(7)
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
IA_PD Option
  Code 33 (TBD)
  IAID Unique identifier which client specified
  T1 40
  T2 64
    Code 34 (TBD)
    preferred-lifetime 80
    valid-lifetime 120
    prefix-length 48
    IPv6 prefix 3ffe:501:fff1::


TEST PROCEDURE

Tester as PE              Target as CPE             Tester as client
    |                           |                           |
    |   Stop dhcp process to    |                           |
    |  release delegated prefix |                           |
    |                           |                           |
    |<--------------------------|                           |
    |   Judgment #1             |                           |
    |   DHCP Release message    |                           |
    |                           |                           |
    |             :             |                           |
    |   Judgment #2             |                           |
    |  Continuing REL_MAX_RC(5) |                           |
    |   times or not            |                           |
    |             :             |                           |
    |                           |                           |
    |<--------------------------|                           |
    |   Judgment #3             |                           |
    |   No DHCP Release message |                           |
    |                           |                           |
    |                           |                           |
    v                           v

1. Wait DHCP Release message 2. Wait until receiving DHCP Release message REL_MAX_RC(5) times or not 3. No DHCP Release message
Addresses
Release message
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 Release message with IA_PD option including IA_PD Prefix option
msg-type RELEASE(8)
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 (MUST)
    Code 34 (TBD)
    Code 34 (TBD)
    preferred-lifetime ANY
    valid-lifetime ANY
    prefix-length 48
    IPv6 prefix 3ffe:501:fff1::
Elapsed Time Option (MUST)
  elapsed-time ANY


JUDGEMENT


  1. DHCP Release message is recieved.

  2. DHCP Release message is recieved to REL_MAX_RC(5) times or not.

  3. DHCP Release message is not recieved.


TERMINATION

  N/A


REFERENCE

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 Release message to return a delegated prefix to a delegating router. The prefixes to be released MUST be included in the IA_PDs.

draft-ietf-dhc-dhcpv6-28.txt
14. Reliability of Client Initiated Message Exchanges
see the retransmission mechanism
15. Message Validation

15.9. Release Message
Clients MUST discard any received Release messages.
Servers MUST discard any received Release message that fails to meet any of the following conditions:
- the message MUST include a Server Identifier option
- the contents of the Server Identifier option MUST match the server's identifier
- the message MUST include a Client Identifier option
18. DHCP Client-Initiated Configuration Exchange

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.6. Creation and Transmission of Release Messages
To release one or more addresses, a client sends a Release message to the server.
The client sets the "msg-type" field to RELEASE. The client generates a transaction ID and places this value in the "transaction-id" field.
The client places the identifier of the server that allocated the address(es) in a Server Identifier option.
The client MUST include a Client Identifier option to identify itself to the server. The client includes options containing the IAs for the addresses it is releasing in the "options" field. The addresses to be released MUST be included in the IAs. Any addresses for the IAs the client wishes to continue to use MUST NOT be in added to the IAs.
The client MUST NOT use any of the addresses it is releasing as the source address in the Release message or in any subsequently transmitted message.
Because Release messages may be lost, the client should retransmit the Release if no Reply is received. However, there are scenarios where the client may not wish to wait for the normal retransmission timeout before giving up (e.g., on power down). Implementations SHOULD retransmit one or more times, but MAY choose to terminate the retransmission procedure early.
The client transmits the message according to section 14, using the following parameters:
IRT REL_TIMEOUT
MRT 0
MRC REL_MAX_MRC
MRD 0
The client MUST stop using all of the addresses being released as soon as the client begins the Release message exchange process. If addresses are released but the Reply from a DHCP server is lost, the client will retransmit the Release message, and the server may respond with a Reply indicating a status of NoBinding. Therefore, the client does not treat a Reply message with a status of NoBinding in a Release message exchange as if it indicates an error.
Note that if the client fails to release the addresses, each address assigned to the IA will be reclaimed by the server when the valid lifetime of that address expires.
18.1.8. Receipt of Reply Messages

When the client receives a valid Reply message in response to a Release message, the client considers the Release event completed, regardless of the Status Code option(s) returned by the server.
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 ------------------------------------- REL_TIMEOUT 1 sec Initial Release timeout REL_MAX_RC 5 MAX Release 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 message types.

RELEASE 8
A. Appearance of Options in Message Types
The following table indicates with a "*" the options are allowed in each DHCP message type:


Status Rap. User Vendor Vendor Inter. Recon. Recon. Code Comm. Class Class Spec. ID Msg. Accept Release * * *


SEE ALSO

  perldoc V6evalTool