diff --git a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.lyx b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.lyx index 22e15f3e..5f11ba29 100644 --- a/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.lyx +++ b/LDP/users/Peter-Bieringer/Linux+IPv6-HOWTO.lyx @@ -49,7 +49,7 @@ on> \layout SGML - Release 0.20.3 2002-02-12 Release 0.20.4 2002-02-21 PB See \begin_inset LatexCommand \ref[revision history]{revision-history} @@ -603,7 +603,7 @@ Link A link is a layer 2 network packet transport medium, examples are Ethernet, Node A node is a host or a router. \layout Description -Host Normally a single homed host on a link. +Host Generally a single homed host on a link. Normally it has only one active network interface, e.g. Ethernet or (not and) PPP. \layout Description @@ -611,16 +611,16 @@ Host Normally a single homed host on a link. Dual\SpecialChar ~ homed\SpecialChar ~ host A dual homed host is a node with two network (physical or - virtual) interfaces on two different links, but do not forwarding any packets - between the two connected links. + virtual) interfaces on two different links, but does not forward any packets + between the interfaces. \layout Description Router A router is a node with two or more network (physical or virtual) - interfaces, able to forward any packets between the interfaces. + interfaces, capable of forwarding packets between the interfaces. \layout Description -Tunnel A tunnel is typically a point-to-point connection on which packets - are exchanged which contains data of another protocol, e.g. +Tunnel 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. \layout Description @@ -633,7 +633,7 @@ Document related Long code line wrapping signal char \layout Standard -The special char +The special character \begin_inset Quotes sld \end_inset @@ -648,14 +648,15 @@ The special char Placeholders \layout Standard -In generic examples you will find sometimes like +In generic examples you will sometimes find the following: \layout Code \layout Standard For real use on your system command line or in scripts this has to be replaced - with related content (also removing < and >), the result would be e.g. + with relevant content (removing the < and > of course), the result would + be e.g. \layout Code 1.2.3.4 @@ -664,13 +665,13 @@ For real use on your system command line or in scripts this has to be replaced Commands in the shell \layout Standard -Commands executable as non-root user starts with $, e.g. +Commands executable as non-root user begin with $, e.g. \layout Code $ whoami \layout Standard -Commands executable as root user starts with #, e.g. +Commands executable as root user begin with #, e.g. \layout Code # whoami @@ -719,7 +720,7 @@ Experience with IPv4 configuration \layout Standard You should definitely have some experience in IPv4 configuration, otherwise - it's hard for you to understand what's really going on. + it will be hard for you to understand what is really going on. \layout Subsubsection Experience with the Domain Name System (DNS) @@ -741,14 +742,14 @@ tcpdump \emph default it can show you. - Otherwise, network debugging will very hard for you. + Otherwise, network debugging will very difficult for you. \layout Subsection Linux operating system compatible hardware \layout Standard -Surely you want to run some tests too, not only read this HOWTO and fall - asleep here and there. +Surely you wish to experiment with real hardware, and not only read this + HOWTOto fall asleep here and there. :) \layout Chapter @@ -778,13 +779,13 @@ IPv6 is a new layer 3 transport protocol (see \end_inset - from January 1980) and since its incantation, there were many requests + 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 the 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. + 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. \layout Standard For more information about the IPv6 history take a look at older IPv6 related @@ -865,8 +866,8 @@ The shown lines were copied from patch-2.1.8 (e-mail address was blanked on In between \layout Standard -Because of lack of manpower, the IPv6 implementation in the kernel couldn't - follow the discussed drafts or newly released RFCs. +Because of lack of manpower, the IPv6 implementation in the kernel wasunable + to follow the discussed drafts or newly released RFCs. In October 2000, a project was started in Japan, called \begin_inset LatexCommand \url[USAGI]{http://www.linux-ipv6.org/} @@ -879,7 +880,7 @@ Because of lack of manpower, the IPv6 implementation in the kernel couldn't \end_inset . - From time to time they created snapshot against current vanilla Linux kernel + From time to time they create snapshots against current vanilla Linux kernel sources. \layout Subsection @@ -891,10 +892,10 @@ Unfortunately, the \end_inset - patch is so big, that current Linux networking maintainers aren't able - to include it in the production source of the Linux kernel 2.4.x series. - Therefore the 2.4.x series misses some (many) extensions and also didn't - fulfill all current drafts and RFCs. + patch is so big, that current Linux networking maintainers are unable to + include it in the production source of the Linux kernel 2.4.x series. + Therefore the 2.4.x series is missing some (many) extensions and also does + not confirm to all current drafts and RFCs. This can cause some interoperability problems with other operating systems. \layout Subsection @@ -906,8 +907,8 @@ Future \end_inset - now makes use of the new Linux kernel development series 2.5.x to put all - their current extensions into this development release. + is now making use of the new Linux kernel development series 2.5.x toinsert + all of their current extensions into this development release. Hopefully the 2.6.x kernel series will contain a true and up-to-date IPv6 implementation. \layout Section @@ -915,8 +916,8 @@ Future How do IPv6 addresses look like? \layout Standard \align left -As said, IPv6 addresses are 128 bits long. - This number of bits can cause very high decimal numbers with up to 39 digits: +As previously mentioned, IPv6 addresses are 128 bits long. + This number of bits generates very high decimal numbers with up to 39 digits: \layout Code @@ -929,7 +930,7 @@ As said, IPv6 addresses are 128 bits long. -1: 340282366920938463463374607431768211455 \layout Standard \align left -"Such numbers are not really addresses that can be memorized. +Such numbers are not really addresses that can be memorized. Also the IPv6 address schema is bitwise orientated (just like IPv4, but that's not often recognized). Therefore a better notation of such big numbers is hexadecimal. @@ -941,8 +942,8 @@ nibble \begin_inset Quotes srd \end_inset -) are represented by a digit or char from 0-9 and a-f (10-15) and reduces - the length to 32 chars. +) are represented by a digit or character from 0-9 and a-f (10-15). + Thisformat reduces the length of the IPv6 address to 32 characters. \layout Code @@ -954,7 +955,7 @@ nibble -1: 0xffffffffffffffffffffffffffffffff \layout Standard \align left -This representation is also not very convenient (possible mix-up or loss +This representation is still not very convenient (possible mix-up or loss of single hexadecimal digits), so the designers of IPv6 chose a hexadecimal format with a colon as separator after each block of 16 bits. In addition, the leading " @@ -1004,8 +1005,8 @@ One sequence of 16 bit blocks containing only zeroes can be replaced with \end_inset . - But not more than one time, because otherwise its no longer a unique representa -tion. + But not more than one at a time, otherwise it is no longer a unique representat +ion. \layout Code @@ -1070,7 +1071,8 @@ On any IP header, the first 4 bits are reserved for protocol version. ) (which never really made it to the public) \layout Standard \align left -So the next free number was 6. +The next free number was 6. + Hence IPv6 was born! \layout Subsection IPv6 addresses: why such a high number of bits? @@ -1079,21 +1081,22 @@ IPv6 addresses: why such a high number of bits? During the design of IPv4, people thought that 32 bits were enough for the world. Looking back into the past, 32 bits were enough until now and will perhaps - be enough for another couple years. - However, 32 bits are not not enough to provide each network device with - a global address in the future. + be enough for another few years. + However, 32 bits are not enough to provide each network device with a global + address in the future. Think about mobile phones, cars (including electronic devices on its CAN-bus), toasters, refrigerators, light switches, and so on... \layout Standard \align left -So designers have chosen 128 bit, 4 times more in length and 2^96 in size - than in IPv4 today. +So designers have chosen 128 bits, 4 times more in length and 2^96 greater + in size than in IPv4 today. \layout Standard -But the usable size is smaller than it may appear, because in the currently - defined address schema, 64 bits are user for interface identifiers. +The usable size is smaller than it may appear however. + This is because in the currently defined address schema, 64 bits are used + for interface identifiers. The other 64 bits are used for routing. - Assuming the current strict levels of aggregation (/48, /35, ...), it's still + Assuming the current strict levels of aggregation (/48, /35, ...), it is still possible to \begin_inset Quotes sld \end_inset @@ -1102,28 +1105,29 @@ run out \begin_inset Quotes srd \end_inset - of space, but surely not in the near future. + of space, but hopefully not in the near future. \layout Subsection IPv6 addresses: why so small a number of bits on a new design? \layout Standard \align left -Well, there is one (or more?) people on the Internet who think about IPv8 - and IPv16, but their design is far away from acceptance and implementation. +Well, there are (possibly) some people on the Internet who are thinking + about IPv8 and IPv16, but their design is far away from acceptance and + implementation. \layout Standard \align left -128 bit was the best choice regarding header overhead and data transport. - Think about the minimum Maximum Transfer Unit (MTU) in IPv4 (576 octets) - and in IPv6 (1280 octets), the header length in IPv4 is 20 octets (minimum, +128 bits was the best choice regarding header overhead and data transport. + Consider the minimum Maximum Transfer Unit (MTU) in IPv4 (576 octets) and + in IPv6 (1280 octets), the header length in IPv4 is 20 octets (minimum, can increase to 60 octets with IPv4 options) and in IPv6 is 48 octets (fixed). This is 3.4 % of MTU in IPv4 and 3.8 % of MTU in IPv6. - This means the header overhead is nearly equal. + This means the header overhead is almost equal. More bits for addresses would require bigger headers and therefore more overhead. - Also think about the maximum MTU on normal links (like Ethernet today): - it's 1500 octets (in special cases: 9k octets using Jumbo frames). + Also, consider the maximum MTU on normal links (like Ethernet today): it's + 1500 octets (in special cases: 9k octets using Jumbo frames). Ultimately, it wouldn't be a proper design if 10 % or 20 % of transported - data in a Layer-3 packet were used for addresses and not for payload... + data in a Layer-3 packet were used for addresses and not for payload. \layout Chapter @@ -1165,8 +1169,8 @@ Addresses without a special prefix Localhost address \layout Standard -This is a special address for the loopback interface, like IPv4 with its - +This is a special address for the loopback interface, similiar to IPv4 with + its \begin_inset Quotes sld \end_inset @@ -1240,7 +1244,7 @@ IPv4-mapped IPv6 address \layout Standard IPv4-only IPv6-compatible addresses are sometimes used/shown for sockets - created by an IPv6-enabled daemon, but binding to an IPv4 address only. + created by an IPv6-enabled daemon, but only binding to an IPv4 address. \layout Standard These addresses are defined with a special prefix of length 96 (a.b.c.d is @@ -1265,7 +1269,7 @@ For example, the IPv4 address 1.2.3.4 looks like this: IPv4-compatible IPv6 address \layout Standard -Also for sockets, in this case it's for dual use and looking like +Also for sockets, in this case it is for a dual purpose and looks like: \layout Code 0:0:0:0:0:0:a.b.c.d/96 @@ -1277,7 +1281,8 @@ or in compressed format ::a.b.c.d/96 \layout Standard -They are also used by automatic tunneling, which is being replaced by +These addresses are also used by automatic tunneling, which is being replaced + by \begin_inset LatexCommand \ref[6to4 tunneling]{tunneling-6to4} \end_inset @@ -1288,7 +1293,8 @@ They are also used by automatic tunneling, which is being replaced by Network part, also known as prefix \layout Standard -Designers defined some address types and left a lot of room for future use. +Designers defined some address types and left a lot of scope for futuredefinitio +ns as currently unknown requirements arise. \begin_inset LatexCommand \url[RFC 2373 [July 1998] / IP Version 6 Addressing Architecture]{http://rfc.net/rfc2373.html} @@ -1311,8 +1317,9 @@ Link local address type \layout Standard \align left 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 a router. - It's used for link communication like: + Using this address as destination the packet would never pass through a + router. + It's used for link communications such as: \layout Itemize \align left anyone else here on this link? @@ -1322,7 +1329,7 @@ anyone here with a special address (e.g. looking for a router)? \layout Standard \align left -They're starting with ( +They begin with ( where \emph on \begin_inset Quotes sld @@ -1334,7 +1341,7 @@ x \emph default - is any hex char, normally + is any hex character, normally \emph on \begin_inset Quotes sld @@ -1352,7 +1359,7 @@ x fe8 \shape italic \emph on -x: <- currently the only used one +x: <- currently the only one in use. \layout Code fe9 @@ -1377,7 +1384,7 @@ An address with this prefix is found on each IPv6-enabled interface after stateless auto-configuration (which is normally always the case). \layout Standard -Note: only fe80 is currently used for that. +Note: only fe80 is currently in use. \layout Subsection Site local address type @@ -1403,7 +1410,7 @@ Another advantage: because it's possible to assign more than one address in addition to a global one. \layout Standard \align left -It's starting with ( +It begins with ( \emph on \begin_inset Quotes sld @@ -1433,7 +1440,7 @@ x fec \shape italic \emph on -x: <- common used one +x: <- most commonly used. \layout Code fed @@ -1470,7 +1477,7 @@ Today, there is one global address type defined (the first design, called in older Linux kernel sources). \layout Standard \align left -It's starting with ( +It begins with ( \emph on x \emph default @@ -1495,7 +1502,7 @@ xxx : \layout Standard \align left -There are some subtypes defined by now: +There are some further subtypes defined, see below: \layout Subsubsection 6bone test addresses @@ -1521,15 +1528,15 @@ A special 6bone test address which will be never be globally unique is starting 3ffe:ffff: \layout Standard -and is mostly shown in examples, because if real addresses are shown, it's - possible that people do a copy & paste to their configuration files and - can cause duplicates an globally unique address. - This can cause many troubles on the original host (e.g. +and is mostly shown in examples, because if real addresses are shown, its + possible for someone to do a copy & paste to their configuration files.Thus + inadvertently causing duplicates an globally unique address. + This would cause serious problems for the original host (e.g. getting answer packets for request that were never sent). \newline \newline -You can get perhaps still one of such prefix, see here +You can still apply for one of these prefixes, see here \begin_inset LatexCommand \url[How to join 6bone]{http://www.6bone.net/6bone_hookup.html} \end_inset @@ -6466,7 +6473,13 @@ A6, DNAME and reverse IP6.ARPA: specified in \end_inset -, usable since BIND 9 +, usable since BIND 9, but see also an information about the current state + at +\begin_inset LatexCommand \url[draft-ietf-dnsext-ipv6-addresses-00.txt]{http://www.ietf.org/internet-drafts/} + +\end_inset + + \layout Standard Perhaps filled later more content, for the meantime take a look at given @@ -6493,6 +6506,31 @@ A6, DNAME and reverse IP6.ARPA: take a look into chapter 4 and 6 of the BIND Because IP6.INT is deprecated (but still in use), a DNS server which will support IPv6 information has to serve both reverse zones. +\layout Subsubsection + +Current best practice +\layout Standard + +Because there are some troubles around using the new formats, current best + practice is: +\layout Standard + +Forward lookup support: +\layout Itemize + +AAAA +\layout Itemize + +A6 without chaining, means prefix length value set to 0 +\layout Standard + +Reverse lookup support: +\layout Itemize + +Reverse nibble format for zone ip6.int +\layout Itemize + +Reverse nibble format for zone ip6.arpa \layout Subsection Checking IPv6-enabled connect @@ -8868,11 +8906,21 @@ Revision history / Credits / The End \end_inset Revision history +\layout Standard + +Versions x.y are published on the Internet. +\layout Standard + +Versions x.y.z are work-in-progress and only published as LyX file on CVS. \layout Subsection Releases 0.x \layout Description +0.20.4 2002-02-21/PB: Migrate more grammar checks submitted by John Ronan, + add some additional hints at DNS section +\layout Description + 0.20.3 2002-02-12/PB: Migrate a minor grammar check patch submitted by John Ronan \layout Description