Page 1 of 2
Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Wed Apr 12, 2017 2:21 pm
by obiwac
Why do all hobby OS's use IPv4 instead of IPv6? Is there any practical information / documentation for implementing IPv6? I am pretty new with the networking part of OS development, so I don't know too much about this ( = I don't know anything).
Thanks in advance!
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Wed Apr 12, 2017 6:27 pm
by StudlyCaps
The RFCs for IPv6 are easily available and it probably wouldn't be much different from IPv4 from the OS dev point of view. The real differences as far as I can tell are in the routing infrastructure rather than the endpoint.
I would assume the reason hobbyists often don't use it is that it's a new feature that doesn't really increase your functionality so it's easy to put off. IPv4 is enough in 99.9% of cases, so IPv6 is a lot of work for the remaining 0.1%. Also, you can't just use IPv6, you need IPv4 anyway as there is so much outdated network gear out there and so many lazy applications that choke on v6 addresses.
Actually someone who knows more could contradict me, but I don't think there are any circumstances where IPv6 is necessary.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 1:41 am
by dozniak
Because ipv6 is still not usable/not useful in the most circumstances.
There's no point implementing a not usable/not useful communication protocol if you will not be able to communicate with anyone by using it.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 3:34 am
by Korona
IPv6 requires a bit more infrastructure (e.g. SLAAC or DHCP instead of DHCP only) on the endpoint. However it is not much more complex than IPv4; in some regards it is simpler and more straight forward. The main reason that hobby do not implement it is, well, the same reason why most hobby OS do not have 3D acceleration: It requires additional effort that developers seem to spend on other issues.
dozniak wrote:There's no point implementing a not usable/not useful communication protocol if you will not be able to communicate with anyone by using it.
IPv6 is pretty well supported on most "big" sites. There are carriers that do not allocate dedicated IPv4 addresses to their customers today and instead employ carrier-grade NAT. Google serves
14% of all customers via IPv6. IPv6 has very real advantages: For example it allows you to allocate an own IP address to each of your local computers and does not force you to rely on port-forward to make services accessible to peers.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 5:18 am
by dozniak
I know what ipv6 is and how well it is supported, thanks.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 8:40 am
by obiwac
Okay thanks!
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 9:30 am
by Sik
Korona wrote:The main reason that hobby do not implement it is, well, the same reason why most hobby OS do not have 3D acceleration: It requires additional effort that developers seem to spend on other issues.
Modern 3D hardware acceleration has nearly no documentation available which I think is a much bigger issue =P
But:
Korona wrote:There are carriers that do not allocate dedicated IPv4 addresses to their customers today and instead employ carrier-grade NAT.
This is the big problem, a lot of ISPs decided that NATs were a better solution than IPv6 (not to mention it makes it harder for people to set up their own servers without requesting special service from the ISP who will promptly charge them more). At this rate it looks like a protocol accounting for NATs (especially having address + sub-address) would have fared better than IPv6. In any case, the former doesn't exist and the latter has shoddy support for most uses right now =/
And yeah I'm behind one of those ISPs that only support IPv4 and also control the firmware of the router and modem (you can't even access the settings, they control it - which also means you can't use your own hardware). Ugh.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 9:53 am
by JAAman
Sik wrote:
Modern 3D hardware acceleration has nearly no documentation available which I think is a much bigger issue =P
wrong...
most modern 3D hardware acceleration is fully and completely documented
I think what you meant to say is that it is not in our wiki... which is unfortunately true
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 10:03 am
by mallard
JAAman wrote:
most modern 3D hardware acceleration is fully and completely documented
NVidia GPUs are not publically documented. Intel does not provide documentation, but they do provide an Open-Source driver which can be used as reference. Only AMD (of the "big 3" at least) provides full public documentation for their recent GPUs.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 10:39 am
by JAAman
mallard wrote:JAAman wrote:
most modern 3D hardware acceleration is fully and completely documented
NVidia GPUs are not publically documented.
yes, the ~3% of systems using nVidia are not documented
Intel does not provide documentation
wrong... they do provide full and complete documentation -- and it is surprisingly easy to read and understand (for your reference, the documentation can be found here:
https://01.org/linuxgraphics/documentat ... ation-prms)
Intel graphics are used on about 90% of systems sold in the last 10 years (and even more have Intel alongside another card)
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 10:52 am
by Sik
mallard wrote:Intel does not provide documentation, but they do provide an Open-Source driver which can be used as reference. Only AMD (of the "big 3" at least) provides full public documentation for their recent GPUs.
I was under the impression it was the other way (though honestly I'm not up to date on this stuff).
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 10:57 am
by JAAman
Sik wrote:mallard wrote:Intel does not provide documentation, but they do provide an Open-Source driver which can be used as reference. Only AMD (of the "big 3" at least) provides full public documentation for their recent GPUs.
I was under the impression it was the other way (though honestly I'm not up to date on this stuff).
it is neither...
nVidia is the
only one of the "big 3" whose documentation is
not open
actually, Intel's documentation has always been open (somewhat, but they haven't always been worth using...) while AMD/ATI documentation was not open until recently
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 10:58 am
by Korona
There is both documentation and a open source driver for Intel graphics chips (shameless self-promotion: Check out our Wiki article on Intel graphics). The only major desktop graphics vendor that does not provide documentation is Nvidia.
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 11:10 am
by obiwac
Well then how do the major OSes (eg. Linux, Windows) make 3D acceleration drivers for nVidia graphics cards? I'm assuming that nVidia makes the drivers for them...
Re: Why do all hobby OS's use IPv4 instead of IPv6?
Posted: Thu Apr 13, 2017 11:37 am
by onlyonemac
JAAman wrote:Intel graphics are used on about 90% of systems sold in the last 10 years (and even more have Intel alongside another card)
I'd be interested in seeing a citation for that statistic. Pretty much all motherboards include Intel graphics built into them (I believe the Intel CPU contains part of the graphics subsystem as well), but a lot of systems, particularly those aimed at the high-end/gaming markets, still have separate graphics cards. Systems that are sold with separate graphics cards would still have Intel graphics in them as you pretty much can't find a motherboard/CPU combination that
doesn't have Intel graphics (unless you use AMD, in which case you'll get integrated AMD graphics) but the graphics card takes precedence and chances are the Intel graphics are never used in such systems.
obiwac wrote:Well then how do the major OSes (eg. Linux, Windows) make 3D acceleration drivers for nVidia graphics cards? I'm assuming that nVidia makes the drivers for them...
Yes, nVidia make the drivers (just like most other hardware manufacturers make the drivers for their products themselves). Because nVidia's drivers are proprietary, the success with which they can be used on Linux varies considerably, and most Linux users avoid nVidia graphics cards.