COM 416 Computer Networks - Fall 2007: TH TH TH

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

COM 416 Computer Networks – Fall 2007

Lecture Notes #1

1. INTRODUCTION

In the past three centuries we had these major events:

● 18th : Industrial Revolution


● 19th: Age of Steam Engine
● 20th: Age of Information

In the 21st century much effort on the development of computer networks, once following benefits realized:

● Resource Sharing: Shared printers


● Information Sharing: E-mail
● High Reliability: Multiple copies of files in case any computer failure
● Saving Money: Networked PC’s can have better price/performance ratio than Mainframes.
● Felxibility: Easy to add more computers as load increases.

Computer Networks, which can be defined as; An interconnected collection of autonomous computers. Interconnected
basically stresses the issue of information exchange and autonomous means computers have no master-slave relation.
Connection can be via copper wire, laser, microwave, and communication satellites. Distributed systems are also
similar to networks if we consider hardware issues. But the distinction is that, in a distributed system users are not
aware that there are multiple processors, system looks like virtual uniprocessor and all nodes are under the control of
the master node. With a network, a user must explicitly log onto one machine, explicitly submits job remotely,
explicitly move files around and generally handle all the network management personally. Often a layer software on
top operating system, called middleware is responsible for implementing distributed system model. WWW is a well
known example of a distributed system, in which everything looks like a document (Web page).

The following figure shows us general structure of a


network. Here we have hosts (computers) connected by
LAN (Local Area Network). Subnet consists of routers
(switching nodes) and transmission lines. Routers are
specialized machines (computers with some kind of
specialized software) that store data about the topology
of the network and forwards messages towards
destination.
1.1 USES OF COMPUTER NETWORKS
Let us see some examples of why people are interested in computer networks and what
they can be used for.

1.1.1 Business Applications


Many companies utilize computers for inventories, doing payroll, and monitoring production. The issue here is
resource sharing, aiming to make all programs, equipment and especially data available to anyone on the network. To
achieve this companies generally store data on powerful computer called server. System administrator maintains the
system. Employees generally have desktop systems called clients, to access remote data on the server. In figure 1-1 you
can see a sample illustration of such client-server model.
Same model is employed when a person accesses web
page on the WWW. Web server being the server and
the user’s PC being the client. Servers generally can
handle large number of clients. In the client-server
model we can see two processes involving, one on the
server and one on the client machine. Client process
sends a message over network to the server process.
Then client waits for answer. The server process gets
the request, performs the requested work or looks up
the requested data and sends back a reply. Figure 1-2
shows messages.

The second goal is communication in the company. E-mail is a good example application. Thirdly companies can
communicate with other companies. A fourth goal is doing commerce over internet, which is called e-commerce.

1.1.2 Home Applications


We can list four types of popular uses of the Internet for home users.
Access to remote info: WWW

Person-to-person communication: E-mail,


chat room applications, talk. Worldwide
newsgroups. Peer-to-peer communication, in
which individuals who form a loose group can
communicate with others in the group, as in
figure 1-3. This type of communication is
different from the client-server model. Every
person can, in principle, communicate with one
or more other people; there is no fixed division
into clients and servers.

Interactive entertainment: Video on Demand, Games


Electronic commerce: E-commerce as explained above.
The most popular e-commerce forms are listed in Fig. 1-4.

1.1.3 Mobile Users


Mobile computers, such as notebooks, PDAs, today provide users portable office environment. People on the road
often want to use their portable equipment to send and receive phone calls, faxes, and e-mail, surf the Web, access
remote files, and log on to remote machines. So there is a lot of interest in wireless networks.

Here we have to understand difference between mobile computing and wireless networking. Fig. 1-5 can summarize
the situation. Mobility applies to equipments that are used. However wireless networks to the transmission medium.

1.1.4 Social Issues


The widespread introduction of networking has introduced new social, ethical, and political problems. Students can do
research on censoring, security, privacy concepts for more information on the social issues.

1.2 NETWORK HARDWARE


Let us look into some technical stuff related to networks. Networks can be classified depending on the certain
dimensions. But these two stands out:

Transmission technology: Generally there are two types of transmission technology that are in widespread use.
Broadcast links and Point-to-point links.
Broadcast networks have a single communication channel that is used by all the machines on the network. Short
messages, called packets in certain contexts, sent by any machine are received by all the others. An address field within
the packet specifies the intended recipient. Upon receiving a packet, a machine checks the address field. If the packet is
destined to that machine it is processed otherwise ignored. In this fashion such systems allow the possibility of
addressing a packet to all the other machines, by using special code in the address field. This mode of operation is
called broadcasting. Some broadcast systems also support transmission to a subset of the machines, which is called
multicasting. One possible scheme is to reserve one bit to indicate multicasting. The remaining n-1 address bits hold a
group number. Each machine can “subscribe” to any or all of the groups. When a packet is sent to a certain group, it is
delivered to all machines subscribing to that group.
In contrast point-to-point networks consist of many connections between individual pairs of machines. In this type of
network packets may go through one or more intermediate machines while they go from their source to the destined
machine. Often multiple routes, of different lengths, are possible, so finding good ones is important in point-to-point
networks. Generally smaller, geographically localized networks tend to use broadcasting, whereas larger networks
usually are point-to-point. Point-to-point transmission with one sender and one receiver is sometimes called unicasting.
Scale: You can see in figure 1-6 a classification of
interconnected processors by their physical size.
At the top are the personal area networks,
networks that are meant for one person. For
example, a wireless network connecting a
computer with its mouse, keyboard, and printer is
such. The worldwide Internet is a well-known
example of an internetwork, network of networks
in other words.

1.2.1 Local Area Networks


LANs are privately-owned networks within a single building or campus of up to a few kilometers in size. LANs can be
distinguished from other networks by three characteristics:

● Size: They are restricted in size, so worst-case transmission time is bounded and known in advance. This
knowledge can help designers.
● Transmission technology: All the machines can be connected to a single cable. Traditional LANs have speed
of 10Mbps to 100Mbps, have low delay (micro/nano seconds), and low error rate. Newer LANs operate up to
10Gbps. In our text book 1Mbps = 1,000,000 bits/sec and 1Gbps = 1,000,000,000 bits/sec.
● Topology: In figure 1-7 you can see two types of topologies. In bus network, at any time at most one machine
is the master and is allowed to transmit. All others should refrain from sending. A centralized or distributed
arbitration mechanism is required to resolve conflicts when two or more machines try to transmit
simultaneously. IEEE 802.3, or as we know Ethernet is a bus-based broadcast network with decentralized
control, usually operating at 10Mbps to 10Gbps. Machines can transmit whenever they want to, if two or more
packets collide, each machine just waits a random time and tries again later.

A second type of broadcast system is the ring. In a ring, each bit propagates around its own, not waiting for the rest of
the packet to which it belongs. Again here we need an arbitration mechanism. One good example is IEEE 802.5,
known as IBM token ring. It is ring based LAN operating at 4 and 16 Mbps. Token here is a special packet circulating
the network. Any machine that receives token has right to send data. Sending machine holds the token till it gets the
data back, since anything on the network circulates. Then sender releases toke back to network. Sender also puts
special address information into the data it transmits. Any machine that has nothing to send simply passes the token to
next machine. Broadcast networks can be further divided into static and dynamic, depending on how the channel is
allocated. For the static allocation typically there is discrete time units dedicated to each station. Each station sends
round-robin fashion when its time slot comes. So when a station, machine, or host has nothing to send channel capacity
is wasted. For that reason generally dynamic channel allocation is used. In dynamic scheme allocation can either be
centralized or decentralized. In centralized allocation bus arbitration unit determines who goes next. The unit accept
requests and depending on the certain algorithm makes decision. In the decentralized channel allocation method, there
is no unit for deciding who will go next. Each machine makes decision by itself. In case of collisions certain waiting
algorithms are used, that in the following chapters we will see them in more detail.
1.2.2 Metropolitan Area Networks

MANs cover cities. Cable TV can be good example.


Figure 1-8 shows us typical MAN system based on
cable TV.

1.2.3 Wide Area Networks

WANs span large geographical areas, generally country


or continent. In this type of networks we have hosts
owned by the customers, and subnet owned by
telephone company or ISP (Internet Service Provider).
Subnet has two distinct components; transmission lines
and routers. Routers are switching elements,
specialized computers that connect three or more
transmission lines. Figure 1-9 shows us typical WAN.

Generally when a process on certain machine wants to communicate to another process on other machine, it sends a
message. Sender cuts messages into pieces called packets. Packets one by one injected into network. Each packet
generally has sequence number. And receiver reassembles packets into message. Figure 1-10 shows us stream of
packets, traveling from sender to receiver. Subnets are organized according to the principle that called store-and-
forward or packet-switched subnet. When packets are small and all the same size, they are often called cells. We can
also see from the figure that routers in the subnets make decision based on certain routing algorithm to optimize
transmission. In chapter 5 we will study this routing process.

Some WANs use satellite systems. Routers have antennas to communicate with satellites.

1.2.4 Wireless Networks


We have today three main categories of wireless networks:

● System interconnection : Bluetooth as we see in figure 1-11a connecting PC peripherals.

● Wireless LANs : As in figure 1-11b machines with radio modems communicating via antenna to other
system geographically being far away. These machines, if they are close enough can also form peer-to-
peer configuration. Standard for wireless LANs called IEEE 802.11 today. In certain sense, cellular
wireless networks are like wireless LANs, except that the distances involved are much greater and bit
rates much lower. Wireless LANs can operate up to 50Mbps over distances of tens of meters. Cellular
systems operate below 1 Mbps, but the distance between the base station and the computer or telephone
is measured in kilometers rather than meters.

● Wireless WANs : In addition to these low-speed networks, high-bandwidth wireless WANs are also
being developed. The initial focus is high-speed wireless Internet access from homes and businesses,
bypassing the telephone system. This service often called local multipoint distribution service. A
standard, IEEE 802.16, has also been developed.

1.2.5 Home Networks


The idea here is that in the future most homes will be set up for networking. Every device in the home will be capable
of communicating with every other device, and all of them will be accessible over the Internet. Many devices are
capable of being networked:

• Computers (desktop PC, PDA, shared peripherals


• Entertainment (TV, DVD, VCR, camera, stereo, MP3)
• Telecomm (telephone, cell phone, intercom, fax)
• Appliances (microwave, fridge, clock, furnace, airco)
• Telemetry (utility meter, burglar alarm, babycam).

1.2.6 Internetworks
Many networks exist in the world, often with different hardware and software. To make connection among different
types of networks special machines, gateways, utilized. Gateways are like translators, they provide necessary
translations in terms of both software and hardware. A collection of interconnected networks is called an internetwork
or internet. Today’s Internet (with “I”) is one specific internet.

1.3 NETWORK SOFTWARE


The first computer networks were designed with the hardware as the main concern and the software as an afterthought.
This strategy no longer works. Network software is now highly structured. In the following sections we will examine
the software structuring technique in some detail

1.3.1 Protocol Hierarchies

To reduce their design complexity, most networks organized as a stack of layers or levels, each one built upon the one
below it. The number of layers, the name of each layer, the contents of each layer, and the function of each layer differ
from network to network. Each layer offers service to the layer above it and in that way shields the level above it from
the details of the levels below. Layer n on one machine can communicate with the layer n on another machine. The
rules and conventions of such conversation are collectively called layer n protocol. Basically, a protocol is an
agreement between the communicating parties. A five-layer network is illustrated in figure 1-13. The entities
comprising the corresponding layers on different machines are called peers. Peers can be processes, hardware devices,
or even human beings. In reality, no data directly transferred from layer n on one machine to layer n on another
machine. Instead each layer passes data and control info to the layer just below, until physical medium reached. Below
layer 1 is the physical medium through which actual communication occurs. In figure 1-13 dotted lines shows virtual
communication and solid lines shows physical communication. Between layers, interface, defines which primitive
operations and services the lower layer makes available to the upper one.
A set of layers and protocols is called network architecture. A list of protocols used by a certain system is called
protocol stack (one protocol per layer). Figure 1-15 shows us how message M from layer 5 of one machine can be sent
to layer 5 of another machine. Here we can see that each layer attaches a special header to the message and if there is
any need message M can be divided into smaller messages. In our example layer 3 divides M into M1 and M2. You
can see that layer 2 attached trailer T2 into message data. On the receiver side all these processes reversed, headers
trailers stripped and message parts reassembled. Headers and trailers are special data for associated layers giving info
about the nature of the message.

The peer process abstraction is crucial to all network design. In that way big network project can be broken down into
smaller manageable design problems.

1.3.2 Design Issues for the Layers


● Addressing: Some form of addressing is needed in order to specify a specific destination.
● Error Control: Since communication circuits are not perfect wee need some kind of
error-detection and error-correcting codes.
● Flow Control: Some times sender and receiver have different speeds. Sender could be
faster than receiver. In that case data loss can happen.
● Multiplexing: Some times it may not be possible to set up separate connection for each pair
of communicating processes. In such cases same connection can be used for multiple,
unrelated conversations. This is multiplexing.
● Routing: When there are multiple paths between source and destination, a route must
be chosen. This requires some kind of decision making algorithm based on certain criteria.
This topic is called routing.

1.3.3 Connection-Oriented and Connectionless Services


Layers can offer two different types of service to the layers above them: connection-oriented and connectionless.
Connection-oriented service is modeled after the telephone system. First connection is established, connection is used
and finally connection is released. So in this type of communication certain parameters related to connection, such as
maximum message size, quality of service negotiated. Yet there is an overhead in the start, it takes time to establish
connection. Connectionless service is modeled after the postal system. Each message carries full destination address,
and each one is routed through the system independent of all the others. For each case you have different qualities of
service possible. Reliability refers to whether data may be lost or out of sequence, not corrupted. In reliable systems
receiver acknowledges each data reception, so sender can know that data is received. In figure 1-16 we can see
possibilities of services in this context. Unreliable connectionless service is often called datagram service, after
telegram service. They both do not send acknowledgements.

1.3.4 Service Primitives

1.3.5 The Relationship of Services to Protocols


Services and protocols are distinct concepts. A service is a set of primitives (operations) that a layer provides to the
layer above it. A protocol in contrast, is a set of rules governing the format and meaning of the packets, or messages
that are exchanged by the peer entities within a layer. In other words services relate to the interfaces between layers as
in the figure 1-19. In contrast protocols relate to the packets sent between peer entities on different machines.

1.4 REFERENCE MODELS

In this section we will look at two important network architectures, OSI reference model and TCP/IP reference model.
OSI model designed before implemented but practically could not be very successful. And in the case of TCP/IP it was
the opposite. TCP/IP implemented before protocols designed. But in real life it was more successful.
1.4.1 The OSI Reference Model
OSI model has seven layers. This principles followed in the design of OSI layers:
1. A layer should be created where a different abstraction is needed.
2. Each layer should perform a well-defined function.
3. The function of each layer should be chosen with an eye toward defining internationally standardized protocols.
4. The layer boundaries should be chosen to minimize the information flow across the interfaces.
5. The number of layers should be chosen carefully. Very few will make layers big and design hard. Yet too many
will introduce overheads.

● The Physical Layer: Transmits bits.


● The Data Link Layer: Breaks data into packets. Acknowledgements.
● The Network Layer: Controls operation of the subnet. Does routing.
● The Transport Layer: Reliability of exchange. Accepts data from session, chops into pieces, arranges for
reliable transport of pieces between hosts. Flow control.
● The Session Layer: Handles the flow of information (duplex, simplex) in a session, provides synchronization
and coordination services (check pointing, token management).
● The Presentation Layer: Concerned with syntax of data communication.
● The Application Layer: Knows how to prompt user. Email, HTTP, file transfer.

1.4.2 The TCP/IP Reference Model

1.4.3 A Comparison of the OSI and TCP/IP Reference Models

Concepts central to the OSI model

• Services
• Interfaces
• Protocols

1.4.4 A Critique of the OSI Model and Protocols

1.4.5 A Critique of the TCP/IP Reference Model

Problems:

• Service, interface, and protocol not distinguished


• Not a general model
• Host-to-network “layer” not really a layer
• No mention of physical and data link layers
• Minor protocols deeply entrenched, hard to replace

1.5 EXAMPLE NETWORKS


1.5.1 The Internet
1.5.2 Connection-Oriented Networks: X.25, Frame Relay, and ATM
1.5.3 Ethernet
1.5.4 Wireless LANs: 802.11
1.6 NETWORK STANDARDIZATION
1.6.1 Who's Who in the Telecommunications World
1.6.2 Who's Who in the International Standards World
1.6.3 Who's Who in the Internet Standards World
1.7 METRIC UNITS
1.8 OUTLINE OF THE REST OF THE BOOK
1.9 SUMMARY

You might also like