The newest IP version. Karst Koymans. Thursday, February 13, 2014

Similar documents
IP version 6. The newest IP version. Karst Koymans. Informatics Institute University of Amsterdam. (version 17.5, 2017/11/10 13:19:24)

Table of Contents. IP version 6. Why IP version 6 should be used. Why IP version 6 should be used (continued)

IP version 6. The not so new next IP version. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam.

Table of Contents. IP version 6. Arguments for the use of IP version 6. Arguments for the use of IP version 6 (continued)

IPv6 Concepts. Improve router performance Simplify IP header Align to 64 bits Address hierarchy with more levels Simplify routing tables

TCP/IP Protocol Suite

Planning for Information Network

OSI Data Link & Network Layer

Introduction to IPv6. Stig Venaas, UNINETT /18/2001

IPv6 Protocol Architecture

Radware ADC. IPV6 RFCs and Compliance

Rocky Mountain IPv6 Summit April 9, 2008

Advanced Computer Networking (ACN)

IPv6 Feature Facts

IPv6 Technical Challenges

IPv6 Protocol & Structure. npnog Dec, 2017 Chitwan, NEPAL

Network Management. IPv6 Bootcamp. Zhiyi Huang University of Otago

IPv6. (Internet Protocol version 6)

Introduction to IPv6

INTRODUCTION OF IPV6. Ravikumar Naik 21/11/2011

Chapter 7: IP Addressing CCENT Routing and Switching Introduction to Networks v6.0

OSI Data Link & Network Layer

CSCI-1680 Network Layer:

Foreword xxiii Preface xxvii IPv6 Rationale and Features

Lecture 7 Overview. IPv6 Source: Chapter 12 of Stevens book Chapter 31 of Comer s book

OSI Data Link & Network Layer

IPv6 : Internet Protocol Version 6

History. IPv6 : Internet Protocol Version 6. IPv4 Year-Wise Allocation (/8s)

Athanassios Liakopoulos

Networks. an overview. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. February 4, 2008

IPv6 Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land

Cpsc527 - Lecture 3. IPv6 (RFC1883) Dr. Son Vuong UBC

IPv6. Internet Technologies and Applications

IPv6 Security (Theory vs Practice) APRICOT 14 Manila, Philippines. Merike Kaeo

IPv6: What is it? Why does it matter?

Workshop on Scientific Applications for the Internet of Things (IoT) March

Operation Manual IPv6 H3C S3610&S5510 Series Ethernet Switches Table of Contents. Table of Contents

Addresses, Protocols, and Ports

Symbols. Numerics I N D E X

ISO 9001:2008. Pankaj Kumar Dir, TEC, DOT

Table of Contents 1 IPv6 Configuration IPv6 Application Configuration 2-1

Configuring IPv6. Information About IPv6. Send document comments to CHAPTER

IPv4-to-IPv6 Transition Strategies

IPv6: An Introduction

IPv6 Protocols & Standards. ISP/IXP Workshops

Table of Contents 1 IPv6 Configuration IPv6 Application Configuration 2-1

IPv6. IPv4 & IPv6 Header Comparison. Types of IPv6 Addresses. IPv6 Address Scope. IPv6 Header. IPv4 Header. Link-Local

Addresses, Protocols, and Ports

Table of Contents 1 IPv6 Configuration IPv6 Application Configuration 2-1

Configuring IPv6 basics

Configuring IPv6 for Gigabit Ethernet Interfaces

Avaya Networking IPv6 Using Fabric Connect to ease IPv6 Deployment. Ed Koehler Director DSE Ron Senna SE Avaya Networking Solutions Architecture

Chapter 15 IPv6 Transition Technologies

IPv6 tutorial. RedIRIS Miguel Angel Sotos

IPv6 Transition Mechanisms

IPv4/v6 Considerations Ralph Droms Cisco Systems

IPv6 Transition Mechanisms

12.1. IPv6 Feature. The Internet Corporation for Assigned Names and Numbers (ICANN) assigns IPv6 addresses based on the following strategy:

The IPv6 Protocol & IPv6 Standards

Aeronautical Systems Center

IPv6 Protocols & Standards

Transitioning to IPv6

Introduction to IPv6 - II

Index Terms- IPv4, IPv6

IPv6 Bootcamp Course (5 Days)

Lecture Computer Networks

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

Practical IPv6 for Windows Administrators

It's the economy, stupid: the transition from IPv4 to IPv6

Communication Systems IPv6

MUM Lagos Nigeria Nov 28th IPv6 Demonstration By Mani Raissdana

Internet Technology 3/23/2016

Performance Comparison of Internet Protocol v4 with Internet Protocol v6

Networking Fundamentals IPv6 APNIC 44. TAICHUNG, TAIWAN 7-14 September 2017

Subnet Masks. Address Boundaries. Address Assignment. Host. Net. Host. Subnet Mask. Non-contiguous masks. To Administrator. Outside the network

Integrated Security 22

Internet Protocol, Version 6

Transition to IPv6. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Internet Network Protocols IPv4/ IPv6

IPv6 Next generation IP

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August

A Border Gateway Protocol 3 (BGP-3) DNS Extensions to Support IP version 6. Path MTU Discovery for IP version 6

Important RFCs. Guide to TCP/IP: IPv6 and IPv4, 5 th Edition, ISBN

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Tik Network Application Frameworks. IPv6. Pekka Nikander Professor (acting) / Chief Scientist HUT/TML / Ericsson Research NomadicLab

IP: (Internet Protocol) IP - 1

ECE 435 Network Engineering Lecture 14

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

New IP Header. Why change IP. Address Notation. Changes. Information Sources. IP Version 6 ITL

Information Sources Hans Kruse & Shawn Ostermann, Ohio University

2009/10/01. Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Obsoleted by RFC3596 [7] RFC 1887

IPv6 Basics. APNIC Training Bali, Indonesia February, Jordi Palet - 1

IPv6 Associated Protocols. Athanassios Liakopoulos 6DEPLOY IPv6 Training, Skopje, June 2011

IPv6 Addressing. There are three types of IPV6 Addresses. Unicast:Multicast:Anycast

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

Necessity to Migrate to IPv6

Unit 5 - IPv4/ IPv6 Transition Mechanism(8hr) BCT IV/ II Elective - Networking with IPv6

Contents. 1. Introduction to IPv6 2. Basic concepts of IPv6 3. The Need for IPv6 4. Where we are with IPv6 5. Summary & Discussion. Asela Galappattige

"Charting the Course... IPv6 Bootcamp Course. Course Summary

Internet of Things (IOT) Things that you do not know about IOT

Transcription:

IP version 6 The newest IP version Karst Koymans Informatics Institute University of Amsterdam (version 35, 2014/02/16 21:18:38) Thursday, February 13, 2014 Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 1 / 56

1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 2 / 56

Rationale Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 3 / 56

Rationale Why IP version 6 should be used Many more addresses Only 4 times as many bits (4 32 = 128) Address space grows with a factor 2 128 /2 32 = 2 (128 32) = 2 96 Autoconfiguration Stateless Stateful (DHCPv6) Security Built-in IPSEC Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 4 / 56

Rationale Why IP version 6 should be used (continued) Optimized headers Fixed length (40 bytes) Extension header mechanism Mobility Direct end to end communication No NAT needed End-to-end principle could be reinstated but smart or intelligent middleboxes will interfere Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 5 / 56

Rationale Why IP version 6 might be used QoS Flowlabel 1 present in the standard header Hierarchical routing Nothing new with respect to IPv4 Risk of tunnel mess because of IPv6-in-IPv4 transition scenario But tunnels are more and more replaced by native 2 access 1 The An IPv4 Flowlabel Option Internet-Draft tries to establish an IPv4 flowlabel option since 2002 (version 19, January 5, 2014) 2 The IPv6-Internet is a reality for many users since World IPv6 Day on June 8, 2011 and World IPv6 Launch on June 6, 2012 Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 6 / 56

IPv6 addressing Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 7 / 56

IPv6 addressing IPv6 address space and notation Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 8 / 56

IPv6 addressing IPv6 address space and notation IPv6 addresses IP version 6 128 bit addresses 4 times as many bits as in IPv4 2 96 times as many possible addresses Much more hierarchical addressing This is absolutely necessary because of the huge address space size of IPv6 Still discussions about what is the right sizing, see RFC 6177 ( IPv6 Address Assignment to End Sites ) Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 9 / 56

IPv6 addressing IPv6 address space and notation Remember: IPv4 address notation IPv4 address notation IP address 13121114025 Subnet mask 255255255192 (or sometimes) (00063) Network 1312111400/26 Broadcast 13121114063 Mixed notation 13121114025/26 Host and network in one notation Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 10 / 56

IPv6 addressing IPv6 address space and notation IPv6 address notation IPv6 address notation IPv6 address Short form Network Mixed notation 2001:0610:0158:bad0:0000:0000:0000:0001 2001:610:158:bad0::1 2001:610:158:bad0::/64 2001:610:158:bad0::1/64 8 blocks of 4 nibbles (hex digits), totaling 128 bits Leading zeroes in blocks may be skipped Blocks of all zeroes may be replaced by :: (once!, why?) No broadcasts (but multicasts), no subnet masks, only prefixes See RFC 4291: IP Version 6 Addressing Architecture Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 11 / 56

IPv6 addressing IPv6 address space and notation Allocated address space Top level allocations ::/8 Special-Purpose Addresses 1 100::/8 Special-Purpose Addresses 2 2000::/3 Global Unicast Addresses fc00::/7 fe80::/10 ff00::/8 Unique Local Unicast Addresses Link Local Unicast Addresses Multicast Addresses Exercise Write down the unallocated parts with as much aggregation as possible Explain and improve http://wwwianaorg/assignments/ ipv6-address-space/ipv6-address-spacexhtml Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 12 / 56

IPv6 addressing Special-Purpose Space Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 13 / 56

IPv6 addressing Special-Purpose Space Special-Purpose addresses Special-Purpose addresses ::/128 Unspecified address ::1/128 Localhost address ::abcd/128 (from ::/96) IPv4-compatible addresses ::ffff:abcd/128 (from ::ffff:0:0/96) IPv4-mapped addresses 64:ff9b::/96 Well-Known Prefix 100::/64 Discard-Only Address Block abcd is IPv4 address in decimal IPv4-compatible addresses were used for automatic tunneling (now deprecated) IPv4-mapped addresses may be used by IPv6-only applications to communicate with IPv4-only hosts (never seen on the wire) Algorithmic translation for IPv4/IPv6 now uses the well-known prefix Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 14 / 56

IPv6 addressing Special-Purpose Space Addresses used in IPv4/IPv6 Translation Framework for IPv4/IPv6 Translation (RFC 6144, April 2011) IPv4-embedded addresses IPv6 addresses containing IPv4 addresses IPv4-converted addresses Used to represent IPv4-only hosts inside an IPv6-only network Assigned to the IPv6-side of an IPv4/IPv6 translator/gateway IPv4-translatable addresses Used to represent IPv6-only hosts inside an IPv4-only network Assigned to an IPv6-only host Only works with a stateless IPv4/IPv6 translator/gateway Embedded IPv4 address is assigned to the IPv4-side of an IPv4/IPv6 translator/gateway Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 15 / 56

IPv6 addressing Special-Purpose Space Format of IPv4-embedded Addresses IPv6 Addressing of IPv4/IPv6 Translators RFC 6052, October 2010 Prefix IPv4 address Suffix Prefix length can be 32, 40, 48, 56, 64 or 96 The Well-Known Prefix (WKP) 64:ff9b::/96 is one option Other options are Network Specific Prefixes (NSP s) Bits 64-71 should all be set to 0 for compatibility with the EUI-64 3 universal bit The IPv4 address wraps around bits 64-71, if necessary The suffix completes the IPv6 address and is reserved (all 0 s) 3 This will be explained in the Layer2 lecture Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 16 / 56

IPv6 addressing Special-Purpose Space How do IPv6 (only) clients reach IPv4 (only) servers? It is one big NAT scheme RFC 6145 (April 2011), RFC 6791 (November 2012) IP/ICMP Translation Algorithm Header translation IPv4 IPv6 RFC 6146 (April 2011) Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers Uses algorithmic (4 6) and table based (6 4) translation RFC 6147 (April 2011) DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers Synthesizes AAAA records from A records Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 17 / 56

IPv6 addressing Unicast Space Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 18 / 56

IPv6 addressing Unicast Space Global Unicast Space (1) Global Unicast Addresses (allocated before 2006) 2001::/16 First RIR Space 2002::/16 6to4 Space 3ffe::/16 5f00::/8 a 6bone Space 6bone Space a This is a subprefix of 4000::/3, which is part of the fully reserved 4000::/2 The RIR (Regional Internet Registries) are: RIPE NCC, ARIN, APNIC, LACNIC, AfriNIC 6to4 is one of the transition mechanisms Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 19 / 56

IPv6 addressing Unicast Space Global Unicast Space (2) Recent (2006) large chunks 2400::/12 APNIC 2600::/12 ARIN 2800::/12 LACNIC 2a00::/12 2c00::/12 RIPE NCC AfriNIC http://wwwianaorg/assignments/ ipv6-unicast-address-assignments/ Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 20 / 56

IPv6 addressing Unicast Space IANA blocks IANA blocks inside 2001::/16 2001::/23 IETF Protocol Assignments 2001::/32 (from 2001::/23) TEREDO 2001:2::/48 a Benchmarking 2001:db8::/32 Documentation a Wrong assignment? The RFC talks about 2001:200::/48 https: //wwwianaorg/assignments/iana-ipv6-special-registry/ Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 21 / 56

IPv6 addressing Unicast Space Anycast Addresses Allocated from (Global) Unicast Space One anycast address has been required from the very beginning Subnet-Router anycast For each subnet the address with all Interface ID bits set to zero Each IPv6 router should configure this address but it is not always implemented It is useful to be able to find from the outside 4 the nearest router connected to a subnet 4 What happens from the inside? Should it also be used on the link local subnet? Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 22 / 56

IPv6 addressing Unicast Space Local or Private Space (fe80::/9) fe80::/10 (Link Local Addresses) Restricted in scope to a single link (prefix fe80::/64) Address reuse possible on other link fec0::/10 (Site Local Addresses; deprecated) Used within a site (what is a site?) Corporate mergers possible with GUSL (Sic!) Globally Unique Site Locals are deprecated fc00::/7 (Unique Local Unicast; replaces Site Local) Subnets typically look like fdrr:rrrr:rrrr:ssss::/64 (see RFC 4193) Local bit L (eighth bit) is 1; fc00::/8 is reserved rr:rrrr:rrrr is random and ssss is an assigned subnet id Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 23 / 56

IPv6 addressing Multicast Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 24 / 56

IPv6 addressing Multicast Multicast Space See RFC 4291 ff00::/8 (NOT ff::/8!) Multicast address 8+4+4+112 bits 8 bits ones (11111111) 4 bits flag (0RPT) T (1: transient; 0: permanent) P (1: prefix-owned; 0: not prefix-owned); see RFC 3306 R (1: RP embedded; 0: no RP embedded); see RFC 3956 4 bits scope 112 bits multicast group id Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 25 / 56

IPv6 addressing Multicast Multicast Scope Scope Bits Meaning 0 0000 Reserved 1 0001 Interface-Local 2 0010 Link-Local 4 0100 Admin-Local 5 0101 Site-Local 8 1000 Organization-Local e 1110 Global f 1111 Reserved Others - Unassigned Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 26 / 56

IPv6 addressing Multicast Pre-Defined Multicast Addresses Purpose Address Scope All nodes ff02::1 Link-Local All routers ff02::2 Link-Local All routers ff05::2 Site-Local Solicited-Node ff02::1:ffxx:xxxx 5 Link-Local 5 xx:xxxx are the low order 24 bits of each unicast or anycast address which this host has configured on the interface under consideration This multicast address is used in Neighbor Solicitation Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 27 / 56

IPv6 addressing Addressing hierarchy Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 28 / 56

IPv6 addressing Addressing hierarchy 2001::/16 Hierarchy 16-16-16-16-64 /16 RIR space (from IANA) /23 Basic allocation size /32 ISP allocations (from RIR) /35 Old ISP allocations /48 Customer allocations (from ISP) /56, /60 Consumer allocations /64 IPv6 subnet (inside customer network) In recent years a shift is seen to larger prefixes /12 for the five RIR s Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 29 / 56

IPv6 addressing Addressing hierarchy Addressing in Internet Exchanges (AMS-IX) Until early 2011 AMS-IX has been using SURFnet address space (2001:610:140::/48) BIT address space (2001:7b8:200::/48) Current (2012) scheme 2001:7f8:1::/48 AMS-IX (peering LAN) from 2001:7f8::/29 is a Block for (direct) RIR assignments to network operators 2001:67c:1a8::/48 AMS-IX (office LAN) from 2001:678::/29 is a Block for (direct) RIR assignments to network operators All assignments are from the 2001:600::/23 RIPE block Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 30 / 56

Neighbor Discovery Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 31 / 56

Neighbor Discovery Neighbor Discovery Protocol (NDP) IPv6 does not use ARP IPv6 does use ICMPv6 to discover Address and status of neighbours Properties of networks, prefixes and routers Duplicate Address Detection (DAD) Neighbour Unreachability Detection (NUD) Extensive use of multicast Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 32 / 56

Neighbor Discovery ICMPv6 types for NDP ICMPv6 types for NDP 133 Router Solicitation 134 Router Advertisement 135 Neighbor Solicitation 136 Neighbor Advertisement 137 Redirect Message Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 33 / 56

IPv6 packet formats Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 34 / 56

IPv6 packet formats IPv6 header 0 3 4 11 12 15 16 23 24 31 Vers Traffic Class Flowlabel Payload Length Next Header Hop Limit Source Address (16 bytes) Destination Address (16 bytes) Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 35 / 56

IPv6 packet formats IPv6 header fields IPv6 header fields Version 6 Traffic Class Flowlabel Payload Length Next Header Hop Limit Source Address Destination Address Type of Service management Identify flows with special requirements Including extension headers Type of following header Forwarding count and loop protection IPv6 address of sender IPv6 address of recipient Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 36 / 56

IPv6 packet formats Next Header Protocol type Header types Number Name Meaning 0 HOPOPT Hop-by-hop Option 6 TCP Upper layer Transmission Control 17 UDP Upper layer User Datagram 41 IPv6 IPv6 (in IPv6) 43 IPv6-Route Routing Header 44 IPv6-Frag Fragment Header Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 37 / 56

IPv6 packet formats Next Header protocol type Header types (continued) Number Name Meaning 50 ESP Encap Security Payload 51 AH Authentication Header 58 IPv6-ICMP ICMP for IPv6 59 IPv6-NoNxt No Next Header 60 IPv6-Opts Destination Options See http://wwwianaorg/assignments/protocol-numbers Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 38 / 56

IPv4 to IPv6 transition Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 39 / 56

IPv4 to IPv6 transition General ideas Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 40 / 56

IPv4 to IPv6 transition General ideas A simple and direct transition scenario Clients dual stack Servers (services) IPv4 or IPv6 Killer application IPv6 only Networks completely independent Configured tunnels only if no native connectivity is available Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 41 / 56

IPv4 to IPv6 transition General ideas Older IETF transition technologies (around 2000) Clients and servers dual stack Stateless IP/ICMP Translation (SIIT) RFC 2765 (Feb 2000) Bump in the Stack (BIS) RFC 2767 (Feb 2000) IPv6 Tunnel Broker RFC 3053 (Jan 2001) SOCKS-based IPv6/IPv4 Gateway RFC 3089 (Apr 2001) Transport Relay Translator (TRT) RFC 3142 (Jun 2001) An implementation of NA(P)T-PT (deprecated since RFC 4966) Makes use of DNS_ALG (RFC 2694) Bump in the API (BIA) RFC 3338 (Oct 2002) Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 42 / 56

IPv4 to IPv6 transition General ideas Current (2013) IETF transition technologies Clients and servers dual stack 6rd RFC 5569 (Jan 2010), 5969 (Aug 2010) IPv6 Rapid Deployment, using 6to4 within ISP network IP/ICMP Translation (derived from SIIT) RFC 6145 (Apr 2011) NAT64 and DNS64 RFC 6146, 6147 (Apr 2011) DS-Lite (Dual-Stack Lite) RFC 6333 (Aug 2011) ISATAP 6to4 Teredo The service provider network is IPv6 only Uses IPv4-in-IPv6 tunnels and Carrier Grade NAT (CGN) for IPv4 Not the same as 6in4 or 6over4 Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 43 / 56

IPv4 to IPv6 transition ISATAP, 6to4 and Teredo Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 44 / 56

IPv4 to IPv6 transition ISATAP, 6to4 and Teredo Windows XP SP1 choice ISATAP (RFC 4214) For intra domain connectivity Was once automatically enabled (in XP) when IPv6 was enabled 6to4 (RFC 3056) For inter domain connectivity Was once automatically enabled (in XP) when IPv6 was enabled ISATAP + 6to4 == a possible security nightmare Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 45 / 56

IPv4 to IPv6 transition ISATAP, 6to4 and Teredo ISATAP Intra-Site Automatic Tunnel Addressing Protocol PREFIX:0:5efe:abcd PREFIX (64 bits) can be (link) local or global 0:5efe (32 bits) is an ISATAP constant Related to the IANA OUI 00:00:5e (RFC 5342) abcd (32 bits) is a public or private IPv4 address Uses IPv4 encapsulation inside the domain as data link layer Default gateway should be a full blown IPv6 router Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 46 / 56

IPv4 to IPv6 transition ISATAP, 6to4 and Teredo 6to4 Everybody with a public IPv4 address abcd owns an IPv6 site 2002:abcd::/48 This notation is illegal, but practical Uses normal IPv6 routing inside its prefix A full mesh of IPv4 encapsulated point to point links connect all 6to4 routers The 6to4 router acts as a default gateway within 2002:abcd::/48 A 6to4 relay is a 6to4 router that connects 6to4 space to native IPv6 space A 6to4 relay advertises 2002::/16 towards native IPv6 space A 6to4 relay uses a well-known IPv4 anycast address (19288991) from 19288990/24 to reach nearest relay as 2002:c058:6301:: Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 47 / 56

6to4 in a picture Source: http://wwwipv6tforg/images/figure_6to4jpg

ISATAP+6to4 Source: Microsoft Technet

IPv4 to IPv6 transition ISATAP, 6to4 and Teredo Teredo Teredo Navalis is a shipworm 6to4 equivalent for end user nodes Works through NAT and uses UDPv4 for transport Uses a Teredo Server to determine NAT-type Uses the 2001::/32 prefix 2001:0000:ssss:ssss:ffff:pppp:cccc:cccc is the IPv6 address used s: Teredo Server; c: Teredo Client (public side NAT address) f: Teredo Flags; p: public side NAT UDP tunnel port Uses a Teredo Relay as a gateway to reach IPv6-hosts Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 50 / 56

DNS issues Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 51 / 56

DNS issues DNS AAAA record Just like A record A6 record (hierarchical) experimental PTR record Inside ip6arpa (ip6int has been deprecated) Based on nibbles as labels Labels are strings of length 1 from {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f} DNAME (Domain CNAME) experimental Bitstring labels (deprecated) Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 52 / 56

DNS issues DNS over IPv6 Implemented since BIND version 9 Root servers partly IPv6 enabled since February 2008 Not IPv6 enabled (tested 20140128): b, d, e, g USC-ISI, Cogent, NASA, DISA Many DNS servers use and serve IPv6 ns1os3nl 2001:610:158:960::66 nsripenet ns3surfnetnl 2001:67c:e0::6 2001:610:0:800c:195:169:124:71 Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 53 / 56

Application, protocol and programming support Outline 1 Rationale 2 IPv6 addressing IPv6 address space and notation Special-Purpose Space Unicast Space Multicast Addressing hierarchy 3 Neighbor Discovery 4 IPv6 packet formats 5 IPv4 to IPv6 transition General ideas ISATAP, 6to4 and Teredo 6 DNS issues 7 Application, protocol and programming support Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 54 / 56

Application, protocol and programming support IPv6 applications and protocols Many protocols can be used, often unaltered, with IPv6 ftp, ssh, telnet, smtp, whois, domain, tftp, finger, http, pop3, nntp, ntp, netbios-*, imap, irc, ldap, login, lpr, rsync, Many OS s IPv6 ready Windows XP/Vista/7/8, MacOS X, Linux, *BSD Many routers are IPv6 ready Home routers are the main exception, but improving The IPv4 address pool is depleted at IANA, APNIC and RIPE NCC The IPv4 address pool will soon be depleted at the other RIR s Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 55 / 56

Application, protocol and programming support IPv6 programming Changes in library calls Replace inet_addr(), inet_aton() and inet_ntoa() by inet_pton() and inet_ntop() Replace gethostbyname(), gethostbyaddr(), by getaddrinfo() and its inverse getnameinfo() Library calls and underlying structures are not backwards compatible but not too hard to change in a well written program The basics of sockets programming doesn t change Karst Koymans (UvA) IP version 6 Thursday, February 13, 2014 56 / 56