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

Similar documents
Lecture 6 Overview. Last Lecture. This Lecture. Next Lecture. Name and address conversions

IPv6 : Internet Protocol Version 6

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

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

Planning for Information Network

OSI Data Link & Network Layer

OSI Data Link & Network Layer

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

OSI Data Link & Network Layer

IPv6 Feature Facts

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

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

Information Sources Hans Kruse & Shawn Ostermann, Ohio University

IPv6 Technical Challenges

Information Sources Hans Kruse & Shawn Ostermann, Ohio University

IPv6. (Internet Protocol version 6)

CSCI-1680 Network Layer:

Ch.5 Internet Addressing 吳俊興 國立高雄大學資訊工程學系

IPv6 Addressing. The IPv6 Address Space. Chapter 3. At the end of this chapter, you should be able to do the following:

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

Transitioning to IPv6

CCNA Questions/Answers IPv6. Select the valid IPv6 address from given ones. (Choose two) A. FE63::0043::11:21 B :2:11.1 C.

Rocky Mountain IPv6 Summit April 9, 2008

MUM Lagos Nigeria Nov 28th IPv6 Demonstration By Mani Raissdana

Module 13. IPv6 Addressing

Network Management. IPv6 Bootcamp. Zhiyi Huang University of Otago

TCP/IP Protocol Suite

IPv6. Internet Technologies and Applications

Index Terms- IPv4, IPv6

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

Internet Protocol, Version 6

Guide to TCP/IP Fourth Edition. Chapter 2: IP Addressing and Related Topics

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

INTRODUCTION OF IPV6. Ravikumar Naik 21/11/2011

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

IPv6 Protocol Architecture

ECE 435 Network Engineering Lecture 14

Lecture Computer Networks

IPv6 tutorial. RedIRIS Miguel Angel Sotos

IPv6 Porting Applications

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

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

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

IPv6 Transition Technologies (TechRef)

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

Internet Network Protocols IPv4/ IPv6

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

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

IPv4 32 bits, 4 octets separated by. (period) IPv6 128 bits, 8 groupings of 16 bits separated by : (colon)

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

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3

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

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

Asst. Prof. Chaiporn Jaikaeo, Ph.D.

Using IPv6. Daniel Hagerty

Chapter 15 IPv6 Transition Technologies

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

Computer Networking: A Top Down Approach Featuring the. Computer Networks with Internet Technology, William

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

TK D Body Part No. X

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

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

Outline. IP Address. IP Address. The Internet Protocol. o Hostname & IP Address. o The Address

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

Configuring IPv6 basics

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

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

Network Programming in C. Networked Systems 3 Laboratory Sessions and Problem Sets

IPv6 Addressing. Design: Amir Mohammad Mohabbat

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

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

TDC 563 Protocols and Techniques for Data Networks

IPv6 is Internet protocol version 6. Following are its distinctive features as compared to IPv4. Header format simplification Expanded routing and

An IPv6 unicast address is an identifier for a single interface, on a single node. A packet that is sent to a unicast

The Berkeley Sockets API. Networked Systems Architecture 3 Lecture 4

CCENT Study Guide. Chapter 14 Internet Protocol Version 6 (IPv6)

IPv4/v6 Considerations Ralph Droms Cisco Systems

Introduction to IPv6

Introduction to IPv6

Communication Systems IPv6

Hybrid of client-server and P2P. Pure P2P Architecture. App-layer Protocols. Communicating Processes. Transport Service Requirements

Network Programming in C: The Berkeley Sockets API. Networked Systems 3 Laboratory Sessions

5. Providing a narrower address space is the primary design goal for IPv6.

Network Layer Part A (IPv6) Network Layer 4-1

Radware ADC. IPV6 RFCs and Compliance

Networking Potpourri: Plug-n-Play, Next Gen

IPv6 It starts TODAY!

IPv6 Protocols & Standards

Internet Protocol v6.

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

TCP/IP. Model and Layers Bits and Number Bases IPv4 Addressing Subnetting Classless Interdomain Routing IPv6

The link-local prefix ff00::/8 specifies any addresses which are used only in software.

Introduc)on to IPv6. Administra)on de Réseaux Dino Lopez h<p://

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

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

IPv6 Protocols & Standards. ISP/IXP Workshops

Configuring IPv6 for Gigabit Ethernet Interfaces

Network Layer: Logical Addressing

UNIX Network Programming. Overview of Socket API Network Programming Basics

7th Slide Set Computer Networks

Transcription:

Last Lecture Lecture 7 Overview Name and address conversions This Lecture IPv6 Source: Chapter 12 of Stevens book Chapter 31 of Comer s book Next Lecture Broadcast and multicast sockets Source: Chapters 20&21 of Stevens book TELE402 2012 Lecture 7 IPv6 1

IPv6 Addresses Hexadecimal Colon Notation 128 bits = 16 bytes =32 hex digits 1111110111101100 1111111111111 FDEC : 0075 : 0000 : 0000 : 0000 : FD0C : 0000 : FFFF FDEC : 75 : 0 : 0 : 0 : FD0C : 0 : FFFF Compressed Addresses FDEC : 75 :: FD0C : 0 : FFFF TELE402 2012 Lecture 7 IPv6 2

Address Space Allocation IPv6 address space: 2 128 The 128-bit address space is divided based on the most significant bits (Format Prefix): 0000 0000, reserved 0000 001, reserved for NSAP addresses 0000 010, reserved for IPX addresses 001, global unicast address 100, reserved for geographic-based addresses 1111 1110 10 (FE80), link local addresses 1111 110 (FC), unique local unicast 1111 1111 (FF), multicast addresses The rest addresses are unassigned (85%) TELE402 2012 Lecture 7 IPv6 3

More on Compressed IPv6 Addresses CIDR notation Example: IPv6-address / prefix-length 12AB:0000:0000:CD30:0000:0000:0000:0000/60 The following are legal representations 12AB::CD30:0:0:0:0/60 12AB:0:0:CD30::/60 12AB::CD30::/60 The following are not legal representations 12AB:0:0:CD3/60 12AB::CD30/60 12AB::CD3/60 TELE402 2012 Lecture 7 IPv6 4

Typical Host Addresses (1) Loopback ::1 (belong to reserved 0x00) it is used by a node to send an IPv6 packet to itself It must never be assigned to any inter- face Link local fe80::/10 Used on each link for address autoconfiguration and for neighbor discovery functions May specify interface name using % suffix Used for LAN communication without a router TELE402 2012 Lecture 7 IPv6 5

Typical Host Addresses (2) Site local fec0::/10 RFC 1884 (1995) The term site was somewhat ambiguous Has been officially replaced by unique-local addresses Unique local fc::/7 RFC 4193 (2005) Used for local communication in private networks, or spanning a limited number of sites or organizations They are not routable in the global IPv6 Internet TELE402 2012 Lecture 7 IPv6 6

Unicast IPv6 address types -- Unicast Address of a single interface An interface may have multiple unicast addresses Any unicast address consists of a 64-bit prefix and 64- bit EUI-64 ID based on the MAC address The 64-bit prefix is from the router. The prefix consists of 48(or 56)-bit prefix from ISP and 16(or 8)-bit subnet id set by the user. TELE402 2012 Lecture 7 IPv6 7

EUI-64 TELE402 2012 Lecture 7 IPv6 8

Global Unicast Addresses Starts with 001 ie. 2* to 3* Includes anycast addresses Further partitioned 2002::/16 for 6to4 tunneling Example inet6 2001:388:c004:2:20d:93ff:feea:ee7a prefixlen 64 TELE402 2012 Lecture 7 IPv6 9

Anycast Anycast and multicast A packet forwarded to an anycast address is delivered to only one interface of the set (the nearest to the source node, according to the routing metric). Subnet prefix + 0000 000 Used for group of routers, not for hosts and as source addresses Applications Domain Name System Security TELE402 2012 Lecture 7 IPv6 10

Multicast 1111 1111 xxxt SSSS Multicast The second byte consists of flag and scope. Only one bit in the flag is used, other bits are for future use Flag bit T If T is 0, the multicast address is permanent (well-known addresses). If T is 1, the address is temporary. Scope bits 0000, reserved; 0001, node local; 0010, link local; 0101, site local; 1000, organization local; 1110, global; 1111, reserved Multicast addresses must not be used as source addresses TELE402 2012 Lecture 7 IPv6 11

Multicast examples All node addresses FF01:0000:0000:0000:0000:0000:0000:0001 FF02:0000:0000:0000:0000:0000:0000:0001 All router address FF01:0000:0000:0000:0000:0000:0000:0002 FF02:0000:0000:0000:0000:0000:0000:0002 FF05:0000:0000:0000:0000:0000:0000:0002 Neighbor discovery FF02:0000:0000:0000:0000:0001:FF00:0000 to FF02:0000:0000:0000:0000:0001:FFFF:FFFF TELE402 2012 Lecture 7 IPv6 12

IPv6 addresses embedded with IPv4 addresses Each IPv4 address has corresponding IPv6 addresses Belong to reserved (0x00) 139.80.32.22 IPv4 compatible IPv6 address (for IPv6 tunneling in IPv4, deprecated) 0000 0000 0000 0000 0000 0000 8B50 2016 ::139.80.32.22 IPv4 mapped IPv6 address (for IPv4 only nodes) 0000 0000 0000 0000 0000 FFFF 8B50 2016 ::FFFF:139.80.32.22 TELE402 2012 Lecture 7 IPv6 13

:: Unspecified address 0000 0000 0000 0000 0000 0000 0000 0000 It must never be assigned to any interface because it indicates the ab- sence of an IPv6 address. It can be used as a source address by a node during the configuration phase, when the node itself is trying to discover its IPv6 address. It must never be used as the destination address or in the Routing header TELE402 2012 Lecture 7 IPv6 14

Differences between IPv6 & IPv4 Interfaces have multiple IPv6 addresses Both handle addressing in much the same way. IPv6 has more special address ranges. IPv6 doesn t have broadcast. It does have multicast and anycast. IPv6 addresses are more auto-configuring TELE402 2012 Lecture 7 IPv6 15

IPv6 Stateless Autoconfiguration Automatically configure their IP address and other parameters without the need for a server Steps: Link-Local Address Generation Link-Local Address Uniqueness Test Link-Local Address Assignment Router Contact Router Direction Global Address Configuration TELE402 2012 Lecture 7 IPv6 16

IPv6 on dual-stack host TELE402 2012 Lecture 7 IPv6 17

IPv4 on dual-stack TELE402 2012 Lecture 7 IPv6 18

Interoperability TELE402 2012 Lecture 7 IPv6 19

6to4 tunneling IPv6 islands connecting automatically Needs two routers with public IPv4 addresses as tunnel endpoints. Hosts don t need IPv4 addresses, only relay-routers. 6to4 does not facilitate interoperation between IPv4-only hosts and IPv6-only hosts. protocol field of the IPv4 header is set to 41 (decimal) indicating an encapsulated IPv6 packet Assigned address range 2002::/16 The destination IPv4 address is in the IPv6 prefix (32 bits after 2002::/16). The 6to4 relay router will extract the IPv4 address to send the encapsulated packet to the other router. TELE402 2012 Lecture 7 IPv6 20

Teredo tunneling The same purpose as 6to4 tunneling Tunnel IPv6 over UDPv4/3544 through Network Address Translations (NATs) employing Skypelike NAT tricks. Why UDP? Because a lot of SoHO kit doesn t pass protocol 41 (6to4) RFC 4380 TELE402 2012 Lecture 7 IPv6 21

Address Runout Current prediction of IANA runout 03-Feburary-2011 Current prediction of RIR runout 04-May-2014 This is updated each year... http://www.potaroo.net/tools/ipv4/ TELE402 2012 Lecture 7 IPv6 22

Protocol Independent Code Pass around struct sockaddr *, not struct sockaddr_in * Declare as struct sockaddr_storage or union sockaddr_multi... sockaddr_storage{} more portable. Isolate parts that deal with sockaddr_in etc. Use get{host,addr}info, not gethostby* More work if using multicast, raw sockets, IP options TELE402 2012 Lecture 7 IPv6 23

Address data structures struct sockaddr_in6 { uint8_t sin6_len;// size of the structure sa_family_t sin6_family;// AF_INET6 in_port_t sin6_port;// Transport layer port uint32_t sin6_flowinfo;// IP6 flow information struct in6_addr sin6_addr;// IP6 address uint32_t sin6_scope_id;// scope zone index }; struct sockaddr_storage { uint8_t ss_len; sa_family_t ss_family; uint8_t padding[128-2]; }; TELE402 2012 Lecture 7 IPv6 24

Initializing _in6 struct sockaddr_in6 addr6; memset( &addr6, 0, sizeof(addr6) ); addr6.sin6_family = AF_INET6; addr6.sin6_port = htons(8742); addr6.sin6_addr = in6addr_any; OR inet_pton (AF_INET6, addrstr, (void *) &addr6.sin6_addr ); TELE402 2012 Lecture 7 IPv6 25

Using sockaddr_ struct sockaddr_storage addr; struct sockaddr_in *addr4 = (struct sockaddr_in *) &addr; struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *) &addr; switch(addr.sa_family) {... } TELE402 2012 Lecture 7 IPv6 26

Guess what? Everything else is just the same, because the Sockets API uses the opaque sockaddr{} structure. In the lab, you will improve tcp_connect and describe_socket to work with both IPv4 and IPv6. TELE402 2012 Lecture 7 IPv6 27

Changes in application protocols Changes to application protocol if IP addresses are passed in the protocol. These affect the same protocols as are affected by things like NAT (FTP, VoIP, P2P). NAT should never happen for IPv6, but is used more and more as IPv4 addresses become scarcer. Upgrade pressure for IPv6. NAT is only an incidental security device; what you really want is a firewall, not IPv6 NAT. TELE402 2012 Lecture 7 IPv6 28

Resources IPv6 address space http://www.iana.org/assignments/ipv6-address-space/ipv6-addressspace.xml IPv6 the new protocol for Internet and Intranets, Chap. 4 http://www.ip6.com/us/book/chap4.pdf The TCP/IP Guide IPv6 Addressing http://www.tcpipguide.com/free/t_ipv6addressing.htm IPv6 Essentials Silvia Hagen ISBN: 0-596-00125-8 (O Reilly) IPv4-to-IPv6 Transition and Co-Existence Strategies http://ipv6.bt.com/downloads/ bt_wp_ipv6_transition_strategies_2011.pdf RFC 3056 6to4 tunnelling; STD 0066 URI Generic Syntax TELE402 2012 Lecture 7 IPv6 29