poonam saini [email protected] ipv6: an introduction

49
POONAM SAINI [email protected] IPv6: An Introduction http://www.youtube.com/watch?v=VTDqJdbs aYQ

Upload: oliver-hunt

Post on 11-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

POONAM [email protected]

IPv6: An Introduction

http://www.youtube.com/watch?v=VTDqJdbsaYQ

Page 2: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Outline2

Problems with IPv4Basic IPv6 ProtocolIPv6 features

Auto-configuration, QoS, Security, Mobility

Transition Plans

Page 3: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Internet Protocol3

Transports a datagram from source host to destination, possibly via several intermediate nodes (“routers”)

Service is:Unreliable: Losses, duplicates, out-of-order

deliveryBest effort: delivery failure not necessarily

reportedConnectionless: Each packet is treated

independently

Page 4: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IP Datagram Header4

VERS HLEN TOS TOTAL LENGTH

IDENTIFICATION FLAG FRAGMENT OFFSET

TTL PROTOCOL CHECKSUM

SOURCE ADDRESS

DESTINATION ADDRESS

OPTIONS (if any) + PADDING

0 4 8 16 19 31

Page 5: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Problems with IPv4: Limited Address Space

5

IPv4 has 32 bit addresses.Flat addressing (only netid + hostid with

“fixed” boundaries)Results in inefficient use of address space.Class B addresses are almost over.Addresses will exhaust in the next 5 years.IPv4 is victim of its own success.

Page 6: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Problems with IPv4: Routing Table Explosion

6

IP does not permit route aggregation(limited supernetting possible with new routers)

Mostly only class C addresses remainNumber of networks is increasing very fast

(number of routes to be advertised goes up)Very high routing overhead

lot more memory needed for routing table lot more bandwidth to pass routing information lot more processing needed to compute routes

Page 7: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Problems with IPv4: Header Limitations

7

Maximum header length is 60 octets.(Restricts options)

Maximum packet length is 64K octets.(Do we need more than that ?)

ID for fragments is 16 bits. Repeats every 65537th packet. (Will two packets in the network have same ID?)

Variable size header.(Slower processing at routers.)

No ordering of options.(All routers need to look at all options.)

Page 8: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Problems with IPv4: Other Limitations8

Lack of quality-of-service support. Only an 8-bit ToS field, which is hardly used. Problem for multimedia services.

No support for security at IP layer.Mobility support is limited.

Page 9: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IP Address Extension9

Strict monitoring of IP address assignmentPrivate IP addresses for intranets

Only class C or a part of class C to an organization Encourage use of proxy services

Application level proxies Network Address Translation (NAT)

Remaining class A addresses may use CIDRReserved addresses may be assigned

But these will only postpone address exhaustion.They do not address problems like QoS, mobility,

security.

Page 10: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPng Criteria10

At least 109 networks, 1012 end-systemsDatagram service (best effort delivery)Independent of physical layer technologiesRobust (routing) in presence of failuresFlexible topology (e.g., dual-homed nets)Better routing structures (e.g., aggregation)High performance (fast switching)Support for multicasting

Page 11: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPng Criteria11

Support for mobile nodesSupport for quality-of-serviceProvide security at IP layerExtensibleAuto-configuration (plug-and--play)Straight-forward transition plan from IPv4Minimal changes to upper layer protocols

Page 12: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6: Distinctive Features12

Header format simplificationExpanded routing and addressing capabilitiesImproved support for extensions and optionsFlow labeling (for QoS) capabilityAuto-configuration and Neighbour discoveryAuthentication and privacy capabilitiesSimple transition from IPv4

Page 13: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6 Header Format13

Traffic Class Flow LabelVers

Payload Length Next Header Hop Limit

Source Address

Destination Address

0 4 12 16 24 31

Page 14: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6 Header Fields14

Version number (4-bit field) The value is always 6.

Flow label (20-bit field)Used to label packets requesting special handling by routers.

Traffic class (8-bit field)Used to mark classes of traffic.

Payload length (16-bit field)Length of the packet following the IPv6 header, in octets.

Next header (8-bit field)The type of header immediately following the IPv6 header.

Page 15: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6 Header Fields15

Hop limit (8-bit field)Decremented by 1 by each node that forwards the packet. Packet discarded if hop limit is decremented to zero.

Source Address (128-bit field)An address of the initial sender of the packet.

Destination Address (128-bit field)An address of the intended recipient of the packet. May not be the ultimate recipient, if Routing Header is present.

Page 16: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Header Changes from IPv416

Longer address - 32 bits 128 bitsFragmentation field moved to separate

headerHeader checksum removedHeader length removed (fixed length header)Length field excludes IPv6 headerTime to live Hop limitProtocol Next header64-bit field alignmentTOS replaced by flow label, traffic class

Page 17: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Extension Headers17

Less used functions moved to extension headers.Only present when needed.Processed only by node identified in IPv6 destination

field.=> much lower overhead than IPv4 optionsException: Hop-by-Hop option header

Eliminated IPv4’s 40-byte limit on optionsCurrently defined extension headers: Hop-by-hop,

Routing, Fragment, Authentication, Privacy, End-to-end.

Order of extension headers in a packet is defined.Headers are aligned on 8-byte boundaries.

Page 18: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Address Types18

Unicast Address for a single interface.Multicast Identifier for a set of

interfaces.Packet is sent to all these

interfaces.Anycast Identifier for a set of

interfaces.Packet is sent to the nearest

one.

Page 19: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Text Representation of Addresses19

HEX in blocks of 16 bitsBC84 : 25C2 : 0000 : 0000 : 0000 : 55AB : 5521 : 0018

leading zero suppressionBC84 : 25C2 : 0 : 0 :55AB : 5521 : 18

Compressed format removes strings of 0sBC84 : 25C2 :: 55AB : 5521 : 18

:: can appear only once in an address.can also be used to compress leading or trailing 0s

Mixed Notation (X:X:X:X:X:X:d.d.d.d)

e.g., ::144.16.162.21

Page 20: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6 Addresses

Apr 2005

20

128-bit addressesMultiple addresses can be assigned to an

interfaceProvider-based hierarchy to be used in the

beginningAddresses should have 64-bit interface IDs in

EUI-64 formatFollowing special addresses are defined :

IPv4-mapped IPv4-compatible link-local site-local

Page 21: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Unicast Addresses Examples21

Global Aggregate Address

Link local address

Site-local address

FP TLA NLA

3 13 32

SLA

64 bits

Interface ID

1111111010

10 bits

0

54 bits

Interface ID

64 bits

Public Topology SiteTopology

Interface Identifier

1111111011 0 Interface IDsubnet ID

10 bits 38 bits 16 bits 64 bits

16

Page 22: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Multicast Address

22

Flags 000T 3 bits reservedT= 0 permanentT= 1 transient

Scope 2 link-local5 site-local8 org-localE global

Permanent groups are formed independent of scope.

11111111 flags scope Group ID

8 bits 4 4 112 bits

Page 23: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6 Routing23

Hierarchical addresses are to be used.Initially only provider-based hierarchy will be

used.Longest prefix match routing to be used.

(Same as IPv4 routing under CIDR.)OSPF, RIP, IDRP, ISIS, etc., will continue as is

(except 128-bit addresses).Easy renumbering should be possible.Provider selection possible with anycast groups.

Page 24: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

QoS Capabilities24

Protocol aids QoS support, not provide it.Flow labels

To identify packets needing same quality-of-service 20-bit label decided by source Flow classifier: Flow label + Source/Destination

addresses Zero if no special requirement Uniformly distributed between 1 and FFFFFF

Traffic class 8-bit value Routers allowed to modify this field

Page 25: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

IPv6: Security Issues25

Provision for Authentication header

Guarantees authenticity and integrity of data Encryption header

Ensures confidentiality and privacy

Encryption modes: Transport mode Tunnel mode

Independent of key management algorithm.

Security implementation is mandatory requirement in IPv6.

Page 26: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Mobility Support in IPv626

Mobile computers are becoming commonplace.Mobile IPv6 allows a node to move from one

link to another without changing the address.Movement can be heterogeneous, i.e., node

can move from an Ethernet link to a cellular packet network.

Mobility support in IPv6 is more efficient than mobility support in IPv4.

There are also proposals for supporting micro-mobility.

Page 27: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Neighbour Discovery27

Router Discovery - determines set of routers on the link.

Prefix Discovery - set of on-link address prefixes.

Parameter Discovery - to learn link parameters such as link MTU, or internet parameters like hop limit, etc.

Address Auto-configuration - address prefixes that can be used for automatically configuring interface address.

Address resolution - IP to link-layer address mapping.

Duplicate Address Detection.Route Redirect - inform of a better first hop node to

reach a particular destination.

Page 28: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Neighbour Discovery Operation28

Based on ICMPv6 messages Router Solicitation (RS) Router Advertisement (RA) Neighbour Solicitation (NS) Neighbour Advertisement (NA) Redirect

Router Solicitation sent when an interface becomes enabled, hosts

request routers to send RA immediately.

Page 29: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Neighbour Discovery Operation (contd..)

29

Router advertisement Sent by routers periodically or in response to

RS. Hosts build a set of default routers based on

this information. Provides information for address auto-

configuration, set of on-link prefixes etc. Supplies internet/subnet parameters, like

MTU, and hop limit. Includes router’s link-layer address.

Page 30: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Neighbour Discovery Operation (contd..)

30

Neighbour Solicitation To request link-layer address of neighbour Also used for Duplicate Address Detection

Neighbour Advertisement Sent in response to NS May be sent without solicitation to announce

change in link-layer address

Redirect - used to inform hosts of a better first hop for a destination.

Page 31: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Additional Features31

Anycast AddressesMultiple nodes on link may have this addressAll those nodes will respond to an NS message.Host will get multiple NA messages, but should

accept only one.The messages should be tagged as non-override.

Proxy advertisementsRouter may send NA on behalf of others.Useful for mobile nodes who have moved.

Page 32: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Address Auto-configuration

32

The problemSystem bootstrap (“plug and play”)Address renumbering

Addressing PossibilitiesManual Address configured by handAutonomous Host creates address with no external

interaction (e.g., link local)Semi-autonomous Host creates address by combining a priori

information and some external information.Stateless Server Host queries a server, and gets an address. Server does not maintain a state.Stateful Server Host queries a server, and gets an

address. Server maintains a state.

Page 33: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Auto-configuration in IPv6

33

Link-local prefix concatenated with 64-bit MAC address. (Autonomous mode)

Prefix advertised by router concatenated with 64-bit MAC address. (Semi-autonomous mode.)

DHCPng (for server modes) Can provide a permanent address (stateless mode) Provide an address from a group of addresses, and

keep track of this allocation (stateful mode) Can provide additional network specific information. Can register nodes in DNS.

Page 34: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Address Renumbering

34

To migrate to a new address change of provider change in network architecture

Methods router adds a new prefix in RA, and informs that the old

prefix is no longer valid. When DHCP lease runs out, assign a new address to

node. DHCPng can ask nodes to release their addresses.

Requires DNS update. DHCPng can update DNS for clients.

Existing conversations may continue if the old address continues to be valid for some time.

Page 35: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Upper Layer Issues35

Minor changes in TCP Maximum segment size should be based on Path MTU. The packet size computation should take into account

larger size of IP header(s). Pseudo-header for checksum is different.

UDP checksum computation is now mandatory.

Most application protocol specifications are independent of TCP/IP - hence no change.

FTP protocol exchanges IPv4 addresses - hence needs to be changed.

Page 36: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

36

The pseudo-header is changed in checksum computation: Address are 128 bits. Payload length is 32 bits. Payload length is not copied from IPv6 header.

(Extension headers should not be counted.) Next header field of last extension header is used in

place of protocol.UDP packets must also have checksum.

(Since no IP checksum now.)

Page 37: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Changes in Other Protocols37

ICMPv6 Rate limiting feature added

Timer based Bandwidth based

IGMP, ARP merged Larger part of offending packet is included

DNS AAAA type for IPv6 addresses A6 type: recursive definition of IP address Queries that do additional section processing are

redefined to do processing for both ‘A’ and ‘AAAA’ type records

Page 38: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Socket API38

“Sockets” interface – the de facto standard API for TCP/IP Applications.

Need to change Socket API in order to reflect the increased address length in IPv6.

Also need to make new features like flow label, visible to applications.

A few new library routinesComplete source and binary compatibility with

original API.One can have some sockets using IPv4 and others

using IPv6.

Page 39: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Transition to IPv6: Design Goal39

No “flag”day.Incremental upgrade and deployment.Minimum upgrade dependencies.Interoperability of IPv4 and IPv6 nodes.Let sites transition at their own pace.Basic migration tools

Dual stack and tunneling Translation

Page 40: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Transition Mechanisms: Dual Stack40

New nodes support both IPv4 and IPv6.Upgrading from IPv4 to v4/v6 does not

break anything.Same transport layer and application

above both.Provides complete interoperability with

IPv4 nodes.

Page 41: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Transition Mechanism: Tunnels41

Tunnel IPv6 packets across IPv4 topology.

Configured tunnels: Explicitly configured tunnel endpoints. Router to router, host to router.

Automatic tunnels: Automatic address resolution using embedded

IPv4 address (like IPv4-compatible address). Host to host, router to host

Page 42: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Transition mechanism: Translation42

This will allow communication between IPv6 only hosts and IPv4 only hosts.

A typical translator consists of two components: translation between IPv4 and IPv6 packets. Address mapping between IPv4 and IPv6

For translation, three technologies are available: header conversion transport relay application proxy

Page 43: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

NAT-PT43

Combination of Network Address Translation (NAT) and Protocol Translation (PT)

Meant for communication between IPv6-only and IPv4-only nodes.

No change is needed on the IPv6-only nodes.

But translation is not stateless.Hence, single point of failure.

Page 44: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

NAPT-PT44

Network Address Port Translation + Protocol Translation

In addition to changing IP address, changes the port number also in the transport layer header.

It will allow IPv6 nodes to communicate with IPv4 nodes transparently using a single IPv4 address.

Page 45: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Stateless IP-ICMP Translation (SIIT)45

SIIT also translates between IPv4 and IPv6 headers.

Stateless: Translator does not keep address mapping.

There has to be a translator on every path, not necessarily on all physical links.

Uses IPv4-translatable addresses.Assumes that there is an IPv4 address pool of

addresses for the subnet.

Page 46: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Issues in Translation46

PMTU discovery is optional on IPv4 network.Fragmentation is difficult to handle.Security Associations may not be transparent.Options may not be translatable.UDP checksum is optional over IPv4.Some ICMP messages are different.Connections can only start from IPv6 node.

Page 47: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Transition Plan for Internet47

Maintain complete V4 routing till addresses last.

Upgrade V4 routers to dual stack.Incrementally build up V6 backbone

routing system. Use v6-over-v4 tunnels to construct 6bone. Grow like Mbone (multicast backbone).

De-activate tunnels as soon as underlying path upgraded to V6.

Page 48: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Transition Options for User Sites48

Incrementally upgrade V4 hosts to dual V4/V6 Use IPv4-compatible addresses with existing IPv4

address assignments Host-to-host automatic tunneling over IPv4

Upgrade routers to IPv6. Hosts may require native IPv6 addresses DNS upgrade is needed before hosts get IPv6

addresses

Connect IPv6 router to an IPv6-enabled ISP.Install translators like NAT-PT or SIIT.

Page 49: POONAM SAINI nit.sainipoonam@gmail.com IPv6: An Introduction

Displaying IPv6 Configuration

netsh interface ipv6 show interfacenetsh interface ipv6 show addressnetsh interface ipv6 show routenetsh interface ipv6 show neighborsnetsh interface ipv6 show destination

49