My question in this post concerns streaming devices and IPv6: What have you heard about streaming appliances (such as Roku) and "Smart TVs" implementing IPv6, now that available IPv4 addresses are within two weeks of completely running out
Background for question:
Maybe it is because of my background of having worked in the Information Technology department of a community college for three decades before I retired, but I have been keeping an eye on ARIN's dwindling IPv4 inventory
and the up-tick on the United States of America increase in availability of IPv6 (as reflected by requests being IPv6 to Google services
As of this writing, 21.46% of United States of America users making requests to Google (Search, gmail, YouTube, etc.) do so using IPv6, so about 4/5ths of the users are still using IPv4 only. On the other hand, ARIN (supplying IP addresses to United States, Canada, and many Caribbean and North Atlantic islands) is running low on IPv4 addresses, as of this post having only 245 256-address blocks to hand out, and a 256-address block is way too small for an ISP or a large company to effectively use, and even those are expected to run out in about two weeks. That means that, as the Internet continues to grow, IPv4 addresses will become more valuable (the old marketing law of supply and demand).
That means more and more residential customers, most of whom don't advertise an IP address, will have their IPv4 addresses end up behind "Carrier Grade NAT" (CGN) (a.k.a., "Large Scale NAT" (LSN)). (Public servers, such as public web sites and the content delivery networks that provide streaming services for Netflix, etc., have to have their own unique IP addresses and, except for smaller hosted sites, cannot be shared.) Most homes with 2 or more Internet-connected devices use NAT for IPv4 devices, so the addition of CGN means double-NATting.
NAT takes the local area network side of addresses and ports and maps them to one public IP address and multiple ports on the Internet side. For one's residence, that might not matter since a computer may kick off multiple IP sessions, each on a different port, and the NAT in the router will map those to one IP address on different ports, there being 65536 ports that can be used. If a computer is using, say, 15 ports for a web browser session, another for automatic updates of some piece of software, and a streaming box is using four streams (downloading video, downloading sound, downloading a thumbnail picture file for FF/RW through the stream, and uploading position information), that doesn't make much of a dent on the 65536 possible ports. Add a couple more computers and Smart TVs, and still no big deal.
But get several hundred such customers aggregated behind a CGN and the NAT table for CGN would have to be quite large and one would have to limit the number of sessions each customer can use or one would exhaust those 65536 ports for the one Internet-side public IP address they are sharing. So with CGN one faces potential performance issues with the large mapping table between customers and the Internet, and the limit of sessions. While this generally isn't much of an issue with general web browsing, three classes of applications can be greatly affected by CGN: streaming quality video streams (and thus my question), gaming, and real-time video calls (e.g., skype). Remember: each packet going from the streaming service would require a lookup at the CGN to see which customer IP : port to send the packet to, and then the customer's router would repeat the lookup to see which private IP : port to send the packet to. With a typical MTU of 1,500 bytes, there are lots of packets that have to be remapped/routed if watching a HD stream.
On the other hand, IPv6 greatly expands the address space to the point where even us lowly residential customers are given a block of 18,446,744,073,709,551,616 addresses (2^64), and that without having to go through NAT at any level.
Over time, as more and more customers find themselves sharing the same IPv4 address behind a CGN, performance issues are likely to get worse. In the meanwhile, those who do have IPv6 will find that their IPv6 devices won't experience the CGN slowdowns that will cause picture degradation or stutters.
While the uptick of IPv6 availability has been rather slow, I expect to see this accelerating in the next few years, and I don't want to pay good money for a device that won't function satisfactorily in a few years just because the manufacturer ignored the IPv4 Exhaustion.
Yet, today, one normally doesn't find any mention of IPv6 on the packaging of streaming devices.