Ipv6

Yan Drugalya
IPv6 
Prepared by: 
ydrugalya@gmail.com
Agenda 
• IPv6 features overview 
• IPv6 addressing 
• Integration and co-existing strategies 
• IPv6 application development 
• A Big Picture 
• References
History 
• 1974 Cerf and Kahn developed TCP/IP for 
ARPA. 
• NSF (end of 70-th) 
• 1992 – RFC 1550. 21 response. 7 left. CLNP. 
• 1993. 3 proposals left (Deering, Francis, Katz 
and Ford). SIPP. 
• SIPP  IPv6 (IPv5 – already allocated)
NAT 
192.168.0.100 ->.. -> 74.125.87.99(google.com) 
192.168.0.100 (5043, 80)  
192.168.0.1 / 157.55.1.10 (666, 80)  
74.125.87.99(google.com)
NAT
Why NAT is bad 
• This was a temporary solution from the beginning 
• NAT keep us away from transparent connection 
• NAT violates security and principle of packets 
consistency 
• NAT was blocking development of transparent 
applications 
• Double/triple NAT translation is very ugly thing
Requirements 
• Larger address space 
• Simpler protocol for faster routing processing 
• Better security 
• Better QoS 
• Extensibility 
• Auto configuration 
• Better Multicast and Anycast abilities 
• Better support for mobile devices 
• Coexisting
New Header Format(RFC 2460 )
IPv6 Header Fields 
• Version – always 6 for IPv6 
• Traffic class – 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. 
• Flow label. Experimental. Idea reserve throughput for 
flow between two hosts. Virtual channel. 
• Next header – tells which one from 6 extension 
headers follows 
• HOP Limit – ex TTL. 
• Source/Destination addresses
Comparing IPv4 and IPv6 headers 
• IHL – removed 
• Protocol – removed 
• Removed all fields related to fragmentation 
• TTL replaced by Hop limit field. 
• Header checksum - deprecated (upper level checksum can do it).
Extension Headers*
Extension Headers 
Header 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 
Indicates that the rest of payload is encrypted 
Payload
Stateless and Stateful Address 
Configuration 
• Statefull address configuration 
– DHCP for IPv6 
• Stateless address configuration 
– No DHCP server 
– Automatic link-local address configuration
IPv6 Address format 
RFC 2373 
2001:05c0:1000:000b:0000:0000:0000:9eaf 
 
2001:5c0:1000:b::9eaf 
http://[2620:0:1cfe:face:b00c::3]
IPv6 address types 
- Unicast – address for single interface 
- Global 
- Site-local 
- Link-local 
- Anycast – address of set of interfaces 
- Multicast – scoped address of group of 
interfaces 
RFC 4291
Global Unicast address format 
2620:0:1cfe:face:b00c::7
Site-Local address format 
FEC0::3:260:8FF:FE52:F9D8
Link-local format 
EUI-64(RFC 2373) VS Random number
Multicast address format 
• ff02::1 - all nodes in local segment 
• ff02::2 - all routers in local network segment 
• FF01::2 - node local scope all routers 
• FF02::2 - link-local scop all-routers
IPv4 compatible IPv6 address 
deprecated
IPv4 mapped IPv6 address 
RFC 4038
Integration and co-existing strategies 
• Dual-stack 
• IPv6 over IPv4 tunnels 
• Dedicated data links
Dual-stack
Popular transition technologies 
• Static 6 over 4 tunnels 
• Automatic 6to4 Tunnel. 
– 6to4 
– Teredo 
– ISATAP 
– go6.net 
– SixXS 
IPv6 Transition Technologies
IPv6 over IPv4 tunnels
6to4* 
Idea: 
- Encapsulate IPv6 packet into IPv4 packet 
Example: 
IPv4 address: 16.24.244.69 --> 
2002:1018:f445::1018:f445
Teredo* 
Idea: 
- encapsulate IPv6 into UDP 
- encapsulate UDP port and ipv4 into ipv6 
address 
RFC 4380 . Example 
2001:0:5ef5:79fd:34a0:3750:e0e0:8ed1
ISATAP 
RFC 4214
IPv6 Application development
IPv6 Application development 
IPv6 Guide for Windows Sockets Applications 
Checkv4.exe 
Main idea: make your application dual stack 
- use agnostic data structures 
- change function calls 
- remove hardcoded addresses 
- change UI 
RFC 4038
IPv6 Application development 
Data structures 
Data structures 
sockaddr_in  sockaddr_storage 
Shims: getPort, getSockAddrBytes, getAddrLen, etc. 
int getPort(sockaddr_storage& addr) { 
switch(addr.ss_family) { 
case AF_INET: 
return ntohs ( reinterpret_cast<sockaddr_in*>(&addr)->sin_port ); 
case AF_INET6: 
return ntohs ( reinterpret_cast<sockaddr_in6*>(&addr)->sin6_port ); 
default: 
throw exception; 
}
IPv6 Application development 
Function calls 
#if !defined(IPV6_V6ONLY) 
# define IPV6_V6ONLY 27 
#endif 
setsockopt(sockfd, PPROTO_IPV6, IPV6_V6ONLY, 
(char *)&off, sizeof(off) ); 
gethostbyname  getaddrinfo 
gethostbyaddr getnameinfo
Troubleshooting 
netsh interface ipv6 show address 
netsh interface ipv6 show neighbors 
netsh interface ipv6 delete neighbors 
netsh interface ipv6 show destinationcache 
netsh interface ipv6 delete destinationcache
Troubleshooting
BIG PICTURE
IPv6 deployment status
Necessity vs Inertness
References 
• IPv6 Learning Roadmap 
• IPv6 Guide for Windows Sockets Applications 
• www.ipv6.com 
• Test your IPv6 connectivity 
• Google IPv6 Conference 2008: What will the IPv6 
Internet look like? 
• SixXS - IPv6 Deployment & Tunnel Broker 
• Cool IPv6 stuff 
• icmpv6x
Ipv6
Ipv6
Ipv6
Ipv6
Ipv6
Ipv6
1 of 44

Recommended

NAT64 en LACNIC 18: Experimentos con NAT64 sin estado by
NAT64 en LACNIC 18: Experimentos con NAT64 sin estadoNAT64 en LACNIC 18: Experimentos con NAT64 sin estado
NAT64 en LACNIC 18: Experimentos con NAT64 sin estadoCarlos Martinez Cagnazzo
8.2K views14 slides
NAT64 and DNS64 in 30 minutes by
NAT64 and DNS64 in 30 minutesNAT64 and DNS64 in 30 minutes
NAT64 and DNS64 in 30 minutesIvan Pepelnjak
46.1K views19 slides
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction by
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime
209 views36 slides
IPv6 introduction by
IPv6 introductionIPv6 introduction
IPv6 introductionGuider Lee
4.7K views31 slides
6Rd by
6Rd6Rd
6RdFred Bovy
6.2K views19 slides
Ipv6 by
Ipv6Ipv6
Ipv6maha5960
1.3K views59 slides

More Related Content

What's hot

Upcoming internet challenges by
Upcoming internet challengesUpcoming internet challenges
Upcoming internet challengesIvan Pepelnjak
5.8K views25 slides
Using PerfDHCP tool to scale DHCP in OpenStack Neutron by
Using PerfDHCP tool to scale DHCP in OpenStack NeutronUsing PerfDHCP tool to scale DHCP in OpenStack Neutron
Using PerfDHCP tool to scale DHCP in OpenStack NeutronVikram G Hosakote
1.9K views12 slides
OARC 26: Scoring the Root Server System by
OARC 26: Scoring the Root Server SystemOARC 26: Scoring the Root Server System
OARC 26: Scoring the Root Server SystemAPNIC
339 views38 slides
Getting started with IPv6 by
Getting started with IPv6Getting started with IPv6
Getting started with IPv6Private
4.2K views35 slides
Day 20.i pv6 lab by
Day 20.i pv6 labDay 20.i pv6 lab
Day 20.i pv6 labCYBERINTELLIGENTS
491 views49 slides
Things I wish I had known about IPv6 before I started by
Things I wish I had known about IPv6 before I startedThings I wish I had known about IPv6 before I started
Things I wish I had known about IPv6 before I startedFaelix Ltd
162 views149 slides

What's hot(20)

Upcoming internet challenges by Ivan Pepelnjak
Upcoming internet challengesUpcoming internet challenges
Upcoming internet challenges
Ivan Pepelnjak5.8K views
Using PerfDHCP tool to scale DHCP in OpenStack Neutron by Vikram G Hosakote
Using PerfDHCP tool to scale DHCP in OpenStack NeutronUsing PerfDHCP tool to scale DHCP in OpenStack Neutron
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
Vikram G Hosakote1.9K views
OARC 26: Scoring the Root Server System by APNIC
OARC 26: Scoring the Root Server SystemOARC 26: Scoring the Root Server System
OARC 26: Scoring the Root Server System
APNIC339 views
Getting started with IPv6 by Private
Getting started with IPv6Getting started with IPv6
Getting started with IPv6
Private4.2K views
Things I wish I had known about IPv6 before I started by Faelix Ltd
Things I wish I had known about IPv6 before I startedThings I wish I had known about IPv6 before I started
Things I wish I had known about IPv6 before I started
Faelix Ltd162 views
Layer-3 BFD Optimization Proposals for Enterprise and Campus Networks by Vikram G Hosakote
Layer-3 BFD Optimization Proposals for Enterprise and Campus NetworksLayer-3 BFD Optimization Proposals for Enterprise and Campus Networks
Layer-3 BFD Optimization Proposals for Enterprise and Campus Networks
Vikram G Hosakote654 views
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN... by APNIC
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
APNIC1.2K views
Ipv6 introduction - MUM 2011 presentation by IDEA4PRO
Ipv6 introduction - MUM 2011 presentationIpv6 introduction - MUM 2011 presentation
Ipv6 introduction - MUM 2011 presentation
IDEA4PRO1.4K views
464XLAT Tutorial by APNIC
464XLAT Tutorial464XLAT Tutorial
464XLAT Tutorial
APNIC7.1K views
IPv6 How To Set Up a Linux IPv6 Lan by Jumping Bean
IPv6 How To Set Up  a Linux IPv6 LanIPv6 How To Set Up  a Linux IPv6 Lan
IPv6 How To Set Up a Linux IPv6 Lan
Jumping Bean3.8K views
Update on IPv6 activity in CERNET2 by APNIC
Update on IPv6 activity in CERNET2Update on IPv6 activity in CERNET2
Update on IPv6 activity in CERNET2
APNIC767 views

Similar to Ipv6

Tutorial: IPv6-only transition with demo by
Tutorial: IPv6-only transition with demoTutorial: IPv6-only transition with demo
Tutorial: IPv6-only transition with demoAPNIC
2.5K views62 slides
IPv4aaS tutorial and hands-on by
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onAPNIC
623 views64 slides
APNIC Update by
APNIC Update APNIC Update
APNIC Update APNIC
605 views72 slides
Robert Raszuk - Technologies for IPv4/IPv6 coexistance by
Robert Raszuk - Technologies for IPv4/IPv6 coexistanceRobert Raszuk - Technologies for IPv4/IPv6 coexistance
Robert Raszuk - Technologies for IPv4/IPv6 coexistancePROIDEA
97 views38 slides
How You Will Get Hacked Ten Years from Now by
How You Will Get Hacked Ten Years from NowHow You Will Get Hacked Ten Years from Now
How You Will Get Hacked Ten Years from Nowjulievreeland
396 views92 slides
IPv6 on the Interop Network by
IPv6 on the Interop NetworkIPv6 on the Interop Network
IPv6 on the Interop NetworkNetwork Utility Force
1.2K views43 slides

Similar to Ipv6(20)

Tutorial: IPv6-only transition with demo by APNIC
Tutorial: IPv6-only transition with demoTutorial: IPv6-only transition with demo
Tutorial: IPv6-only transition with demo
APNIC2.5K views
IPv4aaS tutorial and hands-on by APNIC
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-on
APNIC623 views
APNIC Update by APNIC
APNIC Update APNIC Update
APNIC Update
APNIC605 views
Robert Raszuk - Technologies for IPv4/IPv6 coexistance by PROIDEA
Robert Raszuk - Technologies for IPv4/IPv6 coexistanceRobert Raszuk - Technologies for IPv4/IPv6 coexistance
Robert Raszuk - Technologies for IPv4/IPv6 coexistance
PROIDEA97 views
How You Will Get Hacked Ten Years from Now by julievreeland
How You Will Get Hacked Ten Years from NowHow You Will Get Hacked Ten Years from Now
How You Will Get Hacked Ten Years from Now
julievreeland396 views
Cisco presentation2 by ehsan nazer
Cisco presentation2Cisco presentation2
Cisco presentation2
ehsan nazer1.4K views
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva... by Cisco Canada
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Canada1.1K views
L6 6 lowpan by bimal2638
L6 6 lowpanL6 6 lowpan
L6 6 lowpan
bimal2638107 views
4. IPv6 Security - Workshop mit Live Demo - Marco Senn Fortinet by Digicomp Academy AG
4. IPv6 Security - Workshop mit Live Demo - Marco Senn Fortinet4. IPv6 Security - Workshop mit Live Demo - Marco Senn Fortinet
4. IPv6 Security - Workshop mit Live Demo - Marco Senn Fortinet
Rapid IPv6 Deployment for ISP Networks by Skeeve Stevens
Rapid IPv6 Deployment for ISP NetworksRapid IPv6 Deployment for ISP Networks
Rapid IPv6 Deployment for ISP Networks
Skeeve Stevens1.2K views
6lowpan 110828234426-phpapp01 by mrmr2010i
6lowpan 110828234426-phpapp016lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp01
mrmr2010i738 views
Fedv6tf-IPv6-new-friends by Tim Martin
Fedv6tf-IPv6-new-friendsFedv6tf-IPv6-new-friends
Fedv6tf-IPv6-new-friends
Tim Martin727 views
Is IPv6 Security Still an Afterthought? by APNIC
Is IPv6 Security Still an Afterthought?Is IPv6 Security Still an Afterthought?
Is IPv6 Security Still an Afterthought?
APNIC336 views
2012 11-09 facex - i pv6 transition planning- by Eduardo Coelho
2012 11-09 facex - i pv6 transition planning-2012 11-09 facex - i pv6 transition planning-
2012 11-09 facex - i pv6 transition planning-
Eduardo Coelho314 views
Improved Applications with IPv6: an overview by Cisco DevNet
Improved Applications with IPv6: an overviewImproved Applications with IPv6: an overview
Improved Applications with IPv6: an overview
Cisco DevNet361 views

Recently uploaded

ict act 1.pptx by
ict act 1.pptxict act 1.pptx
ict act 1.pptxsanjaniarun08
12 views17 slides
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...Deltares
7 views24 slides
Software evolution understanding: Automatic extraction of software identifier... by
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
7 views33 slides
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...Deltares
16 views12 slides
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Flexsin
15 views10 slides
Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
18 views11 slides

Recently uploaded(20)

DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares7 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary18 views
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida by Deltares
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - PridaDSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida
Deltares17 views
MariaDB stored procedures and why they should be improved by Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
How to Make the Most of Regression and Unit Testing.pdf by Abhay Kumar
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
Abhay Kumar10 views
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker by Deltares
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - ParkerDSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
Deltares8 views
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ... by marksimpsongw
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
marksimpsongw74 views
What Can Employee Monitoring Software Do?​ by wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere18 views
Cycleops - Automate deployments on top of bare metal.pptx by Thanassis Parathyras
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptx
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan... by Deltares
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
Deltares10 views
Software testing company in India.pptx by SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 views
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea... by Safe Software
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Safe Software391 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views

Ipv6

  • 1. IPv6 Prepared by: ydrugalya@gmail.com
  • 2. Agenda • IPv6 features overview • IPv6 addressing • Integration and co-existing strategies • IPv6 application development • A Big Picture • References
  • 3. History • 1974 Cerf and Kahn developed TCP/IP for ARPA. • NSF (end of 70-th) • 1992 – RFC 1550. 21 response. 7 left. CLNP. • 1993. 3 proposals left (Deering, Francis, Katz and Ford). SIPP. • SIPP  IPv6 (IPv5 – already allocated)
  • 4. NAT 192.168.0.100 ->.. -> 74.125.87.99(google.com) 192.168.0.100 (5043, 80)  192.168.0.1 / 157.55.1.10 (666, 80)  74.125.87.99(google.com)
  • 5. NAT
  • 6. Why NAT is bad • This was a temporary solution from the beginning • NAT keep us away from transparent connection • NAT violates security and principle of packets consistency • NAT was blocking development of transparent applications • Double/triple NAT translation is very ugly thing
  • 7. Requirements • Larger address space • Simpler protocol for faster routing processing • Better security • Better QoS • Extensibility • Auto configuration • Better Multicast and Anycast abilities • Better support for mobile devices • Coexisting
  • 9. IPv6 Header Fields • Version – always 6 for IPv6 • Traffic class – 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. • Flow label. Experimental. Idea reserve throughput for flow between two hosts. Virtual channel. • Next header – tells which one from 6 extension headers follows • HOP Limit – ex TTL. • Source/Destination addresses
  • 10. Comparing IPv4 and IPv6 headers • IHL – removed • Protocol – removed • Removed all fields related to fragmentation • TTL replaced by Hop limit field. • Header checksum - deprecated (upper level checksum can do it).
  • 12. Extension Headers Header 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 Indicates that the rest of payload is encrypted Payload
  • 13. Stateless and Stateful Address Configuration • Statefull address configuration – DHCP for IPv6 • Stateless address configuration – No DHCP server – Automatic link-local address configuration
  • 14. IPv6 Address format RFC 2373 2001:05c0:1000:000b:0000:0000:0000:9eaf  2001:5c0:1000:b::9eaf http://[2620:0:1cfe:face:b00c::3]
  • 15. IPv6 address types - Unicast – address for single interface - Global - Site-local - Link-local - Anycast – address of set of interfaces - Multicast – scoped address of group of interfaces RFC 4291
  • 16. Global Unicast address format 2620:0:1cfe:face:b00c::7
  • 17. Site-Local address format FEC0::3:260:8FF:FE52:F9D8
  • 18. Link-local format EUI-64(RFC 2373) VS Random number
  • 19. Multicast address format • ff02::1 - all nodes in local segment • ff02::2 - all routers in local network segment • FF01::2 - node local scope all routers • FF02::2 - link-local scop all-routers
  • 20. IPv4 compatible IPv6 address deprecated
  • 21. IPv4 mapped IPv6 address RFC 4038
  • 22. Integration and co-existing strategies • Dual-stack • IPv6 over IPv4 tunnels • Dedicated data links
  • 24. Popular transition technologies • Static 6 over 4 tunnels • Automatic 6to4 Tunnel. – 6to4 – Teredo – ISATAP – go6.net – SixXS IPv6 Transition Technologies
  • 25. IPv6 over IPv4 tunnels
  • 26. 6to4* Idea: - Encapsulate IPv6 packet into IPv4 packet Example: IPv4 address: 16.24.244.69 --> 2002:1018:f445::1018:f445
  • 27. Teredo* Idea: - encapsulate IPv6 into UDP - encapsulate UDP port and ipv4 into ipv6 address RFC 4380 . Example 2001:0:5ef5:79fd:34a0:3750:e0e0:8ed1
  • 30. IPv6 Application development IPv6 Guide for Windows Sockets Applications Checkv4.exe Main idea: make your application dual stack - use agnostic data structures - change function calls - remove hardcoded addresses - change UI RFC 4038
  • 31. IPv6 Application development Data structures Data structures sockaddr_in  sockaddr_storage Shims: getPort, getSockAddrBytes, getAddrLen, etc. int getPort(sockaddr_storage& addr) { switch(addr.ss_family) { case AF_INET: return ntohs ( reinterpret_cast<sockaddr_in*>(&addr)->sin_port ); case AF_INET6: return ntohs ( reinterpret_cast<sockaddr_in6*>(&addr)->sin6_port ); default: throw exception; }
  • 32. IPv6 Application development Function calls #if !defined(IPV6_V6ONLY) # define IPV6_V6ONLY 27 #endif setsockopt(sockfd, PPROTO_IPV6, IPV6_V6ONLY, (char *)&off, sizeof(off) ); gethostbyname  getaddrinfo gethostbyaddr getnameinfo
  • 33. Troubleshooting netsh interface ipv6 show address netsh interface ipv6 show neighbors netsh interface ipv6 delete neighbors netsh interface ipv6 show destinationcache netsh interface ipv6 delete destinationcache
  • 38. References • IPv6 Learning Roadmap • IPv6 Guide for Windows Sockets Applications • www.ipv6.com • Test your IPv6 connectivity • Google IPv6 Conference 2008: What will the IPv6 Internet look like? • SixXS - IPv6 Deployment & Tunnel Broker • Cool IPv6 stuff • icmpv6x

Editor's Notes

  1. Picture taken from: http://www.twcableuntangled.com/2011/02/ipv4-ipv6-and-world-ipv6-day-the-asteroid-is-coming-but-well-blow-it-up-together/
  2. History RFC 1550. 21 PROPOSAL. INTERESTING proposal CLNP – 160 BIT ADDRESS. 7 LEFT 3 LEFT
  3. 48-bit global routing prefix 16-bit subnet id
  4. Higher 10 bits of first two 2 bytes used to identify message purpose 16 bits of the subnet id field are available to the network administrator to define subnets within the given network 64 bit is automatically generated based on MAC, randomly generated or assigned by DHCPv6 Used to restrict communication in specific domain
  5. The 54 zeroes that follow make the total network prefix the same for all link-local addresses, rendering them non-routable Used in in the neighbor discover protocol and stateless auto configuration process Nodes on the same link can communicate each with other without router. Router does not forward packet with link-local addresses
  6. Dual stack host serving IPV4 and ipv6 clients Receiving datalink looks at Ethernet type field and pass packet to the appropriate IP module The IPv4 client calls gethostbyname and finds an A record for the server (Fig- ure 9.5). The server host will have both an A record and a AAAA record, since it supports both protocols but the lPv4 client asks for only an A record.