Introduction to IPv6 for IPv4 Engineers, Part 4

Introduction to IPv6 for IPv4 Engineers, Part 4

tags:
– Considering what IPv6 implementations of various existing applications would be like in order to understand IPv6 –

Takeshi Kabata
adlib, Inc.

What would a large-scale Internet game created with IPv6 be like?

Large-scale network games were around even before the spread of broadband; those games communicated through online service providers. Nowadays, broadband is widespread, and so I will take a look at what it would be like to develop a game that uses IPv6.

Types of Network games

With network games (?) that use online service providers, users first logged in to a central server, called the host, and participated in battles and trading.  All communications went through the host, and the host also performed computations.  The approach used by these simple host-based games is used in many of the current Internet games.  The advantage of this setup is that, by having all the data on the host, it becomes easier to manage various things.  The problem is that the scale of the games is dependent on the computational ability and bandwidth of the host.  In other words, when more people play the game, the host needs to be upgraded.

As opposed to host-based games, there are P2P-based games.  In these games, players connect with each other to play the game.  Computations are performed on each player’s machine and the results are exchanged.  The advantage of this method is that even when the number of players increases, you only need to worry about connection speed because each of the machines performs computations.  However, since the information is scattered, it is hard to manage.  Because of that, the trend in recent large-scale Internet games is to use a hybrid of the two approaches mentioned above.

Using IP addresses to identify users

When a network game becomes large scale, the method to identify each user becomes an issue.  Normally, when the user logs in, his/her information gets recorded using something like an ID.  Communication among users or with the server are carried out by combining that ID with information on the IP address the information should be sent to.

The reason using only ID or IP address becomes a problem is that, with IPv4, each IP address can have multiple IDs.  This has to do with NAT.  It will probably be a problem for business as well if people cannot play network games from private networks.  So, by combining an IP address, ID and port, the user can finally be identified.  The first advantage of using IPv6 appears here.

If you can be certain that a unique IP address is allocated to each user, you can use that address for communications.  Furthermore, in terms of managing usage fees and such, if IP addresses can be used to track users’ usage, it’s fair to say that management will become simple.

Possibilities for reducing host bandwidth usage

For host-based games, increased bandwidth usage caused by an increase in users is one of the major problems.  However, among the information sent from the host, some data needs to be real-time while other data can be accumulated.  For example, when you fight in a battle, the decision on whether or not you are hit by a bullet needs to be sent from the server in real-time; on the other hand, information on backgrounds and maps don’t necessarily have to be sent in real-time.  On the contrary, they may not even need to be sent from the server.  That’s the line of thinking for adopting a mechanism similar to P2P-based file sharing software.

In addition to the advantages that I mentioned in Part 1 of this series, I think that implementing P2P-based file sharing software with IPv6 is effective in reducing bandwidth, since data such as backgrounds and maps are generally larger than the data on action results.

Internet games that use the concept of Mobile IPv6

Among Internet games, there’s a type of game called MMO (massively multiplayer online) where thousands or tens of thousands of players play in the same world at the same time.  In order to make this type of game a reality, it is said that you need a powerful host, even when using a hybrid approach.

However, even in those games, the number of players that one player would get involved with at the same time is at most 100.  In other words, it is not as if one player fights against 10,000 players.  However, the host, which is in the middle of this, does face 10,000 payers all by itself, so it needs to have enough power and connections to support that.

If a setup could be created where each user communicates *only* with the players he/she needs to fight against at that time, and the host only needs to exchange information about who needs to connect with who, then it is possible to resolve the problems with connections and machine power.

One of the ideas for implementing such a setup is a method of projecting the map coordinates themselves to IP addresses.  By altering the IP address to reflect movements on the map, the communication partners, that is, the players the user is fighting against, can be determined.

In order to be able to carry out actions (conversations, fights, etc), the concept of distance becomes important.  This distance is easily calculated by using the IP address and the projection function of the map. Furthermore, if you think of a subnet as a “coverage area,” sending a broadcast to a subnet can be thought of as transmitting information to that coverage area.  So, if you design it so that the data is exchanged between parties who can connect within that coverage area or distance, creating a game is easy.

Now, in order to implement this method, which is not that complicated concept-wise, there are two issues that needed to be resolved.  One issue is how to represent movement and the other is the number of IP addresses that can be used.

As for movement, I think you can implement it using Mobile IP as a reference.  Mobile IP is a technology for mobile communications.  When a user moves within a virtual world, you can manage it by relating the actual user’s IP address (home address in Mobile IP) to his/her IP address on the map (care-of address in Mobile IP).  The next issue is that how many IP addresses can be used.  If you are using IPv6, this is not a problem at all.  Furthermore, the home link that manages home addresses can be used as a user management system as-is and even having multiple home links is not a problem.  Thus, many of the approaches that are used to resolve problems using Mobile IP can also be considered effective for Internet gaming platforms in the virtual world.

Of course, there are some issues, too.  All the users need multicast-ready routers in order to take advantage of the fact that, by grouping users in the same place into a subnet, you can use multicast to effectively transmit the data.

この記事のトラックバックURL

http://www.ipv6style.jp/trackback/546
Ads by Google