Test and debug IPv6 MobilityManage Mobility daemon | TOC | Enjoy IPv6 mobility 1. Check binding with the Home AgentThe mip6d mobility daemon provides an interface to get some mobility stack status information called Virtual Terminal. The port 7777 is open for that purpose. You can connect to the interface using the telnet command. $ telnet localhost 7777 You will see the interface prompt 'mip6d>' in the terminal. There are several commands that are recognized by the interface. This manual describes the following three commands that are frequently used in normal operation.
We provide a script that will automatically give you the BUL entry. In a console, simply type "getbul". 2. Network analysis with WiresharkThe Live CD comes with the famous packet capture and analyzer program Wireshark (the program was formerly named Ethereal). You will find a shortcut to launch Wireshark in the upper panel of your desktop. Wireshark supports displaying and analyzing Mobile IPv6 protocol packets. You can filter Mobile IPv6 signaling messages by using 'mipv6' filter name in the display filter field to show only Mobile IPv6 signaling packets from the entire packet capture list. Also, Wireshark supports the Home Address option and the Routing Header Type 2 which are introduced by the Mobile IPv6 specification. These option and header are used in the following two cases.
The Wireshark program automatically decodes these option and header. Mobile IPv6 has defined 4 new ICMPv6 messages, which are Dynamic Home Agent Discovery Request, Dynamic Home Agent Discovery Reply, Mobile Prefix Solicitation and Mobile Prefix Advertisement. The former two messages are used as one of bootstrap mechanisms of an MN to discover its home agent. The latter two are used to retrieve the latest home prefix information by an MN that is away from home. These messages are also supported by the Wireshark program and they are automatically decoded when captured. Mobile IPv6 has also defined two Neighbor Discovery options; the Home Agent Information option and the Advertisement Interval option. These options may be included in a Router Advertisement message sent by an HA to indicates the lifetime and preference of the HA, and the interval of Router Advertisement messages respectively. 3. Check handover latency with mip6testerThe mip6tester application measures handover latency of a mobile node. To use this application, you have to prepare two mip6tester nodes on the Internet, one of them (or both of them) have to be a mobile node. The mip6tester tool has two operation mode, one is a client mode and the other is a server mode. Both sides send probe packets to the other side. The probe packet includes a sequence number and the application can check if the packet is lost or not during transmission. If the node moves from one network to other network, several probe packets will be lost because the node will be detached from the Internet while moving to another network. The mip6tester application counts the number of lost packets and calculate how long time the other node was detached from the Internet. 4. Forge packets with Scapy6Scapy is a powerful interactive packet manipulation program written in Python. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more (see http://www.secdev.org/projects/scapy/). Scapy6 adds, among others, the support for IPv6 and mobility to scapy (see http://namabiiru.hongo.wide.ad.jp/scapy6/). Scapy6 is present on the Live CD and has to be started as root with the following command: $ sudo scapy6 Here are some useful commands that have to be entered via the scapy6 prompt: conf.iface='eth0' # set the network interface to eth0 Create a BU with:
a=IPv6(dst='2001:db8:0:f040:ffff::1')/ You can check you packet with: a.show() And eventually modify you packet: a.hlim=4 Then you send your packet with: r=sr1(a) 5. Other useful network testing tools5.1 ping6The ping6 program is the easiest way to check the Internet connectivity. Once you boot up your PC with the Live CD, you may want to check if the Mobile IPv6 stack is properly running or not. Since the home address of the node is assigned to the ip6tnl1 interface, the following command can be used to check if your home address is usable or not. $ ping6 -Iip6tnl1 www.nautilus6.org If you receive reply packets, then your node is running as a moblie node. 5.2 traceroute6The traceroute6 program can check the path from your node to the destination node. For example, the following command will show the Internet path from your node to the www.nautilus6.org. $ traceroute6 www.nautilus6.org Interestingly, the first hop from your mobile node will be always the home agent of your mobile node when route optimization is not used, because all IPv6 packets are tunneled by the home agent. 5.3 iperfThe iperf program is a famous network performance measurement software. To use the iperf program, you have to prepare a server node that will accept the performance measurement request from the iperf client. On the server node, you need to run the iperf command as follows. # iperf -V -s The '-s' switch runs the iperf program as a server mode. The '-V' switch enables IPv6 support. On the client node, you need to connect to the server node by specifying the address of the server node as follows. # iperf -V -c 2001:db8:0:10::100 The '-c' switch specifies the server address. There are many configurable switches in the iperf program. For more information, please visit http://dast.nlanr.net/Projects/Iperf/. |
Nautilus6
WIDE