checkPMTUincrease - Verify increasing Path MTU
Host
checkPMTUincrease.seq [-tooloption ...] -p checkPMTUincrease.def
This test evaluate the behavior of NUT when 5 min and 10 min has past since last Packet Too Big Message. In this test, NUT is a host and TN plays a Roll of Router and other host.
Physical Network configuration --------+---------------+-------------- | | NUT TN
Logical Network Configuration
NUT | ----------------+-------+--------- | Router | --------+-------+----------------- | HOST
NUT < --- Router --- > HOST
In this test, NUT receives Packet Too Big Message and wait for a while. - Decrease PMTU for HOST from 1500 to 1280 - Confirm PMTU for HOST is changed to 1280 - Wait for 295 sec - Confirm PMTU for HOST is still 1280 - Wait for 305 sec - Confirm PMTU for HOST is reset to 1500
The TN send a RA to assign global address prefix.
TN NUT
-------------------
===multicast RA===> src=TN's link-local dst=LinkLocal-all-node M=0, O=0, Lifetime=3600, ReachableTime=60000, RetransTImer=1005 Prefix: L=1, A=1, ValidLifetime=3600005, PreferredLifetime=3600005 Prefix=3ffe:501:ffff:100::, PrefixLength=64 Wait (5 sec.) Ignoring DAD packets for global address.
"checkPMTUincrease" verifies NUT's resetting of Path MTU.
- NUT must not attempt to detect an increase less than 5 minutes after a Too Big Mesg.
TN NUT | | --+-------------------+----
1. TN send Echo Request. TN === echo request(1500) ===> NUT
2. NUT send Echo Reply. TN <=== echo reply(1500) === NUT
3. TN send ICMPv6 Too Big Mesg include MTU (1280). TN === ICMPv6 Too Big Mesg(1280) ===> NUT
4. TN send Echo Request. TN === echo request(1500) ===> NUT
5. NUT send Echo Reply << JUDGMENT 1 >> TN <=== echo reply(1280 1/2) === NUT TN <=== echo reply( 276 2/2) === NUT 6. TN sleep 295 seconds in perl script.
7. TN send Echo Request. TN === echo request(1500) ===> NUT
8. NUT send Echo Reply << JUDGMENT 2 >> TN <=== echo reply(1280 1/2) === NUT TN <=== echo reply( 276 2/2) === NUT
9. TN sleep 305 seconds in perl script.
10. TN send Echo Request. TN === echo request(1500) ===> NUT
11. NUT send Echo Reply << JUDGMENT 3 >> TN <=== echo reply(1500) === NUT
<< JUDGMENT 1 -PASS- >> NUT sends fragmented Echo Reply. NUT accept ICMP Packet Too Big Message and register the MTU according to the ICMP message.
<< JUDGMENT 2 -PASS- >> NUT sends fragmented Echo Reply. NUT does not reset MTU value in 5 min.
<< JUDGMENT 2 -PASS- >> NUT sends fragmented Echo Reply. NUT reset MTU value after 10 min. Note: The value 10 min is just recommended value, so implementation can use other value to reset the PMTU.
perldoc V6evalTool perldoc V6evalRemote