NAME

CN_IncorrectSeqNoAck - Sequence number too small((A) bit isn't set)


TARGET

Host and Router


SYNOPSIS

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


TOPOLOGY

                                                      MN'''
                                                      |
                              ----------------+-------+------- LinkY''
                                              |
                                              R4      MN''
                                              |       |
                              --------+-------+-------+------- LinkY'
                                      |
                                      R3              MN'
                                      |               |
                              --------+-------+-------+------- LinkY
                                              |
                                              R2      MN
                                              |       |
Link1 --------+-------        --------+-------+-------+------- LinkX
              |                       |
             NUT                      R1
              |                       |
Link0 --------+-----------------------+-----------------------
Link0 3ffe:501:ffff:100::/64  
Link1 3ffe:501:ffff:101::/64  
LinkX 3ffe:501:ffff:102::/64 home link
LinkY 3ffe:501:ffff:103::/64 foreign link
LinkY' 3ffe:501:ffff:104::/64 foreign link'
LinkY'' 3ffe:501:ffff:105::/64 foreign link''
R1(Link0) 3ffe:501:ffff:100:200:ff:fe00:a0a0  
MN 3ffe:501:ffff:102:200:ff:fe00:000c home address
MN' 3ffe:501:ffff:103:200:ff:fe00:000c care-of address
MN'' 3ffe:501:ffff:104:200:ff:fe00:000c care-of address
MN''' 3ffe:501:ffff:105:200:ff:fe00:000c care-of address


TEST PROCEDURE

       NUT      R1      MN      MN'     MN''    MN'''
        |       |       |       |       |       |
        | <---- |       |       |       |       | RA
        |       |       |       |       |       |
        | <-------------------- |       |       | Echo Request
        | ----> |       |       |       |       | NS
        | <---- |       |       |       |       | NA
        | --------------------> |       |       | Echo Reply (*1)
        |       |       |       |       |       |
        | <---- |       |       |       |       | NA
        |       |       |       |       |       |
        | <-------------------- |       |       | Echo Request including Binding Update (Sequence Number is 0)
        | --------------------> |       |       | Echo Reply (*2)
        |       |       |       |       |       |
        | <---------------------------- |       | Echo Request including Binding Update (Sequence Number is 1)
        | ----------------------------> |       | Echo Reply (*3)
        |       |       |       |       |       |
        | <------------------------------------ | Binding Update (Sequence Number is 0)
        | ------------------------------------> | Binding Acknowledgement (*4)
        |       |       |       |       |       |

1. check routing table - LinkY
	1.1. Host
		1.1.1. R1 sends RA
		1.1.2. MN' sends Echo Request
		1.2.3. Wait Echo Reply
		1.1.4. Receive Echo Reply
	1.2. Router
		1.2.1. MN' sends Echo Request
		1.2.2. Wait Echo Reply or NS
		1.2.3. If NS received then send NA, and wait Echo Reply again
		1.2.4. Receive Echo Reply
2. overwrite NCE on NUT
	2.1. R1 sends NA
3. check Binding Update operation
	3.1. MN' sends Echo Request including Binding Update
	3.2. Wait Echo Reply
	3.3. Receive Echo Reply
	3.4. MN'' sends Echo Request including Binding Update
	3.5. Wait Echo Reply
	3.6. Receive Echo Reply
	3.7. MN''' sends incorrect Binding Update
	3.8. Wait Response
	3.9. Receive Binding Acknowledgement


JUDGEMENT

(*1) PASS: MN' receives Echo Reply
(*2) PASS: MN' receives Echo Reply
(*3) PASS: MN'' receives Echo Reply
(*4) PASS: MN''' receives Binding Acknowledgement


REFERENCE

<draft-ietf-mobileip-ipv6-15.txt>
8.2. Receiving Binding Updates
   Before accepting a Binding Update option received in any packet, the
   receiving node MUST validate the Binding Update according to the
   following tests:
    -  The packet meets the specific authentication requirements for
       Binding Updates, defined in Section 4.4.
    -  The packet MUST contain a Home Address option.
    -  The Option Length field in the Binding Update option is greater
       than or equal to the length specified in Section 5.1.
    -  The Sequence Number field in the Binding Update option is greater
       than the Sequence Number received in the previous Binding Update
       for this home address, if any.  As noted in Section 4.6, this
       Sequence Number comparison MUST be performed modulo 2**8.
   If the mobile node sends a sequence number which is not greater than
   the sequence number from the last successful Binding Update, then the
   receiving node MUST send back a Binding Acknowledgement with status
   code 141, and the last accepted sequence number in the Sequence
   Number field of the Binding Acknowledgement.


SEE ALSO

CN_Common.def