ipv6 - kasetsart university · tcp/udp application ipv6 link. 38 nipv6 tunnel over ipv4 ipv6...

39
1 IPv6 รศ. ดร. อนันต์ ผลเพิ.ม Asso. Prof. Anan Phonphoem, Ph.D. [email protected] http://www.cpe.ku.ac.th/~anan Computer Engineering Department Kasetsart University, Bangkok, Thailand

Upload: others

Post on 22-Mar-2020

27 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

1

IPv6

รศ. ดร. อนันต์ ผลเพิ.มAsso. Prof. Anan Phonphoem, Ph.D.

[email protected]://www.cpe.ku.ac.th/~anan

Computer Engineering DepartmentKasetsart University, Bangkok, Thailand

Page 2: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

2

Outlinen What is wrong with IPv4 ?n NATn Features of IPv6n IPv6 Transition

Page 3: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

3

TCP/IP Protocol Stack - Data Flow

Application5

4 Transport

3 Network

2 Data Link

1 Physical

Hello

1001101001011101011

Hello5432 T

Hello543

4 Hello5

5 HelloTCP or UDP Header

IP Header

Ethernet Header

Page 4: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

4

IPv4 Header

Page 5: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

5

What is wrong with IPv4 ?n Internet growthn New applications – Real time app.n Network Changesn Need for corporations

Page 6: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

6

IPv6 Vision (Internet for 10 Billion nodes)

Always-on Identity Auto-Configure

MobileAlways-on Security

privacy

Page 7: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

7

Rationale for IPv6n IPv4 address space consumption

n Now ~10 years free space remainingn Unused addresses reclaimedn Just projection! – reality will be different

n Loss of “end to end” connectivityn Widespread use of NAT due to ISP policies and

marketingn Additional complexity and performance degradation

Page 8: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

Network Address Translation (NAT)

Page 9: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

9

Network Address Translation (NAT)

n Private Networkn Good practice to use private address

n Map local addresses to (real) public IP address(es)

n Security (not expose internal details)n Alleviate IP depletion

Page 10: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

10

Private IP address

Class RFC 1918 CIDR prefixA 10.0.0.0 – 10.255.255.255 10.0.0.0/8

B 172.16.0.0 – 172.31.255.255 172.16.0.0/12

C 192.168.0.0 – 192.168.255.255 192.168.0.0/16

Page 11: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

11

Stub Network

n Operates at the border of a stub network

Page 12: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

12

ADSL Router

WLAN ADSL Router

Stub Network Example ADSL Connection

ADSL Modem InternetISP

Telephone Line

ADSL Modem

ADSL Modem

Page 13: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

13

NAT

“One” or “Pool” of IP addresses

Page 14: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

Example

14

Internet

Site using private addresses

172.18.3.1

172.18.3.2

172.18.3.20

Source: 172.18.3.1 Source: 200.24.5.8

Destination: 200.24.5.8Destination: 172.18.3.1

200.24.5.8172.18.3.254

Page 15: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

15

Basic Address Translation

Internet

Page 16: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

16

NAPT

n Network Address and Port Translationn Sometimes just call “NAT”n Two or more host at a site

Internet

10.0.0.2

10.0.0.1

10.0.0.3

128.10.19.20

:30000

:30000

:32000

:40001:40002:40003

Page 17: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

17

The NAT “Problem”

Internet

10.0.0.1

61.100.32.128NAT

?Extn 10

PhoneNetwork

10 4567 9876PABX

Page 18: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

18

Features of IPv6

Page 19: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

19

IPv6 feature summaryn Increased size of address spacen Header simplificationn Extended Address Hierarchy n Auto-configuration / Renumberingn QoS (Integrated/Differentiated servicesn IPSec (As for IPv4)

Page 20: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

20

IPv6 addressing modeln Unicast

n single interfacen Anycast

n any one of severaln same locationn replicate services (servers)

n Multicastn all of a group of interfacesn replaces IPv4 “broadcast”

n See RFC 3513

Page 21: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

21

IPv4 vs IPv6IPv4: 32 bits

• 232 addresses= 4,294,967,296 addresses= 4 billion addresses

IPv6: 128 bits

• 2128 addresses?= 340,282,366,920,938,463,463,374,607,431,770,000,000= 340 billion billion billion billion addresses?

• No, due to IPv6 address structure…

Page 22: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

22

IPv6 Addressing

Page 23: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

23

128 bits

How much IPv6?

Topological Interface/0 /64 /128

Infrastructure Site/0 /64/48

• 248 site addresses= 281,474,976,710,656= 281 thousand billion site addresses

• 264 “subnet” addresses= 18,446,744,073,709,551,616= 18 billion billion subnet addresses

Page 24: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

24

IPv6 address format

n 8 groups of 4 hexadecimal digitsn Each group represents 16 bitsn Separator is “:”n Case-independent

128 bits2001:0DA8:E800:0000:0260:3EFF:FE47:0001

Page 25: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

25

2001:0DA8:E800:0000:0000:0000:0000:0001

2001:0DA8:E800:0000:0260:3EFF:FE47:0001

IPv6 address format

2001:DA8:E800:0:260:3EFF:FE47:1

2001:0DA8:E800:0000:0000:0000:0000:0001

2001:0DA8:E800:0000:0260:3EFF:FE47:0001

2001:DA8:E800::1

Page 26: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

26

Special Addressn Unspecified address

n 0:0:0:0:0:0:0:0 è ::n Source add. (when own add. is unknown)

n Loopback addressn 0:0:0:0:0:0:0:1 è ::1n For testingn Datagram is delivered to local machine

Page 27: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

27

Unicast Address Hierarchyn Individual network interface

n Single connection between computer & network

n Individual siten Set of computers in a single organization

n Globally-known public topologyn Publicly available “section” of the Internetn Two types (ISP and exchange)

Page 28: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

28

Unicast Address from node’s point of view

n No internal structure

n Simple Structure with subnet prefix

n Interface identifier is unique for the linkn IEEE EUI-64 format

Node Address

0 127

Subnet Prefix

0 127

Interface ID

n

Page 29: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

29

IPv6 headern IPv6 header is simpler than IPv4

n IPv4: 14 fields, variable length (20 bytes +)n IPv6: 8 fields, fixed length (40 bytes)

n Header fields eliminated in IPv6n Header Lengthn Identificationn Flagn Fragmentation Offsetn Checksum

n Header fields enhanced in IPv6n Traffic Classn Flow Label

Page 30: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

30

Basic HeadersIPv4

IPv6

Page 31: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

31

Structure of Datagram

n Base Header is fixedn 40 Octets longn Options are in an extension header

n Several extension headers

Base Header Extensions TCP/UDP Data

Page 32: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

32

Basic Headers (Fields)n Version (4 bits) – only field to keep same

position and namen Class (8 bits) – new fieldn Flow Label (20 bits) – new fieldn Payload Length (16 bits) – length of data,

slightly different from total lengthn Next Header (8 bits) – type of the next header,

new idean Hop Limit (8 bits) – was time-to-live, renamedn Source address (128 bits)n Destination address (128 bits)

Page 33: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

33

Header Simplification n Fixed length of all fields, not like old options

field – IHL, or header length irrelevantn Remove Header Checksum – rely on

checksums at other layersn No hop-by-hop fragmentation – fragment

offset irrelevant – MTU discoveryn Add extension headers – next header type

(sort of a protocol type, or replacement for options)

n Basic Principle: Routers along the way should do minimal processing

Page 34: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

34

Extension Headers Typesn Routing Headern Fragmentation Headern Hop-by-Hop Options Headern Destinations Options Headern Authentication Headern Encrypted Security Payload Header

Base Header Extensions TCP/UDP Data

Page 35: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

35

Changes from IPv4 to IPv6n Expanded addressing capabilitiesn Header format simplificationn Improved support for extensions and

optionsn Flow labeling capabilityn Authentication and privacy capabilities

Page 36: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

36

IPv6 transitionn Dual stack hosts

n Two TCP/IP stacks co-exists on one hostn Supporting IPv4 and IPv6n Client uses whichever protocol it wishes

Page 37: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

37

IPv6 transition

IPv4 IPv6

www.apnic.net??

IPv4

TCP/UDPApplication

IPv6Link

Page 38: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

38

n IPv6 tunnel over IPv4

IPv6 transition

IPv4Network

IPv6 IPv6

IPv6 Header Data

IPv4 Header IPv6 Header Data

IPv6 Header Data

tunnel

Page 39: IPv6 - Kasetsart University · TCP/UDP Application IPv6 Link. 38 nIPv6 tunnel over IPv4 IPv6 transition IPv4 Network IPv6 IPv6 IPv6 HeaderData IPv4 Header IPv6 Header Data IPv6 HeaderData

39

Referencesn “Tutorial - IPv6 Address Management” by Paul

Wilson, Director General, APNIC

n “IPv6 Tutorial/Workshop” by Rick Summerhill, Great Plains Network, and Dale Finkelson, U of

Nebraska at Lincoln

n “IPv6 21st Century Internet” by IPv6 Forumn “IPv6 Education and Deployment Efforts in Japan”

by Takashi Arano, NTT Communications

n http://www.isoc.org/inet2000/cdproceedings/1e/1e

_4.htm