2IPv6 Dynamic Host Configuration Protocol Overview Evolution Of DHCPv6DHCPv6 ConceptsInstallationConfiguration
3Evolution Of DHCPv6To boot the machines in a LAN, needs lot of network parameters to be configured in each machine.In order to avoid this manual process, all the network parameters are put in a server and when a machine in LAN is booting, it will contact the server for the configuration parameters. This is called BOOTP server. Later it is extended to DHCP with additional features.Generally called DHCP
4Evolution Of DHCPv6IP configuration in IPV6 is carried out by IPV6 auto-configurationIPv6 auto-configurationStatelessnodes configure addresses themselves withinformation from routers (if available);no managed addressesStatefulnodes use DHCPv6 to obtain addresses.Duplicate address detection (DAD) used to avoidduplicated addresses
5What is DHCPv6 ? The Dynamic Host Configuration Protocol for IPv6 Dhcpv6 ConceptsWhat is DHCPv6 ?The Dynamic Host Configuration Protocol for IPv6(DHCP) enables DHCP servers to pass configurationparameters such as IPv6 network addresses to IPv6nodes.DHCPv6 protocol Released in RFC 3315This protocol is a stateful counterpart to "IPv6 StatelessAddress Autoconfiguration" (RFC 2462).Used separately or concurrently with the latter to obtainconfiguration parameters.
6The following lists the main differences between DHCPv4 and DHCPv6: Dhcpv6 Concepts…DHCPv6 Versus DHCPv4The following lists the main differences between DHCPv4 and DHCPv6:Unlike DHCPv4, IPv6 address allocation in DHCPv6 ishandled using a message option.The message types, such as DHCPDISCOVER andDHCPOFFER supported by DHCPv4 are removed inDHCPv6. Instead, DHCPv6 servers are located by a clientSOLICIT message followed by a server ADVERTISE messageUnlike DHCPv4 clients, DHCPv6 clients can request multipleIPv6 addresses.
7A method of providing stateful IPv6 address configuration/assignment Dhcpv6 Concepts…Why we need dhcpv6 ?A method of providing stateful IPv6 address configuration/assignmentAlso provides “other” network informationDNS serversNIS informationDHCP allows centralized control andauditing of IP address assignmentsCentral point of control for resourcesDynamic DNS updatesMore security versus stateless
9Message Type Option Meaning REBIND (6) SOLICIT(1)A client sends a Solicit message to locate servers.ADVERTISE (2)A server sends an Advertise message to indicate that it is available for DHCP service, in response to a Solicit message received from a client.REQUEST (3)A client sends a Request message to request configuration parameters, including IP addresses, from a specific server.REPLY (4)A server sends a Reply message containing assigned addresses and configuration parameters in response to a Solicit, Request, Renew, Rebind message received from a Client.RENEW (5)A client sends a Renew message to the server that originally provided the client's addresses and configuration parameters to extend the lifetimes on the addresses assigned to the client.REBIND (6)A client sends a Rebind message to any available server to extend the lifetimes on the addresses assigned to the client.
10Messages exchanged using UDP Dhcpv6 Concepts…DHCP MessagesMessages exchanged using UDPClient port – udp/546Server Port – udp/547Client uses Link-Local address or addresses determined using other methods to transmit and receive DHCP messages.Server receives messages from clients using a reserved, Link-Scoped multicast address.
11All_DHCP_Relay_Agents_and_Servers Dhcpv6 Concepts…DHCP Multicast AddressesAll_DHCP_Relay_Agents_and_ServersLink-scoped multicast address used by a client to communicate with on-link relay agents and serversFF02::1:2All_DHCP_ServersSite-scoped multicast address used by a relay agent to communicate with serversFF05::1:3
12Options data(option –len octets) Dhcpv6 Concepts…DHCPv6 option format and base optionOption-codeOption lengthOptions data(option –len octets)• Client Identifier• Server Identifier• Identity Association for Non-temporaryAddresses• Identity Association for Temporary• IA Address• Option Request• Preference• Elapsed Time• Relay Message• Authentication• Server Unicast• Status Code• Rapid Commit• User Class• Vendor Class• Vendor-specific Information• Interface-Id• Reconfigure Message• Reconfigure Accept
13Dhcpv6 Concepts…DHCP Unique Identifer (DUID)Each DHCP client and server has a DUID. DHCP servers use DUIDs to identify clients for the selection of configuration parameters and in client Identity Associations.Unique across all clients and serversShould not change over time (if possible)Must be < 128 octets long
14Client must associate at least one distinct IA with each Dhcpv6 Concepts…Identity AssociationAn identity association (IA) is a construct through which a server and client can identify, group, and manage a set of related IP addresses.Client must associate at least one distinct IA with eachnetwork interface requesting assignment of IPaddresses from DHCP server (IAID)Must be associated with exactly one interfaceMust be consistent across restarts by the client
15DHCPv6 working DHCP client DHCP server B DHCP server A T I M E SOLICIT ADVERTISEADVERTISEREQUESTClient select one advertise server BREPLYClient Now use address and parameter for lifetimeClient renew life timeRENEWREPLYClient releases address when shutting downRELEASE
16Dhcpv6 Concepts…Dhcpv6 operation :Client sends messages to link-local multicast addressServer unicasts response to clientInformation-Request / Reply - provide client configurationinformation but no addressesConfirm / Reply - assist in determining whether client movedReconfigure - allow servers to initiate a client reconfigurationBasic client/server authentication capabilities in basestandard.DHCP Unique Identifier (DUID) used to identify clients &serversIdentity Association ID (IAID) used to identify a collection ofaddressesRelay Agents used when server not on-linkRelay Agents may be chained
17Ongoing ProjectPreviously DHCPv6 v1.001and now DHCPv available for the HP-UX 11i v1 and HP-UX 11i v2 operating systemsDibbler is a portable DHCPv6 implementation on Linux 2.4/2.6 and Windows XP and Windows 2003.This project was started as master thesis by Tomasz Mrugalski and Marek Senderski of Computer Science faculty on Gdansk University of Technology.Project UNIX name: dhcpv6Operating System: All POSIX (Linux/BSD/UNIX-like OSes), Linux
18Update with dhcpv6-0.10-11_FC3.i386.rpm using InstallationDhcpv6 server :Update with dhcpv _FC3.i386.rpm using# rpm -U dhcpv _FC3.i386.rpmCreate a database directory#mkdir /var/db/dhcpv6Copy sample server configuration file# cp dhcp6s.conf /etc/dhcp6s.confStart the server daemon using# dhcp6s –dDf eth0
19Update with dhcpv6_client-0.10-11_FC3.i386.rpm using Installation…Dhcpv6 client :Update with dhcpv6_client _FC3.i386.rpm using# rpm -U dhcpv6_client _FC3.i386.rpmCopy sample client configuration file# cp dhcp6c.conf /etc/dhcp6c.confStart the client daemon using# dhcp6c –dDf eth0
20In Fedora core 3 following files are configured : ConfigurationIn Fedora core 3 following files are configured :Server configuration :/etc/sysconfig/dhcp6s/etc/dhcp6s.confFile : /etc/sysconfig/dhcp6sSpecify the interface for dhcp6sDHCP6SIF=eth0
27Topics covered are Definition of multicasting Multicast addresses Comparison between IPv4 multicasting & IPv6 multicastingVideoLAN Client (VLC) media playerAdvantage of using multicasting in VLCInstalling VLCUDP Streaming With VLC using the GUI
28Definition of Multicasting Multicast is communication between a single sender and multiple receivers on a network.Together with anycast and unicast, multicast is one of the packet types in the Internet Protocol Version 6 (IPv6).
29Graphical Representation Of Multicasting SendingEntityReceivingEntityService ProviderReceivingEntity
31IPv6 ADDRESSINGThere are three types of addresses:Unicast: An identifier for a single interface.Anycast: An identifier for a set of interfaces and is delivered to one of the interfaces identified by that address.Multicast: An identifier for a set of interfaces and is delivered to all interfaces identified by that address.Note :-> There are no broadcast addresses in IPv6, their function being superseded by multicast addresses.
32Multicast addressesMulticast addresses always start with (xx is the scope value)ffxy:Multicast addresses format:| | 4 | | bits || |flgs|scop| group ID |Multicast addresses are split into scopes and types
33Multicast addresses format… at the start of the address identifies the address as being a multicast address.flgs is a set of 4 flags: | 0 | 0 | 0 | T |The high-order 3 flags are reserved.T = 0 indicates a permanently-assigned ("well-known") multicast address, assigned by the global internet numbering authority.T = 1 indicates a non-permanently-assigned ("transient") multicast address.
34Multicast scopes ffx1: node-local ffx2: link-local ffx5: site-local ffx8: organization-localffxe: global scopeothers are reserved
35Multicast types All Nodes Address: ID = 1h, addresses all hosts on the local node (ff01:0:0:0:0:0:0:1) or the connected link (ff02:0:0:0:0:0:0:1).All Routers Address:ID = 2h, addresses all routers on the local node (ff01:0:0:0:0:0:0:2), on the connected link (ff02:0:0:0:0:0:0:2), or on the local site (ff05:0:0:0:0:0:0:2).
36Comparison between IPv4 multicasting & IPv6 multicasting Although the basic notion of multicasting is common to IPv4 and IPv6, several new characteristics are introduced in IPv6 multicasting.In IPv4,multicasting was extension of the basic specification, while specifications of IPv6 require that all IPv6 nodes support multicasting.IPv6 explicitly limits the scope of a multicast address by using a fixed address field, whereas the scope was specified using TTL (Time to Live) of a multicast packet in IPv4.
37Comparison…In IPv4, multicast tunnels were introduced to deploy multicasting .In IPv6,all routers should be multicast-capable, which means that we do not have to use multicast tunnels to deploy IPv6 multicasting.IPv4 multicasting use unicast addresses to identify a network interface. However, this is not suitable for IPv6,as an IPv6-capable node may assign multiple addresses on a single interface, which tends to cause a configuration mismatch. In IPv6 ,to identify the interface the user must use specified interface index.
38Implementation of multicasting We have practically tested multicasting over IPv6 in IITK .Muticasting in IPv6 has also been tested across the router using the global scope address .For multicast testing we have used VideoLan Client media player which is a freeware.
39VideoLAN Client (VLC) media player VLC - the cross-platform media player and streaming server.VLC is a multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols.It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network.
41Advantage of using multicasting in VLC Problems encountered using unicast or broadcast are :with unicast, when a lot of clients want to receive the stream, the network interface of the server becomes saturated.So the number of clients is very limited, especially when the stream is big.with broadcast, the machines that do not want to receive the stream are polluted and some devices do not like to receive huge broadcasts. If you want to send several streams at the same time, the network becomes oversaturated.
42Advantage of using multicasting in VLC… With multicast, the packets are sent on the network to a multicast IP group which is designated by its IP address.The machines can join or leave a multicast group by sending a request to the network. The request is usually sent by the kernel of the operating system.The VLC takes care of asking the kernel of the operating system to send the join request.It is possible for one client to belong to several groups.
45Above packages are available in http://www.videolan.org/ Installing VLCFor Fedora Core 3 :Download the VLC Binaries packagesvlc-binary.tar.gzFor Windows :Download the self-extracting packagevlc win32.exeAbove packages are available in
46To run the VLC Type the following command to run VLC: $vlc This is the VLC media player:
47UDP Streaming With VLC using the GUI Server – Send the DataSelect File – Open File, and Browse to select a file.Select the “Stream output” checkbox, then the Settings button – this opens a Stream Output window.Output MethodsFor multicasting, select UDP and write following :address : ff1e and port : 1234Select the checkbox : Play locally
49UDP Streaming… Client – Receive the Data Open VLC on the receiving PC. Select File – Open Network Stream.To join the session of multicast as sent bythe server do the following :Select UDP/RTP multicast and write :address : ff1e and port : 1234Click the OK button, and the VLC display window should open.
50THANK YOU FOR YOUR ATTENTION ReferenceFurther information about VLC can be obtained from :THANK YOU FOR YOUR ATTENTIONAny Questions?