44
IPv6 Prepared by: [email protected]

Ipv6

Embed Size (px)

DESCRIPTION

History and current state of ipv6

Citation preview

Page 1: Ipv6

IPv6Prepared by

ydrugalyagmailcom

Agenda

bull IPv6 features overviewbull IPv6 addressingbull Integration and co-existing strategiesbull IPv6 application developmentbull A Big Picturebull References

History

bull 1974 Cerf and Kahn developed TCPIP for ARPA

bull NSF (end of 70-th)bull 1992 ndash RFC 1550 21 response 7 left CLNPbull 1993 3 proposals left (Deering Francis Katz

and Ford) SIPPbull SIPP IPv6 (IPv5 ndash already allocated)

NAT

1921680100 -gt -gt 741258799(googlecom)

1921680100 (5043 80) 19216801 15755110 (666 80) 741258799(googlecom)

NAT

Why NAT is bad

bull This was a temporary solution from the beginningbull NAT keep us away from transparent connectionbull NAT violates security and principle of packets

consistencybull NAT was blocking development of transparent

applicationsbull Doubletriple NAT translation is very ugly thing

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 2: Ipv6

Agenda

bull IPv6 features overviewbull IPv6 addressingbull Integration and co-existing strategiesbull IPv6 application developmentbull A Big Picturebull References

History

bull 1974 Cerf and Kahn developed TCPIP for ARPA

bull NSF (end of 70-th)bull 1992 ndash RFC 1550 21 response 7 left CLNPbull 1993 3 proposals left (Deering Francis Katz

and Ford) SIPPbull SIPP IPv6 (IPv5 ndash already allocated)

NAT

1921680100 -gt -gt 741258799(googlecom)

1921680100 (5043 80) 19216801 15755110 (666 80) 741258799(googlecom)

NAT

Why NAT is bad

bull This was a temporary solution from the beginningbull NAT keep us away from transparent connectionbull NAT violates security and principle of packets

consistencybull NAT was blocking development of transparent

applicationsbull Doubletriple NAT translation is very ugly thing

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 3: Ipv6

History

bull 1974 Cerf and Kahn developed TCPIP for ARPA

bull NSF (end of 70-th)bull 1992 ndash RFC 1550 21 response 7 left CLNPbull 1993 3 proposals left (Deering Francis Katz

and Ford) SIPPbull SIPP IPv6 (IPv5 ndash already allocated)

NAT

1921680100 -gt -gt 741258799(googlecom)

1921680100 (5043 80) 19216801 15755110 (666 80) 741258799(googlecom)

NAT

Why NAT is bad

bull This was a temporary solution from the beginningbull NAT keep us away from transparent connectionbull NAT violates security and principle of packets

consistencybull NAT was blocking development of transparent

applicationsbull Doubletriple NAT translation is very ugly thing

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 4: Ipv6

NAT

1921680100 -gt -gt 741258799(googlecom)

1921680100 (5043 80) 19216801 15755110 (666 80) 741258799(googlecom)

NAT

Why NAT is bad

bull This was a temporary solution from the beginningbull NAT keep us away from transparent connectionbull NAT violates security and principle of packets

consistencybull NAT was blocking development of transparent

applicationsbull Doubletriple NAT translation is very ugly thing

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 5: Ipv6

NAT

Why NAT is bad

bull This was a temporary solution from the beginningbull NAT keep us away from transparent connectionbull NAT violates security and principle of packets

consistencybull NAT was blocking development of transparent

applicationsbull Doubletriple NAT translation is very ugly thing

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 6: Ipv6

Why NAT is bad

bull This was a temporary solution from the beginningbull NAT keep us away from transparent connectionbull NAT violates security and principle of packets

consistencybull NAT was blocking development of transparent

applicationsbull Doubletriple NAT translation is very ugly thing

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 7: Ipv6

Requirements

bull Larger address spacebull Simpler protocol for faster routing processing bull Better securitybull Better QoSbull Extensibilitybull Auto configurationbull Better Multicast and Anycast abilitiesbull Better support for mobile devicesbull Coexisting

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 8: Ipv6

New Header Format(RFC 2460 )

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 9: Ipv6

IPv6 Header Fields

bull Version ndash always 6 for IPv6bull Traffic class ndash similar to ToS in IPv4 Each traffic class can be

managed differently ensuring preferential treatment for higher-priority traffic on the network Not widely used

bull Flow label Experimental Idea reserve throughput for flow between two hosts Virtual channel

bull Next header ndash tells which one from 6 extension headers follows

bull HOP Limit ndash ex TTLbull SourceDestination addresses

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 10: Ipv6

Comparing IPv4 and IPv6 headersbull IHL ndash removedbull Protocol ndash removedbull Removed all fields related to fragmentationbull TTL replaced by Hop limit fieldbull Header checksum - deprecated (upper level checksum can do it)

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 11: Ipv6

Extension Headers

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 12: Ipv6

Extension HeadersHeader Type Purpose

Hop-By-Hop Optional data that each host must examine(Deprecated)

Routing Causes packet to visit specific hosts on its way to destination

Fragment Contains fragment identification offset flags

Destination Options Processed only by destination host

Authentication Sender verification

Encapsulating Security Payload

Indicates that the rest of payload is encrypted

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 13: Ipv6

Stateless and Stateful Address Configuration

bull Statefull address configurationndash DHCP for IPv6

bull Stateless address configurationndash No DHCP serverndash Automatic link-local address configuration

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 14: Ipv6

IPv6 Address format

RFC 2373200105c01000000b0000000000009eaf

20015c01000b9eaf

http[262001cfefaceb00c3]

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 15: Ipv6

IPv6 address types

- Unicast ndash address for single interface- Global- Site-local- Link-local

- Anycast ndash address of set of interfaces- Multicast ndash scoped address of group of

interfacesRFC 4291

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 16: Ipv6

Global Unicast address format

262001cfefaceb00c7

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 17: Ipv6

Site-Local address format

FEC032608FFFE52F9D8

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 18: Ipv6

Link-local format

EUI-64(RFC 2373) VS Random number

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 19: Ipv6

Multicast address format

bull ff021 - all nodes in local segmentbull ff022 - all routers in local network segmentbull FF012 - node local scope all routersbull FF022 - link-local scop all-routers

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 20: Ipv6

IPv4 compatible IPv6 address

deprecated

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 21: Ipv6

IPv4 mapped IPv6 address

RFC 4038

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 22: Ipv6

Integration and co-existing strategies

bull Dual-stackbull IPv6 over IPv4 tunnelsbull Dedicated data links

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 23: Ipv6

Dual-stack

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 24: Ipv6

Popular transition technologies

bull Static 6 over 4 tunnelsbull Automatic 6to4 Tunnel ndash 6to4ndash Teredondash ISATAPndash go6netndash SixXS

IPv6 Transition Technologies

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 25: Ipv6

IPv6 over IPv4 tunnels

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 26: Ipv6

6to4

Idea- Encapsulate IPv6 packet into IPv4 packetExample IPv4 address 162424469 --gt20021018f4451018f445

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 27: Ipv6

Teredo

Idea- encapsulate IPv6 into UDP- encapsulate UDP port and ipv4 into ipv6

address RFC 4380 Example200105ef579fd34a03750e0e08ed1

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 28: Ipv6

ISATAP

RFC 4214

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 29: Ipv6

IPv6 Application development

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 30: Ipv6

IPv6 Application development

IPv6 Guide for Windows Sockets ApplicationsCheckv4exe

Main idea make your application dual stack- use agnostic data structures- change function calls- remove hardcoded addresses- change UI

RFC 4038

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 31: Ipv6

IPv6 Application developmentData structures

Data structures sockaddr_in sockaddr_storageShims getPort getSockAddrBytes getAddrLen etcint getPort(sockaddr_storageamp addr) switch(addrss_family)

case AF_INETreturn ntohs ( reinterpret_castltsockaddr_ingt(ampaddr)-gtsin_port )

case AF_INET6 return ntohs ( reinterpret_castltsockaddr_in6gt(ampaddr)-gtsin6_port ) default throw exception

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 32: Ipv6

IPv6 Application developmentFunction calls

if defined(IPV6_V6ONLY) define IPV6_V6ONLY 27endifsetsockopt(sockfd PPROTO_IPV6 IPV6_V6ONLY

(char )ampoff sizeof(off) )

gethostbyname getaddrinfogethostbyaddr getnameinfo

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 33: Ipv6

Troubleshooting

netsh interface ipv6 show address

netsh interface ipv6 show neighborsnetsh interface ipv6 delete neighbors

netsh interface ipv6 show destinationcachenetsh interface ipv6 delete destinationcache

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 34: Ipv6

Troubleshooting

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 35: Ipv6

BIG PICTURE

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 36: Ipv6

IPv6 deployment status

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 37: Ipv6

Necessity vs Inertness

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 38: Ipv6

References

bull IPv6 Learning Roadmapbull IPv6 Guide for Windows Sockets Applicationsbull wwwipv6combull Test your IPv6 connectivitybull Google IPv6 Conference 2008 What will the IPv6 I

nternet look like

bull SixXS - IPv6 Deployment amp Tunnel Brokerbull Cool IPv6 stuffbull icmpv6x

  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
Page 39: Ipv6
  • IPv6 Prepared by ydrugalyagmailcom
  • Agenda
  • History
  • NAT
  • NAT (2)
  • Why NAT is bad
  • Requirements
  • New Header Format(RFC 2460 )
  • IPv6 Header Fields
  • Comparing IPv4 and IPv6 headers
  • Extension Headers
  • Extension Headers
  • Stateless and Stateful Address Configuration
  • IPv6 Address format
  • IPv6 address types
  • Global Unicast address format
  • Site-Local address format
  • Link-local format
  • Multicast address format
  • IPv4 compatible IPv6 address
  • IPv4 mapped IPv6 address
  • Integration and co-existing strategies
  • Dual-stack
  • Popular transition technologies
  • IPv6 over IPv4 tunnels
  • 6to4
  • Teredo
  • ISATAP
  • IPv6 Application development
  • IPv6 Application development (2)
  • IPv6 Application development Data structures
  • IPv6 Application development Function calls
  • Troubleshooting
  • Troubleshooting
  • Slide 35
  • IPv6 deployment status
  • Necessity vs Inertness
  • References
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44