540 likes | 990 Views
IPv6 DHCP. By : Santosh Yadav IIT Kanpur. IPv6 Dynamic Host Configuration Protocol Overview. Evolution Of DHCPv6 DHCPv6 Concepts Installation Configuration. Evolution Of DHCPv6 . To boot the machines in a LAN, needs lot of network parameters to be configured in each machine.
E N D
IPv6 DHCP By : Santosh Yadav IIT Kanpur
IPv6 Dynamic Host Configuration Protocol Overview • Evolution Of DHCPv6 • DHCPv6 Concepts • Installation • Configuration
Evolution Of DHCPv6 • To 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
Evolution Of DHCPv6 IP configuration in IPV6 is carried out by IPV6 auto-configuration IPv6 auto-configuration • Stateless • nodes configure addresses themselves with information from routers (if available); • no managed addresses • Stateful • nodes use DHCPv6 to obtain addresses. • Duplicate address detection (DAD) used to avoid duplicated addresses
Dhcpv6 Concepts • What is DHCPv6 ? • The Dynamic Host Configuration Protocol for IPv6 (DHCP) enables DHCP servers to pass configuration parameters such as IPv6 network addresses to IPv6 nodes. • DHCPv6 protocol Released in RFC 3315 • This protocol is a stateful counterpart to "IPv6 Stateless Address Autoconfiguration" (RFC 2462). • Used separately or concurrently with the latter to obtain configuration parameters.
Dhcpv6 Concepts… • DHCPv6 Versus DHCPv4 • The following lists the main differences between DHCPv4 and DHCPv6: • Unlike DHCPv4, IPv6 address allocation in DHCPv6 is handled using a message option. • The message types, such as DHCPDISCOVER and DHCPOFFER supported by DHCPv4 are removed in DHCPv6. Instead, DHCPv6 servers are located by a client SOLICIT message followed by a server ADVERTISE message • Unlike DHCPv4 clients, DHCPv6 clients can request multiple IPv6 addresses.
Dhcpv6 Concepts… Why we need dhcpv6 ? • A method of providing stateful IPv6 address configuration/assignment • Also provides “other” network information • DNS servers • NIS information • DHCP allows centralized control and • auditing of IP address assignments • Central point of control for resources • Dynamic DNS updates • More security versus stateless
Dhcpv6 Concepts… DHCPv6 Basic Message Format 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 • SOLICIT • ADVERTISE • REQUEST • CONFIRM • RENEW • REBIND • REPLY • RELEASE • DECLINE • RECONFIGURE • INFORMATION-REQUEST • RELAY-FORW • RELAY-REPL
Dhcpv6 Concepts… DHCP Messages • Messages exchanged using UDP • Client port – udp/546 • Server Port – udp/547 • Client 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.
Dhcpv6 Concepts… DHCP Multicast Addresses • All_DHCP_Relay_Agents_and_Servers • Link-scoped multicast address used by a client to communicate with on-link relay agents and servers • FF02::1:2 • All_DHCP_Servers • Site-scoped multicast address used by a relay agent to communicate with servers • FF05::1:3
Dhcpv6 Concepts… DHCPv6 option format and base option 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 • Client Identifier • Server Identifier • Identity Association for Non-temporary Addresses • Identity Association for Temporary Addresses • 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
Dhcpv6 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 servers • Should not change over time (if possible) • Must be < 128 octets long
Dhcpv6 Concepts… Identity Association • An 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 each network interface requesting assignment of IP addresses from DHCP server (IAID) • Must be associated with exactly one interface • Must be consistent across restarts by the client
DHCPv6 working SOLICIT DHCP client DHCP server B DHCP server A T I M E ADVERTISE ADVERTISE REQUEST Client select one advertise server B REPLY Client Now use address and parameter for lifetime Client renew life time RENEW REPLY Client releases address when shutting down RELEASE
Dhcpv6 Concepts… • Dhcpv6 operation : • Client sends messages to link-local multicast address • Server unicasts response to client • Information-Request / Reply - provide client configuration • information but no addresses • Confirm / Reply - assist in determining whether client moved • Reconfigure - allow servers to initiate a client reconfiguration • Basic client/server authentication capabilities in base standard. • DHCP Unique Identifier (DUID) used to identify clients & servers • Identity Association ID (IAID) used to identify a collection of • addresses • Relay Agents used when server not on-link • Relay Agents may be chained
Ongoing Project • Previously DHCPv6 v1.001and now DHCPv6 2.001 available for the HP-UX 11i v1 and HP-UX 11i v2 operating systems http:/docs.hp.com • Dibbler 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. http://klub.com.pl/dhcpv6/ • Project UNIX name: dhcpv6 Operating System: All POSIX (Linux/BSD/UNIX-like OSes), Linux http://dhcpv6.sourceforge.net/
Installation Dhcpv6 server : • Update with dhcpv6-0.10-11_FC3.i386.rpm using # rpm -U dhcpv6-0.10-11_FC3.i386.rpm • Create a database directory #mkdir /var/db/dhcpv6 • Copy sample server configuration file # cp dhcp6s.conf /etc/dhcp6s.conf • Start the server daemon using # dhcp6s –dDf eth0
Installation… Dhcpv6 client : • Update with dhcpv6_client-0.10-11_FC3.i386.rpm using # rpm -U dhcpv6_client-0.10-11_FC3.i386.rpm • Copy sample client configuration file # cp dhcp6c.conf /etc/dhcp6c.conf • Start the client daemon using # dhcp6c –dDf eth0
Configuration In Fedora core 3 following files are configured : Server configuration : /etc/sysconfig/dhcp6s /etc/dhcp6s.conf File : /etc/sysconfig/dhcp6s Specify the interface for dhcp6s DHCP6SIF=eth0
Configuration… Server configuration... File : /etc/dhcp6s.conf interface eth0 { server-preference 255; renew-time 60; rebind-time 90; prefer-life-time 130; valid-life-time 200; allow rapid-commit; link BBB { pool{ range 2001:0E30:1402:2::4 to 2001:0E30:1402:2::ffff/64; prefix 2001:0E30:1402::/48; }; }; };
Configuration… In Fedora core 3 following files are configured : Client configuration : /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/dhcp6c.conf File : /etc/sysconfig/network-scripts/ifcfg-eth0 IPV6INIT=yes DHCP6C=yes
Configuration… client configuration... File : /etc/dhcp6c.conf interface eth0 { #information-only; send rapid-commit; #request prefix-delegation; #request temp-address; address { 2001:0E30:1402:1:9656:3:4:56/64; }; };
Testing Start the server daemon in debug mode in foreground #dhcp6s –dDf eth0 Restart the network service of client #service network restart See the address assignment #ifconfig
Thank you for your attention Any Question?
IPv6 Multicasting By : Kaveri Bhaumik IIT Kanpur
Topics covered are • Definition of multicasting • Multicast addresses • Comparison between IPv4 multicasting & IPv6 multicasting • VideoLAN Client (VLC) media player • Advantage of using multicasting in VLC • Installing VLC • UDP Streaming With VLC using the GUI
Definition 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).
Graphical Representation Of Multicasting Sending Entity Receiving Entity Service Provider Receiving Entity
IPv6 ADDRESSING There 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.
Multicast addresses • Multicast addresses always start with (xx is the scope value) ffxy: • Multicast addresses format: | 8 | 4 | 4 | 112 bits | +-------------+---+------+---------------------------------------+ |11111111|flgs|scop| group ID | +------------+----+------+--------------------------------------+ • Multicast addresses are split into scopes and types
Multicast addresses format… • 11111111 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.
Multicast scopes • ffx1: node-local • ffx2: link-local • ffx5: site-local • ffx8: organization-local • ffxe: global scope • others are reserved
Multicast 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).
Comparison 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.
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. Comparison…
Implementation 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.
VideoLAN 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.
Advantage 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.
Advantage 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.
Showing a scenario giving example of multicasting • Server(vlc)NetworkClients(vlc) stream --------------> ff1e::1 ---------------> client n°1 |-------------> client n°2 • Server(vlc)NetworkClients(vlc) <--------------- client n°3 join join ff1e::1 • Server(vlc)NetworkClients(vlc) |-------------> client n°1 stream --------------> ff1e::1 ---------------> client n°2 |-------------> client n°3
Scenario of multicasting… • Server(vlc)NetworkClients(vlc) <--------------- client n°1 leave leave ff1e::1 • Server(vlc)NetworkClients(vlc) stream ---------------> ff1e::1 ---------------> client n°2 |-------------> client n°3
Installing VLC For Fedora Core 3 : Download the VLC Binaries packages vlc-binary.tar.gz For Windows : Download the self-extracting package vlc-0.8.1-win32.exe Above packages are available inhttp://www.videolan.org/
To run the VLC • Type the following command to run VLC: $vlc • This is the VLC media player:
UDP Streaming With VLCusing the GUI Server – Send the Data • Select 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 Methods For multicasting, select UDP and write following : address : ff1e and port : 1234 Select the checkbox : Play locally
UDP Streaming… Client – Receive the Data • Open VLC on the receiving PC. • Select File – Open Network Stream. To join the session of multicast as sent by the server do the following : Select UDP/RTP multicast and write : address : ff1e and port : 1234 • Click the OK button, and the VLC display window should open.
Reference Further information about VLC can be obtained from : http://www.videolan.org/ THANK YOU FOR YOUR ATTENTION Any Questions?