How Does the Internet Work?

From CompSciWiki
Jump to: navigation, search

COMP1260 > System Software



Introduction

The Internet has become such an import part of our everyday lives. It grants access to more information than any encyclopedia or collection of encyclopedias could possibly provide. We use it for communication, research, entertainment, online shopping - the list goes on. So how does it all work? Where are the web pages and information you access? How do you chat with people around the world? How is everything connected? In this article, basic concepts of the Internet's infrastructure will be introduced.

 

...by students

Web Programming

I am in my 3rd year of computer science now, and one thing I've noticed is that many people in my field have experience with web programming. I never picked it up and I had no clue how the Internet worked until I took COMP 3010 - Distributed Computing - in the summer. We learned how to use sockets to transfer data across networks, and we even got to program a simple web server and chat client. I never thought I would be interested in web programming - I always has this conception that it was very easy! Well, it's a very different experience from the other computer science courses and I really enjoyed it. So, if you are planning on going into computer science, I definitely recommend this course for 3rd year, whether you think you will be a web programmer or not.

Derek </td> </tr> </table>

A Hierarchy of Networks

A network is a collection of computers with the ability to transfer data. For example, if you have multiple computers at home and they are connected to a router, then they are part of the same network. Computers in a network can communicate by sending and receiving data. When multiple networks are connected together, data can be sent to computers across geographically distributed networks. This is effectively what the Internet is, a collection of inter-connected networks. You connect to a network, which is connected to another network, which is connected to a larger network, etc.


From ISPs to NAPs

How you are connected to the Internet. Image from HowStuffWorks.com
http://static.howstuffworks.com/gif/internet-infrastructure1.gif

In order to access to the Internet, you usually pay a monthly or yearly fee to an Internet Service Provider (ISP). ISPs provide Internet access to homes and businesses via dial-up, DSL, or cable. For more information on ISPs and the services they provide, see ISPs. When you connect to an ISP, they assign you an IP Address and you become a part of their network. An IP Address consists of four numbers separated by periods and uniquely identifies your computer a network. An example is: 243.143.3.23 . You can think of it like a house address. Data can be sent to your computer using this address just as mail is sent to your house using your street address.


ISPs have a Point of Presence (POP) in various regions where users connect to, be it via a phone line or separate dedicated line(s). If you use a modem to connect through your phone line, the ISP would purchase services from a phone provider. Everyone in a particular region can connect to an ISP, but how are you connected to other regions around the world?


At the top-most level there are huge networks called Network Service Providers (NSP) which have dedicated fiber optic lines for transferring huge amounts of data very quickly. Some NSPs include UUNet, CerfNet, IBM, BBN Planet, SprintNet and PSINet. Companies owning these networks agree to connect their networks at Network Access Points (NAPs). Through this hierarchy of networks, you are connected to the world.


Servers

We have seen how computers are connected together all around the world, and that each computer on the Internet has an IP Address, be it a temporary (dynamic) or permanent (static) address. It was also explained that data is transferred through fiber optic lines, but this doesn't tell us anything about the services we receive on the Internet. Services include access to web pages, email, chat clients, file sharing, etc. These services are provided by programs running on computers, and hence are called servers.

Before explaining servers, there needs to be a bit of disambiguation. There are specific types of computers called servers which run services over the Internet (or any network). But a server is actually the program running on a computer that provides the service (be it a server computer or a home PC). Now, on to the server programs!


A server is a program that runs on a computer, receives requests across a network, and sends back responses. For example, when you type in a URL such as wiki.cs.umanitoba.ca into your browser, the URL is translated into an IP Address - the address of a computer. That computer will be running a web server program that receives requests from clients and sends back website data. In the background your web browser is sending an HTTP request to the server, and the server is replying with an HTML message, which your browser then renders into a website that you can view. This type of server is called a web server.

There are many types of servers for many different purposes such as email, chat, and file transferring. The idea is the same as a web server. Data is sent across the network to a server program, the program sends data back, and the client program you are using (i. web browser, chat client) receives the data and outputs in a way that is useful to you.

Servers usually run continuously on a machine, hence why you can access web pages at all times of the day. Special purpose computers (also called servers) are designed to run continuously and are usually much simpler than a general computer.


Further Reading

For a easy-to-read overview of the Internet infrastructure, see http://www.howstuffworks.com/internet-infrastructure.htm.

For a more detailed explanation, see http://www.theshulers.com/whitepapers/internet_whitepaper/index.html.

For information on web servers, see http://computer.howstuffworks.com/web-server.htm


References

1. http://www.howstuffworks.com/internet-infrastructure.htm.

2. http://www.theshulers.com/whitepapers/internet_whitepaper/index.html.

3. http://www.webdevelopersnotes.com/how-do-i/connect-to-internet.php.

4. http://www.howstuffworks.com/question549.htm.

Previous Page: Networks at the U of M

Next Page: History of the Internet