When the Internet was invented in the mid-nineties, it presented numerous new challenges to the engineering and computer science world. Never before had so many people been connected through so many links simultaneously. Today, approximately 100 terabytes of information are transferred on the Internet every second, and transmission can be complicated to understand.
The Internet is a massive inter-connection of different computers. Each website is stored on a server (or multiple servers) somewhere in the world, which in turn connects to an Internet service provider – servers are never linked directly to personal computers. This means that when you type “www.facebook.com” into a browser, there’s no direct link between your computer and the facebook.com server. Instead, messages are sent through dozens of other computers before arriving at the appropriate machine.
When you are using the Internet, your computer is not transmitting all of the information at once. Instead, it sends out packets, which are small chunks of data with a destination, source, encryption scheme, and the actual data. These packets are sent from your ISP out into the Internet to numerous servers. Every time a server receives a packet, it looks at the address on it and either stops and reads it if the packet is for that machine, or sends it on through its connection. This continues until the message reaches the desired location.
To avoid duplicate names, each computer is assigned an Internet protocol address. This IP address is unique to the machine, and serves as the identifier for all communications between the computer and the Internet.
IP addresses are generally assigned based on geographic location, which is why many services are able to identify the location of your computer when you connect to their server. Some servers selectively block people from certain geographic regions, or ban users based on their IP address because they don’t want these people to use their service. A classic example is when you want to view a television show or movie on a foreign website, such as NBC, CBS, or Hulu. These companies broadcast their shows and media to viewers for free because of the revenue they make from advertisements. Unfortunately, the rate paid for advertising is based on viewership only in the network’s home country, so they block foreign IP addresses, which don’t acquire revenue. This gets complicated when you want to watch the most recent episode of House, but don’t want to pay three dollars on iTunes (or watch on a pirate website, where the quality is almost sure to be terrible).
Proxy servers act as a middleman to accessing these services: proxy servers are machines in a different part of the world that access websites on your behalf, and send the results back to you. When you connect to a proxy server (a Google search will reveal a list of such services), the proxy server forwards your message to the destination website, with a different return address. This fools the website into thinking it’s talking to someone else. The proxy server then sends the results back to you, without the discriminatory website knowing. Keep in mind that this process may violate the terms of agreement of certain sites, so approach with caution.