Ipv6 Vrs ipv4

CompConfig

Active Member
Reaction score
83
Location
New York City
As with most of us who have been doing this for many years I know several very knowledgeable computer people. Most of the time there is a general agreement as far as result but differences as to procedures.

4 of us were talking about IPV4 Vrs IPV6 2 of us maintain the speed and reliability is better when IPV6 is on and 2 of us were arguing that the overall network performance was better with IPV6 turned off. So I decided to throw it out here too see if there is a clear consensus one way or another.
 
To be honest I doubt anyone can properly answer that question since IPV6 has not been universally implemented. So you may have connections that are not IPV6 end to end. And, as we all know, the bottlenecks are usually somewhere outside of our control. I do know that Comcast, with newer modems, reports IPV6 addresses when you do a whatismyip. I've not yet tried to use that in, say, a situation like VPN. Meaning configuring the VPN client to look for a IPV6 address.
 
I leave IP6 on in all of networks I setup and they work done and I run a network speed test utility when I set them up or if there seems to be any slow down. When you ping, let's say server it returns the IP6 address.
 
That's interesting - re:return address. What are you pinging? The FQDN or the IPV6? I usually turn off IPV6 on M$ machines. On my Retina, OS X, I have IPV6 set to configure automatically. Not really sure how that works in OS X. But I have never had a ping to a FQDN return a IPV6 on my Retina. I'll have to explore that more.
 
I am pinging by computer name ping server, ping reception. I just have questions now as far as best practice for network setups. I have tried it both ways without any ascertainable difference in network speed on networks up to 25 computers.
 
I always leave it on...more and more network services rely on it.. Remove it..and you'll go try to setup something.....find it fails on you...then spend time troubleshooting..only to find out later (after wasting time) that it needs IPv6 under the hood. Likely will cause more issues for you, and really.....gain nothing.

Technically, going by mathmatics, IPv6 is something else the computer has to load, and the packets are a tiny bit longer. But unless you have a 50MHz 486 class computer....it can't actually be something measurable, even to a single millisecond.
 
Disabling IPv6 will NOT take care of a speed problem. Quite frankly the IPv6 stack is every bit as stable and robust as the IPv4 stack, so if you are having difficulties with speed, you need to look elsewhere.

Disabling IPv6 will likely create internal issues with Windows > XP because by default some network services talk to on another by IPv6 (though most should fall-back). Try to ping ::1 for example, which is the IPv6 equivalent of 127.0.0.1...


Yes, the packets have 128-bit addresses instead of 23-bit addresses, but that means nothing when it comes to switching and routing. What does matter is they offset the fragmentation from the routers to the end-devices, and they got rid of the checksum leaving it to other protocols like TCP to ensure end-to-end, error-free, connection-oriented communication. There is also no more broadcasts (only directed multicasts using link-local), you can build an IP via EUI and autoconfiguration that no longer provides a meaningless 169.254.x.x, but an actual, usable/unique IP on the subnet for once, etc. There is Neighbor Discovery Protocol instead of Address Resolution Protocol, and Gateway Discovery Protocol, which uses Link-Local IP directed multicasts for a router to announce its own gateway(s).

Honestly, the whole setup is just plain better. The only thing that stinks is addresses are not very humanly readable. For example this is Technibble: 2600:3c03::f03c:91ff:fe84:80fe as is this 104.237.145.33...

The latter you could memorize pretty easily. The first one you also need to remember the location of the :: because it really means :
2600:3c03::f03c:91ff:fe84:80fe == 2600:3c03:0000:0000:f03c:91ff:fe84:80fe

As you can see, DNS becomes much more critical with its AAAA records.
 
I mostly turn it off. The ISPs in my neck of the woods are not implementing it for the most part so you can't really make use of it. And not all devices are supporting it correctly. I had to turn it off the other day at a client to get a credit card reader to attach to the POS software running on the Windows 7 system.
 
I wish you guys could please quit turning it off. It makes jobs like mine hard when I whole network upgrades enabling IPv6 and now have random computers that do not work on it.

This is part of the reason deployment is so low... that many ISPs (particularly) turn it off, network admins who don't want to learn about it, computer people who turn it off, etc.

IMO, Windows Vista and Later = Leave it On as it is by default. On XP, don't bother turning it on even though it is supported if you enable it; instead, phase out this version of Windows.
 
Interesting! Thank you all for your replies. I have done a lot more reading both from here and other resources to gain a much better understanding of what is going on under the hood. The short version is that the majority (but still not all) of experts say to leave it on as it is marginally better now and will be exponentially better as time goes by and it is supported better. Unless it causes specific trouble with your particular network.
 
I always leave it on. I have had those few situations where disabling IPV6 made a network issue go away, but that is usually just one step in troubleshooting the REAL problem.
 
I always leave it on. I have had those few situations where disabling IPV6 made a network issue go away, but that is usually just one step in troubleshooting the REAL problem.
Same here.

I used to turn it off in older XP/Server 2003 environments, because of various issues (which were generally due to early/bad implementations of IPv6), but I never turn it off now.
 
Honestly never even bother to look at it, on or off. I have had to to disable IPv6 on a server once, per a software company's request (which of course didn't fix anything), but that's the only time I've ever touched it.
I am a firm believer that a small network (less than 100 nodes) IPv4 is way better, simply because of the human readability. Anything above 100 nodes or requiring multiple subnets, isn't overly human-memorizable anyway, and DNS will definitely be implemented perfectly with fail-over, so IPv6 is fine, although IPv4 is still very serviceable. ISP's should exclusively use IPv6 and leave the IPv4 addresses to internal networks.
 
Honestly never even bother to look at it, on or off. I have had to to disable IPv6 on a server once, per a software company's request (which of course didn't fix anything), but that's the only time I've ever touched it.
I am a firm believer that a small network (less than 100 nodes) IPv4 is way better, simply because of the human readability. Anything above 100 nodes or requiring multiple subnets, isn't overly human-memorizable anyway, and DNS will definitely be implemented perfectly with fail-over, so IPv6 is fine, although IPv4 is still very serviceable. ISP's should exclusively use IPv6 and leave the IPv4 addresses to internal networks.


It is not as straight forward as you describe it. You are right to leave it on except by explicit request..

While no doubt IPv4 is way more humanly readable most times, it is not necessarily better for actual connectivity needs. There are a TON of patches if you will to IPv6, which makes it vastly more robust, reliable, and addresses the shortfalls of IPv4. DNS will generally be implemented on most networks regardless of which IP types they use.

What is not so true is your statements that ISPs should exclusively use IPv6 and leave IPv4 for private, internal networks. Both IPv6 and IPv4 are an entirely different protocol stack; there is no cross-compatibility. They are as incompatible from one another as they are with Novell's IPX/SPX... Don't get me wrong, you could tunnel one through the other, but that's a different discussion. If ISPs ran IPv6 exclusively, you would have access to 20% of the Internet at most... As for IPv4 being left for private networks, you could not just hand them all over unless you yanked them back from their owners... taking down the Internet. Now keep in mind the IPv4 addresses are owned in various CIDR blocks (look at Robtex). These ARE for all intents and purposes and privately owned, public-routable addresses assigned to actual computers/servers etc on mostly privately owned networks. They then use these addresses privately or publicly at their discretion. It literally simply up to them if they choose to route those addresses to the outside world and allow incoming requests through their firewall.

Now, typically, due to the depletion of IPv4 addresses, most organizations do not have a huge CIDR block and use their publicly routable IP addresses internally except likely in their DMZ or public-facing web cluster; since, this would essentially waste them to use them Internally, but that was what people originally did when the Internet is built. Now, most people do is separate their publicly routable and private IP address subnets for security reasons as well as reserving them. Often times they will then NAT their private IPs to various Publicly-Rubable IPs to the Internet.

Current Private IP space anybody can use:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

The first one by Default should have a Class A subnet mask, the second should be assigned a Class B subnet mask, and the third group should be assigned a Class C. For example, with 192.168.0.0, you would use a /24 for a class C. If you really used a /16 that would be supernetting not subnetting, and it is typically used for routing tables.
 
It is not as straight forward as you describe it. You are right to leave it on except by explicit request..

While no doubt IPv4 is way more humanly readable most times, it is not necessarily better for actual connectivity needs. There are a TON of patches if you will to IPv6, which makes it vastly more robust, reliable, and addresses the shortfalls of IPv4. DNS will generally be implemented on most networks regardless of which IP types they use.

What is not so true is your statements that ISPs should exclusively use IPv6 and leave IPv4 for private, internal networks. Both IPv6 and IPv4 are an entirely different protocol stack; there is no cross-compatibility. They are as incompatible from one another as they are with Novell's IPX/SPX... Don't get me wrong, you could tunnel one through the other, but that's a different discussion. If ISPs ran IPv6 exclusively, you would have access to 20% of the Internet at most... As for IPv4 being left for private networks, you could not just hand them all over unless you yanked them back from their owners... taking down the Internet. Now keep in mind the IPv4 addresses are owned in various CIDR blocks (look at Robtex). These ARE for all intents and purposes and privately owned, public-routable addresses assigned to actual computers/servers etc on mostly privately owned networks. They then use these addresses privately or publicly at their discretion. It literally simply up to them if they choose to route those addresses to the outside world and allow incoming requests through their firewall.

Now, typically, due to the depletion of IPv4 addresses, most organizations do not have a huge CIDR block and use their publicly routable IP addresses internally except likely in their DMZ or public-facing web cluster; since, this would essentially waste them to use them Internally, but that was what people originally did when the Internet is built. Now, most people do is separate their publicly routable and private IP address subnets for security reasons as well as reserving them. Often times they will then NAT their private IPs to various Publicly-Rubable IPs to the Internet.

Current Private IP space anybody can use:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

The first one by Default should have a Class A subnet mask, the second should be assigned a Class B subnet mask, and the third group should be assigned a Class C. For example, with 192.168.0.0, you would use a /24 for a class C. If you really used a /16 that would be supernetting not subnetting, and it is typically used for routing tables.

Great info, and good explanation. I know all that, was making broad generalizations.... will refrain in the future...
 
Back
Top