1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Hey Guest, is it this your first time on the forums?

    Visit the Beginner's Box

    Introduce yourself, read some of the ins and outs of the community, access to useful links and information.

    Dismiss Notice

Dev Blog A brief discussion about IPv6

Discussion in 'Announcements' started by FliesLikeABrick, May 24, 2012.

  1. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    Firstly, King Arthur's Gold will be participating in the World IPv6 Launch on June 6th, in that we have every site/server for King Arthur's Gold IPv6-enabled.
    [​IMG]
    The World IPv6 Launch is a joint effort by content providers, Internet Service Providers, and hardware vendors to make appreciable progress in deploying IPv6. It is a follow-up of sorts to last year's World IPv6 Day, where many content providers ran tests with the public for 24 hours to see if there were any unforeseen problems and to gauge the impact of advertising IPv6 availability on their sites. As was hoped, it was a non-event, as was Facebook recently enabling IPv6 on their site permanently.
    I urge you all to call your ISPs and e-mail your favorite sites' support asking what their plans are to support IPv6. IPv4 exhaustion is continuing to push forward the deployment of NAT at large scales, which will come at a cost to gamers and other applications which frequently rely on port forwarding. As the quality of IPv4 connectivity degrades over time, IPv6 will increasingly prevail as the higher quality means for two endpoints to talk to each other.
    Beyond that, I have been working carefully to make the new server registration/list components of the KAG API compatible with IPv4 and IPv6, and respecting server owners' preferences for whether IPv6 is preferred by clients (assuming the client and server both have IPv6 connectivity). The game netcode itself does not support IPv6 yet because the underlying library we use does not support it, however a medium-to-long term goal of mine is to extend it to support IPv6 or replace our netcode with something else. Here is a basic overview of the logic that is being built in currently:
    1. The server owner enters into their configuration whether IPv6 should be enabled (default on), whether IPv6 or IPv4 should be preferred by clients (default to 'whichever performs better, or IPv6 if they're pretty much the same'), and what IPv6 address to bind to (defaults to auto-selecting one)
    2. The server registers with the API. If the preference configuration is 0 (select the better performing protocol or IPv6 if they're the close) or 6 (prefer IPv6 absolutely), the server registers with IPv6 as its main identifying address in the server list. If the server is IPv4 only or the preference is set to 4, the server registers with its IPv4 address as its identifier
    3. Some other steps go on to allow the server to list its other address, if it has one, so that it is confirmed as owned by the server and allowed to be used to identify the server
    4. When a client requests the server list, it is filtered by all criteria the client supplies (documentation will be available on the wiki soon, describing how the server list/filter API works). The client will receive the full list of servers matching the filter criteria including their IPv4 and IPv6 addresses. The client will ping servers over both IPv4 and IPv6 to gauge performance, assuming it has IPv4 and IPv6 access. IPv4-only servers will not be displayed to IPv6-only clients, and vice-versa.
    5. The client will have a configuration setting for its own preference for IPv4 or IPv6, however I have not figured out exactly how this will work in cooperation with the server preference. Possibly the server preference being 0 will mean "defer to the client's setting", and the client will default to using whichever performs better (or IPv6 if latency is within X%).

    Other notes -
    • The new server registration API will eventually refuse to list servers that it cannot connect to. This will prevent servers behind a firewall (without port forwarding) from being listed in the master server list
    • You can view my own personal post from a couple years ago here. This has the general logic that the above workflow/design is based on.
    • I have no idea when we'll get around to adding IPv6 support to the actual game code unfortunately. It is something I would like to do, however I have not investigated enough to understand what the scope of the project would be and what our options are for implementing IPv6 least painfully.
    If you have any questions about IPv4 exhaustion, IPv6 deployment, or how KAG/gaming will likely deal with these in the future, take a look at the following links:
     
  2. Raron

    Raron KAG Guard Tester

    Messages:
    543
    So it will bring less lag?
     
  3. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    Probably not immediately, but over time IPv4 connectivity may become lower quality (due to CGN/LSN, routing instability and eventually being decommissioned). In these situations IPv6 will be higher quality.

    There are already cases developing where IPv6 is the more direct path. For example, my cell phone on T-Mobile has only an IPv6 address. I access my e-mail server, anything I host, Google and countless other things over IPv6 from my phone. If I was on IPv4, every single one of those would be accessed through at least one layer of CGN within T-Mobile's network. If I try to access something on my phone that is IPv4-only on the Internet right now, it goes through a specialized layer of NAT (Network Address Translation) called NAT64 - which allows my IPv6-only phone to access IPv4-only servers. In reality, about 95% of what I access from my phone in a given week is 100% over IPv6 - lots of Google stuff because my phone is Android and I use google services heavily, my work and personal e-mail servers are IPv6-enabled, and any sites I access that I host are IPv6-enabled (including the KAG forums).

    I strongly urge everyone to call their ISP's support line and ask about their plans for deploying IPv6, and similarly contacting the support people for your favorite sites. It won't impact you today or tomorrow, but getting IPv6 connectivity sooner rather than later definitely helps prevent a degradation of service or accessibility as CGN/LSN become more prevalent.

    There's one more reason this is important to gaming in specific: IP address ban systems. Any games which use a ban system based on IP address will start having collateral damage as servers ban people. As ISPs feel the crunch for IPv4 addresses, more and more users will share an IPv4 address (much like all of your computers/devices do at home). Instead of it being just your devices sharing an IPv4 address, it might be your entire neighborhood or city sharing a small number of IP addresses.

    In reality it's not just games that will suffer from this, but other things as well. Certain types of web sites, IRC servers, etc already block IP addresses known to be sources of abuse or host open proxies. While it isn't likely that a computer or home behind a CGN/LSN deployment are running an open proxy, anyone who is G-lined on an IRC server sharing your IP address will get you booted as well. Similarly for if you share an IP address with someone else in your neighborhood who has a virus that is emitting all kinds of abuse to sites (spamming blog comments, for example) -- you may very well find yourself getting blocked from sites and services some day if you are behind a LSN deployment and accessing sites/services from a shared IPv4 address.

    Granted, these things are all dependent on LSN being deployed where you live - but it is a very real possibility. There are already ISPs in the US and other countries deploying LSN, not to mention colleges and other organizations that act as an ISP of sort who need to minimize their IPv4 address consumption. Anyone who reaches a site/service over IPv6 will not encounter these problems, which is why it is important that both network providers and content providers alike are pushed on their IPv6 deployment. A number of large sites are making good progress on this, including Netflix and Facebook along with plenty of others who have signed on to have IPv6 deployed by World IPv6 Day. Similar with ISPs who are making progress on IPv6 deployment, such as Time Warner Cable and Comcast here in the US.

    World IPv6 Launch participants: http://www.worldipv6launch.org/participants/?q=1
     
    Asu, BindNation, Drafiks and 9 others like this.
  4. AnRK

    AnRK Shark Slayer

    Messages:
    641
    Pretty much my level of input on the subject too, I went through that entire article not really understand what the hell it was about other then it been something to do with how the internetz worked... and if I hadn't had so many problems with port forwarding in company of heroes I wouldn't have understood that either, well "...IPv6 will increasingly prevail as the higher quality means for two endpoints to talk to each other" would have given you a decent clue, but beyond that most of that article was complete nonsense. Any chance of a slightly stripped down explanation so people like me will care a bit more, I've had a computer since I was pretty young, which was actually a big deal in my day, but I don't understand anything to so with the in depth technical side of stuff, and the tone of the article would suggest it's something quite important.
     
    Froghead48 likes this.
  5. BoiiW

    BoiiW Shark Slayer

    Messages:
    338
    I have no idea what all this is, but it sounds great xD
     
  6. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    simple tl;dr:
    • The Internet has been running out of IPv4 addresses (to identify computers on the Internet) since the mid 90s, which is why NAT (what your little box connected to your cable|dsl modem) was invented
    • We are within a year or two away from complete exhaustion of the available IPv4 addresses, the global pool already ran out.
    • Everyone needs to talk to the support people at their ISPs and favorite sites to let them know that IPv6 needs to be implemented, for the sake of continuity on the Internet
    • Any further delays in the adoption of IPv6 will increasingly hurt the utility of the Internet, for some people (like gamers) more than others.

    Call your ISP's tech support and ask them about their plans for IPv6

    E-mail the support of your favorite sites and ask about their plans for IPv6
     
    GloriousToast, Drafiks, BoiiW and 6 others like this.
  7. AnRK

    AnRK Shark Slayer

    Messages:
    641
    Sorry, pretty much all of the specifics were outlined in your second post your right, I did have a good go at reading properly this morning but my reading comprehension was probably a little below par given been exhausted after doing nothing but sweat and do various physically demanding tasks yesterday. Still wouldn't have understood the first one without having some further explination/doing a quick search at the least I'm afraid though, computing was best in 1997 when I had some idea how they worked and interacted with everything...
     
  8. Zeigy

    Zeigy Shopkeep Stealer

    Messages:
    61
    So if I understand you correctly, the Internet will end unless we switch to IPv6? Sounds scary.
     
  9. Miauw62

    Miauw62 Shipwright

    Messages:
    416
    Thanks for the tl;dr flab.

    So basically, its a new encoding system? and it has some better stuff thats slightly faster and has more protection?
     
  10. AnRK

    AnRK Shark Slayer

    Messages:
    641
    (This isn't Shad ;)) as far as I can see it's extra efficiency will come from having to do less decoding or whatever to distinguish between different services from similar IPs... maybe...
     
  11. Miauw62

    Miauw62 Shipwright

    Messages:
    416
    Yeah, i edited it out :P
    Damn typo's
     
  12. lavalord

    lavalord Haxor Staff Alumni Donator Tester

    Messages:
    672
    well my servers have IPv6 addresses so i am good to go. bring on the future KAG
     
  13. Riletyface

    Riletyface Horde Gibber

    Messages:
    280
    It's cool that this is happening to evolve the Internet further, but I have one question: Will port forwarding be used to the extent that It does now? (I only ask this because I think that my ISP, or my modem somehow blocks the use of portforwarding) :( Otherwise I am a big noob at all this.
     
  14. AnRK

    AnRK Shark Slayer

    Messages:
    641
    As far as I can gather from all the jargon port forwarding is a circumstance of the old IP system, and this should help.
     
    Riletyface likes this.
  15. Ranged66

    Ranged66 Bison Rider

    Messages:
    447
    when i first looked i thougth it said launch into the failure
     
  16. Hoj

    Hoj Builder Stabber

    Messages:
    149
    IPv6 does not increase connection speed thats not true. IPv6 is the replacement for the old Ipv4 protocol. Ipv6 is based on the MAC address on the NIC card that every computer connected to the internet has. Each MAC address is unique and the numbers never overlap. Ipv6 is also in 128-bit, which is also 16 bytes. All of which is based on binary code and other codes under different layers of the OSI model. IPv4 is 32-bit, also what is known as 4 bytes. Unless you can figure out a faster way of data transfer, computers and its language speed will remain mostly the same as it is now. More possible Ip addresses are present in the 128-bit arena. Ipv4 is being used up quickly due to the fact most of us have more than one Ip address. Ip addresses on mobile devices and static devices such as desktop computers. Since all of the MAC addresses are different, its means Ipv6 is more effective in the long run as more devices are used.
     
  17. FliesLikeABrick

    FliesLikeABrick THD Team THD Team Administrator Global Moderator

    Messages:
    952
    Iamaclay and dnmr like this.
  18. Hoj

    Hoj Builder Stabber

    Messages:
    149
    It's about distance and transmission speeds really. If you have a higher speed and the same distance then it will be the same. The closest point between two points on a map is a straight line. Unless you can figure out how to connect internet through worm holes or different dimensions then i would love to see actual data or tests confirming that Ipv6 is faster. Figure out a bitter way to sent ones and zeros and you will have a better internet. Figure out how to put ones and zeros into a smaller format. Or figure out to have more than ones and zeros in the same size and there you go.