Professional Documents
Culture Documents
3. Its a cost-effective solution for lightly loaded networks.
4. As against the server based LAN, the users do not have to copy their files to the central location so
that they can be shared.
5. In peer LAN, the disk space and files on your computer becomes a communal property.
Peer networks are good for:
File sharing,
Printer sharing,
E-mail,
Easy installation
They are not good for:
Security,
Organization of data,
Database applications,
Large networks
Server Based LANs
In this network, one computer is dedicated as file server. The Network Operating system on the file
server replaces DOS entirely.
By using the computer completely as a file server and organizing the disk in such a way that it
performs well for large files as well (which DOS cannot do), server-based LANs enable LANs to be
much larger, do more work, increase reliability and give a better performance. Figure below illustrates
a server based LAN.
Server Networks are good for
Centralized file services,
Security,
Archiving,
Organizing data,
Database applications.
They are not good for:
Distributed organizations
Tight budgets
Workstation
Workstation
Workstation
Workstation
Workstation
Workstation
Workstation
Workstation
Workstation
Workstation
File Server
Components of Data Communication System
A data communication system is made up of five components:
1. Message: The message is the information (data) to be communicated. It can consist of text,
numbers, pictures, sound, or video- or any combination of these.
2. Sender: The sender is the device that sends the data message. It can be a computer workstation,
telephone, video camera, and so on.
3. Receiver: The receiver is the device that receives the message. It can be a computer, workstation,
telephone handset, television, and so on.
4. Medium: The transmission medium is the physical path by which a message travels from sender
to receiver. It can consist of twisted pair wire, coaxial cable, fiber-optic cable, laser, or radio waves
(terrestrial or satellite microwave).
5. Protocol: A protocol is a set of rules that govern data communication. It represents an agreement
between the communicating devices. Without a protocol, two devices may be connected but not
communicating, just as a person specking French cannot be understood by a person who speaks
only Japanese.
1.3 Network Software
Protocol Hierarchies
To reduce design complexity, most networks are organized as a series 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. In all networks, the purpose of each layer is to
offer certain services to the higher layer, shielding those layers from the details of how the offered
services are actually implemented.
Layer n on one machine carries on conversation with layer n protocol. Protocol is an agreement
between the communicating parties on how communication is to proceed.
eg. when a woman is introduced to a man she takes her hand ahead. He, in turn may decide either to
shake it or kiss it, depending on whether she has come for a party or for an official meeting.
Violating the rules makes the communication difficult. The entities comprising the corresponding
layers on different machine are called peers. Peers communicate using the protocol.
Step 1:
Step 2:
Step 3:
Step 1:
Step 2:
Step3:
Protocol Protocol
Message
Medium
Sender Receiver
In reality, no data are directly transferred from layer n on one machine to layer n on other machine.
Instead each layer passes data and control information to the layer immediately below it, until the
lowest layer is reached. Below layer 1 is the physical medium through which actual communication
occurs. Virtual communication is shown by dotted lines and physical communication by solid lines.
Between each pair of adjacent layers there is an interface. The interface defines which primitive
operations and services the lower offers to the upper one.
A set of layers and protocols is called as network architecture.
The specifications of architecture must contain enough information to allow an implementer to write
the program or build the hardware for each layer so that it will correctly obey the appropriate protocol.
A list of protocols used by a certain system, one protocol per layer, is called a protocol stack.
eg. Imagine two philosophers (peer processes in layer 3), one of who speaks Urdu and English and one
of who speaks Hindi and Marathi. Since they have no common language, they each engage a translator
(peer processes in layer 3), each of who in turn contacts a secretary (peer processes in layer 2).
Philosopher 1 wishes to convey his affection to his peer. To do so, he passes a message in English
across the 2/3, to his translator, saying How are you?. The translators have agreed on a neutral
language, German, so the message is converted to xyz lmn pqr. The choice of language is the layer 2
protocol and is up to the layer 2 peer processes.
The translator then gives the message to a secretary for transmission, by, for example fax (the layer 1
protocol). When the message arrives, it is translated into Hindi and passed across the 2/3 interface to
philosopher 2. Note that each protocol is completely independent of the other as long as the interfaces
are not changed. The translators can switch from German to say, Hindi, at will, provided that they both
agree, and neither changes this interface with either layer 1 or layer 3. Similarly the secretaries can
switch from fax to email, or telephone without disturbing the other layer. Each process may add some
information intended only for its peer. This information not passed upward to the layer above.
How communication takes place between the layers
Layer 5
Layer 4
Layer 3
Layer 2
Layer 1
Layer 5
Layer 4
Layer 3
Layer 2
Layer 1
Physical Medium
Layer 5 Protocols
Layer 4 Protocols
Layer 3 Protocols
Layer 2 Protocols
Layer 1 Protocols
Layer 4/5 interfaces
Layer 3/4 interfaces
Layer 2/3 interface
Layer 1/2 interface
C1 C2
Layer 5 protocol
M
M H
4
z
M
2
H
3
M
1
H
4
H
3
M
2
H
3
M
1
H
4
H
3
Layer 4 protocol
Layer 3 protocol
M
M H
4
z
A message M is produced by an application process running in layer 5 and given to layer 4 for
transmission. Layer 4 puts a header in front of the message to identify the message and passes the
result the layer 3. The header includes control information, such as sequence number, to allow layer 4
on the destination machine to deliver messages in the right order if the lower layer do not maintain
sequences. It also contains information like size, time etc and control field.
The layer 3 protocols imposes limit on the size of the messages transmitted. Hence layer 2 breaks the
messages into smaller units called packets, putting header of layer 3 in front of each packet.
Layer 3 decides which of the outgoing lines to use and passes the packets to layer 2. The Layer 2 also
adds its own header to each piece along with the trailer and gives it to layer 1 for doing physical
transmission. At the receiving machine the message moves upward, from layer to layer, with headers
being stripped off as it progresses. None of the headers for layers below n are passed up to layer n.
Design Issues for the layers
Every layer needs a mechanism for identifying senders & receivers. Since network is made up of
many computers they can communicate with all the other computers. There should be some means
to specify with whom it wants to talk. Hence, some form of addressing is needed to specify
destination.
Design issue concerned with rules of data transfer:
a. Simplex communication: Data can be traveled only in one direction.
eg. Television, Keyboard uses Simplex communication.
b. Half-duplex communication: Data can be traveled in either direction, but not simultaneously.
eg. Walky Talky uses half duplex communication
c. Full-duplex communication: Data can be traveled in both directions at once.
eg. Telephone system uses full duplex system.
The protocol must determine how many channels are needed for connection. For example, some
networks have two channels: one for normal data & one for control information.
Design issue concerned with error control: Many error-detecting and error-correcting codes are
there, but both ends of connection must agree on which one is being used. There is also need of
some mechanism of acknowledgement.
All the messages are to be numbered to maintain the sequence. So that any of the messages is lost
it can be retransmitted.
There is need of synchronization of fast sender with slow receiver.
All the process cannot accept long messages. There should be some mechanism of breaking long
messages into smaller, transmitting and reassembling back.
Sometimes it is possible that several processes transmit messages into units, which are very small.
Transmitting such small messages on a separate communication line is very expensive. Here all
such small messages are combined together to form a single message, which is heading to a
common destination and it is again broken into smaller messages at the other side.
Interfaces and services
1. The function of each layer is to provide services to the layer above it.
2. The active elements in each layer are called entities. Eg. entities can be software (process) or
hardware (I/O chip).
3. Entities in the same layer on different m/c s are called peer entities.
4. The entities in layer n implement a service used by layer n+1. Layer n is called the service provider
and layer n+1 is called the service user.
5. Services are available at SAPs. The layer n SAPs are places where layer n+1 can access the service
offered. Each SAP has an address that uniquely identifies it.
a. The SAPs in the telephone system are the sockets into which modular telephones can be
plugged, and the SAP addresses are the telephone numbers of these sockets. To call someone
you must know callees SAP address.
b. In the postal system, the SAP addresses are street addresses and the post office box number. To
send a letter, you must know the addressees SAP address.
6. In order for two layers to exchange information, there has to be an agreed upon set of rules about
the interfaces.
7. The layer n+1 entity passes an IDU (Interface Data Unit) to the layer n entity through the SAP.
8. The IDU consists of an SDU (Service Data Unit) and some control information.
9. The SDU is the information passed across the network to the peer entity and then up to layer n+1.
The control information is needed to help the lower layer do its job (eg., the number of bytes in the
SDU) but it is not the part of the data itself.
10. In order to transfer the SDU, the layer n entity may have to fragment it into several pieces, each of
which is given a header and sent as a separate PDU (Protocol Data Unit) such as a packet.
Services
Services offered by each layer to the layer above them are of two types:
SDU ICI
SDU ICI
SAP
IDU
Layer N+1
Interface
Layer N
SAP-Service Access Point
IDU- Interface Data Unit
SDU-Service Data Unit
PDU-Protocol Data Unit
Layer N entities
exchange N PDUs
in their layer N protocol
Header
SDU
N-PDU
1. Connection Oriented It is modeled after the telephone system. To talk to someone you pick up
the phone, dial the number, talk, and then hang up. Similarly, to use a connection-oriented network
service, the service user first establishes a connection, uses the connection, and then releases the
connection. The connection acts like a tube; the sender pushes bits at one end, and the receiver
takes out in the same order at the other end.
2. Connection less Service- It is modeled after postal system. Each message carries the full
destination address, and each one is routed through the system independent of the other. Normally,
when two messages are sent to the same destination, the first one sent is the first one to arrive.
However, it is possible that the first one sent can be delayed so that the second one arrives first.
This is impossible in connection-oriented services.
Reliable Service- They never loose the data. Reliable service is implemented by having the receiver
acknowledge the recipient of each message, so the sender is sure that it is arrived. The
acknowledgement process introduces overhead and delays, which are often worth it but sometimes
undesirable.
eg. File transfer. The owner of the file wants to be sure that all the bits arrive correctly and in the same
order they were sent.
Unreliable Service: Not acknowledged, also called as data-gram services. eg. telegram services do not
sent acknowledgement to the sender. In some situation connection is not necessary but
acknowledgement is necessary like registered post.
Request-reply service: In this service the sender transmits a single data-gram containing a request; the
reply contains the answer. For example, a query to the local library asking for list of books written by
Prof. XYZ. This service is often needed in client-server method.
Service Example
Connection Oriented Reliable message stream Sequence of pages
Reliable byte stream Remote login
Unreliable connection Digitized voice
Connection Less Unreliable data gram Electronic mail
Acknowledged data gram Registered mail
Request Reply Database query
Service Primitives
A service is formally specified by a set of primitives (operations) available to a user or other entity to
access the service. These primitives tell the service to perform some action or report on an action taken
by a peer.
Primitive Meaning
Request An entity wants the service to do some work
Indication An entity is to be informed about an event
Response An entity wants to respond to an event
Confirm The response to an earlier request has come back
The initiating entity does a CONNECT.request, which results in a packet being sent. The receiver then
gets a CONNECT.indication announcing that an entity somewhere wants to set up a connection to it.
The entity getting the CONNECT.indication then uses the proposed connection. Either way, the entity
issuing the initial CONNECT.request finds out what happened via a CONNECT.confirm primitive.
CONNECT is a confirmed service because explicit response is required, where as DISCONNECT is
unconfirmed service because no response is required.
Consider the example of a simple connection-oriented service with eight service primitives as follows:
1. CONNECT.request Request a connection to be established.
2. CONNECT.indication Signal the called party.
3. CONNECT.response Used by the callee to accept/reject calls.
4. CONNECT.confirm Tell the caller whether the call was accepted.
5. DATA.request Request that data be sent.
6. DATA.indication Signal the arrival of data.
7. DISCONNECT.request Request that a connection be released.
8. DISCONNECT.indication Signal the peer about the request.
Consider the steps required to call Vinish on the telephone and invite him to your house for tea.
1. CONNECT.request Dial Vinishs phone number.
2. CONNECT.indication His phone rings.
3. CONNECT.response He picks up the phone.
4. CONNECT.confirm You hear the ringing stop.
5. DATA.request You invite him to tea.
6. DATA.indication He hears your invitation.
7. DATA.request He says he would be delighted to come.
8. DATA.indication You hear his acceptance.
9. DISCONNECT.request You hang up the phone.
10. DISCONNECT.indication He hears it and hangs up too.
Protocols
In computer networks, communications occurs between entities in different systems. An entity is
anything capable of sending or receiving information. Examples include application programs, file
transfer packages, browsers, and database management systems, and electronic mail software. A
system is a physical object that contains one or more entities. Examples include computers and
terminals.
But two entities cannot just send bit streams to each other and except to be understood. For
communication to occur, the entities must agree on a protocol.
In data communications, a protocol is a set of rules (conventions) that govern all aspects of
information communication.
A protocol defines what is communicated, how it is communicated, and when it is communicated. The
key elements of a protocol are syntax, semantics, and timing.
Syntax: Syntax refers to the structure of the data, meaning the order in which they are presented.
For example, a simple protocol might expect the first eight bits of data to be the address of the
sender, the second eight bits to be address of the receiver, and the rest of the stream to be the
message itself.
Semantics: Semantics refers to the meaning of each section of bits. How is a particular pattern to
be interpreted, and when action is to be based on that interpretation? For example, does an address
identify the route to be taken or the final destination of the message?
Timing: Timing refers to two characteristics: when data should be sent and how fast they can be
set. For example, if a sender produces data at 100 Mbps but the receiver can process data at only 1
Mbps, the transmission will overload the receiver and data will be largely lost.
Standards
With so many factors to synchronize, a great deal of coordination across the nodes of a network is
necessary if communication is to occur at all, let alone accurately or efficiently. Where there are no
standards, difficulties arise. Automobiles are an example of non-standardized products. A steering
wheel from one make or model of car will not fit into another model without modification. A standard
provides a model for development that makes it possible for a product to work regardless of the
individual manufacturer.
Standards are essential in creating and maintaining an open and competitive market for equipment
manufactures and in guaranteeing national and international interoperability of data and
telecommunications technology and processes. They provide guidelines to manufacturers, vendors,
government agencies, and other services providers to ensure the kind of interconnectivity necessary in
todays marketplace and in international communications.
Data Communication standards fall into two categories: de facto (meaning by fact or by
convention) and de jure (meaning by law or by regulation).
De jure standards are those that have been legislated by an officially recognized body. Standards
that have not been approved by an organized body but have been adopted through widespread use
are de facto standards. De facto standards are often established originally by manufactures seeking
to define the functionality of a new product or technology.
De facto standards can be further subdivided into two classes: proprietary and nonproprietary.
Proprietary standards are those originally invented by a commercial organization as a basis for the
operation of its products. They are called proprietary because the company that invented them
wholly owns them. These standards are also called closed standards because they close off
communications between systems produced by different vendors. Nonproprietary standards are
those originally developed by groups or committees that have passed them into the public domain;
they are also called open standards because they open communications between different systems.
Standards
De facto (by fact)
De jure (by law)
Categories of standards