31
www.netpro.com.vn Functions of IPv6

Funtions of i pv6

Embed Size (px)

DESCRIPTION

Funtions of i pv6

Citation preview

Page 1: Funtions of i pv6

www.netpro.com.vn

Functions of IPv6

Page 2: Funtions of i pv6

Objectives

• Introducing ICMPv6• Neighbor Discovery• Autoconfiguration• Path MTU Discovery and Multicast

Page 3: Funtions of i pv6

www.netpro.com.vn

Functions of IPv6

Introducing ICMPv6

Page 4: Funtions of i pv6

ICMPv6

• ICMPv6 gives important information about the health of the network

• ICMPv6 reports errors if packets cannot be processed properly and sends informational messages about the status of the network

• ICMPv6 is much more powerful than ICMPv4 and contains new functionality (for instance, the Internet Group Management Protocol (IGMP) function)

• ICMPv6 also supports Mobile IPv6

Page 5: Funtions of i pv6

ICMPv6 (cont.)

• There are two classes of ICMP messages:– ICMP error messages

– ICMP informational messages

Page 6: Funtions of i pv6

ICMPv6 error messages

• ICMPv6 error messages– Destination Unreachable (message type 1)

– Packet Too Big (message type 2)

– Time Exceeded (message type 3)

– Parameter Problem (message type 4)

Page 7: Funtions of i pv6

ICMPv6 informational messages

• ICMPv6 informational messages– Echo Request (message type 128)

– Echo Reply (message type 129)

Page 8: Funtions of i pv6

ICMPv6 header format

Page 9: Funtions of i pv6

ICMPv6 header format (cont.)

• Type (1 Byte)– This field specifies the type of message, which

determines the format of the remainder of the message

Page 10: Funtions of i pv6

ICMPv6 header format (cont.)

• Code (1 Byte)– The Code field depends on the message type and

allows for more granular information in certain cases

Page 11: Funtions of i pv6

ICMPv6 header format (cont.)

• Checksum (2 Bytes)– The Checksum field is used to detect data corruption in

the ICMPv6 header and in parts of the IPv6 header.

– In order to calculate the checksum, a node must determine the source and destination address in the IPv6 header

Page 12: Funtions of i pv6

ICMPv6 header format (cont.)

• Message Body (Variable Size)– Depending on the type and code, the message body

will hold different data.

– In the case of an error message, it will contain as much as possible of the packet that invoked the message to assist in troubleshooting.

– The total size of the ICMPv6 packet should not exceed the minimum IPv6 MTU, which is 1280 bytes.

Page 13: Funtions of i pv6

ICMPv6 error messages and code types

Page 14: Funtions of i pv6

ICMPv6 informational messages

Page 15: Funtions of i pv6

ICMPv6 informational messages (cont.)

Page 16: Funtions of i pv6

www.netpro.com.vn

Functions of IPv6

Neighbor Discovery

Page 17: Funtions of i pv6

Neighbor Discovery

• Neighbor discovery (ND) is specified in RFC 2461 (obsoletes RFC 1970)

• IPv6 nodes use neighbor discovery for the following purposes:– To determine layer 2 addresses of nodes on the same

link– To find neighboring routers that can forward their

packets– To keep track of which neighbors are reachable and

which are not, and detect changed link-layer addresses

Page 18: Funtions of i pv6

Neighbor Discovery Protocol

• Router Discovery: A node can discover, when it is connected to an IPv6 link, the local routers without the aid of Dynamic Host Configuration Protocol (DHCP).

• Prefix Discovery: A node can discover, when it is connected to an IPv6 link, the prefix or prefixes assigned to that link.

• Parameter Discovery: A node can discover parameters such as the link MTU and hop limits for its connected link.

• Address Autoconfiguration: A node can determine its full address, again without the aid of DHCP.

• Address Resolution: A node can discover the link-layer addresses of other nodes on the link without the use of Address Resolution Protocol (ARP).

Page 19: Funtions of i pv6

Neighbor Discovery Protocol (cont.)

• Next-Hop Determination: A node on a link can determine the link-layer next hop for a destination, either as a local destination or a router to the destination.

• Neighbor Unreachability Detection: A node can determine when a neighbor on a link, either another host or a router, is no longer reachable.

• Duplicate Address Detection: A node can determine if an address it wants to use is already being used by another node on the link.

• Redirect: A router can notify a host of a better next-hop than itself to an off-link destination. The redirect function is a part of basic ICMP functionality in IPv4, but is redefined as part of NDP in IPv6.

Page 20: Funtions of i pv6

www.netpro.com.vn

Functions of IPv6

Autoconfiguration

Page 21: Funtions of i pv6

Autoconfiguration

• Autoconfiguration capability of IPv6 saves network administrators a lot of work. It has been designed to ensure that manually configuring hosts before connecting them to the network is not required.

• Even larger sites with multiple networks and routers should not need a DHCP server to configure hosts.

• The autoconfiguration features of IPv6 will be a key feature of the protocol when all sorts of devices, such as TVs, refrigerators, DVD players, and mobile phones, use IP addresses. You don't want to depend on a DHCP server to use your home devices.

Page 22: Funtions of i pv6

Autoconfiguration

• IPv6 knows both stateless and stateful autoconfiguration. Stateful autoconfiguration is what we call DHCP in the IPv4 world

• To generate their IP address, hosts use a combination of local information, such as their MAC address, and information received from routers.

• Routers can advertise multiple prefixes, and hosts determine prefix information from these advertisements.

• This allows for simple renumbering of a site: only the prefix information on the router has to be changed.

• If there is no router present, a host can generate a link-local address only with the prefix FE80. But this address is sufficient for communication of nodes attached with the same link.

Page 23: Funtions of i pv6

Autoconfiguration

• Stateless and stateful autoconfiguration can also be combined. For instance, a host can use stateless autoconfiguration to generate an IPv6 address but then use stateful autoconfiguration for additional parameters.

• An IPv6 address is leased to a node for a certain lifetime. When the lifetime expires, the address becomes invalid. To make sure an address is unique on a link, a node runs the DAD process. The DAD algorithm is defined in RFC 2462.

Page 24: Funtions of i pv6

State of IPv6 Address

• Tentative address– This is an address that has not yet been assigned. It is the state

prior to the assignment, when uniqueness is being verified.

• Preferred address– This is the address that has been assigned to an interface and

that can be used without any restrictions.

• Deprecated address– The use of this address is discouraged but not forbidden. A

deprecated address might be one whose lifetime is about to expire. It can still be used to continue a communication that would disrupt a service if the address changed. It is no longer used as a source address for newly established communications.

Page 25: Funtions of i pv6

www.netpro.com.vn

Functions of IPv6

Path MTU Discovery

Page 26: Funtions of i pv6

Path MTU Discovery

• With IPv4, every router can fragment packets, if needed. If a router cannot forward a packet because the MTU of the next link is smaller than the packet it has to send, the router fragments the packet. It cuts it into slices that fit the smaller MTU and sends it out as a set of fragments. The packet is then reassembled at the final destination. Depending on the network design, an IPv4 packet may be fragmented more than once during its travel through the network.

• With IPv6, routers do not fragment packets anymore; the sender takes care of it. Path MTU discovery tries to ensure that a packet is sent using the largest possible size that is supported on a certain route. The Path MTU is the smallest link MTU of all links from a source to a destination.

Page 27: Funtions of i pv6

Path MTU Discovery (cont.)

• First, a host assumes that the Path MTU is the same as the MTU of the first hop link and it uses that size.

• If the packet is too big for a certain router along the path to deliver the packet to the next link, the router discards the packet and sends back an ICMPv6 Packet Too Big message.

• Recall that this message type includes the MTU size of the next hop link.

• The host now uses this MTU for sending further packets to the same destination.

• The host will never go below the IPv6 minimum MTU size of 1280 bytes, however the process of receiving a Packet Too Big message and reducing the size of the packets can happen more than once, before the packet reaches its destination.

• The discovery process ends when the packets arrive at the final destination.

Page 28: Funtions of i pv6

Multicast Group Management

• Multicast group addresses are used as an identifier for a group of nodes.

• They are identified by a high-order byte of FF. A protocol is required to manage the efficient routing of packets with multicast group addresses as a destination.

• Multicast group management in IPv4 is done through Internet Group Management Protocol (IGMP).

• IPv6 uses ICMPv6 messages for the same functionality; development was based on IGMPv2 specifications. It is now called Multicast Listener Discovery (MLD),

• All MLD messages are sent with a link-local IPv6 source address and a hop limit of one to make sure they remain in the local network. If the packet has a Hop-by-Hop Options header, it has the Router Alert flag set. Thus, routers will not ignore the packet, even if they are not listening to the multicast group address in question.

Page 29: Funtions of i pv6

Multicast Group Management (cont.)

• The Type field is 130 for Multicast Listener Queries, 131 for Multicast Listener Reports, or 132 for Multicast Listener Done messages.

• There are two types of query messages. One is a general query that is used to determine which multicast group addresses have listeners on a link.

• The other is an address specific query that is used to determine whether there are listeners for a specific address on a link.

• The Maximum Response Delay field is used only in query messages. This is the maximum allowed delay (in milliseconds) in which a node has to send a report if it has a listener. In all other messages, this field is set to 0.

• The Multicast Address field is set to 0 in a general query. In an address-specific query, it contains the multicast group address to be queried. In report and done messages, this field contains the multicast group to which a member listens or the group it is leaving.

Page 30: Funtions of i pv6

Multicast Group Management (cont.)• Routers use MLD to discover which multicast addresses have

listeners on each of their links. For each attached link, the router keeps a list of listener addresses.

• General queries are sent to the link-local scope all-nodes multicast address FF02::1. Any station that wants to send a report in answer to a query starts a timer when it receives the query and is supposed to wait some random delay before sending the report. The maximum delay is the one specified in the Maximum Response Delay field in the query. If within that delay, the station sees another station sending a report, it stops the process. Thus, multiple reports for the same address can be avoided. Group membership join reports and terminations are sent to the address in question.

• The link-local scope all-nodes address (FF02::1) is a special address. It never sends a membership report or a done message. If an address has a scope of 1 (node-local), MLD messages are never sent.

Page 31: Funtions of i pv6

Message types and their destination