Table of Contents Architecture and Protocols
TCP/IP Tutorial and Technical Overview

2.1 Architectural Model

The TCP/IP protocol suite is named for two of its most important protocols: Transmission Control Protocol (TCP) and Internet Protocol (IP). Another name for it is the Internet Protocol Suite, and this is the phrase used in official Internet standards documents. We shall use the more common term TCP/IP to refer to the entire protocol suite in this book.

2.1.1 Internetworking

The first design goal of TCP/IP was to build an interconnection of networks that provided universal communication services: an internetwork, or internet. Each physical network has its own technology-dependent communication interface, in the form of a programming interface that provides basic communication functions (primitives). Communication services are provided by software that runs between the physical network and the user applications and that provides a common interface for these applications, independent of the underlying physical network. The architecture of the physical networks is hidden from the user.

The second aim is to interconnect different physical networks to form what appears to the the user to be one large network. Such a set of interconnected networks is called an internetwork or an internet.

To be able to interconnect two networks, we need a computer that is attached to both networks and that can forward packets from one network to the other; such a machine is called a router. The term IP router is also used because the routing function is part of the IP layer of the TCP/IP protocol suite (see Layered Protocols).

Figure - Internet Examples shows two examples of internets.

Figure: Internet Examples - Two interconnected sets of networks, each seen as one logical network.

The basic properties of a router are:

To be able to identify a host on the internetwork, each host is assigned an address, the IP address. When a host has multiple network adapters, each adapter has a separate IP address. The IP address consists of two parts:

IP address = <network number><host number>

The network number part of the IP address is assigned by a central authority and is unique throughout the Internet. The authority for assigning the host number part of the IP address resides with the organization which controls the network identified by the network number. The addressing scheme is described in detail in Addressing.

2.1.2 Internet Architecture

The TCP/IP protocol suite has evolved over a time period of some 25 years. We will describe the most important aspects of the protocol suite in this and the following chapters. Layered Protocols

TCP/IP, like most networking software, is modelled in layers. This layered representation leads to the term protocol stack which is synonymous with protocol suite. It can be used for situating (but not for comparing functionally) the TCP/IP protocol suite against others, such as SNA and Open System Interconnection (OSI). Functional comparisons cannot easily be extracted from this, as there are basic differences in the layered models used by the different protocol suites.

The Internet protocols are modeled in four layers:

Figure: Architectural Model - Each layer represents a :q.package:eq. of functions.

is a user process cooperating with another process on the same or a different host. Examples are TELNET (a protocol for remote terminal connections), FTP (File Transfer Protocol) and SMTP (Simple Mail Transfer Protocol). These are discussed in detail in Application Protocols.
provides the end-to-end data transfer. Example protocols are TCP (connection-oriented) and UDP (connectionless). Both are discussed in detail in Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
also called the internet layer or the network layer, the internetwork provides the ``virtual network'' image of internet (that is, this layer shields the higher levels from the typical network architecture below it). Internet Protocol (IP) is the most important protocol in this layer. It is a connectionless protocol which doesn't assume reliability from the lower layers. IP does not provide reliability, flow control or error recovery. These functions must be provided at a higher level, either at the Transport layer by using TCP as the transport protocol, or at the Application layer if UDP is used as the transport protocol. IP is discussed in detail in Internet Protocol (IP). A message unit in an IP network is called an IP datagram. This is the basic unit of information transmitted across TCP/IP networks. It is described in IP Datagram but we shall refer to it in this section to show how the different TCP/IP layers relate to an internet.
Network Interface
also called the link layer or the data-link layer, the network interface layer is the interface to the actual network hardware. This interface may or may not provide reliable delivery, and may be packet or stream oriented. In fact, TCP/IP does not specify any protocol here, but can use almost any network interface available, which illustrates the flexibility of the IP layer. Examples are IEEE 802.2, X.25 (which is reliable in itself), ATM, FDDI, Packet Radio Networks (such as the AlohaNet) and even SNA. The possible physical networks and interfaces the IBM TCP/IP products can connect to are discussed in Connections.

The actual interactions between the layers are shown by the arrows in Figure - Architectural Model. A more detailed ``layering model'' is shown in Figure - Detailed Architectural Model.

Figure: Detailed Architectural Model Bridges, Routers and Gateways

Forming an internetwork by interconnecting multiple networks is done by routers. It is important to distinguish between a router, a bridge and a gateway.

Interconnects LAN segments at the Network Interface layer level and forwards frames between them. A bridge performs the function of a MAC relay, and is independent of any higher layer protocol (including the Logical Link protocol). It provides MAC layer protocol conversion, if required. Examples of bridges are:

A bridge can be said to be transparent to IP. That is, when a host sends an IP datagram to another host on a network connected by a bridge, it sends the datagram directly to the host and the datagram ``crosses'' the bridge without the sending host being aware of it.

Interconnects networks at the internetwork layer level and routes packets between them. The router must understand the addressing structure associated with the networking protocols it supports and take decisions on whether, or how, to forward packets. Routers are able to select the best transmission paths and optimal packet sizes. The basic routing function is implemented in the IP layer of the TCP/IP protocol stack. Therefore any host or workstation running TCP/IP may be used as a router. However, dedicated routers such as the IBM 6611 Network Processor provide much more sophisticated routing than the minimum function implemented by IP. Because IP provides this basic routing function, the term ``IP router'', is often used. Other, older, terms for router are ``IP gateway'', ``Internet gateway'' and ``gateway''. The term gateway is now normally used for connections at a higher level than the router level.

A router can be said to be visible to IP. That is, when a host sends an IP datagram to another host on a network connected by a router, it sends the datagram to the router and not directly to the target host.

Interconnects networks at higher levels than bridges or routers. A gateway usually supports address mapping from one network to another, and may also provide transformation of the data between the environments to support end-to-end application connectivity. Gateways typically limit the interconnectivity of two networks to a subset of the application protocols supported on either one. For example, a VM host running TCP/IP may be used as an SMTP/RSCS mail gateway.

Note: The term ``gateway'', when used in this sense, is not synonymous with ``IP gateway''.

A gateway can be said to be opaque to IP. That is, a host cannot send an IP datagram through a gateway: it can only send it to a gateway. The higher-level protocol information carried by the datagrams is then passed on by the gateway using whatever networking architecture is used on the other side of the gateway.

Closely related to routers and gateways is the concept of a firewall or firewall gateway which is used to restrict access from the Internet to a network or a group of networks controlled by an organization for security reasons. See Firewalls for more information on firewalls. IP Routing

Incoming datagrams will be checked to see if the local host is the IP destination host:

The datagram is passed to the higher-level protocols.
The datagram is for a different host. The action depends on the value of the ipforwarding flag.
The datagram is treated as an outgoing datagram and is routed to the next hop according to the algorithm described below.
The datagram is discarded.

In the internet protocol, outgoing IP datagrams pass through the IP routing algorithm which determines where to send the datagram according to the destination IP address.

This base algorithm, needed on all IP implementations, is sufficient to perform the base routing function.

As noted above, a TCP/IP host has basic router functionality included in the IP protocol. Such a router is adequate for simple routing, but not for complex networks. The protocols needed in complex cases are described in Routing Protocols.

The IP routing mechanism combined with the ``layered'' view of the TCP/IP protocol stack, is represented in Figure - Internet Router. This shows an IP datagram, going from one IP address (network number X, host number A) to another (network number Y, host number B), through two physical networks. Note that at the intermediate router, only the lower part of the TCP/IP protocol stack (the internetwork and the network interface layers) are involved.

Figure: Internet Router - The router function is performed by the IP protocol.

Table of Contents Addressing