RIPE 80 IPv6 wg session Wilhelms DSL broke, some unanswered questions
Hello All, Thank you all for watching the IPv6 WG virtually, at the latest minutes of Wilhelms presentation Q&A his dsl connection unfortunately went down, there were still some questions in the buffer, could you Wilhelm comment yet on these ? Any tips to get app developers on board to develop IPv6 enabled apps? It's not uncommon for companies to exclude IPv6 from minimum viable product as its "too hard" Could disabling SLAAC and better DHCPv6 support (eg in mobile devices) help the deployment? It would help with some migrations from IPv4 to IPv6 I think. (Mark Scholten / asking for myself) Rgds, Ray For Internal Use Only
Hi folks, my DSL line broke, and it is still offline :-( Thanks for listening and asking quesions. I try to answer the questions below. App Developers try to avoid IPv6, I know. We cannot force them to use IPv6. But we have to force them to use libraries that work with IPv6 and IPv4, not some old stuff useing IPv4 only. Then there is golden rule: no IP addresses in code or config files, use names I they at least stay to this, there is hope. You can then enable IPv6 later without recoding the app. SLAAC and DHCPv6 SLAAC (the RA) triggers DHCP, we need both. DHCPv6 is the excuse to stay in the old IPv4 network design. Large L2 networks (broadcast and failure domain) with VRRP (HSRP) and Dualstack. I would rather try to get rid of DHCPv6. I think we will have no DHCPv6 on Android (you refer that, don`t you) in the near future, so we have to use SLAAC to get IPv6 addresses to those devices. And don't forget, there is no default route in DHCPv6. Best, Wilhelm Am 14.05.2020 um 13:58 schrieb Jetten Raymond:
Hello All,
Thank you all for watching the IPv6 WG virtually,
at the latest minutes of Wilhelms presentation Q&A his dsl connection unfortunately went down,
there were still some questions in the buffer, could you Wilhelm comment yet on these ?
Any tips to get app developers on board to develop IPv6 enabled apps? It’s not uncommon for companies to exclude IPv6 from minimum viable product as its “too hard”
Could disabling SLAAC and better DHCPv6 support (eg in mobile devices) help the deployment? It would help with some migrations from IPv4 to IPv6 I think. (Mark Scholten / asking for myself)
Rgds,
Ray
For Internal Use Only
Hi all, as a developer I can say with some confidence, that a big hurdle is to use hostname instead of IPs, it's way simpler to use IP during development than to use hostname where you have to configure DNS record to do so. And this has the underlying problem in large development setups where the single developer or the single developer group can not (due to internal rules) simply change / configure DNS records. Re, Uros On Thu, May 14, 2020 at 2:37 PM Wilhelm Boeddinghaus <wilhelm@boeddinghaus.de> wrote:
Hi folks,
my DSL line broke, and it is still offline :-(
Thanks for listening and asking quesions.
I try to answer the questions below.
App Developers try to avoid IPv6, I know. We cannot force them to use IPv6. But we have to force them to use libraries that work with IPv6 and IPv4, not some old stuff useing IPv4 only. Then there is golden rule: no IP addresses in code or config files, use names
I they at least stay to this, there is hope. You can then enable IPv6 later without recoding the app.
SLAAC and DHCPv6
SLAAC (the RA) triggers DHCP, we need both. DHCPv6 is the excuse to stay in the old IPv4 network design. Large L2 networks (broadcast and failure domain) with VRRP (HSRP) and Dualstack. I would rather try to get rid of DHCPv6.
I think we will have no DHCPv6 on Android (you refer that, don`t you) in the near future, so we have to use SLAAC to get IPv6 addresses to those devices. And don't forget, there is no default route in DHCPv6.
Best,
Wilhelm
Am 14.05.2020 um 13:58 schrieb Jetten Raymond:
Hello All,
Thank you all for watching the IPv6 WG virtually,
at the latest minutes of Wilhelms presentation Q&A his dsl connection unfortunately went down,
there were still some questions in the buffer, could you Wilhelm comment yet on these ?
Any tips to get app developers on board to develop IPv6 enabled apps? It’s not uncommon for companies to exclude IPv6 from minimum viable product as its “too hard”
Could disabling SLAAC and better DHCPv6 support (eg in mobile devices) help the deployment? It would help with some migrations from IPv4 to IPv6 I think. (Mark Scholten / asking for myself)
Rgds,
Ray
For Internal Use Only
as a developer I can say with some confidence, that a big hurdle is to use hostname instead of IPs, it's way simpler to use IP during development than to use hostname where you have to configure DNS record to do so. What happened to /etc/hosts files? And this has the underlying problem in large development setups where the single developer or the single developer group can not (due to internal rules) simply change / configure DNS records. Re, Uros On Thu, May 14, 2020 at 2:37 PM Wilhelm Boeddinghaus <wilhelm@boeddinghaus.de> wrote:
Hi folks,
my DSL line broke, and it is still offline :-(
Thanks for listening and asking quesions.
I try to answer the questions below.
App Developers try to avoid IPv6, I know. We cannot force them to use
IPv6. But we have to force them to use libraries that work with IPv6 and IPv4, not some old stuff useing IPv4 only. Then there is golden rule: no IP addresses in code or config files, use names
I they at least stay to this, there is hope. You can then enable IPv6
later without recoding the app.
SLAAC and DHCPv6
SLAAC (the RA) triggers DHCP, we need both. DHCPv6 is the excuse to stay
in the old IPv4 network design. Large L2 networks (broadcast and failure domain) with VRRP (HSRP) and Dualstack. I would rather try to get rid of DHCPv6.
I think we will have no DHCPv6 on Android (you refer that, don`t you) in
the near future, so we have to use SLAAC to get IPv6 addresses to those devices. And don't forget, there is no default route in DHCPv6.
Best,
Wilhelm
Am 14.05.2020 um 13:58 schrieb Jetten Raymond:
Hello All,
Thank you all for watching the IPv6 WG virtually,
at the latest minutes of Wilhelms presentation Q&A his dsl connection
unfortunately went down,
there were still some questions in the buffer, could you Wilhelm comment
yet on these ?
Any tips to get app developers on board to develop IPv6 enabled apps?
It’s not uncommon for companies to exclude IPv6 from minimum viable product as its “too hard”
Could disabling SLAAC and better DHCPv6 support (eg in mobile devices)
help the deployment? It would help with some migrations from IPv4 to IPv6 I think. (Mark Scholten / asking for myself)
Rgds,
Ray
For Internal Use Only
Ivan Pepelnjak <ipepelnjak@gmail.com> writes:
What happened to /etc/hosts files?
The source of all evil. Or on the other hand: A good way to earn money. I wrote an invoice for looking into /etc/hosts once.
And this has the underlying problem in large development setups where the single developer or the single developer group can not (due to internal rules) simply change / configure DNS records.
Ack. Same with other stuff like monitoring and co. IT claims to be agile but the proper infrastructure and processes are not in place. Hard to do any innovation like implementing IPv6 in these environments. And as an addition to Wilhelm presentation: People have to learn that IPv6 is not (only) a networking topic but must involve all of IT. Jens -- ---------------------------------------------------------------------------- | Delbrueckstr. 41 | 12051 Berlin, Germany | +49-151-18721264 | | http://blog.quux.de | jabber: jenslink@quux.de | --------------- | ----------------------------------------------------------------------------
Uros Gaber <uros@ub330.net> writes:
Hi all,
as a developer I can say with some confidence, that a big hurdle is to use hostname instead of IPs, it's way simpler to use IP during development than to use hostname where you have to configure DNS record to do so.
<troll> and DNS always breaks and is way to complicated and it's done by another team and we don't talk to them and creating tickets takes way to much time. ;-) </troll> I'm not a software developer but here are some things I noticed besides hard coded IPs: - wrong/old library functions which only supports IPv4 - regex or any other thing to detect a valid IP address (e.g. a valid IP address has only numbers and) - fields in database that are to small - lack of a proper test environment / proper tests Jens -- ---------------------------------------------------------------------------- | Delbrueckstr. 41 | 12051 Berlin, Germany | +49-151-18721264 | | http://blog.quux.de | jabber: jenslink@quux.de | --------------- | ----------------------------------------------------------------------------
Hi, On Thu, May 14, 2020 at 05:09:30PM +0200, Jens Link wrote:
<troll> and DNS always breaks and is way to complicated and it's done by another team and we don't talk to them and creating tickets takes way to much time. ;-) </troll>
Programming is generally totally too hard. So we need better toolkits which can make nice programs by just clicking and tapping! IOW, programmers who write networking applications need to understand the basics of networking, and using "DNS" and "protocol agnostic APIs" is definitely part of that. gert -- have you enabled IPv6 on something today...? SpaceNet AG Vorstand: Sebastian v. Bomhard, Michael Emmer Joseph-Dollinger-Bogen 14 Aufsichtsratsvors.: A. Grundner-Culemann D-80807 Muenchen HRB: 136055 (AG Muenchen) Tel: +49 (0)89/32356-444 USt-IdNr.: DE813185279
App Developers try to avoid IPv6, I know. We cannot force them to use IPv6. But we have to force them to use libraries that work with IPv6 and IPv4, not some old stuff useing IPv4 only. Then there is golden rule: no IP addresses in code or config files, use names
My experience is that for simple applications, if you avoid hardcoding addresses then using just address family agnostic library calls (getnameinfo and getaddrinfo) should result in something that support s both IPv4 and IPv6. Note that getnameinfo and getaddrinfo can do a lot of stuff if you pass the right flags. Obviously in languages other than C that only works if equivalent functions are available. However, for logging it is common to log <addr>:<port>. Obviously if <addr> is an IPv6 address then you get something that is hard to parse later. IPv6 addresses are logged as [<ipv6-addr>]:<port>. Typically you want -4 and -6 switches. Though you can work around that in DNS. Many applications have some kinds of ACLs or interface configuration. Again parsing <addr>:<port> doesn't work in IPv6. It gets more tricky when an IPv6 socket can receive both IPv4 and IPv6 connections or packets. In that case you may end up with IPv4-mapped addresses (::ffff:<ipv4-address>). Note that the presentation format has dots. A bonus from IPv6, you can bind to ::%<interface-name> to specify a specific interface to use.
Hi wg, On 14.05.20 14:36, Wilhelm Boeddinghaus wrote:
I they at least stay to this, there is hope. You can then enable IPv6 later without recoding the app.
I just want to through also 2 cents: Dragons will be everywhere! To be more precise; now "the developer" has to make sure HOW the resolving is handled. By no means I'm a programmer but as an sys-/net-admin I have encountered several situations where "applications" or software in general resolve i.e. a name only once, and just stays with the answer for the whole runtime. Bad example: Defaults of JRE 7 to 9 IIRC / Or software written in java provides/sets defaults for the JRE used. An other related aspect: the software or library makes this configurable but the user/programmer is not aware of it, or its implications. Again Java; in early documents this was even considered a security risk to re-resolve a name. (No comment on that part from my side...) Or doing regular resolve had a chance to perform internal (D)DoS. (No kidding!) Also, the resolve can be implemented in so many ways and so many times many things just get ignored... like: honer the TTL; or what if the answer contains more then one entry, is v4 over v6 preferred? or the other way, .... What I want to say: Sadly its not that simple to just uses names. Devs need guidance here, and explanation from people who know a fair bit of how dns works to get the application behave properly. Also dev and ops have to do proper testing of the functionality of course, too. TL;DR; Sadly we could extent Wilhelms talk by even more "reasons" why adoption especially in enterprises is sometimes, lets call it, difficult. BUT, thanks for you talk Wilhelm! Best, Bernd
participants (8)
-
Bernd Naumann
-
Gert Doering
-
Ivan Pepelnjak
-
Jens Link
-
Jetten Raymond
-
Philip Homburg
-
Uros Gaber
-
Wilhelm Boeddinghaus