CIS307: Network Architectures

  [Access Networks, Autonomous Systems, Standards, Protocols, Layered Architectures, OSI Architecture, TCP/IP Architecture]

Networks encompass a variety of technologies, are created and maintained by large number of ever changing industries, and must satisfy a significant number of often conflicting requirements. As Comer indicates "No single networking technology is best for all needs". A fundamental aim is to support Universal Service, that is, to allow any two computer to communicate, no matter the technologies they use and the specific networks they are directly connected to, as long as there exists a communication path between them. Internetworking is the ability to communicate across networks, with connection between networks provided at the network layer [see below] by routers (a router helps choose a "good" route from source to destination) or, at the data link layer, by bridges and by switches. An internet is a collection of internetworked networks. The Internet is the name for the global, public internet connecting most networks and using the TCP/IP family of protocols. All the entities connected in a network are called nodes. The computers attached to the network are called end systems, or hosts, or Data Terminal Equipment (DTE). The intermediate nodes of the network are called Intermediate Systems (ISs), or Interface Message Processors (IMPs), or Gateways, or Switches (Bridges and Routers).

Some significant characteristics of networks are:

Access Networks

The end systems connect to the public internet through Access Networks. These are distinguished into:

You are likely to hear of the Last Mile access problem, the difficulty and cost of bringing the internet to its ultimate users in homes and offices. While fiber optics are being used for long links widely and with ever increasing bandwidths and efficiencies, solutions for the last mile are economically improving at a much lower rate.

Autonomous Systems

The Internet is a collection of Autonomous Systems (AS) which are connected by routers. ASs, in turn, are collections of local area networks (LANs) connected by routers. Paraphrasing [RFC1930], an Autonomous System (see also RFC1772) is a set of routers under a single technical administration, using an interior gateway protocol and common metrics to route packets within the AS, and using an exterior gateway protocol like BGP (Border Gateway Protocol, the de facto standard for inter-AS routing [BGP-4]), to route packets to other ASes. Alternatively, an AS is defined as a connected group of one or more IP prefixes run by one or more network operators which has a single well defined routing policy. Where an AS may contain many IP prefixes, an IP prefix should belong to a single AS.

Since these definitions were developed, it has become common for a single AS to use several interior gateway protocols and sometimes several metrics. Even when multiple IGPs and metrics are used, the administration of an AS appears to other ASes to follow a single interior routing plan and presents a consistent picture of what networks are reachable through it.

Autonomous System Numbers (ASNs) are globally unique 16-bit numbers that identify autonomous systems (ASes), and enable an AS to exchange exterior routing information with neighboring ASes.

More information on ASs can be obtained by visiting the American registry for Internet Numbers (ARIN) which assigns the AS numbers, http://whois.arin.net/ or by using the whois program. For example,

    whois -h whois.arin.net ASN-TEMPLE
Also interesting is the DIGEX server.

The Internet routers that connect autonomous systems are called AS Border Routers and they exchange routing information [like advertising that to reach particular IP addresses one has to go to go next to particular ASs] using the BGP protocol, version 4. [The routers that actually transmit AS routing information are called speakers.] In this protocol routers collect and exchange using TCP full path information for reaching other autonomous systems and use this information to carry out routing policies (for instance, making the decision to avoid sending traffic through certain ASs) and build routing tables. The information maintained by a router has a Time-To-Live attribute and it becomes obsolete after it expires. AS Border Routers usually are connected by point-to-point links that support high data rates.
Within a particular autonomous system routers communicate using the OSPF protocol (or using the RIP protocol).

There is a hierarchy of Internet providers. Providers at a tier are peers, i.e. they exchange routing information and forward each other's traffic. Providers at a tier are clients for some provider at the tier above [the default destination], and are servers [the default destination] for some providers at the tier below (to be a client of a server in this context may mean having to pay).

  • A Tier 1 provider has one or more specific routes to any node on the Internet, or at least to peer nodes from which any other node can be reached. That is, it can either transport Internet traffic anywhere in the world over its own LANs or over those accessible to someone else with which it has a mutual service agreement. A Tier 1 provider is usually treated as a single Autonomous System. Tier 1 providers are also called National Service Providers (NSP). NSPs exchange information through fast public gateways called Network Access Points (NAP) or through private peer-to-peer connections.
    Names of some of the tier 1 providers are: - in the USA: UUNET (MCI WorldCom), with 30% of the backbone capacity, AT & T, GTE's Internetworking, Global Crossing, Qwest Communications International, PSINet; - internationally: Telstra, GlobalTeleSystems Group.

  • Tier 2 providers are called "regional aggregators". They collect traffic from Tier 3 sites and, if they cannot satisfy them directly, they pass it on to Tier 1 sites. Typically they provide only transport services. A tier 2 provider may also aggreagate IP network addresses.

  • A Tier 3 provider is the usual "Internet Service Provider" (ISP). ISPs provide transport services and may also provide e-mail and web service.

  • A Tier 4 provider represents the "backbone LAN" of an organization. It is usually a single autonomous system. Its connection to the outside will go to a tier 3 provider, or, for a sufficiently large organization, directly to a tier 2 provider.

  • A Tier 5 provider is at the bottom. It is not an autonomous system but one of the LANs that make up such a system.
  • People distinguish three types of AS:

    Stub AS
    It is connected to only one other AS. For routing purposes it is treated as part of the parent AS.
    Multihomed AS
    It is connected to more than one other AS, but does not allow transit traffic. Internally generated traffic can be routed to any of the connected ASs. It is used in large corporate networks that have a number of Internet connections, but do not want to carry traffic for others.
    Transit AS
    It is connected to more than one other AS and it can be used to carry transit traffic between other AS's.
    Tier 1 and Tier 2 providers are usually Transit AS, Tier 3 providers are usually Transit or Multihomed ASs, and the Tier 4 and 5 providers are usually Stub ASs.

    Here is a high-level view of the internet, from your workstation, up to the content providers such as yahoo and the New York Times.

    Standards, Protocols, Layered Architectures

    Standards and Protocols are used to define representation and interaction modes within a network and to make certain functions generally available. Standards and protocols usually come in groups that work well together and constitute protocol suites or protocol stacks. New standards and protocols are continuously being introduced. They fit within general frameworks called Architectures. Conceptually dominant among such architectures is one established by the International Standards Organization (ISO), which is called the Open Systems Interconnect (OSI). The OSI architecture is not a specific fixed set of protocols and standards, it is the definition of the functional layers of networks and of the protocols and standards that may be used. Of course, in practice, people tend to associate a network architecture with its most popular standards and protocols. Another network architecture that is not as general as the OSI architecture, but that introduced the most used protocols (and it is overwhelmingly the most used), is the TCP/IP Architecture.

    Both the the OSI and the TCP/IP architectures are layered architectures, that is the functionality of the network is decomposed into layers, where a higher level layer uses the services provided by the layer immediately below it and where across a network communicating entities communicate exclusively at the same layer (i.e. if a sender entity at layer i sends a packet P, the receiver entity at layer i will receive P; these two are called peer entities).

    OSI Architecture

    Stallings in his operating systems book [Prentice-Hall 1998] has the following brief characterization for the OSI Layers:
    Physical (Layer 1):
    Concerned with transmission of unstructured bit stream over physical medium; deals with mechanical, electrical, functional, and procedural characteristics to access the physical medium.
    For example, RS-232, SONET [Synchronous Optical NETwork]
    Data Link (Layer 2):
    Provides for the reliable transfer of information across the physical link; sends blocks (frames) with the necessary synchronization, error control, and flow control. It uses physical addresses.
    For example, HDLC [High Level Data Link Control].
    Network (Layer 3):
    Provides upper layers with independence from the data transmission and switching technologies used to connect systems; responsible for establishing, maintaining, and terminating connections. Routing is carried out in this layer, selecting routes, and enforcing them. Addressing is at the logical level, with translation to the physical level.
    For example, IP [Internet Protocol] (connectionless), X.25 (connection oriented).
    Transport (Layer 4):
    Provides reliable, transparent transfer of data between end points; provides end-to-end error recovery and congestions and flow control.
    For example, TCP [Transmission Control Protocol] (connection oriented), UDP [User Datagram Protocol] (connectionless).
    Session (Layer 5):
    Provides the control structure for communication between applications; establishes, manages, and terminates sessions (consisting of one or more connections) between cooperating applications. It may deal with class-of-service (i.e. different quality of service - for example, data expedition, reduced jitter, ..)
    For example, RPC [Remote Procedure Call].
    Presentation (Layer 6):
    Provides independence to the application process from differences in data representation (syntax).
    For example, XDR [eXternal Data Representation].
    Application (Layer 7):
    Provides access to the OSI environment for users and also provides distributed information services.
    For example, telnet, ftp, finger.
    Professor Stafford has used the following diagram to represent the position of various well known protocols in the OSI architecture:
    
    
       application -->    DNS      SMTP      FTP    TELNET    HTTP
                           |         |        |        |        |
                           |         |        |        |        |
                           |         |        |        |        |
                           |         +--------------------------+
                           |                              |
                           |                              |
       transport ---->    UDP                            TCP
                           |                              |
                           |             ICMP             |
                           |              |               |
                           +------------------------------+
                                          |
                                          |
       network ------>                   IP<--------------+
                                          |               |
                          ARP             |               |
                           |              |               |
                           +--------------+               |
                                          |               |
        link   ------>                 Ethernet          PPP
                                          |               |
                                          |               |
        physical ---->                 Ethernet         modem
    
    where: SMTP = Simple Mail Transfer Protocol ICMP = Internet Control Message Protocol ARP = Address Resolution Protocol PPP = Point to Point Protocol

    As you can see from the diagram, there tend to be multiple protocols at each layer, except at the network layer. For this reason people talk of the hourglass structure of the internet protocols and see IP as the king of internet protocols.

    There is a fundamental difference between the lowest three levels (the communication subnet) and the top four levels of the OS architecture. The bottom layers are between directly connected hosts thus they involve all the hosts in a path from sender to receiver. The top four layers are end-to-end protocols, that is, the communication is stated in terms of only the original sender and the final destination, independent of how many intermediate hosts are traversed. Intermediate nodes do not participate at all in the processing of the higher level protocols, to them it is data. [Think in terms of overhead: In the source and target node protocols at all layers are processed. In the intermediate nodes only protocols in the bottom three layers are processed.] This has a direct impact on efficiency: for example, error checking in protocols at the higher level is only done at the sender and receiver, not at each intermediate hosts.

    Three related concepts in discussing layers are Services, Interfaces, and Protocols.
    Services are what a layer provides to the layer above it (the former is the Service Provider and the latter is the Service User). A layer may provide more than one service. For example the transport layer provides a connection-oriented service and a connectionless service. A service will have a "service model" expressed as a set of primitives used to access that service. There are four basic kinds of primitives:

    A Service Data Unit (SDU) is what an entity at layer i+1 in a sender node wants to send to an entity at layer i+1 in a receiver node.
    Interfaces are the set of rules that govern the interactions of entities at layer i+1 and i in a node. When an entity at layer i+1 in a node wants to send an SDU to an entity at layer i+1 in another node it creates an Interface Data Unit(IDU) that will be passed to the layer i in the origin node. The IDU will consist of the SDU plus some control information, for example the length of the SDU.
    Finally a protocol is a specification of how information is actually transfered at a layer from a sender to a receiver. A protocol will pack the data into Protocol Data Units (PDU). It is possible that a SDU passed from layer i+1 to layer i will be sent to receiver fragmented into a number of PDUs.

    Each message (message is the preferred name for the PDU at the session layer and above; at the transport layer segment is preferred; at the network layer datagram and packet are used; at the data link, frame is used; and at the physical layer packet is common) consists of data being transmitted plus information required by the protocol for addressing, error detection, etc. This extra information appears as a header before that data and (may be) a trailer after the data, i.e. the data is encapsulated in the message. [Not all messages have both a header and a trailer. Usually the trailer is not present.] The message sent at layer i will be transmitted as data by the layer below it. Assuming that the layer below can transmit this data as a single message we will have the situation

    Note that the headers and tails constitute transmission overhead, reducing the utilization of the bandwidth of the communication channel. Of course this is only part of the communication overhead: retransmissions and acknowledgements further reduce bandwidth.

    A concept often used in communication is session. It consists of one or more connections. For example, a program on machine A may be involved in communication with a program on machine B, the connection drops due to communication problems. When communication is reestablished the programs continue from where they were in the session using a new connection. An example of a session is the interactions during a remote procedure call. The requestor has to send the request, possibly in multiple messages, the receiver collects them, processes the request, then sends back the results. All in one session.

    The transmission units at different layers may be of different maximum sizes. We have here the same distinction that exists between "logical" and "physical" records in file systems.

    A number of issues should be kept in mind when we analyze a protocol and its implementation. Among them:

    TCP/IP Architecture

    The TCP/IP architecture was developed mainly in the US. It is the one that has the largest number of users. It represents pragmatic solutions to problems as they arose. It involves only five layers: The application layer (same as in OSI), the end-to-end layer[also called transport layer] (TCP or UDP or ...), the internet layer (IP, or ICMP, or ..), the net access layer [also called the network interface layer] (Ethernet, or ATM, or PPP, or SLIP, or ....), and the physical layer.

    ingargio@joda.cis.temple.edu