Web Systems Lecture 1 - How the Internet Operates

This lecture is divided into hyperlinked sections

Introduction
Requesting a service
Getting your request to the destination
Packet Switching
Packet Switched Networks
Crossing the packet switched network
Sending a file across a PSN
Client/Server Interaction
Client Software
Server Software
TCP/ IP
Conclusion
Resources
Tutorial Questions
 



Introduction - What is the Internet?

The Internet is a world-wide network of networks that have been joined together to form an anarchic yet functional communication facility. Users of the Internet can, with suitable permissions, obtain information from any other computer that is connected to the Internet that has been configured to provide information. (History of the Internet)

The Internet was funded by the American defence agencies during the 1960s to provide a reliable and flexible communication system that could continue to function even if a section of it were destroyed. This constraint of functionality after some of the network had been destroyed led to the idea of packet switching which gives the Internet its unique strengths. Packet switching allows messages to take alternative routes across cables and other transmission paths between sender and receiver.

Today, the Internet is a public, co-operative, and self-sustaining facility accessible to hundreds of millions of people world-wide. Physically, the Internet uses a portion of the total resources of the currently existing public telecommunication networks. Technically, what distinguishes the Internet is its use of a set of protocols called TCP/IP (for Transmission Control Protocol/Internet Protocol). Two recent adaptations of Internet technology, the intranet and the extranet, also make use of the TCP/IP protocol.


Requesting a service

When your computer is connected to the Internet you have the ability to request services from other computers that are also connected to the Internet. The mechanism that is involved in this request is called Client/ Server technology.

When you request a service, your computer is termed a Client. The computer from which you request a service is known as a Server. Strictly speaking, your computer can function as both a client and a server, it is the software that you have installed that determines whether your computer is currently acting as a client or a server.

In a more practical vein, although your home computer may be configured to act as a web server, the hardware limitations of your hard disk, processor RAM and bandwidth of your connection to the Internet make your computer system unlikely to be able to handle hundreds of requests per minute for web pages.

A server will not only be running the server side of the software, but will have hardware specifically designed to fulfil the function of a server, i.e. having extremely high I/O capabilities.

A client machine does not necessarily need high speed processing capabilities, large storage, nor high speed I/O capabilities. It requires the software to access a server and a connection to the server. The server is configured to do the hard work of processing the client's request and passing the results back to the client.

Examples of servers are web servers, database servers, FTP servers, DNS servers, search engines etc.


Getting your request to the destination

To make use of a server you need to send a request to that server. This means that you will need to address your request to the server.

Consider the analogy between this and sending a letter to a friend. Regardless of the contents of the letter, you will need to write the address of your friend on the envelope so that the post service will be able to get the letter to the correct destination.

All computers that are connected to the Internet have an IP address. This is of the form 193.60.61.22

Each of the numbers that are separated by periods (dots) can range from 0 to 255. This is using an addressing scheme known as IPv4. The total possible numbers available is 2564 which is 4 294 967 296. However, a large number of the possible combinations have been wasted by careless allocations in the early days of the Internet.

A new scheme called IPv6 has been proposed as the number of IPv4 numbers remaining will be unable to support the explosive growth of the Internet.


Packet Switching

The idea behind packet switching is very simple. The data that you wish to send is collected together into a packet or datagram. A packet generally has three distinct sections. A header containing source and destination addresses and some control information, the payload which carries the actual data you wish to send and a trailer which may contain error checking data.


 

The destination address is inserted into the header of the packet along with your address (IP number) and then the complete datagram is inserted into a packet switched network (PSN).

The datagram travels along the network cable until it arrives at a computer situated at a junction of several cables that is known as a router. The router has a set of look-up tables and specialised software to deal with directing incoming datagrams to the most appropriate cable leaving the router.

Figure 1.1 Datagram arrives at a router on incoming cable

Figure 1.2 Datagram leaves at a router on outgoing cable towards final destination

Each node or router in the packet switched network is able to read the destination that is specified in the packet and can direct the datagram in the direction of its final destination. Often the datagram will have to pass through ten or more routers between source and destination. Each router will make a decision concerning the route that each and every datagram shall follow as each individual datagram arrives.

There is no restriction to the actual path that two subsequent datagrams having the same destination address will follow. It is entirely possible that they may take two different paths, however they will always end up at the same destination.

If two datagrams follow different paths to the same destination, which of the two will arrive at its destination first?


Packet Switched Networks

In a packet switched network, there is a maximum size that a packet is allowed to be, known as the Maximum Transmission Unit (MTU). Your computer may have a large amount of data to send that exceeds the network's MTU size so the data may need to be formed into more than one packet. This could cause a problem if the various sections of the datagram arrive out of sequence having travelled different path lengths between source and destination. To overcome this problem, the packets are numbered in sequence by the sending computer then placed onto the network.

When the packets finally arrive at their destination the receiving computer must examine the sequence numbers of arriving packets and regardless of the order that they arrived in it will be able to re-order the packets once more into the correct sequence.


Crossing the packet switched network

The time taken to transfer a packet between two routers is very small in human terms. A large packet will typically take less than 1 millisecond, smaller packets taking even less time. This is a very small amount of time and allows other computers to use the same cabling and routers to guide their packets to their respective destinations.

Packet switching allows all users to share the bandwidth of the PSN efficiently and fairly. Packet switching systems adapt themselves instantly as computers begin to send data or finish sending data across the network. 


Sending a file across a PSN

Suppose you decide to send a file, perhaps a Word document, to another computer connected to your PSN. There are several steps involved.

Sending computer must:-
 


The network must:-
 


The receiver must:-
 


Client/Server Interaction

Another name for client/ server computing is distributed computing. Although the network(s) that a message has to cross may be very different in terms of hardware and software, the software that implements a particular service always uses a single scheme.

The software that implements a certain scheme is divided into two parts. One part of the software runs on the client, that is the computer that is requesting the service. The other part of the software runs on the server, the computer that is to perform the service. Another name for the server side of the software is a daemon.

The program that is running on the client uses protocol software to communicate with the program that is running on the server. When using the Internet the two programs make use of the TCP/ IP protocol stack. 


Client Software

An application program that uses the Internet to access a service becomes a client. The client uses the Internet to carry the communications to the server. The client forms a request, sends it to the server and waits for the reply.

Once the client has established communication with the server, it may display results received from the server whilst transmitting mouse input or keystrokes to the server.


Server Software

The server side of the software must be running continuously to receive requests. The client can initiate a conversation at any time so the server program must always be waiting to receive requests, 24/7. The server software is generally run on large computers with high speed I/O capabilities. Often several servers will be running on one of these computers to service various requests e.g. FTP, web server.

If the server computer loses power or suffers a software failure, clients will be unable to gain a response from the server. An error message will be displayed on the client machines screen to inform the user of the failure to establish contact.


TCP/ IP

TCP/ IP does not create or run application programs. The Internet is a tool for transferring data from one computer to another. TCP/ IP does not initiate a program on the receiving computer. The program on the receiving computer must respond or answer the request before communication becomes possible.

This means that before communication can take place, the receiving computer must be running its communication software (daemon) and agree to the communication request before any communication can take place.


Conclusion

The Internet is a packet switched network.
Packet switched networks operate by carrying packets or datagrams (around 1000 bytes or so) to their destination.
Packets are addressed individually and will make their own way across the network
Communication across the Internet always occurs between a pair of programs. One program initiates the conversation, the other program must be waiting and willing to receive it.
The Internet allows us to access a wide variety of services of many different types, however they all share the same paradigm that the services operate using a client/ server interaction



Resources

Douglas E Comer, The Internet Book, Prentice Hall 1997, 2nd Edition



Tutorial questions

How does a packet switched network differ from a circuit switched network in the method of connecting sender to receiver?
Would a circuit switched network be useful for surfing the Internet? Give reasons for your answer.

(c) MM Clements 2001                                                     Back to top of Page