Why do all hobby OS's use IPv4 instead of IPv6?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
obiwac
Member
Member
Posts: 149
Joined: Fri Jan 27, 2017 12:15 pm
Libera.chat IRC: obiwac
Location: Belgium

Why do all hobby OS's use IPv4 instead of IPv6?

Post 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!
StudlyCaps
Member
Member
Posts: 232
Joined: Mon Jul 25, 2016 6:54 pm
Location: Adelaide, Australia

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
Learn to read.
Korona
Member
Member
Posts: 1000
Joined: Thu May 17, 2007 1:27 pm
Contact:

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post by dozniak »

I know what ipv6 is and how well it is supported, thanks.
Learn to read.
User avatar
obiwac
Member
Member
Posts: 149
Joined: Fri Jan 27, 2017 12:15 pm
Libera.chat IRC: obiwac
Location: Belgium

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post by obiwac »

Okay thanks!
User avatar
Sik
Member
Member
Posts: 251
Joined: Wed Aug 17, 2016 4:55 am

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
User avatar
JAAman
Member
Member
Posts: 879
Joined: Wed Oct 27, 2004 11:00 pm
Location: WA

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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
mallard
Member
Member
Posts: 280
Joined: Tue May 13, 2014 3:02 am
Location: Private, UK

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
Image
User avatar
JAAman
Member
Member
Posts: 879
Joined: Wed Oct 27, 2004 11:00 pm
Location: WA

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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)
User avatar
Sik
Member
Member
Posts: 251
Joined: Wed Aug 17, 2016 4:55 am

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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).
User avatar
JAAman
Member
Member
Posts: 879
Joined: Wed Oct 27, 2004 11:00 pm
Location: WA

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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
Korona
Member
Member
Posts: 1000
Joined: Thu May 17, 2007 1:27 pm
Contact:

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].
User avatar
obiwac
Member
Member
Posts: 149
Joined: Fri Jan 27, 2017 12:15 pm
Libera.chat IRC: obiwac
Location: Belgium

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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...
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Why do all hobby OS's use IPv4 instead of IPv6?

Post 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.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Post Reply