Modified Files:

Linux+IPv6-HOWTO.sgml : some fixes and extension, version 0.34
This commit is contained in:
pbldp 2002-11-19 21:48:17 +00:00
parent f9a52d2055
commit 04a1439246
1 changed files with 49 additions and 22 deletions

View File

@ -8,9 +8,9 @@
<firstname>Peter </firstname><surname>Bieringer</surname><affiliation><address> <email>pb (at) bieringer.de</email> </address> </affiliation>
</author>
<revhistory>
<revision> <revnumber>Release 0.34</revnumber> <date>2002-11-19</date> <authorinitials>PB</authorinitials> <revremark>See <link linkend="revision-history">revision history</link> for more</revremark></revision>
<revision> <revnumber>Release 0.33</revnumber> <date>2002-11-18</date> <authorinitials>PB</authorinitials> <revremark>See <link linkend="revision-history">revision history</link> for more</revremark></revision>
<revision> <revnumber>Release 0.32</revnumber> <date>2002-11-03</date> <authorinitials>PB</authorinitials> <revremark>See <link linkend="revision-history">revision history</link> for more</revremark></revision>
<revision> <revnumber>Release 0.31</revnumber> <date>2002-09-29</date> <authorinitials>PB</authorinitials> <revremark>See <link linkend="revision-history">revision history</link> for more</revremark></revision>
</revhistory>
<abstract><para>The goal of the Linux IPv6 HOWTO is to answer both basic and advanced questions about IPv6 on the Linux operating system. This HOWTO will provide the reader with enough information to install, configure, and use IPv6 applications on Linux machines.</para></abstract></bookinfo>
<chapter id="chapter-general"><title>General</title><remark>CVS-ID: &dollar;Id: Linux+IPv6-HOWTO.lyx,v 1.38 2002/11/18 20:03:51 pbldp Exp &dollar;</remark><para>Information about available translations you will find in section <link linkend="general-translations">Translations</link>.</para><sect1 id="general-copright"><title>Copyright, license and others</title><sect2><title>Copyright</title><para>Written and Copyright (C) 2001-2002 by Peter Bieringer</para></sect2>
@ -32,9 +32,9 @@
</sect2>
<sect2><title>To-Do</title><itemizedlist><listitem><para>Fill in missing content</para></listitem><listitem><para>Finishing grammar checking</para></listitem></itemizedlist></sect2>
</sect1>
<sect1 id="general-translations"><title>Translations</title><para>Translations always have to contain the URL, version number and copyright of the original document (but yours, too).</para><sect2><title>To German</title><para>A German translation is planned by me (German is my native language), but it won't happen until the document's change frequency is less than once per month, and I get enough free time to do it (which is currently very improbably). If you have more free time than me, please feel free to take over the translation!</para></sect2>
<sect2><title>To other languages</title><para>Normally, please wait until the document's change frequency is less than once per month. Since version 0.27 it looks like that most of the content is written.</para><sect3><title>Chinese</title><para>A Chinese translation by Burma Chen &lt;expns at yahoo dot com&gt; (announced to me at 2002-10-31) can be found on the CLDP: <ulink url="http://www.linux.org.tw/CLDP/Linux-IPv6-HOWTO.html">http://www.linux.org.tw/CLDP/Linux-IPv6-HOWTO.html</ulink></para></sect3>
<sect1 id="general-translations"><title>Translations</title><para>Translations always have to contain the URL, version number and copyright of the original document (but yours, too). Pls. don't translate the original changelog, this is not very useful. Looks like the the document's change frequency is mostly less than once per month. Since version 0.27 it looks like that most of the content contributed by me has been written.</para><sect2><title>To language</title><sect3><title>Chinese</title><para>A Chinese translation by Burma Chen &lt;expns at yahoo dot com&gt; (announced to me at 2002-10-31) can be found on the CLDP: <ulink url="http://www.linux.org.tw/CLDP/Linux-IPv6-HOWTO.html">http://www.linux.org.tw/CLDP/Linux-IPv6-HOWTO.html</ulink></para></sect3>
<sect3><title>Polish</title><para>Since 2002-08-16 a Polish translation was started and is still in progress by Lukasz Jokiel &lt;Lukasz dot Jokiel at klonex dot com dot pl&gt;. Taken source: CVS-version 1.29 of LyX file, which was source for howto version 0.27.</para></sect3>
<sect3><title>German</title><para>Since 2002-11-10 a German translation was started and is still in progress by Georg Käfer &lt;gkaefer at salzburg dot co dot at&gt;. Taken source: version 0.32 of howto.</para></sect3>
</sect2>
</sect1>
<sect1><title>Technical</title><sect2 id="general-original-source"><title>Original source of this HOWTO</title><para>This HOWTO is currently written with LyX version 1.2.0 on a Red Hat Linux 7.3 system with template SGML (DocBook book). It's available on <ulink url="http://cvsview.tldp.org/index.cgi/LDP/users/Peter-Bieringer/">TLDP-CVS / users / Peter-Bieringer</ulink> for contribution.</para><sect3><title>Code line wrapping</title><para>Code line wrapping is done using selfmade utility &quot;lyxcodelinewrapper.pl&quot;, you can get it from CVS for your own usage: <ulink url="http://cvsview.tldp.org/index.cgi/LDP/users/">TLDP-CVS / users / Peter-Bieringer</ulink></para></sect3>
@ -44,19 +44,41 @@
<sect3><title>Dedicated pages</title><para>Because the HTML pages are generated out of the SGML file, the HTML filenames turn out to be quite random. However, some pages are tagged in LyX, resulting in static names. These tags are useful for references and shouldn't be changed in the future.</para><para>If you think that I have forgotten a tag, please let me know, and I will add it.</para></sect3>
</sect2>
</sect1>
<sect1><title>Preface</title><para>Some things first:</para><sect2><title>How many versions of a Linux &amp; IPv6 related HOWTO are floating around?</title><para>Including this, there are three (3) HOWTO documents available. Apologies, if that is too many ;-)</para><sect3><title>Linux IPv6 FAQ/HOWTO (outdated)</title><para>The first IPv6 related document was written by <emphasis>Eric Osborne</emphasis> and called <ulink url="http://www.linuxhq.com/IPv6/">Linux IPv6 FAQ/HOWTO</ulink> (please use it only for historical issues). Latest version was 3.2.1 released 14. July 1997.</para><para>Please help: if someone knows the date of birth of this HOWTO, please send me an e-mail (information will be needed in &quot;history&quot;).</para></sect3>
<sect1><title>Preface</title><para>Some things first:</para><sect2><title>How many versions of a Linux &amp; IPv6 related HOWTO are floating around?</title><para>Including this, there are three (3) HOWTO documents available. Apologies, if that is too many ;-)</para><sect3><title>Linux IPv6 FAQ/HOWTO (outdated)</title><para>The first IPv6 related document was written by <emphasis>Eric Osborne</emphasis> and called <ulink url="http://www.linuxhq.com/IPv6/">Linux IPv6 FAQ/HOWTO</ulink> (please use it only for historical issues). Latest version was 3.2.1 released July, 14 1997.</para><para>Please help: if someone knows the date of birth of this HOWTO, please send me an e-mail (information will be needed in &quot;history&quot;).</para></sect3>
<sect3><title>IPv6 &amp; Linux - HowTo (maintained)</title><remark>This HOWTO is really named &quot;HowTo&quot;</remark><para>There exists a second version called <ulink url="http://www.bieringer.de/linux/IPv6/">IPv6 & Linux - HowTo</ulink> written by me (<emphasis>Peter Bieringer</emphasis>) in pure HTML. It was born April 1997 and the first English version was published in June 1997. I will continue to maintain it, but it will slowly fade in favour of the Linux IPv6 HOWTO you are currently reading.</para></sect3>
<sect3><title>Linux IPv6 HOWTO (this document)</title><para>Because the <ulink url="http://www.bieringer.de/linux/IPv6/">IPv6 & Linux - HowTo</ulink> is written in pure HTML it's not really compatible with the <ulink url="http://www.tldp.org/">The Linux Documentation Project (TLDP)</ulink>. I (<emphasis>Peter Bieringer</emphasis>) got a request in late November 2001 to rewrite the <ulink url="http://www.bieringer.de/linux/IPv6/">IPv6 & Linux - HowTo</ulink> in SGML. However, because of the discontinuation of that HOWTO (<ulink url="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-0.html#history">Future of IPv6 & Linux - HowTo</ulink>), and as IPv6 is becoming more and more standard, I decided to write a new document covering basic and advanced issues which will remain important over the next few years. Dynamic content will be still found further on in the second HOWTO (<ulink url="http://www.bieringer.de/linux/IPv6/">IPv6 & Linux - HowTo</ulink>).</para></sect3>
</sect2>
</sect1>
<sect1><title>Used terms</title><sect2><title>Network related</title><variablelist><varlistentry><term>Link
</term><listitem><para>A link is a layer 2 network packet transport medium, examples are Ethernet, Token Ring, PPP, SLIP, ATM, ISDN, Frame Relay,...</para></listitem></varlistentry><varlistentry><term>Node
</term><listitem><para>A node is a host or a router.</para></listitem></varlistentry><varlistentry><term>Host
</term><listitem><para>Generally a single homed host on a link. Normally it has only one active network interface, e.g. Ethernet or (not and) PPP.</para></listitem></varlistentry><varlistentry><term>Dual&nbsp;homed&nbsp;host
</term><listitem><para>A dual homed host is a node with two network (physical or virtual) interfaces on two different links, but does not forward any packets between the interfaces.</para></listitem></varlistentry><varlistentry><term>Router
</term><listitem><para>A router is a node with two or more network (physical or virtual) interfaces, capable of forwarding packets between the interfaces.</para></listitem></varlistentry><varlistentry><term>Tunnel
</term><listitem><para>A tunnel is typically a point-to-point connection over which packets are exchanged which carry the data of another protocol, e.g. an IPv6-in-IPv4 tunnel.</para></listitem></varlistentry><varlistentry><term>NIC
</term><listitem><para>Network Interface Card</para></listitem></varlistentry></variablelist></sect2>
<sect1><title>Used terms, glossar and shortcuts</title><sect2><title>Network related</title><variablelist><varlistentry><term>Base10
</term><listitem><para>Well known decimal number system, represent any value with digit 0-9.</para></listitem></varlistentry><varlistentry><term>Base16
</term><listitem><para>Usually used in lower and higher programming languages, known also as hexadecimal number system, represent any value with digit 0-9 and char A-F (case insensitive).</para></listitem></varlistentry><varlistentry><term>Base85
</term><listitem><para>Representation of a value with 85 different digits/chars, this can lead to shorter strings but never seen in the wild.</para></listitem></varlistentry><varlistentry><term>Bit
</term><listitem><para>Smallest storage unit, on/true (1) or off/false (0)</para></listitem></varlistentry><varlistentry><term>Byte
</term><listitem><para>Mostly a collection of 8 (but not really a must - see older computer systems) bits</para></listitem></varlistentry><varlistentry><term>Device
</term><listitem><para>Network device, see also NIC</para></listitem></varlistentry><varlistentry><term>Dual&nbsp;homed&nbsp;host
</term><listitem><para>A dual homed host is a node with two network (physical or virtual) interfaces on two different links, but does not forward any packets between the interfaces.</para></listitem></varlistentry><varlistentry><term>Link
</term><listitem><para>A link is a layer 2 network packet transport medium, examples are Ethernet, Token Ring, PPP, SLIP, ATM, ISDN, Frame Relay,...</para></listitem></varlistentry><varlistentry><term>Host
</term><listitem><para>Generally a single homed host on a link. Normally it has only one active network interface, e.g. Ethernet or (not and) PPP.</para></listitem></varlistentry><varlistentry><term>Interface
</term><listitem><para>Mostly same as &quot;device&quot;, see also NIC</para></listitem></varlistentry><varlistentry><term>IP&nbsp;Header
</term><listitem><para>Header of an IP packet (each network packet has a header, kind of is depending on network layer)</para></listitem></varlistentry><varlistentry><term>Node
</term><listitem><para>A node is a host or a router.</para></listitem></varlistentry><varlistentry><term>Octets
</term><listitem><para>A collection of 8 real bits, today also similar to &quot;byte&quot;.</para></listitem></varlistentry><varlistentry><term>Port
</term><listitem><para>Information for the TCP/UDP dispatcher (layer 4) to transport information to upper layers</para></listitem></varlistentry><varlistentry><term>Protocol
</term><listitem><para>Each network layer contains mostly a protocol field to make life easier on dispatching transported information to upper layer, seen in layer 2 (MAC) and 3 (IP)</para></listitem></varlistentry><varlistentry><term>Router
</term><listitem><para>A router is a node with two or more network (physical or virtual) interfaces, capable of forwarding packets between the interfaces.</para></listitem></varlistentry><varlistentry><term>Socket
</term><listitem><para>An IP socket is defined by source and destination IP addresses and Portsand(binding) </para></listitem></varlistentry><varlistentry><term>Stack
</term><listitem><para>Network related a collection of layers</para></listitem></varlistentry><varlistentry><term>Subnetmask
</term><listitem><para>IP networks uses bit masks to separate local networks from remote ones</para></listitem></varlistentry><varlistentry><term>Tunnel
</term><listitem><para>A tunnel is typically a point-to-point connection over which packets are exchanged which carry the data of another protocol, e.g. an IPv6-in-IPv4 tunnel.</para></listitem></varlistentry></variablelist><sect3 id="Glossar"><title>Shortcuts</title><variablelist><varlistentry><term>API
</term><listitem><para>Application Programming Interface</para></listitem></varlistentry><varlistentry><term>BSD
</term><listitem><para>Berkeley Software Distribution</para></listitem></varlistentry><varlistentry><term>ASIC
</term><listitem><para>Application Specified Integrated Circuit</para></listitem></varlistentry><varlistentry><term>CAN-Bus
</term><listitem><para>Controller Area Network Bus (physical bus system)</para></listitem></varlistentry><varlistentry><term>KAME
</term><listitem><para>Project - a joint effort of six companies in Japan to provide a free IPv6 and IPsec (for both IPv4 and IPv6) stack for BSD variants to the world <ulink url="http://www.kame.net/">www.kame.net</ulink></para></listitem></varlistentry><varlistentry><term>NIC
</term><listitem><para>Network Interface Card</para></listitem></varlistentry><varlistentry><term>RFC
</term><listitem><para>Request For Comments - set of technical and organizational notes about the Internet</para></listitem></varlistentry><varlistentry><term>USAGI
</term><listitem><para>UniverSAl playGround for Ipv6 Project - works to deliver the production quality IPv6 protocol stack for the Linux system.</para></listitem></varlistentry></variablelist></sect3>
</sect2>
<sect2><title>Document related</title><sect3><title>Long code line wrapping signal char</title><para>The special character &quot;¬&quot; is used for signaling that this code line is wrapped for better viewing in PDF and PS files.</para></sect3>
<sect3><title>Placeholders</title><para>In generic examples you will sometimes find the following:</para><programlisting><![CDATA[<myipaddress>
]]></programlisting><para>For real use on your system command line or in scripts this has to be replaced with relevant content (removing the &lt; and &gt; of course), the result would be e.g.</para><programlisting><![CDATA[1.2.3.4
@ -72,7 +94,7 @@
<sect3><title>Experience with the Domain Name System (DNS)</title><para>Also you should understand what the Domain Name System (DNS) is, what it provides and how to use it.</para></sect3>
<sect3><title>Experience with network debugging strategies</title><para>You should at least understand how to use <emphasis>tcpdump</emphasis> and what<emphasis> </emphasis>it can show you. Otherwise, network debugging will very difficult for you.</para></sect3>
</sect2>
<sect2><title>Linux operating system compatible hardware</title><para>Surely you wish to experiment with real hardware, and not only read this HOWTO to fall asleep here and there. :)</para></sect2>
<sect2><title>Linux operating system compatible hardware</title><para>Surely you wish to experiment with real hardware, and not only read this HOWTO to fall asleep here and there. ;-7)</para></sect2>
</sect1>
</chapter>
<chapter id="chapter-basics"><title>Basics</title><sect1><title>What is IPv6?</title><para>IPv6 is a new layer 3 transport protocol (see <ulink url="http://www.linuxports.com/howto/intro_to_networking/c4412.htm#PAGE103HTML">linuxports/howto/intro_to_networking/ISO - OSI Model</ulink>) which will supersede IPv4 (also known as IP). IPv4 was designed long time ago (<ulink url="http://www.faqs.org/rfcs/rfc760.html">RFC 760 / Internet Protocol</ulink> from January 1980) and since its inception, there have been many requests for more addresses and enhanced capabilities. Major changes in IPv6 are the redesign of the header, including the increase of address size from 32 bits to 128 bits. Because layer 3 is responsible for end-to-end packet transport using packet routing based on addresses, it must include the new IPv6 addresses (source and destination), like IPv4.</para><para>For more information about the IPv6 history take a look at older IPv6 related RFCs listed e.g. at <ulink url="http://www.switch.ch/lan/ipv6/references.html">SWITCH IPv6 Pilot / References</ulink>.</para></sect1>
@ -122,9 +144,9 @@ BTW: a good URL for displaying a given IPv6 address in detail is the <ulink url=
]]></programlisting><para>or in compressed format</para><programlisting><![CDATA[::ffff:a.b.c.d/96
]]></programlisting><para>For example, the IPv4 address 1.2.3.4 looks like this:</para><programlisting><![CDATA[::ffff:1.2.3.4
]]></programlisting></sect3>
<sect3><title>IPv4-compatible IPv6 address</title><para>Also for sockets, in this case it is for a dual purpose and looks like:</para><programlisting><![CDATA[0:0:0:0:0:0:a.b.c.d/96
<sect3><title>IPv4-compatible IPv6 address</title><para>Used for automatic tunneling (<ulink url="http://www.faqs.org/rfcs/rfc1993.html">RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers</ulink>), which is being replaced by <link linkend="tunneling-6to4">6to4 tunneling</link>.</para><programlisting><![CDATA[0:0:0:0:0:0:a.b.c.d/96
]]></programlisting><para>or in compressed format</para><programlisting><![CDATA[::a.b.c.d/96
]]></programlisting><para>These addresses are also used by automatic tunneling, which is being replaced by <link linkend="tunneling-6to4">6to4 tunneling</link>.</para></sect3>
]]></programlisting></sect3>
</sect2>
</sect1>
<sect1><title>Network part, also known as prefix</title><para>Designers defined some address types and left a lot of scope for future definitions as currently unknown requirements arise. <ulink url="http://www.faqs.org/rfcs/rfc2373.html">RFC 2373 [July 1998] / IP Version 6 Addressing Architecture</ulink> defines the current addressing scheme but there is already a new draft available: <ulink url="ftp://ftp.ietf.org/internet-drafts/">draft-ietf-ipngwg-addr-arch-*.txt</ulink>.</para><para>Now lets take a look at the different types of prefixes (and therefore address types):</para><sect2><title>Link local address type</title><para>These are special addresses which will only be valid on a link of an interface. Using this address as destination the packet would never pass through a router. It's used for link communications such as:</para><itemizedlist><listitem><para>anyone else here on this link?</para></listitem><listitem><para>anyone here with a special address (e.g. looking for a router)?</para></listitem></itemizedlist><para>They begin with ( where <emphasis>&quot;x&quot;</emphasis> is any hex character, normally <emphasis>&quot;0</emphasis>&quot;)</para><programlisting><![CDATA[fe8]]><emphasis><![CDATA[x: <- currently the only one in use.]]></emphasis><![CDATA[
@ -160,7 +182,7 @@ You can still apply for one of these prefixes, see here <ulink url="http://www.6
<sect3><title>Solicited node link-local multicast address</title><para>Special multicast address used as destination address in neighborhood discovery, because unlike in IPv4, ARP no longer exists in IPv6.</para><para>An example of this address looks like</para><programlisting><![CDATA[ff02::1:ff00:1234
]]></programlisting><para>Used prefix shows that this is a link-local multicast address. The suffix is generated from the destination address. In this example, a packet should be sent to address &quot;fe80::1234&quot;, but the network stack doesn't know the current layer 2 MAC address. It replaces the upper 104 bits with &quot;ff02:0:0:0:0:1:ff00::/104&quot; and leaves the lower 24 bits untouched. This address is now used `on-link' to find the corresponding node which has to send a reply containing its layer 2 MAC address.</para></sect3>
</sect2>
<sect2><title>Anycast addresses</title><para>Anycast addresses are special addresses and are used to cover things like nearest DNS server, nearest DHCP server, or similar dynamic groups. Addresses are taken out of the unicast address space (aggregatable global or site-local at the moment). The anycast mechanism (client view) will be handled by dynamic routing protocols.</para><para>Note: Anycast addresses cannot be used as source addresses, they are only used as destination addresses.</para><sect3><title>Subnet-router anycast address</title><para>A simple example for an anycast addresses is the subnet-router anycast address. Assuming that a node has the following global assigned IPv6 address:</para><programlisting><![CDATA[3ffe:ffff:100:f101:210:a4ff:fee3:9566/64 <- Node's address
<sect2><title>Anycast addresses</title><para>Anycast addresses are special addresses and are used to cover things like nearest DNS server, nearest DHCP server, or similar dynamic groups. Addresses are taken out of the unicast address space (aggregatable global or site-local at the moment). The anycast mechanism (client view) will be handled by dynamic routing protocols.</para><para>Note: Anycast addresses cannot be used as source addresses, they are only used as destination addresses.</para><sect3><title>Subnet-router anycast address</title><para>A simple example for an anycast address is the subnet-router anycast address. Assuming that a node has the following global assigned IPv6 address:</para><programlisting><![CDATA[3ffe:ffff:100:f101:210:a4ff:fee3:9566/64 <- Node's address
]]></programlisting><para>The subnet-router anycast address will be created blanking the suffix (least significant 64 bits) completely:</para><programlisting><![CDATA[3ffe:ffff:100:f101::/64 <- subnet-router anycast address
]]></programlisting></sect3>
</sect2>
@ -168,14 +190,14 @@ You can still apply for one of these prefixes, see here <ulink url="http://www.6
<sect1><title>Address types (host part)</title><para>For auto-configuration and mobility issues, it was decided to use the lower 64 bits as host part of the address in most of the current address types. Therefore each single subnet can hold a large amount of addresses.</para><para>This host part can be inspected differently: </para><sect2><title>Automatically computed (also known as stateless)</title><para>With auto-configuration, the host part of the address is computed by converting the MAC address of an interface (if available), with the EUI-64 method, to a unique IPv6 address. If no MAC address is available (happens e.g. on virtual devices), something else (like the IPv4 addresses or the MAC address of a physical interface) is used instead.</para><para>Consider again the first example </para><programlisting><![CDATA[3ffe:ffff:100:f101:210:a4ff:fee3:9566
]]></programlisting><para>here, </para><programlisting><![CDATA[210:a4ff:fee3:9566
]]></programlisting><para>is the host part and computed from the NIC's MAC address </para><programlisting><![CDATA[00:10:A4:E3:95:66
]]></programlisting><para>using the <ulink url="http://standards.ieee.org/regauth/oui/tutorials/EUI64.html">IEEE-Tutorial EUI-64</ulink> design for EUI-48 identifiers.</para><sect3><title>Privacy problem with automatically computed and solution</title><para>Because the &quot;automatically computed&quot; host part is globally unique (except when a vendor of a NIC uses the same MAC address on more than one NIC), client tracking is possible on the host when not using a proxy of any kind.</para><para>This is a known problem, and a solution was defined: privacy extension, defined in <ulink url="http://www.faqs.org/rfcs/rfc3041.html">RFC 3041 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6</ulink> (there is also already a newer draft available: <ulink url="ftp://ftp.ietf.org/internet-drafts/">draft-ietf-ipngwg-temp-addresses-*.txt</ulink>). Using a random and a static value a new suffix is generated from time to time. Note: this is only reasonable for outgoing client connections and isn't really useful for well-known servers.</para></sect3>
]]></programlisting><para>using the <ulink url="http://standards.ieee.org/regauth/oui/tutorials/EUI64.html">IEEE-Tutorial EUI-64</ulink> design for EUI-48 identifiers.</para><sect3><title>Privacy problem with automatically computed addresses and a solution</title><para>Because the &quot;automatically computed&quot; host part is globally unique (except when a vendor of a NIC uses the same MAC address on more than one NIC), client tracking is possible on the host when not using a proxy of any kind.</para><para>This is a known problem, and a solution was defined: privacy extension, defined in <ulink url="http://www.faqs.org/rfcs/rfc3041.html">RFC 3041 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6</ulink> (there is also already a newer draft available: <ulink url="ftp://ftp.ietf.org/internet-drafts/">draft-ietf-ipngwg-temp-addresses-*.txt</ulink>). Using a random and a static value a new suffix is generated from time to time. Note: this is only reasonable for outgoing client connections and isn't really useful for well-known servers.</para></sect3>
</sect2>
<sect2><title>Manually set</title><para>For servers it's probably easier to remember simpler addresses, this can also be accommodated. It is possible to assign an additional IPv6 address to an interface, e.g. </para><programlisting><![CDATA[3ffe:ffff:100:f101::1
]]></programlisting><para>For manual suffixes like &quot;::1&quot; shown in the above example it's required that the 6th most significant bit is set to 0 (the universal/local bit of the automatically generated identifier). Also some other (otherwise unchosen ) bit combinations are reserved for anycast addresses, too.</para></sect2>
</sect1>
<sect1><title>Prefix lengths for routing</title><para>In the early design phase it was planned to use a fully hierarchical routing approach to reduce the size of the routing tables maximally. The reasoning behind this approach were the number of current IPv4 routing entries in core routers (&gt; 104 thousand in May 2001), reducing the need of memory in hardware routers (ASIC driven) to hold the routing table and increase speed (fewer entries hopefully result in faster lookups).</para><para>Todays view is that routing will be mostly hierarchically designed for networks with only one service provider. With more than one ISP connections, this is not possible, and subject to an issue named multi-homing.</para><sect2><title>Prefix lengths (also known as &quot;netmasks&quot;)</title><para>Similar to IPv4, the routable network path for routing to take place. Because standard netmask notation for 128 bits doesn't look nice, designers employed the IPv4 Classless Inter Domain Routing (CIDR, <ulink url="http://www.faqs.org/rfcs/rfc1519.html">RFC 1519 / Classless Inter-Domain Routing</ulink>) scheme, which specifies the number of bits of the IP address to be used for routing. It is also called the &quot;slash&quot; notation.</para><para>An example: </para><programlisting><![CDATA[3ffe:ffff:100:1:2:3:4:5/48
<sect1><title>Prefix lengths for routing</title><para>In the early design phase it was planned to use a fully hierarchical routing approach to reduce the size of the routing tables maximally. The reasoning behind this approach were the number of current IPv4 routing entries in core routers (&gt; 104 thousand in May 2001), reducing the need of memory in hardware routers (ASIC &quot;Application Specified Integrated Circuit&quot; driven) to hold the routing table and increase speed (fewer entries hopefully result in faster lookups).</para><para>Todays view is that routing will be mostly hierarchically designed for networks with only one service provider. With more than one ISP connections, this is not possible, and subject to an issue named multi-homing.</para><sect2><title>Prefix lengths (also known as &quot;netmasks&quot;)</title><para>Similar to IPv4, the routable network path for routing to take place. Because standard netmask notation for 128 bits doesn't look nice, designers employed the IPv4 Classless Inter Domain Routing (CIDR, <ulink url="http://www.faqs.org/rfcs/rfc1519.html">RFC 1519 / Classless Inter-Domain Routing</ulink>) scheme, which specifies the number of bits of the IP address to be used for routing. It is also called the &quot;slash&quot; notation.</para><para>An example: </para><programlisting><![CDATA[3ffe:ffff:100:1:2:3:4:5/48
]]></programlisting><para>This notation will be expanded:</para><itemizedlist><listitem><para>Network: </para></listitem></itemizedlist><programlisting><![CDATA[3ffe:ffff:0100:0000:0000:0000:0000:0000
]]></programlisting><itemizedlist><listitem><para>Net-mask: </para></listitem></itemizedlist><programlisting><![CDATA[ffff:ffff:ffff:0000:0000:0000:0000:0000
]]></programlisting><itemizedlist><listitem><para>Netmask: </para></listitem></itemizedlist><programlisting><![CDATA[ffff:ffff:ffff:0000:0000:0000:0000:0000
]]></programlisting></sect2>
<sect2><title>Matching a route</title><para>Under normal circumstances (no QoS) a lookup in a routing table results in the route with the most significant number of address bits means the route with the biggest prefix length matches first.</para><para>For example if a routing table shows following entries (list is not complete):</para><programlisting><![CDATA[3ffe:ffff:100::/48 :: U 1 0 0 sit1
]]><![CDATA[2000::/3 ::192.88.99.1 UG 1 0 0 tun6to4
@ -1252,7 +1274,11 @@ Kommentar: tw. nicht ganz up-to-date bzw. nicht ganz fehlerfreie Abbildungen
Kai Fuhrberg
2. akt. Auflage 2000 Carl Hanser Verlag München, Wien, ISBN: 3-446-21333-3
Kap.2.3.1.4. IPv6 S.18-22
Kurz angerissen werden: RFC1825 - Security Association Konzept RFC1826 - IP authentication Header RFC1827 - IP Encapsulation Security Payload</para></listitem></itemizedlist></sect2>
Kurz angerissen werden: RFC1825 - Security Association Konzept RFC1826 - IP authentication Header RFC1827 - IP Encapsulation Security Payload</para></listitem><listitem><para>IPv6. Das neue Internet- Protokoll. Technik, Anwendung, Migration <ulink url="http://www.amazon.de/exec/obidos/ASIN/389864149X">bei Amazon</ulink>
Hans Peter Dittler
2. akt. und erweiterte Auflage 2002 dpunkt.verlag, ISBN 3-89864-149-X</para></listitem><listitem><para>Das neue Internetprotokoll IPv6 <ulink url="http://www.amazon.de/exec/obidos/ASIN/3446216855">bei Amazon</ulink>
Herbert Wiese
2002 Carl Hanser Verlag, ISBN 3446216855</para></listitem></itemizedlist></sect2>
<sect2><title>Articles, Books, Online Reviews (mixed)</title><itemizedlist><listitem><para><ulink url="http://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.html">Getting Connected with 6to4</ulink> by Huber Feyrer, 06/01/2001</para></listitem><listitem><para><ulink url="http://researchcenter.zdnet.com/data/detail?id=1001711171_237&amp;type=RES&amp;x=120054357">How Long the Aversion to IP Version 6</ulink> - Review of META Group, Inc., full access needs (free) registration at META Group, Inc.</para></listitem><listitem><para><ulink url="http://www.oreillynet.com/search/index.ncsp?sp-q=IPv6">O'reilly Network search for keyword IPv6</ulink> results in 29 hits (28. January 2002)</para></listitem><listitem><para><ulink url="http://www.nwfusion.com/news/2000/1023ipv6.html">Wireless boosting IPv6</ulink> by Carolyn Duffy Marsan, 10/23/2000</para></listitem><listitem><para><ulink url="http://www.oreilly.fr/catalogue/ipv6.html">IPv6, théorie et pratique</ulink> (french) 2e édition, mars 1999, O'Reilly (??? no newer one available ???) ISBN: 2-84177-085-0</para></listitem><listitem><para><ulink url="http://www.ip6.com/index.html">Internetworking IPv6 with Cisco Routers</ulink> by Silvano Gai, McGrawHill Italia, 1997 13 chapters and appendix A-D are downloadable as PDF-documents.</para></listitem><listitem><para><ulink url="http://www.vermicelli.pasta.cs.uit.no/ipv6/students/vegars/">Secure and Dynamic Tunnel Broker</ulink> by Vegar Skaerven Wang, Master of Engineering Thesis in Computer Science, 2.June 2000, Faculty of Science, Dep.of Computer Science, University of Tromso, Norway.</para></listitem><listitem><para><ulink url="http://www.netobjectdays.org/pdf/99/stja/doering.pdf">Aufbruch in die neue Welt - IPv6 in IPv4 Netzen</ulink> von Dipl.Ing. Ralf Döring, TU Illmenau, 1999</para></listitem><listitem><para><ulink url="http://www.csc.fi/~psavola/residential.html">Migration and Co-existence of IPv4 and IPv6 in Residential Networks</ulink> by Pekka Savola, CSC/FUNET, 2002</para></listitem><listitem><para><ulink url="http://www.sunny.ch/publications/f_ipv6.htm">IPv6 Essentials</ulink> written by Silvia Hagen, July 2002, O'Reilly <ulink url="http://www.oreilly.com/catalog/ipv6ess/">Order Number: 1258</ulink>, ISBN 0-5960-0125-8</para></listitem></itemizedlist></sect2>
<sect2><title>Others</title><para>See following URL for more: <ulink url="http://www.switch.ch/lan/ipv6/references.html">SWITCH IPv6 Pilot / References</ulink></para></sect2>
</sect1>
@ -1424,7 +1450,8 @@ Kurz angerissen werden: RFC1825 - Security Association Konzept RFC1826 - IP auth
</tgroup></informaltable>
</para><para>(1) recommended for common Linux &amp; IPv6 issues.</para><para>(2) very recommended if you provide server applications.</para><para>Something missing? Suggestions are welcome!</para><para>Another list is available at <ulink url="http://www.join.uni-muenster.de/JOIN/ipv6/texte-englisch/ipv6.infoquellen.html">JOIN Project / List of IPv6-related maillists</ulink>.</para></sect1>
</chapter>
<chapter><title>Revision history / Credits / The End</title><sect1 id="revision-history"><title>Revision history</title><para>Versions x.y are published on the Internet.</para><para>Versions x.y.z are work-in-progress and only published as LyX file on CVS.</para><sect2><title>Releases 0.x</title><variablelist><varlistentry><term>0.33
<chapter><title>Revision history / Credits / The End</title><sect1 id="revision-history"><title>Revision history</title><para>Versions x.y are published on the Internet.</para><para>Versions x.y.z are work-in-progress and only published as LyX file on CVS.</para><sect2><title>Releases 0.x</title><variablelist><varlistentry><term>0.34
</term><listitem><para>2002-11-19/PB: Add information about German translation (work in progress), some fixes, create a small shortcut explanation list, extend &quot;used terms&quot; and add two German books</para></listitem></varlistentry><varlistentry><term>0.33
</term><listitem><para>2002-11-18/PB: Fix broken RFC-URLs, add parameter ttl on 6to4 tunnel setup example</para></listitem></varlistentry><varlistentry><term>0.32
</term><listitem><para>2002-11-03/PB: Add information about Chinese translation</para></listitem></varlistentry><varlistentry><term>0.31.1
</term><listitem><para>2002-10-06/PB: Add another maillist</para></listitem></varlistentry><varlistentry><term>0.31
@ -1468,7 +1495,7 @@ Kurz angerissen werden: RFC1825 - Security Association Konzept RFC1826 - IP auth
</sect1>
<sect1 id="credits"><title>Credits</title><para>The quickest way to be added to this nice list is to send bug fixes, corrections, and/or updates to me ;-).</para><para>If you want to do a major review, you can use the native LyX file (see <link linkend="general-original-source">original source</link>) and send diffs against it, because diffs against SGML don't help too much.</para><sect2 id="major-credits"><title>Major credits</title><itemizedlist><listitem><para>David Ranch &lt;dranch at trinnet dot net&gt;: For encouraging me to write this HOWTO, his editorial comments on the first few revisions, and his contributions to various IPv6 testing results on my IPv6 web site. Also for his major reviews and suggestions.</para></listitem><listitem><para>Pekka Savola &lt;pekkas at netcore dot fi&gt;: For major reviews, input and suggestions.</para></listitem><listitem><para>Martin F. Krafft &lt;madduck at madduck dot net&gt;: For grammar checks and general reviewing of the document.</para></listitem><listitem><para>John Ronan &lt;j0n at tssg dot wit dot ie&gt;: For grammar checks.</para></listitem></itemizedlist></sect2>
<sect2><title>Other credits</title><sect3><title>Document technique related</title><para>Writing a LDP HOWTO as a newbie (in LyX and exporting this to DocBook to conform to SGML) isn't as easy as some people say. There are some strange pitfalls... Nevertheless, thanks to:</para><itemizedlist><listitem><para>Authors of the <ulink url="http://www.linuxdoc.org/LDP/LDP-Author-Guide/">LDP Author Guide</ulink></para></listitem><listitem><para>B. Guillon: For his <ulink url="http://perso.libertysurf.fr/bgu/doc/db4lyx/">DocBook with LyX HOWTO</ulink></para></listitem></itemizedlist></sect3>
<sect3 id="content-related-credits"><title>Content related credits</title><para>Credits for fixes and hints are listed here, will grow sure in the future</para><itemizedlist><listitem><para>S .P. Meenakshi &lt;meena at cs dot iitm dot ernet dot in&gt;: For a hint using a &quot;send mail&quot; shell program on tcp_wrapper/hosts.deny</para></listitem><listitem><para>Georg Käfer &lt;gkaefer at salzburg dot co dot at&gt;: For detection of no proper PDF creation (fixed now by LDP maintainer Greg Ferguson), input for German books, big list of URLs and some other suggestions</para></listitem><listitem><para>Frank Dinies &lt;FrankDinies at web dot de&gt;: For a bugfix on IPv6 address explanation</para></listitem><listitem><para>John Freed &lt;jfreed at linux-mag dot com&gt;: For finding a bug in in IPv6 multicast address explanation</para></listitem><listitem><para>Craig Rodrigues &lt;crodrigu at bbn dot com&gt;: For suggestion about RHL IPv6 setup</para></listitem><listitem><para>Fyodor &lt;fyodor at insecure dot org&gt;: Note me about outdated nmap information</para></listitem></itemizedlist></sect3>
<sect3 id="content-related-credits"><title>Content related credits</title><para>Credits for fixes and hints are listed here, will grow sure in the future</para><itemizedlist><listitem><para>S .P. Meenakshi &lt;meena at cs dot iitm dot ernet dot in&gt;: For a hint using a &quot;send mail&quot; shell program on tcp_wrapper/hosts.deny</para></listitem><listitem><para>Georg Käfer &lt;gkaefer at salzburg dot co dot at&gt;: For detection of no proper PDF creation (fixed now by LDP maintainer Greg Ferguson), input for German books, big list of URLs and some more suggestions and corrections.</para></listitem><listitem><para>Frank Dinies &lt;FrankDinies at web dot de&gt;: For a bugfix on IPv6 address explanation</para></listitem><listitem><para>John Freed &lt;jfreed at linux-mag dot com&gt;: For finding a bug in in IPv6 multicast address explanation</para></listitem><listitem><para>Craig Rodrigues &lt;crodrigu at bbn dot com&gt;: For suggestion about RHL IPv6 setup</para></listitem><listitem><para>Fyodor &lt;fyodor at insecure dot org&gt;: Note me about outdated nmap information</para></listitem></itemizedlist></sect3>
</sect2>
</sect1>
<sect1><title>The End</title><para>Thanks for reading. Hope it helps!</para><para>If you have any questions, subscribe to proper <link linkend="information-maillists">maillist</link> and describe your problem.</para></sect1>