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:
-
Extent: The physical space covered by the network: Local Area
Network (LAN), covering hundred of yards up to a few miles; Metropolitan
Area Networks (MAN), covering up to a few tens of miles; and Wide
Area Networks (WAN), possibly covering our planet.
More recently a new type of network has made its appearance: Personal
Area Networks (PAN). It is a (usually) wireless network around a person
(a few meters) involving devices like a computer, telephone, PDA,
connecting them to each other and, possibly, to larger networks.
Bluetooth is one of the technologies used in these networks.
-
Ownership: Who owns the network: Public, owned by a state
licensed (and state regulated)entity that will sell
services to users; and Private, owned
fully by a company for its private use (it may use cables leased by a service
provider). A hybrid of the two is represented by Virtual Private Networks,
where private sites are connected with each other using
special boxes and protocols and public lines.
The security of the data transmitted through the public lines
can be guaranteed with encryption and routing restrictions.
Also the quality of service, things like minimum data rate and maximum latency
, may be guaranteed in a virtual private network.
-
Service: The way information is exchanged between users: connection-oriented
and connectionless. In the former case a connection is established
between the communicating agents and on that connection messages are exchanged
(the connection can be persistent, i.e. fixed usually in hardware,
and switched, i.e. that can be set/reset rapidly with commands.).
In the latter instead each message is treated as a free standing entity
(datagram). When a connection is established, the connection
receives an id or address that is used for routing the packets
involved in the connection.
Related concepts at the communication level are circuit
switched and packet switched. In the former the circuit is set
at the wire level [the wire can be multiplexed among circuits
using FDM or TDM] and communication between
interlocutors always follows the same path. In the latter, individual
packets follow their own independent routes,
or, if a virtual circuit is set for the duration of the
connection, they follow the same virtual circuit route.
-
Quality of Service(QoS):
Here we refer to things like delays, reliability,
jitter, and throughput. Delays can be due to various causes, we have
propagation delay (time for transfers "on the wire"), switching
delay (time to move across switches, bridges, routers), queueing
delay (time waiting queued at a node waiting for a transmission channel
to become available), access delay (time to wait to insert a message,
as in Ethernet, onto a shared medium). Jitter, that is the
variation in the duration of delays, such variation is or not significant
depending if we are sending data in a backup (it is not), or in a real
time-application (it is), or we transmit voice or video (it is).
Throughput,
that is the data rate at which information is actually transmitted.
Reliability: that is, the availability of service and the
infrequency/absence of errors. Reliability, defined as
Guaranteed Uptime [thanks to Colon
for bringing it up], is
measured either as percent of the time when a service is up, or in days
per year when
the service is available. For example we can say that the guaranteed
uptime is 99%, or more usually, 361.35/365 days. Notice that at 99%
guaranteed uptime the service will not be available for over three days,
much longer than people like. A more usual guaranteed uptime is
99.9% or 364.64/365 days.
The end systems connect to the public internet
through Access Networks.
These are distinguished into:
- Residential Access Network: connects an end system located in a home.
It uses mostly the following technologies
- A telephone line (POTS - Plain Old Telephone System - twisted copper pair)
and a modem. The data rate, when using standard analog technology and modems,
is less than 56Kbps. It is a non shared line.
The line from the home to a telephone company's Central Office is
called a Local Loop.
The place where you reach your Internet Service Provider (ISP) is called
a Point Of Presence (POP).
- Using the telephone line, Asymmetric Digital Subscriber Line (ADSL)
with a modem. Downstream
data rate is more than 1Mbps and the upstream data rate is a few hundreds
of Kbps. It is a non shared medium. It includes a separate frequency band
to support the traditional phone service.
- Hybrid Fiber Coaxial Cable (HFC) and a cable modem. It is the cable we use
for our televisions. It is with different data rates in the two directions:
downstream from center to home, less than 8Mbps; upstream from the home,
less than 1Mbps. It is a shared medium, so conflicts may arise in the
upstream direction.
- Institutional Access Network: connects an end system located within
an enterprise, say, a university or a business. It uses Local Area Networks
(LANs) with the Ethernet technology, 10Mbps Ethernet, 100Mbps Ethernet,
even 1Gbps Ethernet.
- Mobile Access (Wireless) Networks: connects a movable system to a network.
It uses radio frequencies. IEEE 802/11b is a technology
for wireless LAns between an access point (a device that is connected someway
to the internet) and, through the air, up to 40 cards connected to computers.
The distance allowed between access point and cards is < 200 feet, and the
total data rate through the access point is 11Mbps. Other technologies you
are likely to hear about in this context are Bluetooth and HomeRF.
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.
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 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).
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:
- Request: A requesting entity asks for a service.
- Indication: A responding entity receives a request for service.
- Response: A responding entity responds to a request.
- Confirm: A requesting entity receives a response to a prior request.
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:
-
Framing: How do we recognize the beginning and end of a message
(or packet, or frame, or ..);
-
Flow Control: How do we make sure we don't send too much information
to the receiver so that it cannot handle it and has to "drop it on the
floor"; it is normally managed by the receiver that informs the sender
about how much data it is ready to accept;
-
Congestion Control: How do we make sure that we don't have too many
messages trying to get into a communication channel. Thus causing delays
and perhaps lost packets; it is normally managed by the sender, and possibly
by the routers;
-
Multiplexing: How a single communication channel can be shared for
more than one conversation;
-
Addressing: How do interlocutors address each other [host
interfaces are known by their IP address (a 32 bit integer);
unfortunately in ethernet the address understood by the hardware is the
Ethernet address (a 48 bit integer) of the connector; thus there is need
of a way to translate from IP to Ethernet addresses. In general, this requires
an address resolution protocol (ARP is such a protocol).
-
Error Detection and Correction: what we do to detect if an error
has occurred in transmission and how to correct it (recover from it).
-
Fragmentation: One message at a layer may have
to be fragmented over multiple messages at a lower layer.
A layer may be able to accept messages of length
N, but the implementation of the layer in terms of a protocol at the layer
below may accept only messages of length M, with M < N. Thus the original
layer must be able to fragment the original message into a number of messages
at the lower level. These fragment may then be sent across different routes
and the receiver will have to worry about missing fragments, incorrect
received order, in recombining them into the correct received message.
This problem occurs in particular between the network layer (IP protocol)
and the data link layer, where the IP packet needs to be split into a number
of fragments. Maximum Segment Size (MSS) is the minimum maximum size of
the segments used at different layers in a connection (so if at a layer
the maximum segment is 4096 bytes and at another it is 1500,
then the MSS is 1500).
The opposite situation may also occur: At the data link layer with
Ethernet we have messages of up to 1500 (+26 of overhead) bytes.
At the network layer we
may have a limit of 128 bytes. [Or the data link unit may be 53 bytes...]
As we need to worry about the maximum sizes in different layers, we need
also to worry about the different maximum sizes allowed by the different
links that messages will traverse. So one may talk of a path maximum size.
If we send packets of at most that size, they will not be fragmented
on the way.
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