A3 H1 Introduction

1.1 Uses of Computer Networks

Read for background information.

1.2 Network Hardware

Two dimensions are important in classification for network hardware: transmission technology (broadcast networks or point-to-point networks) and scale (or distance).

Transmission technology:

  1. Broadcast network:
    A packet with a destination address is sent out on a common communication channel to all attached machines but only the addressed machine processes the packet contents. Broadcasting means that the packet is addressed to all machines on the network. Multicasting means that the packet is addressed to a certain group of machines on the network.
  2. Point-to-point network:
    Many connections between individual pairs of machines. Packet from a source machine may visit a number of intermediate machines before arriving at its destination. Multiple routes of different lengths are possible, so routing algorithms play an important role.

General rule: small, geographically localized networks use broadcast whereas larger networks usually are point-to-point.

Distance:

Local Area Networks

These are usually broadcast networks, a point-to-point LAN is really a miniature WAN.

In a bus there is a single cable to which all machines are connected, usually the cable must be terminated in a proper way. One machine is the master and is allowed to transmit. In Ethernet network a machine may transmit if there is no packet on the bus. If two or more machines start transmitting a collision is detected and the machines stop transmitting. After waiting a random time (different for each machine), a machine may try again.

An example is IEEE802.3 (Ethernet) a broadcast network:

  • 10BASE-2 uses thin coax cable and operates at 10 Mbps.
  • 10BASE-T uses unshielded twisted pair (UTP) cable, a centrally placed HUB takes care that the physical star configuration is logically a bus. An error in the cable or a connected computer can be easier detected and remedied.
  • 100BASE-T operates at 100 Mbps.

In a ring, each bit propagates around on its own, not waiting for the rest of the packet to which it belongs. Some rules are needed to arbitrate simultaneous accesses to the ring.

An example is IEEE802.5 (the IBM token ring) operating at 4 or 16 Mbps. The bits from the sending computer are passed from computer to computer until they return and are taken off the ring. A receiving computer copies the bits into its own buffer.

Also a ring network can be implemented in a physical star topology, which is logically a ring.

Broadcast networks can be further divided in static and dynamic, depending on how the channel is allocated. Static allocation methods waste bus capacity but can have good real-time properties: guaranteed access time and bandwidth for each machine. Dynamic allocation methods are centralized or decentralized (e.g. Ethernet). In a centralized method there is a single entity, e.g. a bus arbitration unit, which determines who goes next.

Wide Area Networks

A communication subnet consists of transmission lines (circuits, channels, trunks) and routers (packet switching nodes, intermediate systems, data switching exchanges).
If each packet is fully stored in a router and then resent: point-to-point, store-and-forward or packet switched subnet.
When packets are small and all of the same size they are called cells.

The term "subnet" is also used for IP addressing.

A collection of interconnected networks, often using machines called gateways to provide the needed software and hardware conversions, is called an internetwork or just internet. The specific worldwide internet, used to connect universities, government offices, companies and private individuals, is called the Internet.

Read for background information

1.2.2 Metropolitan Area Networks 1.2.4 Wireless Networks
1.2.5 Home Networks
1.2.6 Internetworks

Another topic could be real-time or embedded networks, used to let a complex piece of equipment work. Examples are a car, an airplane, a MRI device in a hospital, a production line in a factory. Time and safety aspects are important considerations there.

1.3 Network Software

Protocol Hierarchies

Layer n on host 1 conversates with layer n on host 2 using rules and conventions called the layer n protocol. This is done by passing data and control information via an interface tot layer n-1 on host 1, until the lowest layer is reached. Below this layer there is the physical medium through with the actual communication occurs with layer 1 on host 2.

A set of layers and protocols is called a network architecture. The specification of the interfaces and the implementation on a certain machine are not part of the network architecture. A list of protocols, one per layer, is called a protocol stack.

A message M, produced by an application process in layer 5 is given to layer 4. There a header (and possible a trailer) is added to the message, which is then passed on to layer 3. There it is maybe needed to split the message into smaller packets, depending on the capacities of the physical medium.

Headers and trailers contain control information such as sizes, sequence numbers of messages and packets, send or receive times, error detection or correction checksums, etc.

Services can be connection-oriented or connectionless. In the first one a connection is established first, which acts like a tube: the sender pushes objects in and the receiver takes them out in the same order. In connectionless services each message carries the full destination address and is routed through the system independent of all the others.

Each service can be characterized by a quality of service. They can be reliable in the sense that they never lose data, usually implemented by the acknowledgment of each message, which introduces overhead and delays.

Read 1.3.4 and 1.3.5 for background information.

1.4 Reference Models

The Physical Layer is concerned with transmitting raw bits over a communication channel.

The Data Link Layer transforms the transmission facility into a line free of undetected transmission errors. It lets the sender breaks its input data into data frames, transmit the frames and process the acknowledgment frames sent back by the receiver. That information is often piggybacked on data frames that happen to be send by the receiver. Data frames are packed with special bit patterns indicating the begin and end of a frame. Problems caused by damaged, lost or duplicated frames must be solved. Flow regulation and error handling are integrated in this layer.
A special sublayer of the data link layer, the Medium Access Sublayer, handles for broadcast networks the access to the shared transmission medium.

The Network Layer controls the operation of the subnet, how packets are routed from source to destination. This is simple in broadcast networks, the network layer is there thin or non-existing. Routes can be based on static tables, at the start of each conversations, e.g. a terminal session, or highly dynamic, being determined anew for each packet to reflect the current network load. An accounting function, to pay the operators of subnets, is often built in.

The Transport Layer basically cares for the correct en efficient transport of data for the session layer, isolating the upper layers from the inevitable changes in the hardware technology and networks. Normally it creates a distinct network connection for each transport connection required by the session layer. But it might use multiple network connections for 1 transport connection to increase throughput or multiplex multiple transport connections over 1 network connection to reduce cost.

The Session Layer allows users on different machines to establish sessions between them. A session allows ordinary data transport but allows enhanced services useful in some applications, e.g. token management or synchronization.

The Presentation Layer perform certain functions sufficiently often needed to warrant providing a general solution for them, e.g. conversion between character string codes like ASCII and Unicode.

The Application Layer contains a variety of protocols that are commonly needed, e.g. file transfer or network virtual terminal.

The TCP/IP reference model has 5 layers. It is based on a packet-switched, connectionless internetwork layer: the internet layer. It has 1 official packet format and protocol called IP (Internet Protocol). The internet layer has to deliver IP packets where they are supposed to go. Packets may arrive out of order, the transport layer has to care about this if needed. Packet routing and avoiding congestion are the main issues in the internet layer, it is therefore comparable to the OSI network layer.

There are two protocols for the transport layer. TCP (Transmission Control Protocol) is a reliable connection oriented protocol that allows a byte stream originating on one machine to be delivered without error on any other machine on the internet. UDP (User Datagram Protocol) is an unreliable, connectionless protocol for applications that do not want TCP's sequencing or flow control and wish to provide their own, based on the needs of the application. It is used for client-server type request-reply queries and applications in which prompt delivery is more important than accurate delivery, such as speech or video.

The application layer contains protocols like FTP (for file transfers), TELNET (for terminal connections), SMTP (for electronic mail) and DNS (for mapping host names to numerical IP addresses).
Later protocols like NNTP (for news articles) and HTTP (for fetching WWW pages) were added.
Originally developed for the ARPANET, TCP/IP has been implemented on many others networks.

Read 1.4.3 and 1.4.4 to see the reasons why the TCP/IP protocols have become popular and will remain so for a long time to come.
In contrast the OSI model (minus the session and presentation layers) has proven to be very useful for discussing computer networks and protocols. The TCP/IP model for instance does not clearly distinguish the concepts of service, interface and protocol. Therefore a hybrid reference model will be used.

A layered model provides many advantages on the conceptual level like designing, adaptation to new technologies and communication between different type of computers. Implementing a protocol stack in a strictly layered way has also advantages like easier testing and maintenance and it is easier to add new protocols to the stack. Its has disadvantages in terms of efficient use of computer resources like memory and time. Special attention must be paid to reducing the movement of data when splitting of joining data blocks and when adding or removing headers and trailers. Usually the stack or parts of it, have some common data structure and buffering system to handle these operation efficiently.

Read for background information

1.5
1.6
1.7

Specially 1.5.4 Wireless LAN, IEEE802.11, WiFi, is a new and rapid developing technology. As Tanenbaum remarks: "it makes Internet mobile".

Another new wireless development, IEEE802.16, wireless MAN, wireless local loop, is discussed in chapter 4.5. It has potential to cover the "last mile": named after the most expensive part of the traditional telephone system, the individual cables from each home to the 'end office'. It is in direct competition with internet access over cable television, over telephone wires (ADSL) and over 230V power lines.

ATM also had that potential by extending optical fiber to each individual home, it now seems that this will not be done. Fibers might in the future be brought to each home, but then not for ATM only. A possibility might be for ADSL or cable television but then with additional features (video or television on demand, Internet, etc.) added. Also new data and physical layer protocols might be used.

Gewijzigd op 24 januari 2003 door Theo Schouten.