ipv6 dhcp by : santosh yadav iit kanpur. ipv6 dynamic host configuration protocol overview evolution...

Post on 28-Mar-2015

246 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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?

top related