1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> 2<!-- $Id: INTRO.html,v 1.5 2008/03/31 09:18:15 psavola Exp $ --> 3<html lang="en"> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 6<title>RADVD Introduction</title> 7</head> 8 9<body> 10<h1>RADVD Introduction</h1> 11 12<p> 13by <a href="mailto:lf@elemental.net">Lars Fenneberg</a> et al. Updated 142002-01-12. 15</p> 16 17<p> 18<a href="http://www.ietf.org/rfc/rfc2460.txt">IPv6</a> has a lot more 19support for autoconfiguration than 20<a href="http://www.ietf.org/rfc/rfc791.txt">IPv4</a>. But for this 21autoconfiguration to work on the hosts of a network, the <em>routers</em> 22of the local network have to run a program which answers the 23autoconfiguration requests of the hosts. 24</p> 25 26<p> 27On Linux this program is called 28<a href="http://v6web.litech.org/radvd/">radvd</a>, which stands for 29Router ADVertisement Daemon. This daemon listens to Router Solicitations 30(RS) and answers with Router Advertisement (RA). Furthermore unsolicited 31RAs are also send from time to time. 32<a href="http://www.ietf.org/rfc/rfc4861.txt">RFC 4861</a> defines most 33functions of radvd. 34</p> 35 36<p> 37Router Advertisements contain information, which is used by hosts to 38configure their interfaces. This information includes address prefixes, 39the MTU of the link and information about default routers. 40</p> 41 42<p> 43Of course the routers can't autoconfigure themselves, so the information 44on the routers has to be provided by the administrator of the system. 45This is done by manually configuring the interfaces and routes and by 46configuring the router advertisement daemon. 47</p> 48 49<p> 50A small and simple configuration file for radvd might look like this: 51</p> 52 53<p> 54<pre> 55 56interface eth0 57{ 58 AdvSendAdvert on; 59 prefix 2001:db8:0:1::/64 60 { 61 AdvOnLink on; 62 AdvAutonomous on; 63 }; 64}; 65 66</pre> 67 68<p> 69It says that radvd should advertise (AdvSendAdvert on) the prefix 702001:db8:0:1:: which has a lenght of 64 on the interface eth0. 71Also the prefix is marked as autonomous (AdvAutonomous on) and as on-link 72(AdvOnLink on). The both currently default to enabled but are included 73here for introductory purposes; it isn't necessary to define them. 74All the other options are left on their default values. 75</p> 76 77<p> 78Autonomous means that the prefix can be used for automatic address 79configuration and on-link means that the hosts can assume that all the hosts 80which use this prefix are reachable via the interface on which the host 81received this RA. 82</p> 83 84<p> 85The prefix must be 64 bits long (apart from very few exceptions), as dictated by 86<a href="http://www.ietf.org/rfc/rfc2464.txt">RFC 2464</a> and other 87standards for different link-layer technologies. For more 88details, see <a href="http://www.ietf.org/rfc/rfc4862.txt">RFC 4862</a> 89(IPv6 Stateless Address Autoconfiguration) and 90<a href="http://www.ietf.org/rfc/rfc2464.txt">RFC 2464</a> 91(Transmission of IPv6 Packets over Ethernet Networks). For more information 92on configuring radvd please look at the manual pages which are included in 93the radvd distribution. 94</p> 95 96<p> 97So, when an interface on a hosts is UPed and a RA is received, the host 98can configure an address on the interface by using the prefix and 99appending the EUI-64 identifier derived from the hardware address 100(also called link-layer token). The EUI-64 identifier is simply appended 101after the prefix. For example: 102</p> 103 104<p> 105<pre> 106 107 Announced prefix: 2001:db8:0:1:: 108 109 MAC address: 00:07:E9:7B:02:59 110 111 EUI-64 identifier: 0207:e9ff:fe7b:259 112 113 Configured address: 2001:db8:0:1:207:e9ff:fe7b:259 114 115</pre> 116 117<p> 118The host can also choose a default router by examining the RA. 119the rest works automatically. 120</p> 121 122<p> 123So now we've configured radvd, but we still need to configure the interfaces 124and set the routes (on the router). There's a lot of good material on 125setting up IPv6, and the reader is encouraged to have a look 126at it; for example: 127</p> 128 129<p> 130<ul> 131<li><a href="http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO.html">http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO.html</a></li> 132<li><a href="http://people.debian.org/~csmall/ipv6/setup.html">http://people.debian.org/~csmall/ipv6/setup.html</a> (for non-Debian too)</li> 133</ul> 134 135<hr> 136 137<p> 138Copyright © 1997 <a href="mailto:lf@elemental.net">Lars Fenneberg</a> 139</p> 140 141</body> 142</html> 143