IPv6 Overview - APNIC€¦ · IPv6 header Hop-by-Hop Options header Destination Options header...

Post on 24-Jan-2021

31 views 0 download

Transcript of IPv6 Overview - APNIC€¦ · IPv6 header Hop-by-Hop Options header Destination Options header...

1

22 v1.0

IPv6 OverviewW E B I N A R C O U R S E

2

3 v1.03

Overview

• Global IPv6 End-User Readiness

• IPv6 Packet Header Format

• Introduction of IPv6 Extension Headers

• IPv6 Address Representation

• Overview of IPv6 Address Types

• Homework

4 v1.04

Global IPv6 End-User Readiness

Source: https://stats.labs.apnic.net/ipv6/ (20200602)

Results are generated from the samples collected by APNIC Lab from Internet.

5 v1.05

Global IPv6 End-User Readiness

Source: https://stats.labs.apnic.net/ipv6/ (20200602)

6 v1.06

IPv6 End-User Readiness in Asia

Source: https://stats.labs.apnic.net/ipv6/ (20200602)

7 v1.07

IPv6 End-User Readiness in Oceania

Source: https://stats.labs.apnic.net/ipv6/ (20200602)

8

IPv6 Packet Header FormatIPv6 Overview

9 v1.09

IPv6 is Network Layer Replacement of IPv4

Application Layer

Transport Layer

Network Layer

Datalink Layer

IPv4 IPv6

32 bit 128 bit

10 v1.010

Comparison of IPv6 and IPv4 Packet Headers

I P v 6 H e a d e r

8200

11 v1.011

Comparison of IPv6 and IPv4 Packet Headers

I P v 6 H e a d e r

791

I P v 4 H e a d e r

8200

12 v1.012

Comparison of IPv6 and IPv4 Packet Headers

I P v 6 H e a d e r

791

I P v 4 H e a d e r

8200

Keep the same name -- 3 parts

13 v1.013

Comparison of IPv6 and IPv4 Packet Headers

I P v 6 H e a d e r

791

I P v 4 H e a d e r

8200

Keep the same name -- 3 partsDifferent names with similar functions -- 4 parts

14 v1.014

Comparison of IPv6 and IPv4 Packet Headers

I P v 6 H e a d e r

791

I P v 4 H e a d e r

8200

Keep the same name -- 3 partsDifferent names with similar functions -- 4 partsNew function – 1 part

15 v1.015

IPv6 & IPv4 Packet Example

• Example IPv6 packet on this link:

• https://www.cloudshark.org/captures/84fd54ad03e0

• Example IPv4 packet on this link:

• https://www.cloudshark.org/captures/09f49cda5b80

16

Introduction of IPv6 Extension HeadersIPv6 Overview

17 v1.017

What is an Extension Header?

IPv6 Packet

18 v1.018

What is an Extension Header?

IPv6 Packet

Upper-layer Example:TCP Segment

IPv6 Header

Optional internet-layer information, such as, fragmentation information, encryption, etc.

19 v1.019

What is an Extension Header?

IPv6 Packet

Upper-layer Example:TCP Segment

IPv6 Header

Extension Headers

Optional internet-layer information, such as, fragmentation information, encryption, etc.

20 v1.020

IPv6 Packet

IP

v6

H

ea

de

r

21 v1.021

IPv6 Packet

Maybe the payload is the TCP segment.

IP

v6

H

ea

de

rPa

yloa

d

22 v1.022

IPv6 Extension Header

IP

v6

H

ea

de

r

TCP Segment

Extension HeaderMaybe the payload is composed of an extension header and the TCP segment.

Payl

oad

23 v1.023

IPv6 Extension Headers

TCP Segment

Extension Header 2

Extension Header 1

IP

v6

H

ea

de

r

Maybe the payload is composed of 2 extension headers and the TCP segment.P

ay

loa

d

2424 v1.0

Maybe the payload is composed of several extension headers and the TCP segment.

TCP Segment

Extension Header 2

Extension Header 1

Extension Header 4

Extension Header 3

IP

v6

H

ea

de

rP

ay

loa

d

25 v1.025

Extension Header Types

Extension HeaderHop-by-Hop Options RoutingFragmentDestination OptionsAuthenticationEncapsulating Security Payload

• Following are the extension header types listed in RFC 8200:

26 v1.026

Extension Header Types and Type Value

Extension Header Type ValueHop-by-Hop Options 0Routing 43Fragment 44Destination Options 60Authentication 51Encapsulating Security Payload 50

• Following are the extension header types listed in RFC 8200:

27 v1.027

Extension Header Example

• Example IPv6 packet with an Extension Header on this link:

• https://www.cloudshark.org/captures/7dd0b50eb768

• https://www.cloudshark.org/captures/90fd94cba716

What is the type of extension header in each of the packets?

28 v1.028

Extension Header Example

• Example IPv6 packet with an Extension Header on this link:

• https://www.cloudshark.org/captures/7dd0b50eb768

• https://www.cloudshark.org/captures/90fd94cba716

What is the type of extension header in each of the packets?

Fragment Header

Hop-by-Hop Options Header

29 v1.029

Extension Header Order

• When more than one extension header is used in the same packet, it is recommended that those headers appear in the following order in RFC 8200:

TCP Segment

IPv6 Header

Extension Headers

IPv6 header

Hop-by-Hop Options header

Destination Options header

Routing header

Fragment header

Authentication header (RFC 4302)

Encapsulating Security Payload header (RFC 4303)

Destination Options header

TCP header (Upper-Layer header)

IPv6 Packet

30

IPv6 Address RepresentationIPv6 Overview

31 v1.031

IPv6 Address Format

IPv6 address is represented in hexadecimal.

Example: 2001:0db8:0000:0000:0000:036e:1250:2b00

32 v1.032

IPv6 Address Format

IPv6 address is represented in hexadecimal.

Example: 2001:0db8:0000:0000:0000:036e:1250:2b001 2 3 4 5 6 7 8

33 v1.033

IPv6 Address Format

IPv6 address is represented in hexadecimal.

Example:

Binary format (128-bit):

2001:0db8:0000:0000:0000:036e:1250:2b00

0010000000000001 0000110110111000 000000000000000000000011011011100000000000000000 0000000000000000

0001001001010000 0010101100000000

4 hexadecimal digits

34 v1.034

IPv6 Address Format

:0db8:0000:0000:0000:036e:1250:2b00

0000110110111000 000000000000000000000011011011100000000000000000 0000000000000000

0001001001010000 0010101100000000

Binary format (128-bit):

0010000000000001

2001

4 hexadecimal digits

Components of an IPv6 address:

Example:

35 v1.035

IPv6 Address Format

Components of an IPv6 address:

Example:

Binary format (128-bit):

:0db82001: :0000:0000:036e:1250:2b000000

0000110110111000001000000000000100000011011011100000000000000000 0000000000000000

0001001001010000 0010101100000000

0000000000000000

36 v1.036

IPv6 Address Format

Components of an IPv6 address:

Example:

Binary format (128-bit):

:0db82001: :0000:0000:036e:1250:2b000000

0000110110111000001000000000000100000011011011100000000000000000 0000000000000000

0001001001010000 0010101100000000

0000000000000000

Separated by colons

37 v1.037

IPv6 Address Format

Components of an IPv6 address:

Example: :0db8:0000:0000:0000:036e:1250:2b00

0010000000000001

2001

16 binary bits(1 x 16 bits)

4 hexadecimal digits

38 v1.038

0000 0000 0001

100

IPv6 Address Format

Components of an IPv6 address:

Example: :0db8:0000:0000:0000:036e:1250:2b002

4 hexadecimal digits

Dec Hex Binary

0 0 0000

1 1 0001

2 2 0010

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

8 8 1000

9 9 1001

10 a 1010

11 b 1011

12 c 1100

13 d 1101

14 e 1110

15 f 1111

0010

nibble

16 binary bits

39 v1.039

0010

2

0000 0001

10

IPv6 Address Format

Components of an IPv6 address:

Example: :0db8:0000:0000:0000:036e:1250:2b00

4 hexadecimal digits

Dec Hex Binary

0 0 0000

1 1 0001

2 2 0010

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

8 8 1000

9 9 1001

10 a 1010

11 b 1011

12 c 1100

13 d 1101

14 e 1110

15 f 1111

0

0000

nibble

16 binary bits

nibble

40 v1.040

0000

0

0010

2

0001

1

IPv6 Address Format

Components of an IPv6 address:

Example: :0db8:0000:0000:0000:036e:1250:2b00

4 hexadecimal digits

Dec Hex Binary

0 0 0000

1 1 0001

2 2 0010

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

8 8 1000

9 9 1001

10 a 1010

11 b 1011

12 c 1100

13 d 1101

14 e 1110

15 f 1111

0

0000

nibble

16 binary bits

nibble nibble

41 v1.041

0

00000000

0

0010

2

IPv6 Address Format

Components of an IPv6 address:

Example: :0db8:0000:0000:0000:036e:1250:2b00

4 hexadecimal digits

Dec Hex Binary

0 0 0000

1 1 0001

2 2 0010

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

8 8 1000

9 9 1001

10 a 1010

11 b 1011

12 c 1100

13 d 1101

14 e 1110

15 f 1111

1

0001

nibble

16 binary bits

nibble nibble nibble

42 v1.042

IPv6 Address Format

Components of an IPv6 address:

Example: :0000:0000:0000:036e:1250:2b00

0010000000000001

32 bits(2 x 16 bits)

:0db82001

0000110110111000

8 hexadecimal digits

43 v1.043

IPv6 Address Format

Components of an IPv6 address:

Example: :0000:0000:036e:1250:2b00

0010000000000001

48 bits(3 x 16 bits)

0000110110111000

:0000:0db82001

0000000000000000

12 hexadecimal digits

44 v1.044

IPv6 Address Format

Components of an IPv6 address:

Example: :0db82001: :0000:0000:036e:1250:2b000000

00001101101110000010000000000001

0000001101101110

0000000000000000

0000000000000000 0001001001010000 0010101100000000

0000000000000000

128 bits(8 x 16 bits)

32 hexadecimal digits in 8 fields

45 v1.045

Quiz 1

• (Single Choice) How many fields (or parts) in a complete format of an IPv6

address?

o A. 6

o B. 16

o C. 8

o D. 10

46 v1.046

Quiz 1

• (Single Choice) How many fields (or parts) in a complete format of an IPv6

address?

o A. 6

o B. 16

o C. 8

o D. 10

47 v1.047

Omitting Leading Zeros

Example 1: 2001:0db8:0000:0000:0000:036e:1250:2b00

48 v1.048

Omitting Leading Zeros

Example 1:

2001:0db8:0000:0000:0000:036e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

49 v1.049

Omitting Leading Zeros

Example 1:

2001:db8:0:0:0:36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

50 v1.050

Omitting Leading Zeros

Example 1:

Example 2:

2001:db8:0:0:0:36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

2001:0db8:010d:000a:00dd:c000:e000:0001

51 v1.051

Omitting Leading Zeros

Example 1:

Example 2:

2001:db8:0:0:0:36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

2001:0db8:010d:000a:00dd:c000:e000:0001

2001:0db8:010d:000a:00dd:c000:e000:0001

52 v1.052

Omitting Leading Zeros

Example 1:

Example 2:

2001:db8:0:0:0:36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

2001:0db8:010d:000a:00dd:c000:e000:0001

2001:db8:10d:a:dd:c000:e000:1

53 v1.053

Example 1:

Example 2:

Omitting Leading Zeros

2001:db8:0:0:0:36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

2001:0db8:010d:000a:00dd:c000:e000:0001

2001:db8:10d:a:dd:c000:e000:1

Trailing 0s must be included

54 v1.054

Double Colon “::”

• Sometimes, it is common to see the long strings of zero bits in IPv6 address. For

example, 2001:db8:0:0:0:0:0:1.

• In order to make writing addresses containing zero bits easier, “::” is available to

compress the zeros.

• The use of “::” indicates one or more groups of 16 bits of zeros.

• The “::” can only appear once in an address.

4291

55 v1.055

Double Colon “::”

• Example 1:

2001:db8:0:0:0:36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

56 v1.056

Double Colon “::”

• Example 1:

2001:db8:0:0:0:36e:1250:2b00

::

2001:0db8:0000:0000:0000:036e:1250:2b00

• Compressed form:

57 v1.057

• Example 1:

Double Colon “::”

2001:db8:0:0:0:36e:1250:2b00

2001:db8::36e:1250:2b00

2001:0db8:0000:0000:0000:036e:1250:2b00

• Compressed form:

58 v1.058

• Example 2: 2001:db8:0:0:0:0:0:1

Double Colon “::”

2001:db8::1

• Example 3: 2001:db8:0:0:0:0:0:0

2001:db8::

Compressed form:

Compressed form:

59 v1.059

Recommendation of “::” Placement in RFC 5952

• When there is an alternative choice in the placement of a “::”, the longest run of

consecutive 16-bit 0 fields MUST be shortened

Example: 2001:db8:0:0:1234:0:0:0

2001:db8::1234:0:0:0

2001:db8:0:0:1234::

There are 2 compressed formats:

60 v1.060

Recommendation of “::” Placement in RFC 5952

• When there is an alternative choice in the placement of a “::”, the longest run of

consecutive 16-bit 0 fields MUST be shortened

Example: 2001:db8:0:0:1234:0:0:0

2001:db8::1234:0:0:0

2001:db8:0:0:1234:: RFC 5952

There are 2 compressed formats:

61 v1.061

Recommendation of “::” Placement in RFC 5952

• When the length of the consecutive 16-bit 0 fields are equal the first sequence of

zero bits MUST be shortened.

Example: 2001:db8:0:0:1:0:0:1

2001:db8::1:0:0:1

2001:db8:0:0:1::1

There are 2 compressed formats:

62 v1.062

Recommendation of “::” Placement in RFC 5952

• When the length of the consecutive 16-bit 0 fields are equal the first sequence of

zero bits MUST be shortened.

Example: 2001:db8:0:0:1:0:0:1

2001:db8::1:0:0:1

2001:db8:0:0:1::1

RFC 5952

There are 2 compressed formats:

63 v1.063

Quiz 2

• Please write the most compressed format of the following IPv6 address to its,

using the RFC 5952 standard (both omitting leading zeros and using “::”).

o 2001:0db8:0001:0000:0000:0000:fac4:00b0

64 v1.064

Quiz 2

• Please write the most compressed format of the following IPv6 address to its,

using the RFC 5952 standard (both omitting leading zeros and using “::”).

o 2001:0db8:0001:0000:0000:0000:fac4:00b0

• Answer: 2001:db8:1::fac4:b0

65 v1.065

IPv6 Prefix

An IPv6 address prefix is represented by the notation:

ipv6-address/prefix-length

Prefix-length is a decimal value specifying how many of the leftmost contiguous bits of the address comprise the prefix.

4291

66 v1.066

IPv6 Prefix

An IPv6 address prefix is represented by the notation:

ipv6-address/prefix-length

Example 1: 2001:db8::/32

67 v1.067

IPv6 Prefix

An IPv6 address prefix is represented by the notation:

ipv6-address/prefix-length

Example 1: 2001:db8::/32

Example Network

2001:db8::/32 This example network is using the IPv6 address block 2001:db8::/32.

68 v1.068

IPv6 Prefix

An IPv6 address prefix is represented by the notation:

ipv6-address/prefix-length

Example 1: 2001:db8::/32

Example Network

2001:db8::/32 This example network is using the IPv6 address block 2001:db8::/32.

:0000:0000:0000:

0010000000000001

32 bits

:0db82001

0000110110111000

0000:0000:0000/32

Prefix

69

Overview of IPv6 Address TypesIPv6 Overview

70 v1.070

Overview of IPv6 Address Types

IPv6 Addressing

Unicast

Global Unicast

2000::/3

Link-Local

fe80::/10

Loopback

::1/128

Unspecified Address::/128

Unique Local

fc00::/7

Embedded IPv4::/80

Anycast Multicast

Assigned

ff00::/8

Solicited Node

ff02::1:ff00:0000/104

Figure 1: IPv6 Address Types

71 v1.071

IPv6 Address Types: Unicast

IPv6 Addressing

Unicast

Global Unicast

2000::/3

Link-Local

fe80::/10

Loopback

::1/128

Unspecified Address::/128

Unique Local

fc00::/7

Embedded IPv4::/80

Anycast Multicast

Assigned

ff00::/8

Solicited Node

ff02::1:ff00:0000/104

Figure 1: IPv6 Address Types

72 v1.072

IPv6 Address Types: Anycast

IPv6 Addressing

Unicast Anycast Multicast

Assigned

ff00::/8

Solicited Node

ff02::1:ff00:0000/104

Global Unicast

2000::/3

Link-Local

fe80::/10

Loopback

::1/128

Unspecified Address::/128

Unique Local

fc00::/7

Embedded IPv4::/80

Figure 1: IPv6 Address Types

73 v1.073

IPv6 Address Types: Multicast

IPv6 Addressing

Unicast Anycast Multicast

Assigned

ff00::/8

Solicited Node

ff02::1:ff00:0000/104

Global Unicast

2000::/3

Link-Local

fe80::/10

Loopback

::1/128

Unspecified Address::/128

Unique Local

fc00::/7

Embedded IPv4::/80

Figure 1: IPv6 Address Types

74 v1.074

Link-Local IPv6 Unicast Addresses

• Link-Local addresses (fe80::/10) are for use on a single link.

Link-local Scope

75 v1.075

Link-Local IPv6 Unicast Addresses

fe80::1897:279d:5a41:7c8

Host1Router

fe80::c800:beff:fe5d:1c

en0

host:~user$ ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500ether 78:4f:43:75:83:d1inet6 fe80::1897:279d:5a41:7c8%en0 prefixlen 64 secured scopeid 0x8inet6 2001:db8:6a02:2c00:104d:7d3b:794a:6834 prefixlen 64 autoconf securedinet6 2001:db8:6a02:2c00:d186:85f0:bad0:7807 prefixlen 64 autoconf temporaryinet 10.0.0.120 netmask 0xffffff00 broadcast 10.0.0.255nd6 options=201<PERFORMNUD,DAD>media: autoselectstatus: active

en0

What does this “%en0” mean?

%en0 is the zone index for the interface en0.

Zone index helps uniquely distinguish which link/subnet an interface is connected to. The zone indices are strictly local to the device.

On Linux OS or MacOS, run ifconfig, on windows OS, run ipconfig, please check the IPv6 addresses on your computer.

76 v1.076

Homework

• 1. Complete a quiz and get your certificate for this webinar:

o Link: https://academy.apnic.net/en/quizz/ipv6-overview/

77 v1.077

Homework

• 1. Complete a quiz and get your certificate for this webinar:

o Link: https://academy.apnic.net/en/quizz/ipv6-overview/

• 2. Take the online courses “IPv6 Fundamentals” and “IPv6 Address Planning” on

APNIC Academy.

academy.apnic.net

78 v1.078

Homework

• 1. Complete a quiz and get your certificate for this webinar:

o Link: https://academy.apnic.net/en/quizz/ipv6-overview/

• 2. Take the online courses “IPv6 Fundamentals” and “IPv6 Address Planning” on

APNIC Academy.

academy.apnic.net

79 v1.079

Acknowledgements

• Figure 1: Adapted from Graziani, R. (2013). IPv6 Fundamentals: A Straightforward Approach to

Understanding IPv6. USA: Cisco Press, Figure 4-1. IPv6 Address Types.

80 v1.080

Last but not least

Wish you and your family stay safe and healthy!

81 v1.081

Thank You!END OF SESSIONThank You!

END OF SESSION

82