$Id: pmtu.html,v 1.5 2003/07/17 18:04:36 nishida Exp $
Packetization Layer Path MTU Discovery simulation
This page describes about a
preliminary implementation of
draft-mathis-plpmtud-00.txt
for ns-simulator.
If you have any questions or comments or bug reports, please send e-mail to
nishida @ csl.sony.co.jp.
How to build
- Get ns source from
ns web site.
(Please use 2.1b9a or later)
- Get a patch from
here.
- Apply the patch.
go down to the ns source directry.
do 'patch -p1 < ./plpmtud-patch.txt'
- Build ns.
Tips for simulations
- Plpmtud function is implemented in FullTcp module
To enable plpmtud, you have to set do_plpmtud_ param to true like:
Agent/TCP/FullTcp set do_plpmtud_ true
- The original ns does not have the concept of MTU, so I developed
a new error module which emulates MTU.
The following example gives 5000 bytes MTU to the link between node $n1 and $n2.
set lossylink_ [$ns link $n1 $n2]
set em [new ErrorModule Fid]
set errmodel [new ErrorModel/MTU]
$lossylink_ errormodule $em
$em insert $errmodel
$em bind $errmodel 1
$errmodel set mtu_ 5000
- The router module drops the packets whose size exceeds the MTU, but
does not send any ICMP messages yet. I'm trying to implement the function
that emulates ICMP too big message.
A sample result of the simulation.
- The simulation script is here
- Network configration
- Result of the simulation
- variation of the seqno.
- variation of the length of the IP datagrams