A Network Architecture Example: The WWW


Uniform Resource Locators - URLs

The URL or "hyperlink" is the basis of the WWW. A URL defines the location of a WWW page in the following way:
When a user clicks on a highlighted hyperlink within a WWW page, the user's browser uses the information in the associated URL to obtain and display the desired page

Connection Establishment

To fetch a WWW page, the browser application program (or more correctly, process) running on your local computer first establishes a connection to the remote host.

What this means is that the browser process uses the facilities of the network connecting the two computers to send a "connection request" message to a server program (process) running on the computer whose name was given in the URL.

If the remote server process is prepared to accept the connection, it responds with a "connection accepted" message.

Note that we are, for the moment, ignoring the process of "looking up" the remote host -- discovering the network address associated with its domain name.


The HTTP Protocol

Once the two application processes have an established connection between them, they can communicate reliably.

The browser then sends a request, in ordinary plain text, to the server thus:

GET /home.html
The string "GET something" is one of many commands defined in the Hypertext Transfer Protocol, HTTP. The server responds by returning the contents of the file /home.html, also in ordinary plain (ASCII) text.

Finally, the browser process interprets the HTML markup in the returned file, and displays it to the user.


Connections Revisited: Transport Service

The "connection" used in transferring data is normally implemented in a software module in the operating system of each of the computers involved in the transfer.

This module provides a (so-called) transport service to processes. The transport service module is responsible for breaking an incoming stream of data into chunks (or, more correctly, Transport Protocol Data Units or segments) for transfer across the network Each segment is prefixed with a transport header, to indicate to the remote transport service module what data it contains, and to carry other communications-related information.

As each segment is received from the network, an acknowledgement is sent back, so that damaged or lost segments can be resent, ensuring reliable communications. The transport protocol defines the rules by which this is achieved.

Note that the need for reliable interprocess communications is independent of the nature of the application (in our example, the WWW), hence this service can be shared by many different applications which need reliable data transfer across the network.

In the Internet, the reliable transport service module implements the TCP protocol.


Packet Delivery: The Network Service

Once the transport module has built a segment of data, it passes it to a network service module, also normally residing within the operating system.

The network service module builds a packet containing the entire TPDU as its data part, and prefixes a network header containing, among other information, the network address of the destination computer. It then passes the packet to the actual network for delivery.

In the Internet, the network service module implements the IP protocol, and NPDUs are normally called IP packets.

Note that the network service need not guarantee reliable delivery of packets - why not?


A Communications Layered Architecture

A conceptual, or abstract, representation of this system looks like:
Notes:


Addressing

Two levels of addressing are required to specify the particular remote application process to which data must be forwarded:

  1. A network address of the remote system - typically this is given as a system name (such as ironbark or www.bendigo.latrobe.edu.au) which is mapped to a numeric address in the network access layer. The address is contained in the NPDU header, and defines a system's point of interconnection to the network.
  2. An address within the remote system which identifies the particular application process to which this data is to be delivered Ð this is called a Transport Service Access Point (or TSAP).

This lecture is available in PostScript format. The tutorial for this lecture is Tutorial #01.
[Previous Lecture] [Lecture Index] [Next Lecture]
Phil Scott