Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 965e33040dd61030a94f0eb89877aee8 > files > 3709

howto-html-en-20080722-2mdv2010.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Doing some tests</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Linux Mobile IPv6 HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Test bed"
HREF="testbed.html"><LINK
REL="NEXT"
TITLE="FAQ"
HREF="faq.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux Mobile IPv6 HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="testbed.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="faq.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="dotest"
></A
>5. Doing some tests</H1
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="pretest"
></A
>5.1. Pre-test</H2
><P
>Do every configuration as shown above; it's especially important 
      to have a different ESSID on the home net and visited network. </P
><P
>When you start mobile-IPv6 on MN, you will see 
      multicasting router solicitations messages:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;      # tcpdump -i eth0 -vv ip6 or proto ipv6

      ...
      13:32:54.681763 fe80::202:a5ff:fe6f:a08a &#62; ff02::2: icmp6: router solicitation \
      (src lladdr: 0:2:a5:6f:a0:8a) (len 16, hlim 255)

      13:32:55.681763 fe80::202:a5ff:fe6f:a08a &#62; ff02::2: icmp6: router solicitation \
      (src lladdr: 0:2:a5:6f:a0:8a) (len 16, hlim 255)

      13:32:57.681765 fe80::202:a5ff:fe6f:a08a &#62; ff02::2: icmp6: router solicitation \
      (src lladdr: 0:2:a5:6f:a0:8a) (len 16, hlim 255)
      ...

      </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="MovDet"
></A
>5.2. Movement detection</H2
><P
>Generic movement detection uses Neighbor Unreachability
      Detection to detect when the default router is no longer
      bi-directionally reachable, in which case the mobile node must
      discover a new default router (usually on a new link).</P
><P
> To easily see whats going on, you should have one xterm
      window for each of these commands: </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;      # watch ifconfig eth0
      # watch route -A inet6
      # tcpdump -i eth0 -vv ip6 or proto ipv6
      </PRE
></FONT
></TD
></TR
></TABLE
><P
>To <SPAN
CLASS="QUOTE"
>"travel"</SPAN
> to another net, you can issue the
      command on MN:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;      # iwconfig eth1 essid visitnet
      </PRE
></FONT
></TD
></TR
></TABLE
><P
>The MN is then on the other wireless network, and since it is
      sending out <SPAN
CLASS="QUOTE"
>"router solicitation"</SPAN
> (multicast), our AR will
      respond with it's prefix. MN will then configure itself with at new
      IPv6 address with the received prefix and it's own MAC address. If
      you type <B
CLASS="command"
>ifconfig eth0</B
> you will see the new IPv6 
      address:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # ifconfig eth0
    eth0  Link encap:Ethernet  HWaddr 00:90:7D:F3:03:1A  
          inet6 addr: fec0:106:1100:0:290:7dff:fef3:31a/64 Scope:Site <A
NAME="newaddr"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
          inet6 addr: fec0:106:2700:0:290:7dff:fef3:31a/64 Scope:Site <A
NAME="superadr"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
>
          inet6 addr: fec0:106:2700::4/64 Scope:Site                  <A
NAME="oldaddr"
><IMG
SRC="../images/callouts/3.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(3)"></A
>
          inet6 addr: fe80::290:7dff:fef3:31a/64 Scope:Link           <A
NAME="linkaddr"
><IMG
SRC="../images/callouts/4.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(4)"></A
>
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:854 errors:154 dropped:154 overruns:0 frame:148
          TX packets:293 errors:58 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:96536 (94.2 Kb)  TX bytes:44664 (43.6 Kb)
          Interrupt:3 Base address:0x100

      </PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="dotest.html#newaddr"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>The new <SPAN
CLASS="QUOTE"
>"foreign"</SPAN
> address, generated by
          combining AR's prefix and MAC-address</DD
><DT
><A
HREF="dotest.html#superadr"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
></DT
><DD
>The superfluous home network address (because of HA
          radvd messages and MN autoconf set to
          <SPAN
CLASS="QUOTE"
>"true"</SPAN
>).</DD
><DT
><A
HREF="dotest.html#oldaddr"
><IMG
SRC="../images/callouts/3.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(3)"></A
></DT
><DD
>The <SPAN
CLASS="QUOTE"
>"original"</SPAN
> (home) address</DD
><DT
><A
HREF="dotest.html#linkaddr"
><IMG
SRC="../images/callouts/4.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(4)"></A
></DT
><DD
>The link-local address generated at boot</DD
></DL
></DIV
><P
>Almost at the same time, the MN will perform a binding update
      to HA. In your tcpdump window, you will see several packets
      destined to HA. To verify that the binding update has been sent and
      acknowledged from MN:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;      # mipdiag -s
      Mobile IPv6 Statistics
      NEncapsulations           : 0
      NDecapsulations           : 0
      NBindUpdatesRcvd          : 0
      NBindAcksRcvd             : 1    <A
NAME="back"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
      NBindNAcksRcvd            : 0
      NBindRqsRcvd              : 0
      NBindUpdatesSent          : 1    <A
NAME="bupdate"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
>
      NBindAcksSent             : 0
      NBindNAcksSent            : 0
      NBindRqsSent              : 0
      NBindUpdatesDropAuth      : 0
      NBindUpdatesDropInvalid   : 0
      NBindUpdatesDropMisc      : 0
      NBindAcksDropAuth         : 0
      NBindAcksDropInvalid      : 0
      NBindAcksDropMisc         : 0
      NBindRqsDropAuth          : 0
      NBindRqsDropInvalid       : 0
      NBindRqsDropMisc          : 0
     </PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="dotest.html#back"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>One binding ACK received.</DD
><DT
><A
HREF="dotest.html#bupdate"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
></DT
><DD
>One binding UPDATE sent.</DD
></DL
></DIV
><P
>You can also verify the binding with the following command
     (on MN):</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;     # mipdiag -l
     Mobile IPv6 Binding update list
     Recipient CN: fec0:106:2700::2
     BINDING home address: fec0:106:2700::4 care-of address: fec0:106:1100:0:290:7dff:fef3:31a
             expires: 936 sequence: 0 state: 1
             delay: 3 max delay 32 callback time: 736
     </PRE
></FONT
></TD
></TR
></TABLE
><P
>You can also verify it on HA with the statistics option
     (-s) and with the <SPAN
CLASS="QUOTE"
>"binding cache"</SPAN
> (-c) option:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;     # mipdiag -c
     Mobile IPv6 Binding cache
     Home Address      Care-of Address                    Lifetime  Type 
     fec0:106:2700::4  fec0:106:1100:0:290:7dff:fef3:31a  971       2    
     </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="ping6"
></A
>5.3. ping6</H2
><P
>From the MN, you can try to ping AR's eth1
     (fec0:106:1100::1):</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;     # ping6 fec0:106:1100::1
     PING fec0:106:1100::1(fec0:106:1100::1) from fec0:106:2700::4 : 56 data bytes
     64 bytes from fec0:106:1100::1: icmp_seq=1 ttl=62 time=8.01 ms
     64 bytes from fec0:106:1100::1: icmp_seq=2 ttl=62 time=8.02 ms
     ...
     </PRE
></FONT
></TD
></TR
></TABLE
><P
>By using tcpdump, you can see how the packets travel:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;     12:13:51.789688 fec0:106:1100:0:202:a5ff:fe6f:a08a &#62; fec0:106:2700::2: \  <A
NAME="mntoha"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
     fec0:106:2700::4 &#62; fec0:106:1100::1: icmp6: echo request \ <A
NAME="hatocr"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
>
     (len 64, hlim 64) (len 104, hlim 255)

     12:13:51.797675 fec0:106:2700::2 &#62; fec0:106:1100:0:202:a5ff:fe6f:a08a: \ <A
NAME="artomn"
><IMG
SRC="../images/callouts/3.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(3)"></A
>
     fec0:106:1100::1 &#62; fec0:106:2700::4: icmp6: echo reply \
     (len 64, hlim 62) (len 104, hlim 253)
     </PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="dotest.html#mntoha"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>The packet first goes from MN to the HA using MN new
          IPv6 address.</DD
><DT
><A
HREF="dotest.html#hatocr"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
></DT
><DD
>Then from HA to AR.</DD
><DT
><A
HREF="dotest.html#artomn"
><IMG
SRC="../images/callouts/3.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(3)"></A
></DT
><DD
>The AR then responds to HA and tunnels the packets to
          MN.</DD
></DL
></DIV
><P
>You can now see the statistics have been updated (on MN):</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;     # mipdiag -s
     Mobile IPv6 Statistics
     NEncapsulations           : 56
     NDecapsulations           : 25
     ...
    </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="routeTable"
></A
>5.4. Kernel IP routing table</H2
><P
>One interesting thing MIPv6 does is change the default route to
    a tunnel. The new default route becomes:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # route -A inet6
    Kernel IPv6 routing table
    Destination      Next Hop       Flags Metric Ref    Use Iface
    ::/0             ::             UD    64     0        0 ip6tnl1
    ....
    </PRE
></FONT
></TD
></TR
></TABLE
><P
>If it doesn't add a default route, you may add it manually:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # ip route ::/0 via dev ip6tnl
    </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="movement"
></A
>5.5. Travelling through several foregin LAN's</H2
><P
>To travel to several visited networks, is no different than
    travel to <EM
>one</EM
> network. The only thing you
    must have in mind is that you will generate a new address for each
    visited network.
    </P
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="images/lanvisits.png"
ALIGN="center"
WIDTH="550px"><DIV
CLASS="caption"
><P
>MN travelling through severeal different LANs.</P
></DIV
></P
></DIV
><P
></P
><OL
TYPE="1"
><LI
><P
>MN first visits 'visitnet', as we have been through above.</P
></LI
><LI
><P
>MN is then travelling from 'visitnet' to
      'visitnet2'.</P
></LI
><LI
><P
>When at 'visitnet2', MN generates a new IPv6 address and
        do a new binding update to HA.</P
></LI
><LI
><P
>MN then travels back home. (Se next section.)</P
></LI
></OL
><P
>The AR at <SPAN
CLASS="QUOTE"
>"visitnet2"</SPAN
>, is configured exactly
     as the other AR (at <SPAN
CLASS="QUOTE"
>"visitnet"</SPAN
>), except using address
     <TT
CLASS="userinput"
><B
>fec0:106:1000::/64</B
></TT
> instead of
     <TT
CLASS="userinput"
><B
>fec0:106:1100::/64</B
></TT
>.</P
><P
>To make the mobile node travel from 'visitnet' to
     'visitnet2', issue the command (on MN):</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;     # iwconfig eth0 essid visitnet2
     </PRE
></FONT
></TD
></TR
></TABLE
><P
>You will then see the MN configures itself to the new network:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # ifconfig eth0
    eth1  Link encap:Ethernet  HWaddr 00:90:7D:F3:03:1A  
          inet6 addr: fec0:106:1000:0:290:7dff:fef3:31a/64 Scope:Site <A
NAME="net2"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
          inet6 addr: fec0:106:1100:0:290:7dff:fef3:31a/64 Scope:Site 
          inet6 addr: fec0:106:2700:0:290:7dff:fef3:31a/64 Scope:Site 
          inet6 addr: fec0:106:2700::4/64 Scope:Site                  
          inet6 addr: fe80::290:7dff:fef3:31a/64 Scope:Link           
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1073 errors:212 dropped:212 overruns:0 frame:204
          TX packets:371 errors:72 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:120340 (117.5 Kb)  TX bytes:56912 (55.5 Kb)
          Interrupt:3 Base address:0x100 
     </PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="dotest.html#net2"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>The new autoconfigured address at 'visitnet2'.</DD
></DL
></DIV
><P
><EM
>Note! You may have to restart mobile-ipv6 on MN
    when coming to a new network!</EM
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # /etc/init.d/mobile-ip6 restart
    Stopping Mobile IPv6: OK
    Starting Mobile IPv6: OK
    </PRE
></FONT
></TD
></TR
></TABLE
><P
>The MN will then perform a new binding update to HA. Notice
    the new <SPAN
CLASS="QUOTE"
>"care-of address"</SPAN
>:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # mipdiag -l
    Mobile IPv6 Binding update list
    Recipient CN: fec0:106:2700::2
    BINDING home address: fec0:106:2700::4 care-of address: fec0:106:1000:0:290:7dff:fef3:31a
        expires: 973 sequence: 14 state: 1
        delay: 3 max delay 32 callback time: 773
    </PRE
></FONT
></TD
></TR
></TABLE
><P
>You can also see the <SPAN
CLASS="QUOTE"
>"binding cache"</SPAN
> on HA has
    been updated:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # mipdiag -c
    Mobile IPv6 Binding cache
    Home Address      Care-of Address                    Lifetime  Type 
    fec0:106:2700::4  fec0:106:1000:0:290:7dff:fef3:31a  943       2  
    </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="home"
></A
>5.6. Returning home</H2
><P
>To make the MN return home, you can just issue the
    command:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    # iwconfig eth0 essid homenet
    </PRE
></FONT
></TD
></TR
></TABLE
><P
>The MN will know it is back home, since HA is sending out
    radvd messages with the HA-bit set (AdvHomeAgentFlag), see <A
HREF="testbed.html#radvdar"
>Section 4.2.4</A
></P
><P
>You can see the MN <SPAN
CLASS="QUOTE"
>"is back home"</SPAN
>, since the
    binding cache information at HA is flushed (empty):</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;    Mobile IPv6 Binding cache
    Home Address      Care-of Address                     Lifetime  Type 
    </PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="realLife"
></A
>5.7. Real life testing - smooth handover</H2
><P
>To really get the feel on how mobile IP works, fire up GnomeMeeting
     (See the figure GnomeMeeting and start a netmeeting. Note! You must use
     the latest GnomeMeeting to get support for IPv6! Then do a <SPAN
CLASS="QUOTE"
>"travel"</SPAN
>
     and you can see an almost smooth handover.</P
><DIV
CLASS="mediaobject"
><P
><IMG
SRC="images/gnomemeeting1.png"
ALIGN="center"
WIDTH="250px"><DIV
CLASS="caption"
><P
>Using GnomeMeeting with IPv6 to test roaming between two
       wireless networks</P
></DIV
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="testbed.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="faq.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Test bed</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>FAQ</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>