Lecture 2: A Network Architecture Example


Revision: The World Wide Web (WWW)

Technology
a "browser" (eg Netscape, IE) is used to fetch and display HTML "Web Pages" from a remote Web server... etc.
Terminology[1]
What is happening here?
Simple answer
lots!
Slightly less simple answer
the browser somehow communicates with the remote server "over" the Internet. How this is achieved is very complex. In order to understand this complexity, we break the system into smaller, more tractable and understandable parts, introducing...
[1]These status notifiers (or their equivalent) are usually displayed on the browser status line.

Network Architecture

Architecture
"...structure or design of something."
Network Architecture
a framework for understanding the way in which the various parts of the entire network system work together. Two aspects:
Physical (or hardware)
the wires, fibre optic cables, hubs, routers, etc. We cover some of this stuff later.
Logical (or abstract)
the protocols (or rules) which govern how data is exchanged using the network. As we shall see, the fundamental idea here is the use of layering various protocols on top of one another to form a stack.

Uniform Resource Locators - URLs

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

* 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.


Connection Establishment

To fetch a WWW page, the browser application program (or more correctly, process--see later) 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.

The two process now have an open "communications channel" between them.


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 old plain ASCII text, to the server process thus:

GET /home.html
The string "GET something" is one of many commands defined in the Hypertext Transfer Protocol, HTTP[2]. 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.

[2] for the pedantic: this request syntax is from HTTP 0.9, the original version of the protocol, which is no longer in common use.


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.

PDU Encapsulation
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:
Three Layer Architecture
Notes:


This lecture is also available in PostScript format. The tutorial for this lecture is Tutorial #01.
La Trobe Uni Logo [Previous Lecture] [Lecture Index] [Next Lecture]
Copyright © 2000 by Philip Scott, La Trobe University.
Valid HTML 3.2!