ipv6 dhcp by : santosh yadav iit kanpur. ipv6 dynamic host configuration protocol overview evolution...
TRANSCRIPT
IPv6 DHCP
By : Santosh Yadav
IIT Kanpur
IPv6 Dynamic Host Configuration Protocol
OverviewEvolution Of DHCPv6DHCPv6 Concepts Installation Configuration
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
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
Evolution Of DHCPv6
IP configuration in IPV6 is carried out by IPV6 auto-configuration
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 Versus DHCPv4The 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…
Dhcpv6 Concepts…
Why we need dhcpv6 ?
A method of providing stateful IPv6 address configuration/assignment Also provides “other” network information DNS serversNIS information
DHCP allows centralized control andauditing of IP address assignments Central point of control for resources Dynamic DNS updates More security versus stateless
Msg-type Transaction-id
Dhcpv6 Concepts…
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
DHCPv6 Basic Message Format
Options (variable)
• SOLICIT• ADVERTISE• REQUEST• CONFIRM• RENEW• REBIND• REPLY
• RELEASE• DECLINE• RECONFIGURE• INFORMATION-REQUEST• RELAY-FORW• RELAY-REPL
Message Type Meaning
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.
Message Type Option
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.
DHCP Messages
Dhcpv6 Concepts…
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
DHCP Multicast Addresses
Dhcpv6 Concepts…
Option-code Option length
Dhcpv6 Concepts…
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
DHCPv6 option format and base option
Options data(option –len octets)
• 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
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
DHCP Unique Identifer (DUID)
Dhcpv6 Concepts…
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 interfaceMust be consistent across restarts by the client
Identity Association
Dhcpv6 Concepts…
DHCP client
DHCP server
A
DHCP server
B
SOLICIT
ADVERTISE ADVERTISEREQUEST
RENEW
RELEASE
REPLY
REPLY
T I M
E
Client select one advertise
server B Client Now use address and parameter for lifetime
Client renew life time
Client releases address when shutting down
DHCPv6 working DHCPv6 working
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…
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;};
};
};
Server configuration...
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...
interface eth0 {#information-only;send rapid-commit;#request prefix-delegation;#request temp-address;address { 2001:0E30:1402:1:9656:3:4:56/64; };
};
File : /etc/dhcp6c.conf
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
Testing
Thank you for your attention
Any Question?Any Question?
IPv6 Multicastin
g
By : Kaveri Bhaumik
IIT Kanpur
Topics covered are
Definition of multicastingMulticast addressesComparison between IPv4 multicasting & IPv6 multicastingVideoLAN Client (VLC) media playerAdvantage of using multicasting in VLCInstalling 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).
Sending Entity
Receiving Entity
Receiving Entity
Service Provider
Graphical Representation Of Multicasting
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.
Comparison…
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.
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) Network Clients(vlc)
stream --------------> ff1e::1 ---------------> client n°1
|-------------> client n°2 Server(vlc) Network Clients(vlc)
<--------------- client n°3 join
join ff1e::1 Server(vlc) Network Clients(vlc)
|-------------> client n°1
stream --------------> ff1e::1 ---------------> client n°2
|-------------> client n°3
Scenario of multicasting…
Server(vlc) Network Clients(vlc) <--------------- client n°1 leave leave ff1e::1
Server(vlc) Network Clients(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 in http://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… Stream Output window
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?