Introduction
I've noticed quite a few discussions regarded LAN support for SC2, BNET 2.0, and latency / connection speed in general and I figured I'd share my knowledge of networking with everyone to hopefully explain just how speed and latency are determined and how each affects the play of a video game.
I have created all of these images myself and all of them are strictly examples, obviously networks that exist in real life are far more complicated. However, for the sake of explanation smaller networks will suffice and I hope everyone who reads this post will be able to understand what I am discussing.
To that end below is a multi-part explanation of basic networking principles, connect speed, and more importantly how all of this plays into video games.
Part One: Understand IP Addresses
+ Show Spoiler +
IP Addresses are a fairly simple concept actually, and each IP address is usually accompanied by a Subnet Mask. The IP address is a semi-unique 32 BIT number (a 1 in binary is 1 BIT), in binary a blank IP address will look as such: 00000000.00000000.00000000.00000000 . Now since humans don't speak in binary, and obviously typing out long addresses like that is a pain, the computer usually displays the IP address in base 10 - a blank IP in base 10 will look like this: 0.0.0.0 . There that's much better now isn't it? Instead of typing 32 Zeros, you only have to type 4.
An 8 BIT binary number in base 10 is 255, so this means that the theoretical largest number you can get is 255.255.255.255 - however two of these numbers always reserved (infact more than this are reserved), so the maximum number you can actually have is 255.255.255.253. With being able to put any number from 0/1 up to 255 (and 253 on the last digits) there are quite a number of cominbations.
Of course there are a far greater number of computers that exist in the world and so there is a Subnet Mask. You can think of it as such. The IP Address is the house number on the street, and the Subnet Mask is the name of the street. In computer terms this means each computer has an IP Address and each network has a Subnet Mask. Subnet Masks look exactly like IP addresses, however they are determined through a rather complicated process called Subnetting.
I will not go into detail about this as it simply takes a very long time to explain, however searching 'Subnetting' on Google or a search provider should yield many good guides.
To be more clear here Subnet masks CAN and will be duplicated, the reason we do not have overlap with IPs on the internet is because each computer goes through many routers, so it is not simply Computer 1 with IP Address A.B.C.D but rather Computer 1 will have many other IP Addresses alongside it to defferentiate it from the other computer accross the internet.
Note: A 'Gateway' refers to a device that a signal must pass through to get to. Hence the name Gateway.
Network 1
+ Show Spoiler +
Network 2
+ Show Spoiler +
Diagram 1
+ Show Spoiler +
This diagram really need little explanation now. Each comptuer has an IP Address, and each router has an IP Address. The Subnet Masks are the same, because as I mentioned above Subnet Masks are related to the IP Addresses. Simply put the above IPs required the given IP address.
An 8 BIT binary number in base 10 is 255, so this means that the theoretical largest number you can get is 255.255.255.255 - however two of these numbers always reserved (infact more than this are reserved), so the maximum number you can actually have is 255.255.255.253. With being able to put any number from 0/1 up to 255 (and 253 on the last digits) there are quite a number of cominbations.
Of course there are a far greater number of computers that exist in the world and so there is a Subnet Mask. You can think of it as such. The IP Address is the house number on the street, and the Subnet Mask is the name of the street. In computer terms this means each computer has an IP Address and each network has a Subnet Mask. Subnet Masks look exactly like IP addresses, however they are determined through a rather complicated process called Subnetting.
I will not go into detail about this as it simply takes a very long time to explain, however searching 'Subnetting' on Google or a search provider should yield many good guides.
To be more clear here Subnet masks CAN and will be duplicated, the reason we do not have overlap with IPs on the internet is because each computer goes through many routers, so it is not simply Computer 1 with IP Address A.B.C.D but rather Computer 1 will have many other IP Addresses alongside it to defferentiate it from the other computer accross the internet.
Note: A 'Gateway' refers to a device that a signal must pass through to get to. Hence the name Gateway.
Network 1
+ Show Spoiler +
PC1: IP - 192.168.1.5 / Subnet - 255.255.255.0 / Gateway - 192.168.1.1
PC2: IP - 192.168.1.6 / Subnet - 255.255.255.- / Gateway - 192.168.1.1
Local Router/Gateway: IP - 192.168.1.1 / Subnet - 255.255.255.0
PC2: IP - 192.168.1.6 / Subnet - 255.255.255.- / Gateway - 192.168.1.1
Local Router/Gateway: IP - 192.168.1.1 / Subnet - 255.255.255.0
Network 2
+ Show Spoiler +
PC3 - 192.158.1.7 / Subnet - 255.255.255.0 / Gateway - 192.158.1.1
PC4 - 192.158.1.8 / Subnet - 255.255.255.0 / Gateway - 192.158.1.1
Local Router/Gateway: IP - 192.158.1.1 / Subnet - 255.255.255.0
PC4 - 192.158.1.8 / Subnet - 255.255.255.0 / Gateway - 192.158.1.1
Local Router/Gateway: IP - 192.158.1.1 / Subnet - 255.255.255.0
Diagram 1
+ Show Spoiler +
This diagram really need little explanation now. Each comptuer has an IP Address, and each router has an IP Address. The Subnet Masks are the same, because as I mentioned above Subnet Masks are related to the IP Addresses. Simply put the above IPs required the given IP address.
Part Two: Understanding Network 'Hops'
+ Show Spoiler +
Every computer, router, server, switch, hub, etc. that your connection passes through to reach its destination is called a 'hop'. The time it takes for a connection to pass each hop on its route (this really is the technical name) is mesaured in MS (mili-seconds). In the following diagram I have provided an example network route to get to BNET servers.
Diagram 2
+ Show Spoiler +
PCs 1 through 4 are on a home network, one of which is a laptop, three of which are desktops. One laptop and one desktop are turned off, two others are turned on and playing SC2. Currently Player 1 on PC3 is not at his computer, Player 2 using PC 1 is playing a ranked match in 1v1 Gold League.
To get to BNETs servers Player 2 must connect to his home router, then to the neighborhood/city switch, then to the regional/country switchfor his ISP, then to regional/country switch for Blizzard's ISP, and then to the neighborhood/city switch on Blizzard's end, then to the Authentication server, then the primary realm server and then the realm server he is assigned to. Or 8 Hops. For this example let us say each hop has taken 8 MS. So it takes 64 MS for Player 2 to send information to BNET's servers. It then takes the same time for any information from bnet to come back to Player 2. Player 2's in-game latency will therfore be 128 MS.
Player 1 has returned from his AFK, and Player 2 finishes his game. They decide that they want to play a 1v1 match against eachother and so Player 1 hosts a game.
Assuming that the ISP that the owner of the house (lets say Player 2 owns the house), does not throttle at all, and that the latency on every network to the BNET servers has not changed since Player 2 finished his game. Then we can assume that 128 MS will be the latency for both players to get to and from BNET. However, since both players ARE connecting to BNET this number is double again to 256 MS. This is because both players connections must make it to and from the BNET server seperately due to the nature of BNET (it doesn't realize they are both at the same location and only one connection to BNET would be needed).
If both players could play a true LAN howeve they would have 32 MS latency maximum, assuming their local router takes 8 hops to process local connection (this happens much faster), and a minimum of lets say 4 MS latency.
Regional/Country Switch #23 for Player 2's ISP shuts down for some reason, and all other switches for Player 2's ISP are filled with users, Player 2 and all users who were using Switch #23 will be routed to another ISP that is partnered with Player 2's ISP, and will make 1-3 more hops, adding additional latency (~24-32 MS).
As it can be seen latency can stack up very quickly, and in the real-world many of us have much more than 8 hops to BNET, and each hop can take longer than 8 MS.
Part Three: How Speed is Determined
Diagram 3
+ Show Spoiler +
Speed is determined by the physical ability of your connection to transmit data. In this example I have a 5 MBPS Broadband connection a 128 KBPS - 256 KBPS DSL connection and a Dial-Up connection. The thickness of each line represents the raw bandwidth capacity. DSL uses the same type of connection as 56k, however, the data is compressed, allowing for faster speeds to occur without increasing the phsyical capacity of the wire.
I am not sure of EXACTLY how much speed SC2 requires for a smooth connection, but this example I am going to assume 256 KBPS. Therefore the higher-end DSL connection and the Broadband connection will satisfy this need. 56k and the lower-end DSL connection will not. Essentially when a connection performs below the required amount of speed for the game to have a smooth connection then and only then will speed begin to affect latency.
In such cases speed will affect latency as such - however many MS it takes for the connection to 'catch up' in otherwords to finish sending the information BNET asked for, and finish recieving the information BNET sent, will add to latency. And so this is why 56k and bad DSL connections become quite simply unplayable, because it is a domino / stacking effect. Just before the connection catches up a fresh of data arrives, extending latency further and further as time goes.
Diagram 2
+ Show Spoiler +
PCs 1 through 4 are on a home network, one of which is a laptop, three of which are desktops. One laptop and one desktop are turned off, two others are turned on and playing SC2. Currently Player 1 on PC3 is not at his computer, Player 2 using PC 1 is playing a ranked match in 1v1 Gold League.
To get to BNETs servers Player 2 must connect to his home router, then to the neighborhood/city switch, then to the regional/country switchfor his ISP, then to regional/country switch for Blizzard's ISP, and then to the neighborhood/city switch on Blizzard's end, then to the Authentication server, then the primary realm server and then the realm server he is assigned to. Or 8 Hops. For this example let us say each hop has taken 8 MS. So it takes 64 MS for Player 2 to send information to BNET's servers. It then takes the same time for any information from bnet to come back to Player 2. Player 2's in-game latency will therfore be 128 MS.
Player 1 has returned from his AFK, and Player 2 finishes his game. They decide that they want to play a 1v1 match against eachother and so Player 1 hosts a game.
Assuming that the ISP that the owner of the house (lets say Player 2 owns the house), does not throttle at all, and that the latency on every network to the BNET servers has not changed since Player 2 finished his game. Then we can assume that 128 MS will be the latency for both players to get to and from BNET. However, since both players ARE connecting to BNET this number is double again to 256 MS. This is because both players connections must make it to and from the BNET server seperately due to the nature of BNET (it doesn't realize they are both at the same location and only one connection to BNET would be needed).
If both players could play a true LAN howeve they would have 32 MS latency maximum, assuming their local router takes 8 hops to process local connection (this happens much faster), and a minimum of lets say 4 MS latency.
Regional/Country Switch #23 for Player 2's ISP shuts down for some reason, and all other switches for Player 2's ISP are filled with users, Player 2 and all users who were using Switch #23 will be routed to another ISP that is partnered with Player 2's ISP, and will make 1-3 more hops, adding additional latency (~24-32 MS).
As it can be seen latency can stack up very quickly, and in the real-world many of us have much more than 8 hops to BNET, and each hop can take longer than 8 MS.
Part Three: How Speed is Determined
Diagram 3
+ Show Spoiler +
Speed is determined by the physical ability of your connection to transmit data. In this example I have a 5 MBPS Broadband connection a 128 KBPS - 256 KBPS DSL connection and a Dial-Up connection. The thickness of each line represents the raw bandwidth capacity. DSL uses the same type of connection as 56k, however, the data is compressed, allowing for faster speeds to occur without increasing the phsyical capacity of the wire.
I am not sure of EXACTLY how much speed SC2 requires for a smooth connection, but this example I am going to assume 256 KBPS. Therefore the higher-end DSL connection and the Broadband connection will satisfy this need. 56k and the lower-end DSL connection will not. Essentially when a connection performs below the required amount of speed for the game to have a smooth connection then and only then will speed begin to affect latency.
In such cases speed will affect latency as such - however many MS it takes for the connection to 'catch up' in otherwords to finish sending the information BNET asked for, and finish recieving the information BNET sent, will add to latency. And so this is why 56k and bad DSL connections become quite simply unplayable, because it is a domino / stacking effect. Just before the connection catches up a fresh of data arrives, extending latency further and further as time goes.
Conclusion
+ Show Spoiler +
To finish things off here I will simply explain some things that should be drawn from what I've gone over above. Firstly latency will always have a minimum level of latency that cannot be elminated or removed as a result of connection speed. Secondly yes connection speed can affect latency but only so long as the connection is not supporting the required speed for a smooth connection (smooth meaning that the connection is not holding up the game to finish sending/recieving information). Once the connection passes this speed, any additional increase thus becomes irrelevant.
Until our network technology allows for a connection to be made from anywhere in the world to anywhere in the world literally instantly there will always be a need for LAN support in a video game. To not provide support for LAN capacity on the grounds that 'most users have broadband' not only says that poor market research has been done on Blizzard's part, but also that the individual(s) resonsponsible for the 'no-LAN' idea haven't much idea on how the internet actually works.
I hope everyone who was inexperience with basic networking has learned something from this read, and also that I have proven the point of LAN beyond any doubt.
Until our network technology allows for a connection to be made from anywhere in the world to anywhere in the world literally instantly there will always be a need for LAN support in a video game. To not provide support for LAN capacity on the grounds that 'most users have broadband' not only says that poor market research has been done on Blizzard's part, but also that the individual(s) resonsponsible for the 'no-LAN' idea haven't much idea on how the internet actually works.
I hope everyone who was inexperience with basic networking has learned something from this read, and also that I have proven the point of LAN beyond any doubt.
-SichuanPanda