SlideShare a Scribd company logo
1 of 22
Download to read offline
A lightning fast intro to IPv6
Steinar Bang
Sopra Steria
Certified IPv6 newbie
Overview of the talk
●
What is IPv6? And why does it exist? Do I need to know what it is?
●
A brief history and timeline
– Why adoption of IPv6 has been so slow?
●
How to read and understand IPv6 addresses
●
Some special IPv6 addresses (localhost, link local etc)
●
Getting an IPv6 address (NDP, SLAAC, DHCPv6)
●
IPv6 mobility
●
Programming for IPv6, what’s needed?
●
Downsides to IPv6
●
IPv6 pitfalls
Neighbor
Discovery
Protocol
StateLess Address
AutoConfiguration
Dynamic Host
Configuration
Protocol
What?
Next generation internet
NG
When?
Why?
Why does IPv6 exist?
●
The internet was running out of addresses
●
Fix: 128 bit addresses, instead of 32 bit addresses
●
Other improvements:
– Reorganization of the IP header for more efficient routing
– Auto-configuration (can work without DHCP)
– Mobility
– End-to-end encryption
– Extensibility
A brief history and timeline
●
1993 work group created
●
1995 draft spec RFC 1752 released
●
1996 first linux kernel code for IPv6, 6bone created
●
1998 draft IPv6 standard RFC 2460
●
2000 production level IPv6 in linux and BSD
●
2001 Cisco adds support in IOS routers and L3 switches
●
2002 Windows XP SP1 and Windows 2003 Server gets full IPv6 support
●
2003 Apple Mac OS X v10.3 "Panther" supports IPv6 enabled by default
●
2008 DNS can resolve globally using IPv6 only
●
2011 AWS limited support for IPv6
●
2017 AWS IPv6 support for EC2 instances
●
2017 IPv6 official standard RFC 8200
Why the slow IPv6 adoption?
●
In one word: NAT appeared (Network Address
Translation)
●
Costly: all routers and switches, and
applications must implement IPv6
NAT: one public address maps to many
private addresses
Google IPv6 statistics
●
https://www.google.com/intl/en/ipv6/statistics.html
●
Percentage of users accessing google over IPv6 (43.5% on august 20 2023)
How to read IPv6 addresses
●
Some sample IPv4 addresses:
– 84.208.4.193
– 195.88.54.16
●
Some sample IPv6 addresses
– fe80::588c:d541:a9f0:299c
– 2a01:4f9:c011:82fd::1
– 2001:67c:21e0::16
– 2a01:5b40:0:248::52
Example: simplifying IPv6 address
●
Full IPv6 address (8 groups of 16 bit hex numbers):
– 2a01:04f9:c011:82fd:0000:0000:0000:0001
●
Collapsing leading zeros (but keep at least one in each
group):
– 2a01:4f9:c011:82fd:0:0:0:1
●
Replace consecutive groups of zeros with “::”
– 2a01:4f9:c011:82fd::1
IPv6 address structure
●
The 128 bit number of an IPv6 address is
divided in two parts
– Leftmost 64 bits determine the network
– Rightmost 64 bits determine the host (i.e not used
for routing)
Network identifier Host identifier
0 63 64 127
Enough addresses anyway
1018
here
1018
here also
1036
in total
1036
in total
1024
grains of sand in Sahara
1011
stars in the Milky Way
1011
galaxies in the Universe
1022
stars in the Universe
1014
/48 subnets
1010
people on the Earth 106
camels in Sahara
What does /48, /64 etc. mean?
●
It’s a way of describing a subnet
●
Some examples
– 2001:67c:21e0:1/64 – a single subnet that can contain up to ~1018
hosts
– 2001:67c:21e0/48 – can be split into 65536 subnets, each able to
contain up to ~1018
hosts
●
An ISP or cloud hoster will typically give you a /64 subnet for
yourself even if you have just a single host (if not: complain)
Extra IPv6 addresses
●
Link local
– fe80::/10: Can talk IPv6 with other hosts on the same WLAN or
Ethernet segment
– Bits 10-63 can be anything (but typically 0)
– Host part comes from MAC address
●
Anycast
– Address with host part in the range ffff:ffff:ffff:ff80-ffff:ffff:ffff:ffff
– “inverted multicast”
Getting an IPv6 address with SLAAC
●
SLAAC: StateLess Address AutoConfiguration
●
Uses the network address found in an ICMPv6 RA (router advertisement) and adds its MAC
address (NIC hardware address) as the host part
●
No DHCP needed
●
Downside: no DNS configuration
●
Note: RA packages is part of the Neighbor Discovery Protocol (NDP)
Router
The internet
Host
2001:67c:21e0:2::1
2001:67c:21e0:2:fa32:e4ff:fe9b:ba4b
2001:67c:21e0:1::1
Internet Control
Message Protocol
Getting DNS
●
Stateless DHCPv6
– Use SLAAC to get the IP address
– Use DHCPv6 to get DNS, NTP, etc.
– Common IPv6 setup
●
Stateful DHCPv6
– Like DHCP for IPv4, get IP address, DNS etc from DHCP
server
Dynamic Host
Configuration
Protocol
Domain
Name
Service
Network
Time
Protocol
IPv6 mobility
●
Keep your IPv6 address when moving about the
internet
●
Requires a home agent (HA) in home network and
foreign agent (FA) in visiting network
●
FA assigns care-of address in the visited network
●
Either tunneling via home agent (HA) to care-of or
route directly to care-of
Programming for IPv6
●
If you’re using Java, you’re in luck! Java already handles
this transparently (exception: if your program actually
works with IPv4 addresses)
●
C and C++ on POSIX systems: you need to change library
from AF_INET to AF_INET6 (but AF_INET6 also supports
IPv4)
●
Python, PHP, perl etc. need to change wrapper library from
the AF_INET wrapper to the AF_INET6 wrapper
Downsides to IPv6
●
All IPv6 hosts are globally visible, no longer
“hidden” behind a NAT router
●
Always keeping the same address makes you
easier to track
Some IPv6 pitfalls
●
If your ISP/cloud hoster assign the same /64 address to more
than one customer, you can be blamed for someone else’s sin
●
When adding IPv6 connectivity, make sure your firewall
handles IPv6
●
My computer has an IPv6 address starting with fe80, why
can’t I reach resources on the internet?
●
“can’t ping foo.com!”, try “ping -4 foo.com”
Questions?
●
That’s all folks!
●
Questions? No time here, but look me up after
●
Slides at
– https://www.slideshare.net/SteinarBang/javazone-2023-lyntalepdf
●
Mastodon: @steinarb@mastodon.social
●
Pixelfed: @steinarb@pixelfed.social
●
Email: steinar.bang@soprasteria.com
●
TwitteX: @steinarba

More Related Content

Similar to JavaZone 2023 Lyntale.pdf

Hands-on Experience with IPv6 Routing and Switching
Hands-on Experience with IPv6 Routing and Switching Hands-on Experience with IPv6 Routing and Switching
Hands-on Experience with IPv6 Routing and Switching Cisco Canada
 
APNIC Update
APNIC Update APNIC Update
APNIC Update APNIC
 
IPv6: We Care So You Don't Have To
IPv6: We Care So You Don't Have ToIPv6: We Care So You Don't Have To
IPv6: We Care So You Don't Have ToGary Wilhelm
 
Introduction to ipv6 v1.3
Introduction to ipv6 v1.3Introduction to ipv6 v1.3
Introduction to ipv6 v1.3Karunakant Rai
 
Lesson 3: IPv6 Fundamentals
Lesson 3: IPv6 FundamentalsLesson 3: IPv6 Fundamentals
Lesson 3: IPv6 FundamentalsMahmmoud Mahdi
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime
 
Hands-on Experience with IPv6 Routing and Services
Hands-on Experience with IPv6 Routing and ServicesHands-on Experience with IPv6 Routing and Services
Hands-on Experience with IPv6 Routing and ServicesCisco Canada
 
Ceph Day Amsterdam 2015 - Ceph over IPv6
Ceph Day Amsterdam 2015 - Ceph over IPv6 Ceph Day Amsterdam 2015 - Ceph over IPv6
Ceph Day Amsterdam 2015 - Ceph over IPv6 Ceph Community
 
Hands on Experience with IPv6 Routing and Switching Services
Hands on Experience with IPv6 Routing and Switching ServicesHands on Experience with IPv6 Routing and Switching Services
Hands on Experience with IPv6 Routing and Switching ServicesCisco Canada
 
IPv6 address-planning
IPv6 address-planningIPv6 address-planning
IPv6 address-planningTim Martin
 
IPV6 Hands on Lab
IPV6 Hands on Lab IPV6 Hands on Lab
IPV6 Hands on Lab Cisco Canada
 
IPv6 in Cellular Networks
IPv6 in Cellular NetworksIPv6 in Cellular Networks
IPv6 in Cellular NetworksAPNIC
 
SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...
SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...
SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...Louis Göhl
 

Similar to JavaZone 2023 Lyntale.pdf (20)

Hands-on Experience with IPv6 Routing and Switching
Hands-on Experience with IPv6 Routing and Switching Hands-on Experience with IPv6 Routing and Switching
Hands-on Experience with IPv6 Routing and Switching
 
APNIC Update
APNIC Update APNIC Update
APNIC Update
 
IPv6: We Care So You Don't Have To
IPv6: We Care So You Don't Have ToIPv6: We Care So You Don't Have To
IPv6: We Care So You Don't Have To
 
Introduction to ipv6 v1.3
Introduction to ipv6 v1.3Introduction to ipv6 v1.3
Introduction to ipv6 v1.3
 
7 slaac-rick graziani
7 slaac-rick graziani7 slaac-rick graziani
7 slaac-rick graziani
 
Lesson 3: IPv6 Fundamentals
Lesson 3: IPv6 FundamentalsLesson 3: IPv6 Fundamentals
Lesson 3: IPv6 Fundamentals
 
Ipv6
Ipv6Ipv6
Ipv6
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
 
Hands-on Experience with IPv6 Routing and Services
Hands-on Experience with IPv6 Routing and ServicesHands-on Experience with IPv6 Routing and Services
Hands-on Experience with IPv6 Routing and Services
 
Ceph Day Amsterdam 2015 - Ceph over IPv6
Ceph Day Amsterdam 2015 - Ceph over IPv6 Ceph Day Amsterdam 2015 - Ceph over IPv6
Ceph Day Amsterdam 2015 - Ceph over IPv6
 
Hands on Experience with IPv6 Routing and Switching Services
Hands on Experience with IPv6 Routing and Switching ServicesHands on Experience with IPv6 Routing and Switching Services
Hands on Experience with IPv6 Routing and Switching Services
 
IPv6 address-planning
IPv6 address-planningIPv6 address-planning
IPv6 address-planning
 
Ipv6 questions
Ipv6 questionsIpv6 questions
Ipv6 questions
 
IPV6 Hands on Lab
IPV6 Hands on Lab IPV6 Hands on Lab
IPV6 Hands on Lab
 
IPv6_Quick_Start_Guide
IPv6_Quick_Start_GuideIPv6_Quick_Start_Guide
IPv6_Quick_Start_Guide
 
IPv6
IPv6IPv6
IPv6
 
Day 20.i pv6 lab
Day 20.i pv6 labDay 20.i pv6 lab
Day 20.i pv6 lab
 
IPv6 in Cellular Networks
IPv6 in Cellular NetworksIPv6 in Cellular Networks
IPv6 in Cellular Networks
 
SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...
SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...
SVR401: DirectAccess Technical Drilldown, Part 1 of 2: IPv6 and transition te...
 
ipv6 addressing.pptx
ipv6 addressing.pptxipv6 addressing.pptx
ipv6 addressing.pptx
 

Recently uploaded

Statistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfStatistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfOndejSur
 
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresenceCyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresencePC Doctors NET
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?Linksys Velop Login
 
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebiThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebJie Liau
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkklolsDocherty
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan
 
Production 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxProduction 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxChloeMeadows1
 
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.Tortogel
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyDamar Juniarto
 
I’ll See Y’All Motherfuckers In Game 7 Shirt
I’ll See Y’All Motherfuckers In Game 7 ShirtI’ll See Y’All Motherfuckers In Game 7 Shirt
I’ll See Y’All Motherfuckers In Game 7 Shirtrahman018755
 
Development Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appsDevelopment Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appscristianmanaila2
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideVarun Mithran
 
Reggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsrahman018755
 
Thank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsThank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsrahman018755
 
Premier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfPremier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfappinfoedgeca
 

Recently uploaded (16)

Statistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfStatistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdf
 
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresenceCyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?
 
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebiThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdf
 
Production 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxProduction 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptx
 
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case Study
 
I’ll See Y’All Motherfuckers In Game 7 Shirt
I’ll See Y’All Motherfuckers In Game 7 ShirtI’ll See Y’All Motherfuckers In Game 7 Shirt
I’ll See Y’All Motherfuckers In Game 7 Shirt
 
Development Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appsDevelopment Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of apps
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's Guide
 
GOOGLE Io 2024 At takes center stage.pdf
GOOGLE Io 2024 At takes center stage.pdfGOOGLE Io 2024 At takes center stage.pdf
GOOGLE Io 2024 At takes center stage.pdf
 
Reggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirts
 
Thank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsThank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirts
 
Premier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfPremier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdf
 

JavaZone 2023 Lyntale.pdf

  • 1. A lightning fast intro to IPv6 Steinar Bang Sopra Steria Certified IPv6 newbie
  • 2. Overview of the talk ● What is IPv6? And why does it exist? Do I need to know what it is? ● A brief history and timeline – Why adoption of IPv6 has been so slow? ● How to read and understand IPv6 addresses ● Some special IPv6 addresses (localhost, link local etc) ● Getting an IPv6 address (NDP, SLAAC, DHCPv6) ● IPv6 mobility ● Programming for IPv6, what’s needed? ● Downsides to IPv6 ● IPv6 pitfalls Neighbor Discovery Protocol StateLess Address AutoConfiguration Dynamic Host Configuration Protocol
  • 6. Why does IPv6 exist? ● The internet was running out of addresses ● Fix: 128 bit addresses, instead of 32 bit addresses ● Other improvements: – Reorganization of the IP header for more efficient routing – Auto-configuration (can work without DHCP) – Mobility – End-to-end encryption – Extensibility
  • 7. A brief history and timeline ● 1993 work group created ● 1995 draft spec RFC 1752 released ● 1996 first linux kernel code for IPv6, 6bone created ● 1998 draft IPv6 standard RFC 2460 ● 2000 production level IPv6 in linux and BSD ● 2001 Cisco adds support in IOS routers and L3 switches ● 2002 Windows XP SP1 and Windows 2003 Server gets full IPv6 support ● 2003 Apple Mac OS X v10.3 "Panther" supports IPv6 enabled by default ● 2008 DNS can resolve globally using IPv6 only ● 2011 AWS limited support for IPv6 ● 2017 AWS IPv6 support for EC2 instances ● 2017 IPv6 official standard RFC 8200
  • 8. Why the slow IPv6 adoption? ● In one word: NAT appeared (Network Address Translation) ● Costly: all routers and switches, and applications must implement IPv6 NAT: one public address maps to many private addresses
  • 9. Google IPv6 statistics ● https://www.google.com/intl/en/ipv6/statistics.html ● Percentage of users accessing google over IPv6 (43.5% on august 20 2023)
  • 10. How to read IPv6 addresses ● Some sample IPv4 addresses: – 84.208.4.193 – 195.88.54.16 ● Some sample IPv6 addresses – fe80::588c:d541:a9f0:299c – 2a01:4f9:c011:82fd::1 – 2001:67c:21e0::16 – 2a01:5b40:0:248::52
  • 11. Example: simplifying IPv6 address ● Full IPv6 address (8 groups of 16 bit hex numbers): – 2a01:04f9:c011:82fd:0000:0000:0000:0001 ● Collapsing leading zeros (but keep at least one in each group): – 2a01:4f9:c011:82fd:0:0:0:1 ● Replace consecutive groups of zeros with “::” – 2a01:4f9:c011:82fd::1
  • 12. IPv6 address structure ● The 128 bit number of an IPv6 address is divided in two parts – Leftmost 64 bits determine the network – Rightmost 64 bits determine the host (i.e not used for routing) Network identifier Host identifier 0 63 64 127
  • 13. Enough addresses anyway 1018 here 1018 here also 1036 in total 1036 in total 1024 grains of sand in Sahara 1011 stars in the Milky Way 1011 galaxies in the Universe 1022 stars in the Universe 1014 /48 subnets 1010 people on the Earth 106 camels in Sahara
  • 14. What does /48, /64 etc. mean? ● It’s a way of describing a subnet ● Some examples – 2001:67c:21e0:1/64 – a single subnet that can contain up to ~1018 hosts – 2001:67c:21e0/48 – can be split into 65536 subnets, each able to contain up to ~1018 hosts ● An ISP or cloud hoster will typically give you a /64 subnet for yourself even if you have just a single host (if not: complain)
  • 15. Extra IPv6 addresses ● Link local – fe80::/10: Can talk IPv6 with other hosts on the same WLAN or Ethernet segment – Bits 10-63 can be anything (but typically 0) – Host part comes from MAC address ● Anycast – Address with host part in the range ffff:ffff:ffff:ff80-ffff:ffff:ffff:ffff – “inverted multicast”
  • 16. Getting an IPv6 address with SLAAC ● SLAAC: StateLess Address AutoConfiguration ● Uses the network address found in an ICMPv6 RA (router advertisement) and adds its MAC address (NIC hardware address) as the host part ● No DHCP needed ● Downside: no DNS configuration ● Note: RA packages is part of the Neighbor Discovery Protocol (NDP) Router The internet Host 2001:67c:21e0:2::1 2001:67c:21e0:2:fa32:e4ff:fe9b:ba4b 2001:67c:21e0:1::1 Internet Control Message Protocol
  • 17. Getting DNS ● Stateless DHCPv6 – Use SLAAC to get the IP address – Use DHCPv6 to get DNS, NTP, etc. – Common IPv6 setup ● Stateful DHCPv6 – Like DHCP for IPv4, get IP address, DNS etc from DHCP server Dynamic Host Configuration Protocol Domain Name Service Network Time Protocol
  • 18. IPv6 mobility ● Keep your IPv6 address when moving about the internet ● Requires a home agent (HA) in home network and foreign agent (FA) in visiting network ● FA assigns care-of address in the visited network ● Either tunneling via home agent (HA) to care-of or route directly to care-of
  • 19. Programming for IPv6 ● If you’re using Java, you’re in luck! Java already handles this transparently (exception: if your program actually works with IPv4 addresses) ● C and C++ on POSIX systems: you need to change library from AF_INET to AF_INET6 (but AF_INET6 also supports IPv4) ● Python, PHP, perl etc. need to change wrapper library from the AF_INET wrapper to the AF_INET6 wrapper
  • 20. Downsides to IPv6 ● All IPv6 hosts are globally visible, no longer “hidden” behind a NAT router ● Always keeping the same address makes you easier to track
  • 21. Some IPv6 pitfalls ● If your ISP/cloud hoster assign the same /64 address to more than one customer, you can be blamed for someone else’s sin ● When adding IPv6 connectivity, make sure your firewall handles IPv6 ● My computer has an IPv6 address starting with fe80, why can’t I reach resources on the internet? ● “can’t ping foo.com!”, try “ping -4 foo.com”
  • 22. Questions? ● That’s all folks! ● Questions? No time here, but look me up after ● Slides at – https://www.slideshare.net/SteinarBang/javazone-2023-lyntalepdf ● Mastodon: @steinarb@mastodon.social ● Pixelfed: @steinarb@pixelfed.social ● Email: steinar.bang@soprasteria.com ● TwitteX: @steinarba