Vinodkumar Computer Networks
Vinodkumar Computer Networks
ON
COMPUTER NETWORKS
Dr.J.Vinoth kumar
Assistant Professor/ECE
SCSVMV University
Introduction
Networks use Distributed processing, in which a task is divided among multiple computers.
Advantages of Distributed processing are
Security/ Encapsulation
Distributed data bases
Faster problem solving
Security through Redundancy
Collaborative processing
Network Criteria
Performance:
The performance can be measured in many ways and depends on number of factors.
Number of users
Type of transmission medium
Hardware
Software
Reliability
Frequency of failure
Recovery time of a network after a failure.
Catastrophe.
Security
Unauthorized access
Viruses
Applications
Accessing Remote databases
Accessing Remote programs
Value added communication facility
Marketing and sales
Financial services
Manufacturing
Electronic message
Directory services
Information services
Teleconferencing
Cellular telephone
Cable television
IMP
Subnet
The end systems are called the HOSTS. The hosts are connected through a
communication subnet or simply Subnet as shown in fig.
The subnet consists of two parts: a) Transmission lines b) Switching elements.
The Transmission lines transmit the raw bits. The Switching elements are specialized
computers, which switches packets. This is called Interface Message Processor (IMP) or
Router or data switching exchanges or packet switching nodes.
The data can be transmitted through the subnet in two ways. They are
a) Point to point or store and forward
b) Broad casting
Network Architecture
To reduce the design complexity, most networks are organized as a series of layers or
levels, each built upon on 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
However, in all networks the purpose of each layer is to offer certain services to the higher
layers ,shielding those layers from the details of how the offered services are actually
implemented.
Physical
Medium
Layers, protocols and interfaces.
The interface defines which primitive operation and services the lower layer offers to the
upper one.
a. Simplex communication:
Simplex transmission
A B
Ex: Keyboards, Monitors
A B
Ex: Two-way road, where traffic will be there in both the directions.
REFERENCE MODELS
In 1947, the International Standards Organization (ISO) proposed a network model that covers all
network communications .This model is called Open Systems Interconnection (OSI) model. An
open system is a model that allows any two different systems to communicate regardless of their
underlying architecture.
The OSI model is built of seven layers: Physical (layer 1), Data link (layer 2), Network
(layer 3), Transport (layer 4), Session (layer 5), Presentation (layer 6) and Application layers
(layer 7).
Within a single machine, each layer calls upon the services of the layer just below it.layer 3,for
example, uses the services provided by layer 2 and provides for layer 4.Between machines layer
on one machine communicates with layer x on another machine. This communication is governed
by protocols. The processes on each machine that communicate at a given layer are called peer
–to – peer processor.
At the physical layer, communicate is direct: Machine A sends a stream of bits to machine B. At
the higher layers, however, communication must move down through the layers on machine A,
over to machine B, and then back up through the layers. Each layer in the sending machine adds
its own information to the message it receives from the layer just above it and passes the whole
package to the layer just below it. This information is added in the form of headers or trailers.
Headers are added to the message at layers 6, 5, 4, 3, and 2.At layer 1 the entire message
converted to a form that can be transferred to the receiving machine. At the receiving machine,
The seven layers can be thought of as belonging to three subgroups. Layers 1, 2, 3 –are the
network support layers; they deal with the physical aspects of moving data from onr machine to
another. Layers 5, 6, 7—can be thought of as user support layers: they allow interoperability
among unrelated software systems. Layer 4,the transport layer, ensures end to end reliable
transmission while layer 2 ensures reliable transmission on a single link. The upper layers are
implemented almost always in software; lower layers are a combination of hard ware and
software, where as physical layer is mostly hardware.
Name of unit
Layer exchanged
Application protocol
7 Application Application
Interface Presentation protocol
6 Presentation Presentation
Session protocol
Session Session
5
Transport protocol
4 Transport
Transport
3 Network
Network Network Network
Functions of the
Layers Physical Layer
:
OSI TCP/IP
Switching Methods
Application Application
Presentation
Not present in
Session the model
Circuit Switching
Network Network
In this switching there are three phases Data link
Data link
a. Circuit establishment b. Data transfer c. Circuit disconnection
Physical Physical
B
2
3
1
5 C
7
A
4 6
D
Represents the node
Propagation delay
P1
P2
DATA
P3
Ack signal
Ack signal
1 2 3 4
1 2 3 4
1 2 3 4
P1
P2 Packet switching
P3
X.25
It is an interface between DCE and DTE for terminal operation in the packet mode on public data
networks.
It defines how a packet- mode terminal connected to a packet network for the exchange of data.
It defines how the user‘s DTE communicates with the network and how packets are sent over that
network using DCE‘s.
X.25 has three layers:
Physical layer
Frame layer and
Packet layer
Physical Layer:
At the physical layer, X.25 specifies a protocol called X.21.
This is similar to other physical layer protocols.
X.25 provides data link control using a bit oriented protocol called link access procedure balanced
(LAPB).
Packet Layer:
The Network layer in x.25 is called the Packet Layer Protocol (PLP).
This layer is responsible for establishing the connection, transferring data and terminating
the connection.
It is also responsible for creating the virtual circuits and negotiating network services
between two DTEs.
The Frame layer is responsible for making a connection between a DTE and DCE, the
Packet layer is responsible for making a connection between two DTEs.
End-to-End flow and error control between two DTEs are under the jurisdiction of the
Packet Layer.
Examples of Networks
NOVEL NETWARE
The most popular network in pc world system is novel netware.it was designed to be used by
companies from a mainframes to a network of PCs.
1. In this system, each user has a desk top PC functioning as a client.
2. Some number of power full PCs operate as servers providing file services ,data base
services and other services to a collection of clients it uses a proprietary protocol.
3.It is based an old Xerox network system, XNS with various modifications. Because of five-
layers, it looks much like TCP/IP than ISO OSI.
4. Physical and data link layer can choose an Ethernet, IBM token ring and ARC net protocols.
5. The network layer runs an unreliable connectionless Internet work protocol called ARC net
protocols.
6. It passes packets from source to destination transparently; even both are of different
networks.
7. Application layer uses SAP (Service Advertising protocol), to broadcast a packet and tell
what
ISDN was developed by ITU- T in 1976.It is a set of protocols that combines digital telephony and
data transport services. The whole idea is to digitize the telephone network to permit the
transmission of audio, video, and text over existing telephone lines.
The goal of isdn is to form a wide network that provides universal end –to – end connectivity
over digital media. This can be done by integrating all of the separate transmission services
into one without adding links or subscriber lines.
HISTORY
Initially, telecommunications networks were entirely analog networks and were used for the
transmission of analog information in the form of voice.
With the advent of digital processing, subscribers needed to exchange data as well as voice.
Modems were developed to allow digital exchange over analog lines.
To reduce cost and improve performance, the telephone companies gradually began to add
digital technologies while continuing their analog services to their customers.
Next, customers began to require access to a variety of networks, such as packet- switched
networks and circuit –switched networks. To meet these needs the telephone companies created
Integrated Digital Network (IDN). An IDN is a combination of networks available for different
purposes.
The ISDN integrates customer service with the IDN. With ISDN all customers‘ services become
digital rather than analog and will allow the customers services to be made available on demand.
SERVICES
The purpose of the ISDN is to provide fully integrated digital services to users. These services fall
in to three categories: bearer services, teleservices, and supplementary services.
Bearer service
Bearer services provide the means to transfer information (voice, data, and voice) between users
without the network manipulating the content of information.
Tele Service
In teleservices the network may change or process the contents of the data. These services
correspond to layers 4 – 7 of the OSI ISO model. this service include telephony,telefax,videotex,
telex and teleconferencing.
Supplementary service
Supplementary services are those services that provide additional functionality to the bearer
service and teleservices. These services include call waiting, reverse charging, and message
handling.
Bearer Services
To allow flexibility, digital pipes between customers and the ISDN office are organized into
multiple channels of different sizes. The ISDN standard defines three channel types, each with a
different transmission rate: bearer channels, data channels, and hybrid channels
Channel Rates
Bearer (B) 64
Data (D) 16,64
Hybrid (H) 384,1536,1920
B Channel
A B channel is defined at a rate of 64 Kbps .It is the basic user channel and can carry any type of
digital information in full duplex mode as long as the required transmission rate does not exceed
64 Kbps. A B channel can be used to carry digital data, digitized voice, or other low data – rate
information.
D Channel
A D channel can be either 16 or 64 Kbps, depending on the need of the user. The primary
function of a D channel is to carry control signaling for the B channels. A D channel carries the
H Channel
H Channels are available with data rates of 384 Kbps (HO), 1536 Kbps (H11), or 1920(H12).
These e rates suit for high data rate applications such as video, teleconferencing and so on.
ISDN
Integrated services digital network
IDN
Packet
switched
Digital
Pipes
ISDN
Circuit
switching
Office
Subscriber loops
………….
User Interfaces
Digital subscriber loops are two types: basic rate interface (BRI ) and primary rate interface
(PRI ) .Each type is suited to a different level of customer needs .Both include one D channel and
some number of either B or H channels.
BRI
The basic rate interface specifies a digital pipe consisting of two B channels and one 16Kbps D
channel.
To ISDN office
PRI
The usual PRI specifies a digital pipe with 23 B channels and one 64 Kbps D channel.
To ISDN office
P R I 1.544 Mbps
PRI requires a digital pipe of 1.544 Mbps. Conceptually, the PRI services is like a large pipe
containing 24 smaller pipes, 23 for the B channels and for the D channel. The rest of the pipe
carries the overhead bits.
One PRI can provide full – duplex transmission between as many as 23 sources and
receiving nodes. The individual transmission are collected from their source and multiplexed on to
a single path for sending to the ISDN office.
Functional Grouping
Functional Grouping used at the subscriber‘s premises includes network terminations, terminal
equipment and terminal adapters, enables users to access the services of the BRI and PRI.
An NT1 device controls the physical and electrical termination of the ISDN at user‘s internal
system to the digital subscriber loop. These functions are comparable to those defined for the OSI
physical layer.
An NT1 organizes the date stream from connected subscribers into frames that can be sent
over the digital pipe, and translates the frame received from the network into a format usable by
the subscriber‘s device.
A NT1 device performs functions at the physical layer, data link, and net work layers of the OSI
model.NT2 provide multiplexing (layer 1),flow control (layer 2), and packetzing (layer 3).An NT2
provides intermediate signal processing between the Data – generating devices and an
NT1.There must be a point to point connection between an NT1 and NT1 ..NT2s are used
primarily to interface between a multi-user system and an NT1 in a PRI.
NT2s can be implemented by a variety of equipment types like a private branch exchange
(digital PBX), a LAN can function as an NT2.
The TE is used by ISDN in the same manner as DTE in other protocol. Examples of TE1 are
digital telephones, integrated voice/data terminals, digital facsimiles.
To provide backward compatibility with a customer‘s existing equipment, the ISDN standard
defines a second level of terminal equipment called Terminal Equipment 1 ( TE1 ).This is a non
ISDN device, such as terminal, workstation or regular telephone. This can be used with the help
of another device called a terminal adapter (TA).
Reference Points
This refers to the label used to identify individual interface between two elements of an ISDN
installation. There are four reference points that defines the interface between a subscriber‘s
equipment and the network. They are R, S, T and U.
Reference Point R defines the connection between a TE2 and a Ta. Reference Point S defines
the connection between a TE1 or TA and an NT1 or NT2. Reference Point T defines the interface
between an NT2 and NT1. Reference Point U defines the interface between an NT1 and the
ISDN office.
R S U
To ISDN
TE2 TA Office NT1
S U
To ISDN
TE1 Office
NT1
S T U
To ISDN
TE1
2
NT1 Office
B channel D channel
User‘s choice
Layers 4,5,6,7
Physical Layer
The ISDN physical layer specifications are defined by two ITU-T standards: L430 for BRI access
and I.431 for PRI access. These standards define all aspects of the BRI and PRI. Of these
aspects, four are of primary importance:
The mechanical and electrical specifications of interfaces R, S, T and U.
Encoding
Multiplexing channels to make them carriable by the BRI and PRI digital pipe.
Power supply
***************************
15. The----layer can use the trailer of the frame for error detection.
a. physical b. data link c. session d. presentation
16. The physical layer is concerned with the transmission of--------over the physical medium.
a. programs b. dialogs c. protocols d.bits.
17. Which of the following is an application layer service?
a. network virtual terminal b. file transfer c. mail service d. all of the above
18.Transmission media are usually categorized as------
a. fixed or unfixed b. guided media and unguided c. determinate or in determinate
d. metallic and nonmetallic
19. In fiber optics, the signal source is--------waves.
a. light b. radio c. infrared d. very low frequency.
20.Which of the following is not a guided medium?
a. twisted pair b. coaxial cable c. fiber optic cable d. atmosphere
21.X.25 protocol uses-----for end to end transmission.
a. message switching b. circuit switching. C. the datagram approach to packet switching
d. the virtual circuit approach.
22. The X.25 protocol operates in the-----of the OSI model.
a. physical layer b. data link layer c.net work layer d. all the above.
23.The physical layer protocol directly specified for the X.25 protocol
is------
a. RS- 232 b. X.21 c. DB-15 d. DB- 37
24. The PLP packet is a product of the------layer in the X.25 standard.
a. physical b. frame c. packet d. transport
25. The PLP------1s used to transport data from upper layers in the X.25 standard
a. S-packet b. data packet c. C-packet d. P-packet
26. X.25 protocol requires error checking at the-----layer.
a. Physical b. frame c. packet d. b and c
27. X.25 is--------protocol.
a. a UNI b. an SNI c. AN NNI d. an SSN
28. ISDN is an acronym for ---------------------
a. Information services for digital network b. Internet work system for data networks
c. Integrated signals digital network d. Integrated services digitalnetwork
29.The------channel is used for telemetry and alarms.
a. B b. C c. D d. H
.
Computer networks J.Vinoth kumar
Expected Questions
1. Define Computer Network? Give the difference between a network and distributed system?
2. Discuss the applications and goals of the computer networks
3. Explain briefly the functions of different layers of the OSI reference model
4. Give the difference between ISO OSI and TCP /IP model.
5. Discuss the difference between connection –oriented and connections-less services.
6. Give the advantage and disadvantage of frame relay over a leased telephone line.
7. Why does ATM used small, fixed length cells? Explain ATM layers.
8. Explain ISDN design? What are the services that can be provided by the ISDN ?What are
the different ISDN phases?
9. What are the advantages of using layered architecture?
10. Briefly explain about the Novel NetWare and ARPANET
11. Explain X.21 digital interface?
12. Explain the following terms
a) HOST b) IMP c) Subnet d) Protocol e) Interface f) PEER Processor
13. Distinguish between guided and unguided transmission media.
14. Briefly explain the different types of transmission medias?
15. Give the advantages and disadvantages of using fiber optic cable over metallic cable.
********
Introduction
The Data Link Layer break the bit stream into discrete frames and compute the checksum
for each frame. When a Frame arrives at the destination, the checksum is recomputed. If
the newly computed checksum is different from one computed contained in the frame, the
data link layer knows that an error has occurred and takes steps to deal with it.
FRAMING METHODS
In this method a field in the header will be used to specify the number of
CHARACTERS in the frame. When data link layer at the destination sees the character
count, it knows how many characters follow and hence where the end of the frame is.
The trouble with this algorithm is that the count can be garbed by a transmission error
resulting the destination will get out of synchronization and will be unable to locate the
start of the next frame. There is no way of telling where the next frame starts. For this
reason this method is rarely used.
(a) 5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
Frame 3
Frame 1 Frame 2 Frame 4
5 characters 5 characters 8 characters 8 characters
Error
5 1 2 3 4 7 6 7 8 9 8 01 2 3 4 5 6 8 7 8 9 0 1 2 3 5
Frame 1 Frame 2
(Wrong) Now a character count
In this method each frame will start with a FLAG and ends with a FLAG.
The starting flag is DLE STX ---- Data Link Escape Start of Text
Dis Adv:
1.24 bits are unnecessarily stuffed.
2. Transmission delay.
BIT STUFFING METHOD
In the data if there are FIVE consecutive ONE ‗s are there then a ZERO will be
stuffed.
Ex. The given data is 01111000011111110101001111110 01111101100
Stuffed bits
Advantages:
Network designers have developed two basics strategies for dealing with errors. One way
is to include enough redundant information along with each block of data sent, to enable
the receiver to deduce what the transmitted data must have been .The other way is to
include only enough redundancy to allow the receiver to deduce that an error occurred,
but not which error, and have it request a retransmission. The former strategy uses Error
– correcting codes and the latter uses Error- detecting codes.
1. PARITY METHOD
2. LRC METHOD (Longitudinal redundancy check)
3. CRC METHOD (Cyclic redundancy check)
4. HAMMING CODE METHOD
PARITY METHOD
If one bit or any odd no bits is erroneously inverted during Transmission, the Receiver
will detect an error. How ever if two or even no of bits are inverted an undetected error
occurs.
Let both the transmitter and receiver are agreed on EVEN parity.
Now an error will be detected, since the no of ones received are
ODD
The received data is wrong even though the no of ones are EVEN.
Ci=bi1+bi2+-----+bin
bit
1 bit bit Parity
2 n bit
bn1 VRC
Character 1 b11 b21 R1
10110111
11010111
00111010
11110000
1
0001011 LRC
Character m Rm
01011111
Parity check b1m b2m bnm
c cn+1
character
c1 c2 bnm
CRC Method
1. The frame is expressed in the form of a Polynomial F(x).0 1 1 1 1 1 1 0
2. Both the sender and receiver will agree upon a generator polynomial G(x) in
advance.
3. Let ‗r‘ be the degree of G(x).Append ‗r‘ zero bits to the lower – order end
of frame now it contains m+r bits.
4. Divide the bit string by G(x) using Mod 2 operation.
5. Transmitted frame [T(x)] = frame + remainder
6. Divide T(x) by G(x) at the receiver end. If the result is a zero, then the frame is
transmitted correctly. Ex. Frame: 1101011011
Generator: 10011
Message after appending 4 zero bits: 11010110000
10011
10011
00001
00000
00010
00000
00101
00000
01011
00000
10110
10011
01010
00000
10100
10011
01110 Remainder
00000
1110
10011
10011
00001
00000
00010
00000
00101
00000
01011
00000
10111
10011
01001
00000
10011
10011
00000 Remainder
00000
0000
Hamming codes provide another method for error correction. Error bits, called Hamming
bits, are inserted into message bits at random locations. It is believed that the
randomness of their locations reduces the odds that these Hamming bits themselves
would be in error. This is based on a mathematical assumption that because there are so
many more message bits compared with Hamming bits, there is a greater chance for a
message bit to be in error than for a Hamming bit to be wrong. Determining the
placement and binary value of the Hamming bits can be implemented using hardware,
but it is often more practical to implement them using software. The number of bits in a
message (M) are counted and used to solve the following equation to determine the
number of Hamming bits (H) to be used:
2H ≥ M + H + 1
Once the number of Hamming bits is determined, the actual placement of the bits into the
message is performed. It is important to note that despite the random nature of the
Hamming bit placements, the exact sample placements must be known and used by both
the transmitter and receiver. Once the Hamming bits are inserted into their positions, the
numerical values of the bit positions of the logic 1 bits in the original message are listed.
The equivalent binary numbers of these values are added in the same manner as used in
previous error methods by discarding all carry results. The sum produced is used as the
states of the Hamming bits in the message. The numerical difference between the
Hamming values transmitted and that produced at the receiver indicates the bit position
that contains a bad bit, which is then inverted to correct it.
Ex. The given data
10010001100101(14- bits)
The number of hamming codes
2H ≥ M + H + 1
H = ? M = 14 to satisfy this equation H should be 5 i.e. 5 hamming code
bits should be incorporated in the data bits.
1001000110H0H1H0H1H
Now count the positions where binary 1‘s are present. Add using mod 2 operation (Ex-OR). The
result will give the Hamming code at the transmitter end.
This Hamming code will be incorporated at the places of ‗H‘ in the data bits and the data
will be transmitted.
How to find out there is an error in the data?
Let the receiver received the 12th bit as zero. The receiver also finds out the Hamming
code in the same way as transmitter.
The decimal equivalent for the binary is 12 so error is occurred at 12th place.
Since the transmitter waits for Δt time for an Ack this protocol is called stop and wait
protocol.
A B
A B
At this situation protocol fails because the receiver receives a duplicate frame and there is
no way to find out whether the receiver frame is original or duplicate. So the protocol fails
at this situation.
Now what is needed is some way for the Rx to distinguish a frame and a duplicate. To
achieve this, the sender has to put a sequence number in the header of each frame it
sends. The Rx can check the sequence number of each arriving frame to see if it is a new
frame or a duplicate.
6. Now A thinks that the Ack received is the ack of new frame F0 and A sends next
frame F1. So a frame F0 is missed. At this situation this protocol fails.
In most practical situations there is a need of transmitting data in both directions. This can
be achieved by full duplex transmission. If this is done we have two separate physical
circuits each with a ‗forward ‗ and ‗reverse‘ channel. In both cases, the reverse channel
is almost wasted. To overcome this problem a technique called piggy backing is used.
The technique of temporarily delaying outgoing acknowledgements so that they can be
hooked onto the next outgoing data frame is known as piggy backing.
However, piggybacking introduces a complication not present with separate
acknowledgements. How long should the data link layer wait longer than the sender‘s
timeout period, the frame will be retransmitted, defeating the whole purpose of having
acknowledgements. Of course, the data link layer cannot foretell the future, so it must
resort to some ad hoc scheme, such as waiting a fixed number of milli seconds. If a new
packet arrives quickly, the acknowledgement is piggy backed onto it; otherwise, if no new
packet has arrived by the end of this time period, the data link layer just sends a separate
acknowledgement frame.
In all sliding window protocols, each outbound frame contains a sequence number,
ranging from 0 up to some maximum. The maximum is usually 2 n –1 so the sequence
number fits nicely in an n-bit field. The stop-and-wait sliding window protocol uses n=1,
restricting the sequence numbers to 0 and 1, but more sophisticated versions can use
arbitrary n.
The essence of all sliding window protocols is that at any instant of time, the sender
maintains a set of sequence numbers corresponding to frames it is permitted to send.
These frames are said to fall with in the sending window. Similarly the receiver also
maintains a receiving window corresponding to the set of frames it is permitted to accept.
The sender‘s window and the receiver‘s window need not have the same lower and upper
limits, or even have the same size. In some protocols they are fixed in size, but in others
they can grow or shrink as frames are sent and received.
The sequence numbers with in the sender‘s window represent frames sent but as yet not
acknowledged. Whenever a new packet arrives from the network layer, it is given the next
Sender
7 0 7 0 7 0 7 0
6 1 6 1 1 1
6 6
5 2 5 2 5 5
2 2
4 3 4 3 3 3
4 4
Receiver
7 0 7 0
7 0 7 0
6 1 6 1
6 1 6 1
5 2 5 2
5 2 5 2
4 3 4 3
4 3 4 3
(a) Initially (b) After the first frame has been sent c) After the first frame has been
received. d) After the first acknowledgement has been received.
PIPELINING
1. Upto now we made the assumption that the transmission time required for a frame
to arrive at the receiver plus the transmission time for the ack to come back is
negligible.
2. Sometimes this is not true, when there is a long round trip propagation time is there.
3. In these cases round trip propagation time can have important implications for the
Computer networks J.Vinoth kumar
efficiency of the bandwidth utilization.
A B
250 ms + 20 ms
250 ms
i.e. We are wasting 96% of channel time. To overcome this problem we will go for a
technique called PIPELIING.
In this technique, the sender is allowed to transmit upto ‗w ‗ frames before blocking,
instead of just 1.With an appropriate choice of w the sender will be able to continuously
By the time it has finished sending 26 frames, at t=520 ms, the ack for frame 0 will have
just arrived. Thereafter ack will arrive every 20 ms, so the sender always gets permission
to continue just when it needs it.
Hence, we can say the sender window size is 26.
Derivation:
Due to round trip delay the time taken will be (l/b + R) Sec = l+Rb/b Sec
Ex 1. A channel has a bit rate of 4 kbps and a propagation delay of 20msec.For what
rage of frame sizes does stop and wait give an efficiency of at least 50 % ?
One way called in go back n, the receiver simply to discard all subsequent frames,
sending no acknowledgements for the discard frames. In the other words, the data link
layer refuses to accept any frame except the next one it must give to the network layer.
Selective Repeat:
The receiving data link layer store all the correct frames following the bad frame, not all its
successors. If the second try succeeds the receiving data link layer will now have many
correct frames in sequence, so they can all be handed off to the network layer quickly and
the highest number acknowledged. This strategy corresponds to a receiver window larger
than 1.
0 1 2 3 4 5 2 3 4 5 6 7 0
0 1 E D DD 2 3 4 5 6
(a) Go-back-N
Error Discarded frames
0 1 E 3 4 5 2 6
Error Buffered by
receiver
Frames 2-5
released
b) Selective reject
- In broadcast network, the key issue is how to share the channel among
several users.
- Ex a conference call with five people
-Broadcast channels are also called as multi-access channels or random access
channels.
-Multi-access channel belong to a sublayer at the DL layer called the MAC sublayer.
The Channel Allocation problem:
Drawbacks: -1) Channel is wasted if one or more stations do not send data.
2) If users increases this will not support.
USER
TIME
to+t to+2t
t t +3t Time
Vulnerable
0.184
Pure ALOHA : S = Ge-G
0.5 1.0
G (attempts per packet time)
Slotted ALOHA
-In 1972, Roberts‘ devised a method for doubling the capacity of ALOHA system.
-In this system the time is divided into discrete intervals, each interval corresponding to
one frame.
Protocols in which stations listen for a carrier (transmission) and act accordingly are
called carries sense protocols.
Persistent CSMA
When a station has data to send, it first listens to the channel to see if any one else is
transmitting at that moment. If the channel is busy, the station waits until it become idle.
When the station detects an idle channel, it transmits a frame. If a collision occurs, the
station waits a random amount of time and starts all over again. The protocol is called 1-
persistent also because the station transmits with a probability of 1 when it finds the
channel idle.
The propagation delay has an important effect on the performance of the protocol. The
longer the propagation delay the worse the performance of the protocol.
Even if the propagation delay is zero, there will be collisions. If two stations listen the
channel, that is idle at the same, both will send frame and there will be collision.
With persistent CSMA, what happens if two stations become active when a third station is
busy? Both wait for the active station to finish, then simultaneously launch a packet,
resulting a collision. There are two ways to handle this problem.
a) P-persistent CSMA b) exponential backoff.
P-persistent CSMA
The first technique is for a waiting station not to launch a packet immediately when the
channel becomes idle, but first toss a coin, and send a packet only if the coin comes up
heads. If the coin comes up tails, the station waits for some time (one slot for slotted
CSMA), then repeats the process. The idea is that if two stations are both waiting for the
medium, this reduces the chance of a collision from 100% to 25%. A simple
generalization of the scheme is to use a biased coin, so that the probability of sending a
packet when the medium becomes idle is not 0.5, but p, where 0< p < 1. We call such a
scheme P-persistent CSMA. The original scheme, where p=1, is thus called 1-persitent
CSMA.
Exponential backoff
The key idea is that each station, after transmitting a packet, checks whether the packet
transmission was successful. Successful transmission is indicated either by an explicit
acknowledgement from the receiver or the absence of a signal from a collision detection
circuit. If the transmission is successful, the station is done. Otherwise, the station
retransmits the packet, simultaneously realizing that at least one other station is also
contending for the medium. To prevent its retransmission from colliding with the other
station‘s retransmission, each station backs off (that is, idles) for a random time chosen
from the interval
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
1 1 1 1 3 7 1 1 1 5
Since everyone agrees on who goes next, there will never be any collisions. After the last
ready station has transmitted its frame, an event all stations can easily monitor, another N
bit contention period is begun. If a station becomes ready just after its bit slot has passed
by, it is out of luck and must remain silent until every station has had a chance and the bit
map has come around again. Protocols like this in which the desire to transmit is
broadcast before the actual transmission are called reservation protocols.
Binary Countdown
A problem with the basic bit-map protocol is that the overhead is 1 bit per station. A
station wanting to use the channel now broadcasts its address as a binary bit string,
starting with the high-order bit. All addresses are assumed to be the same length. The
bits in each address position from different stations are BOOLEAN ORed together. We
will call this protocol binary countdown. It is used in Datakit.
As soon as a station sees that a high-order bit position that is 0 in its address has been
overwritten with a 1, it gives up. For example, if station 0010,0100,1001, and 1010 are all
trying to get the channel, in the first bit time the stations transmit 0,0,1, and 1,
respectively. Stations 0010 and 0100 see the 1 and know that a higher-numbered station
is competing for the channel, so they give up for the current round. Stations 1001 and
1010 continue.
0010 0---
0100 0---
1001 100-
1010 1010
Resul 1010
The second cable type was 10Base2 or thin Ethernet, which, in contrast to the garden-
hose-like thick Ethernet, bends easily. Connections to it are made using industry standard
BNC connectors to form T-junctions, rather than using vampire taps. These are easier to
use and more reliable. Thin Ethernet is much cheaper and easier to install, but it can run
for only 200m and can handle only 30 machines per cable segment.
Cable breaks, bad taps, or loose connectors can be detected by a devise called time
domain reflectometry.
For 10Base5, a transceiver is clamped securely around the cable so that its tap makes
contact with the inner core. The transceiver contains the electronics that handle carrier
detection and collision detection. When a collision is detected, the transceiver also puts a
C
Trap
Backbone
A B C D
Repeater
Bit stream 1 0 0 0 0 1 0 1 1 1 1
Binary encoding
Manchester encoding
Destination
Preamble address
Source
Data Pad Checksum
address
Start of frame
delimiter
Length of
data field
Switched Ethernet:
- 10 Base-T Ethernet is a shared media network.
- The entire media is involved in each transmission.
- The HUB used in this network is a passive device. (not intelligent).
- In switched Ethernet the HUB is replaced with switch. Which is a active device
(intelligent )
Fast Ethernet
100 Base_x
Gigabit Ethernet
Bytes >
1 1 1 2 or 6 2 or 6 0-8182 4 1
Computer networks J.Vinoth kumar
Destination Source
Data Checksum
address address
The frame control field is used to distinguish data frames from control frames. Fro data
frames, it carries the frame‘s priority. It can also carry an indicator requiring the
destination station to acknowledge correct or incorrect receipt of the frame.
For control frames, the frame control field is used to specify the frame type.
The allowed types include token passing and various ring maintenance frames,
including the mechanism for letting new stations enter the ring, the mechanism for
allowing stations to leave the ring, and so on.
Connecting devices
Connecti
ng
Networki Internetworki
ng ng
Repeater Bridges Routers Gateways
Session
Transp
Router
ort
Bridge
Networ
Repeate
Application
k Data
Presentati
on
Session
Transp
ort
Networ
Bridges
k Data
LANS can be connected by devices called bridges, which operate in the data link layer.
Bridges do not examine the network layer header and can thus copy IP, IPX, and OSI
packets equally well.
The various reasons why the bridges are used.
1) Many university and corporate departments have their own LANS, primarily to connect
their own personal computers, workstations, and servers. Since the goals of the various
departments differ, different departments choose different LANS, without regard to what
other departments are doing. Sooner or later, there is a need for interaction, so bridges
are needed.
2) The organization may be geographically spread over several buildings separated by
considerable distances. It may be cheaper to have separate LANS in each building and
B1 B2
LAN 1
Initial frame
Routing algorithms
The main function of the network layer is routing packets from the source machine to the
destination machine. Routing algorithm can be grouped into two major classes. Nonadaptive and
Adaptive algorithms.
3) When the network is booted the 3) The routers are not downloaded.
routers are downloaded.
4) This is a static routing. 4) This is a dynamic routing.
B(2,A) B(2,A)
C(9,B) C(9,B)
E(4,B)
E(4,B)
A F(∞,-) D(∞,-) A F(6,E) D(∞,1)
(d)
(c)
B(2,A) B(2,A)
C(9,B) C(9,B)
E(4,B) E(4,B)
A F(6,E) D(∞,-) A F(6,E) D(∞,-)
A B C D E F
9 4 1 7 4
A AB ABC ABFD AE AEF
B C 9 8 3 2 4
20 B AB BC BFD BFE BF
20 10
4 8 3 3 2
C CBA CB CD CE CEF
Sour
A D
20 20
1 3 3 3 4
10
D DFBA DFB DC DCE DF
20
7 2 3 3 4
F E
50 E EA EFB EC ECD EF
(a) 4 4 4 4 4
F FEA FB FEC FD FE
(b)
Distance Vector Routing:
This is a dynamic routing algorithm. This algorithm operates by having each router
maintain a table (i.e. a vector) giving the best known distance to each destination and which line
to use. These tables are updated by exchanging information with the neighbors.
The routing table indexed by and containing one entry for each router in the subnet. This
entry contains two parts: The preferred outgoing line to use for the destination and an estimate of
time or distance to that destination. The metric used might be number of hops, time delay in
msec, total number of packets queued along the path or something similar.
The router is assumed to know the distance to each of its neighbors. If the metric is hops,
the distance is just one hop. If the metric is queue length, the router examines each queue. If the
metric is delay the router can measure it directly with a special ECHO packets.
Consider an example, in which the delay is used as metric and the router knows the delay
to each of its neighbors. Once every T msec each router send to each neighbor a list of its
estimated delays to each destination. It also receives a similar list from each neighbor. Let xi
being x‘s estimate of how long it takes to get router ‗i‘. If the router knows that the delay to x is ‗m‘
m sec. To get router i via x is (x i +m) m sec. By performing this calculation for each neighbor, a
router can find out which estimate is the best and use that estimate and the corresponding line in
its new routing table.
Router
A B A I H K Line
C D
A 0 24 20 21 8 A
B 12 36 31 28 20 A
G
E C 25 18 19 36 28 I
H
F D 40 27 8 24 20 H
E 14 7 30 22 17 I
I J K L F 23 20 19 40 30 I
G 18 31 6 31 18 H
Subnet H
17 20 0 19 12 H
I
21 0 14 22 10 I
J
9 11 7 10 0 -
K
24 22 22 0 6 K
L
29 33 9 9 15 K
JA JI JH JK
delay delay delay delay New
is is is is routing
8 10 12 6 table for J
Region 1 Region 2
Dest. Line Hops Dest. Line Hops
1B 2A 2B 1A - - 1A - -
1B 1B 1 1B 1B 1
1A 1C 1C 1C 1 1C 1C 1
2C 2D 2A 1B 2 2 1B 2
2B 1B 3 3 1C 2
2C 1B 3 4 1C 3
3A 1C 4 5 1C 4
3B 1C 3
3C 1C 2
4A 5B 5C 4A 1C 3
3A 4B 1C 4
4B 4C 4C 1C 4
3B 5E 5A 1C 4
5B 1C 5
5C 1B 5
Region 3 Region 4 Region 5 5D 1C 6
5E 1C 5
E
F D (a)
I
G
H
L N J
K
O
M
B
A C
E
F D
I
G
H L
J
K N
O
M
I
(c)(c)
F H J N
E K G O O
A D M
E C G K
H
B L
L
B
Multicast Routing :
For some applications, it is necessary for one process to send a message to all other members of
the group. If the group is small, it can just send each other member a point-to-point message. If
the group is large this strategy is expensive. Some times broad casting is used, but using broad
casting is used, but using broadcasting to inform 1000 machines on a million node network is
inefficient because most receivers are not interested in the message. Thus it is needed to send
message to well-defined groups. Sending message to such a group is called ‗multicasting‘.
To do multicasting, group management is required. Some way is needed to create and
destroy groups and for processes to join and leave groups. When process joins a group, it informs
its host of this fact. It is important that routers know which of their hosts belong to which group.
Either hosts most inform their routers about change in group membership or routers must query
their hosts periodically. Routers tell their neighbors, so the information propagates through the
subnet.
To do multicast routing, each router computes a spanning tree covering all other routers in the
subnet. When a process sends a multicast packet, to a group, the first router examines its
spanning tree and prunes it, removing all lines that do not lead to hosts that are members in the
group. Multicast packets are forwarded. Only along the appropriate spanning tree.
Computer networks J.Vinoth kumar
Congestion Control Algorithms
What is Congestion?
When too many packets are present in the subnet performance degrades. This situation is called
Congestion.
The number of packets dumped into the subnet are within its carrying capacity, they are all
delivered.
However, if the traffic increases too far, the routers are unable to cope and begin losing packets.
At very high traffic, performance collapse completely and almost no packets are delivered.
What factors will lead to congestion?
1. Three or four input lines and only one output line queue will build up.
If there is insufficient memory to hold all of them, packets will lost.
Adding infinite memory congestion gets worse, because by the time packets get to the
front of the queue, the time out and duplicates have been sent.
2. Slow processors (routers) can cause congestion.
A slow processor perform the book keeping tasks very slow, queues will build up.
3. Low band-width lines also cause congestion
Upgrading lines but not changing the processor and vice-versa shifts the bottleneck.
Ex:
Consider a network with a capacity of 1000Gbps on which a super computer is trying to
transfer a file to a personal computer at 1Gbps.Here a flow control is needed.
Consider a network with 1Mbps lines and 1000 large computers, more than half are trying
to transfer files a 100kbps to the other half. The problem is here is the total offered traffic
exceeds than the network handle.
Imagine a bucket with a small hole in the bottom. No matter at what rate water enters the bucket,
the outflow is at a constant rate, , when there is any water in the bucket, and zero when the
bucket is empty. Also, once the bucket is full, any additional water entering it spills over the sides
and is lost.
Unregulated
Flow
Regulated
flow
Network
The same idea can be applied to packets, as shown in fig. Conceptually, each host is connected
to the network by an interface containing a leaky bucket, that is, a finite internal queue. If a packet
arrives at the queue when it is full, the packet is discarded. In other words, if one or more
processes within the host try to send a packet when the maximum numbers are already queued,
the new packet is unceremoniously discarded. This arrangement can be built into the hardware
interface or simulated by the host operating system.
The host is allowed to put one packet per clock tick onto the network. Again, this can be enforced
by the interface card or by the operating system. This mechanism turns an uneven flow of packets
from the user processes inside the host into an even flow of packets onto the network, smoothing
out bursts and greatly reducing the chances of congestion.
Implementing the original leaky bucket algorithm is easy. The leaky bucket consists of a finite
queue. When a packet arrives, if there is room on the queue it is appended to the queue;
otherwise, it is discarded. At every clock tick, one packet is transmitted (unless the queue is
empty).
Host Host
Comput Comput
One token er er
is added
to the bucket The bucket
every T holds
tokens
Each router can easily monitor the utilization of its output lines and other resources. It can
estimate each line about the recent utilization of that line (u). Periodically a sample at the
instantaneous line utilization (f) can be mad and u updated.
unew = a uold + (1-a)f
Where a is constant determines how fast the router forgets recent history.
Whenever u moves above the threshold, the output line enters a ‗warning‘ state. Each
new arriving packet is checked if its output line is warning state. If it is some action is taken.
Choke packets:
In this algorithm, the router sends a choke packet back to the source host. The original packet is
tagged so that it will not generate any more choke packets farther along the path and is then
forwarded in the usual way.
When the source host gets the choke packet, it is required to reduce the traffic sent to the
specified destination by X percent. Since other packets aimed at the same destination are
probably already under way and will generate yet more choke packets, the host should ignore
choke packets referring to that destination for a fixed time interval. After that period has expired,
the host listens for more choke packets for another interval. If one arrives, the line is still
congested, so the host reduces the flow still more and begins ignoring choke packets again. If no
choke packets arrive during the listening period, the host may increase the flow again.
The first choke packet causes the data rate to be reduced to 0.50 of its previous rate, the next
one causes a reduction to 0.25, and so on. Increases are done in smaller increments to prevent
congestion from reoccurring quickly.
Hop by Hop choke packets:
For example, let the host A is sending packets to D. as shown in fig.(1). If D runs out of buffers, it
will take sometime for a choke packet to reach A to tell it to slow down. This is shown in fig
2,3,4.In this time another packets will be sent. Only after some more time the router D will be
noticing a slower flow (fig.7).
In other approach, as soon as choked packet reaches to F it cuts down the flow to D and D will
get immediate relief. (like a headache remedy in a TV). In the next set up, when choke reaches to
E it also cuts down the flow to F which in turn gives relief to F. Finally, when the choke packet
richer A and the flow genuinely slows down.
B C B C
A D A D
Heavy
flow
E F E F
Ch Ch
Ch Ch
Reduced
flow
(b)
Flow is still at
maximum rate
Ch-choke
Flow is reduced
(a)
Internetworking
When two or more networks are connected it is called Internet. There will be a variety of different
networks will always be around, for the following reasons.
1) Different networks will use different technologies like personal computers run TCP/IP,
mainframes run on IBM‘s SNA.
2) As computers and networks get cheaper, the place where decisions get made moves
downwards in organizations.
3) As new hardware developments occur, new software will be created to fit the new hardware.
The purpose of interconnecting all these networks is to allow users on any of them to
communicate with users don all the other ones to allow users on any of them to access data on
any of them.
Networks differ in many ways. In the network layer the following differences can occur (fig.5.43).
At the network layer, TCP/IP supports the internetwork protocol .IP, in turn, contains four
supporting protocols:ARP ,RARP ,ICMP,and IGMP.
IP is the transmission mechanism used by the TCP/IP protocols. It is an un –reliable and
connectionless datagram protocol – a best effort delivery service. This is like a post office service.
The post office does its best to deliver the mail but does not always succeed. If an unregistered
letter is lost. it is up to the sender or would recipient to discover the loss and rectify the problem.
The post office itself does not keep track of every letter and cannot notify a sender of loss or
damage. An example of a situation similar to pairing IP with a protocol that contains reliability
functions is a self addressed ,stamped postcard included in a letter mailed through the post office.
when the letter is delivered , the receiver mails the postcard back to the sender to indicate
success. If the sender never receives the postcard, he or she assumes the letter was lost and
sends out another copy.
Packets in IP layer are called Datagrams. A Datagram is a variable length packet(upto 65,536
bytes) consisting of two parts : Header and Data. The header can be from 20 to 60 bytes and
contains information essential to routing and delivery.
Header length (HLEN) The HLEN field defines the length of the header in multiples of four
bytes .The four bits can represent a number between 0 to 15,which,when multiplied by 4,gives a
maximum of 60 bytes.
Service Type. The service type field defines how datagram should be handled. It includes bits
that define the priority of the datagram. It also contains bits that specify the type of service the
sender desires such as the level of throughput, reliability, and delay.
Total Length The total length field defines the total length of the IP datagram. It is a two-byte
field (16 bits) and can define up to 65,535 bytes.
Identification The identification field is used in fragmentation. A datagram, when passing through
different networks, may be divided into fragments to match the network frame size. When this
happens, each fragment is identified with a sequence number in this field.
Flags The bits in the flags field deal with fragmentation (the datagram can or can not be
fragmented; can be first, middle, or last fragment; etc.).
Fragmentation offset The fragmentation offset is a pointer that shows the offset of the data in
the original datagram (if it is fragmented).
Time to live The time to live field defines the number of hops a datagram can travel before it is
discarded. The source host, when it creates the datagram, sets this field to an initial value. Then,
as the datagram travels through the Internet, router by router, each router decrements this value
by 1. If this value becomes 0 before the datagram reaches its final destination, the datagram is
discarded. This prevents a datagram from going back and forth forever between routers.
Protocol The protocol field defines which upper-layer protocol data are encapsulated in datagram
(TCP, UDP, ICMP etc.).
Header Checksum This is a 16-bit field used to check the integrity of the header, not the rest of
the packet.
Source address The source address field is a four-byte (32-bit) Internet address. It identifies the
original source of the datagram.
Destination address The destination address field is a four-byte (32-bit) Internet address. It
identifies the final destination of the datagram.
Options The options field gives more functionality to IP datagram. It can carry fields that control
routing, timing, management, and alignment.
ADDRESSING
In addition to the physical address the internet requires an additional addressing convention : an
address that identifies the connection of a host to its network.
Class A :
This can accommodate more hosts since 3 bytes are reserved for HOSTID. Class A will begin
with 0 .
Class B :
This will start with 10 and Host id will have 2 bytes length.
Class C :
This will start with 110 and Hostid will have 1 byte length.
Class D:
This will start with 1110 . This is reserved for Multicast addresses.
Class E :
This is reserved for feature use and will start with 1111 .
CLASS A :
0 Netid Hostid
0
CLASS B:
10 Netid Hostid 0
Class C :
Class E11110
: 0 address
Multicast
1111 0
Reserved for future use
To make 32 bit form shorter and easier to read, Internet addresses are usually written in decimal
form with decimal points separating the bytes – dotted – decimal notation.
128.11.3.31
From To
From To
From To
From To
From To
a. 4.23.145.90
b. 227.34.78.7
c. 246.7.3.8
d. 129.6.8.4
e. 198.76.9.23
Example:
a. 4.23.145.90
b. 227.34.78.7
c. 246.7.3.8
d. 129.6.8.4
e. 198.76.9.23
TCP/IP supports four other protocols in the network layer :ARP,RARP,ICMP,and IGMP.
The address resolution Protocol associates an ip address with physical address. On a typical
physical network, such as a LAN, each device on a link is identified by a physical or station
address usually imprinted on the network interface card.(NIC)
Physical address have local jurisdiction and can be changed easily. For example, if the NIC on
a particular machine fails, the physical address changes. The IP address, on the other hand ,have
universal jurisdiction and cannot be changed. ARP is used to find the physical address of the
node when its Internet address is known.
Anytime a host or a router needs to find the physical address of another host on its
network, it formats an ARP query packet that includes the IP address and broadcast it over the
network. Every host on the network receives and processes the ARP packet, but only the
intended recipient recognizes its internet address and sends back its physical address. The host
both to its cache memory and to the datagram header, then sends the datagram on its way.
Reverse Address resolution protocol(RARP)
The RARP allows a host to discover its internet address when it knows only its physical
address. The question here is ,why do we need RARP? A host is supposed to have its internet
address stored on its hard disk !
RARP works much like ARP. The host wishing to retrieve its internet address broadcasts an
RARP query packet that contains its physical address to every host on its physical network. A
server on the network recognizes the RARP packet and returns the host‘s internet address.
Internet Control Message Protocol (ICMP)
The Internet control message protocol is a mechanism used by hosts and routers to send
notification of datagram problems back to the sender.
IP is an unreliable and connectionless protocol. ICMP allows IP to inform a sender if a
datagram is undeliverable. A datagram travels from router to router until it reaches one that can
deliver it to its final destination. If a router is unable to route or deliver the datagram because of
unusual conditions or due to congestion, ICMP allows it to inform the original source.
ICMP uses echo test/reply to test whether a destination is reachable and responding. It
also handles both control and error message, but its sole function is ti\o report problems, not
correction them. A datagram carries only source and destination address. For this reason ICMP
can send message only to the source, not to an intermediate router.
Expected questions
1.What is the difference between the adaptive and non-adaptive routing algorithms.
2.Explain the shortest path routing algorithm.
3.Explain the services that are provided by the network layer.
4.Explain Flooding routing algorithm.
5.Explain the Distance Vector Routing algorithm.
6.What is the count – to – infinity problem?
7.Explain link state routing algorithm.
8.Explain the Hierarchical Routing algorithm.
9. Explain Broadcast Routing and Multicast Routing.
10. What is congestion? Give the general principles of congestion
control? 11.Explain Open loop and Close loop solutions for congestion.
12.How traffic shaping will be done to control congestion?
13.Explain The Leaky Bucket algorithm.
14. Explain the Token Bucket algorithm.
15.How the congestion can be controlled in Virtual Circuits?
16.What is a Choke packet? Explain when a choke packet is used.
17.Expalin the IP protocol.
18What is meant by Load shedding and Jitter control?
19. Explain the ICMP and ARP.
20.Explain the different IP address formats. For a hierarchical routing with 4800 routers, what
region and cluster sizes should be chosen to minimize the size of routing table for a three-layer
hierarchy?
* * * * *
Quiz Questions
** * * *
Computer networks
J.Vinoth
UNIT – IV
Introduction
The transport layer is the core of the OSI model. Protocols at this layer oversee the delivery of
data from an application program on one device to an application program on another device.
They act as a liaison between the upper-layer protocols (session, presentation, and application)
and the services provided by the lower layers.
Duties of the transport layer:
The services provided are similar to those of the data link layer. The data link layer, however, is
designed to provide its services within a single network, while the transport layer provides these
services across an internetwork made of many networks. While the transport layer controls all
three of the lower layers.
The services provided by transport layer protocols can be divided into five broad categories: end-
to-end deliver, addressing, reliable delivery, flow control, and multiplexing.
Quality of Service
The transport protocol improves the QoS (Quality of Service) provided by the network layer.
Following are the QoS parameters:
Connection establishment delay:
The connection establishment delay is the amount of time elapsing between a transport
connection being requested and the confirmation being received by the user of the transport
service. It includes the processing delay in the remote transport entity. As with all parameters
measuring a delay, the shorter the delay, the better the service.
Connection establishment failure probability:
The connection establishment failure probability is the chance of a connection not being
established within the maximum establishment delay time, for example, due to network
congestion, lack of table space somewhere, or other internal problems.
Throughput:
The throughput parameter measures the number of bytes of user data transferred per second,
measured over some time interval. The throughput is measured separately for each direction.
Transit delay:
The transit delay measures the time between a message being sent by the transport user on the
source machine and its being received by the transport user on the destination machine. As with
throughput, each direction is handled separately.
The Residual error ratio :
Measures the number of lost or garbled messages as a fraction of the total sent. In theory, the
residual error rate should be zero, since it is the job of the transport layer to hide all network layer
errors. In practice it may have some (small) finite value.
The Protection parameter provides a way for the transport user to specify interest in having the
transport layer provide protection against unauthorized third parties (wiretappers) reading or
modifying the transmitted data.
The Priority parameter provides a way for a transport user to indicate that some of its
connections are more important than other ones, and in the event of congestion, to make sure
that the high-priority connections get serviced before the low-priority ones.
Finally, the Resilience parameter gives the probability of the transport layer itself spontaneously
terminating a connection due to internal problems or congestion.
Computer J.Vinothkum
The QoS parameters are specified by the transport user when a connection is requested. Both
the desired and minimum acceptable values can be given. In some cases, upon seeing the QoS
parameters, the transport layer may immediately realize that some of them are unachievable, in
which case it tells the caller that the connection attempt failed, without even bothering to contact
the destination. The failure report specifies the reason for the failure.
The transport layer knows it cannot achieve the desired goal (e.g.600 Mbps throughput), but it
can achieve a lower, but still acceptable rate (e.g.150 Mbps). It then sends the lower rate and the
minimum acceptable rate to the remote machine, asking to establish a connection. If the remote
machine cannot handle the proposed value, but it can handle a value above the minimum, it may
make a counteroffer. If it cannot handle any value above the minimum, it rejects the connection
attempt. Finally, the originating transport user is informed of whether the connection was
established or rejected, and if it was established, the values of the parameters agreed upon. This
process is called option negotiation.
It treats each as an independent entity. The transport layer, on the other hand, makes sure that
the entire message (not just a single packet) arrives intact. Thus, it oversees the end-to-end
(source –to-destination) delivery of an entire message.
Addressing
The transport layer interacts with the functions of the session layer. However, many protocols (or
protocol stacks, meaning groups of protocols that interact at different levels) combine session,
presentation, and application level protocols into a single packages, called an application. In these
cases, delivery to the session layer functions is, in effect, delivery to the application. In these cases,
delivery to the session layer functions is, in effect, delivery to the application. So communication
occurs not just from end machine to end machine but from end application to end application. Data
generated by an application on one machine must be received not just by the other machine but by
the correct application on that other machine.
To ensure accurate delivery from service access point to service access point, we need another
level of addressing in addition to those at the data link and network levels. Data link level
protocols need to know which two computers within a network are communicating. Network level
protocols need to know which two computers within an internet are communicating. But at the
transport level, the protocol needs to know which upper-layer protocols are communicating.
Reliable Delivery
At the transport layer, reliable delivery has four aspects: error control, sequence control, loss
control, and duplication control.
Computer J.Vinothkum
Reliable delivery
Error Control
When transferring data, the primary goal of reliability is error control.
But if we already have error handling at the data link layer, why do we need it at the transport
layer? Data link layer functions guarantee error-free delivery node-to-node for each link. However,
node-to-node reliability does not ensure end-to-end reliability.
Sequence Control
The second aspect of reliability implemented at the transport layer is sequence control. On the
sending end, the transport layer is responsible for ensuring that data units received from the
upper layers are usable by the lower layers. On the receiving end, it is responsible for ensuring
that the various pieces of a transmission are correctly reassembled.
Segmentation and Concatenation
When the size of the data unit received from the upper layer is too long for the network layer
datagram or data link layer frame to handle, the transport protocol divides it into smaller, usable
blocks. The dividing process is called segmentation. When, on the other hand, the size of the data
units belonging to a single session are so small that several can fit together into a single
datagram or frame, the transport protocol combines them into a single data unit. The combing
process is called concatenation.
Sequence Numbers
Most transport layer services add a sequence number at the end of each segment. If a longer data
unit has been segmented, the numbers indicate the order for reassembly. If several shorter units
have been concatenated, the numbers indicate the end of each submit and allow them to be
separated accurately at the destination. In addition, each segment carries a field that indicates
whether it is the final segment of a transmission or a middle segment with more still to come.
Loss Control
The third aspect of reliability covered by the transport layer is loss control. The transport layer
ensures that all pieces of a transmission arrive at the destination, not just some of them. When data
have been segmented for delivery, some segments may be lost in transit. Sequence numbers allow
the receiver’s transport layer protocol to identify any missing segments and request redelivery.
Duplication Control
The fourth aspect of reliability covered by the transport layer is duplication control. Transport layer
functions must guarantee that no pieces of data arrive at the receiving system duplicated. Just as
they allow identification of lost packets, sequence numbers allow the receiver to identify and
discard duplicate segments.
Computer J.Vinothkum
Flow Control
Like the data link layer, the transport layer is responsible for flow control. However, flow control at
this layer is performed end-to-end rather than across a single link. Transport layer flow control
also uses a sliding window protocol. However, the window at the transport layer can vary in size
to accommodate buffer occupancy.
Multiplexing
To improve transmission efficiency, the transport layer has the option of multiplexing. Multiplexing
at this layer occurs two ways: upward, meaning that multiple transport layer connections use the
same network connection, or downward, meaning that one transport-layer connection uses
multiple network connections.
layer
TELNET TELNET
(client) (server)
(51001) (23)
TCP or UDP TCP OR UDP
Each port is defined by a positive integer address carried in the header of a transport layer
IP IP
packet. An IP datagram uses the host‟s 32-bit Internet address. A frame at the transport level
Data Link Data Link
uses the process port address of 16 bits, enough to allow the support of up to 65,536(0 to 65535)
ports. Physical Physical
Computer J.Vinoth
The user datagram protocol (UDP) is the simpler of the two standard TCP/IP transport protocols.
It is an end-to-end transport level protocol that adds only port addresses, check sum error control,
and length information to the data from the upper layer. The packet produced by the UDP is
called a user datagram .
Source port address. The source port address is the address of the application program
that has created the message.
Destination port address. The destination port address is the address of the application
program that will receive the message.
Total length. The total length field defines the total length of the user datagram in bytes.
Check sum. The check sum is a 16-bit field used in error detection.
Figure UDP datagram format
Variable
8 bytes
H Data
eader
UDP provides only the basic functions needed for end-to-end delivery of a transmission. It does
not provide any sequencing or recording functions and cannot specify the damaged packet when
reporting an error (for which it must be paired with ICMP). UDP can discover that an error has
occurred; ICMP can then inform the sender that a user datagram has been damaged and
discarded. Neither, however, has the ability to specify which packet has been lost. UDP contains
only a checksum; it does not contain an ID or sequencing number for a particular data segment.
Computer J.Vinoth
The Transmission Control Protocol (TCP) provides full transport layer services to applications.
TCP is a reliable stream transport port-to-port protocol. The term stream, in this context, means
connection-oriented: a connection must be established between both ends of a transmission
before either may transmit data. By creating this connection, TCP generates a virtual circuit
between sender and receiver that is active for the duration of a transmission.(connections for the
duration of an entire exchange are different, and are handled by session functions in individual
applications.) TCP begins each transmission by altering the receiver that datagrams are on their
way (connection establishment) and ends each transmission with a connection termination. In this
way, the receiver knows to expect the entire transmission rather than a single packet.
IP and UDP treat multiple datagrams belonging to a single transmission as entirely separate units,
unrelated to each other. The arrival of each datagram at the destination is therefore a separate
event, unexpected by the receiver. TCP, on the other hand, as a connection-oriented service, is
responsible for the reliable delivery of the entire stream of bits contained in the message originally
generated by the sending application. Reliability is ensured by provision for error detection and
retransmission of damaged frames; all segments must be received and acknowledged before the
transmission is considered complete and the virtual circuit is discarded.
At the sending end of each transmission, TCP divides long transmissions into smaller data units
and packages each into a frame called a segment. Each segment includes a sequencing number
for reordering after receipt, together with an acknowledgement ID number and a window-size field
for sliding window ARQ. Segments are carried across network links inside of IP datagrams as it
comes in and reorders the transmission based on sequence numbers.
The TCP Segment
The scope of the services provided by TCP requires that the segment header be extensive. A
comparison of the TCP segment format with that of a UDP user datagram shows the differences
between the two protocols. TCP provides a comprehensive range of reliability functions but
sacrifices speed (connections must be established, acknowledgments waited for , etc.).Because
of its smaller frame size, UDP is much faster than TCP, but at the expense of reliability. A brief
description of each field is in order.
Computer J.Vinoth
Figure TCP Segment format
Header Data
Source port address. The source port address defines the application program in the
source computer.
Destination port address. The destination port address defines the application program
in the destination computer.
Sequence number. A stream of data from the application program may be divided into
two or more TCP segments. The sequence number field shows the position of the data in
the original data stream.
Acknowledgement number. The 32-bit acknowledgement number is used to
acknowledge the receipt of data from the other communicating device. This number is
valid only if the ACK bit in the control field(explained later) is set. In this case, it defines the
byte sequence number that is next expected.
Header Length (HLEN). The four-bit HLEN field indicates the number of 32-bit (four-byte)
words in the TCP header. The four bits can define a number up to 15.This is multiplied by
4 to give the total number of bytes in the header. Therefore, the size of the header can be
a maximum of 60 bytes (4x15).Since the minimum required size of the header is 20 bytes,
40 bytes are thus available for the options section.
Reserved. A six-bit field is reserved for future use.
Control. Each bit of the six-bit control field functions individually and independently. A bit
can either define the use of a segment or serve as a validity check for other fields. The
Computer J.Vinoth
urgent bit, when set, validates the urgent pointer field. Both this bit and the pointer indicate
that the data in the segment are urgent. The ACK bit, when set, validates the
acknowledgement number field. Both are used together and have different functions,
depending on the segment type. The PSH bit is used to inform the sender that a higher
throughput is needed. If possible, data must be pushed through paths with higher
throughput. The reset bit is used to reset the connection when there is confusion in the
sequence numbers. The SYN bit is used for sequence number synchronization in three
types of segments: connection request, connection confirmation (with the ACK bit set),
and confirmation acknowledgement (with the ACK bit set). The FIN bit is used in
connection termination in three types of segments: termination request, termination
confirmation (with the ACK bit set), and acknowledgement of termination confirmation
(with the ACK bit set).
Window size. The window is a 16-bit field that defines the size of the sliding window.
Checksum. The checksum is a 16-bit field used in error detection.
Urgent pointer. This is the last required field in the header. Its value is valid only if the
URG bit in the control field is set. In this case, the sender is informing the receiver that
there are urgent data in the data portion of the segment. This pointer defines the end of
urgent data and the start of normal data.
Options and padding. The remainder of the TCP header defines the optional fields. They
are used to convey additional information to the receiver or for alignment purposes.
Computer J.Vinoth
UNIT 5
Network Security
Security Attacks
Attacks on the security of a computer system or network are best characterized by viewing the
function of the computer system as providing information.
Computer J.Vinoth
Information Source Information destination
(e) Fabrication
(d) Modification
Computer J.Vinoth
With the message X and the encryption key K as input, the encryption algorithm forms the
ciphertext Y = [ Y1, Y2,……., YN]. We can write this as
Y = EK(X)
This notation indicates that Y is produced by using encryption algorithm E as a function of the
plaintext X, with the specific function determined by the value of the key K.
The intended receiver, in possession of the key, is able to invert the transformation:
X = DK(Y)
Substitution Techniques
A substitution technique is one in which the letters of plaintext are replaced by other letters or by
numbers or symbols. If the plaintext is viewed as a sequence of bits, then substitution involves
replacing plaintext bit patterns with ciphertext bit patterns.
Caesar Cipher
The earliest known use of a substitution cipher, and the simplest, was by Julius Caesar. The Caesar
cipher involves replacing each letter of the alphabet with the letter standing three places further
down the alphabet. For example,
plain : meet me after the toga party
cipher : PHHW PH DIWHU WKH WRJD SDUWB
Note that the alphabet is wrapped around, so that the letter following Z is A. We can define the
transformation by listing all possibilities, as follows:
plain: a b c d e f g I j k l m n o p q r s t u v w x y z
cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
If we assign a numerical equivalent to each letter (a =1, b = 2, etc.), then the algorithm can be
expressed as follows. For each plaintext letter p, substitute the ciphertext letter C:
C = E(p) = (p + 3) mod (26)
A shift may be of any amount, so that the general Caesar algorithm
is C = E(p) = (p + k) mod (26)
Where k takes on a value in the range 1 to 25. The decryption algorithm is simply
P = D(c) = (C - k) mod (26)
Playfair Cipher
The bet-known multiple-letter encryption cipher is the Playfair, which treats digrams in the
plaintext as single units and translates these units into ciphertext digrams.
The Playfair algorithm is based on the use of a 5 X 5 matrix of letters constructed using a
keyword. Here is an example, solved by Lord Peter Wimsey in Dorothy Sayers‟s Have His
carcase.
M O N A R
C H Y B D
E F G I/J K
L P Q S T
U V W X Z
In this case, the keyword is monarchy. The matrix is constructed by filling in the letters of the
keyword from left to right and from top to bottom, and then filling in the remainder of the matrix
Computer J.Vinoth
with the remaining letters in alphabetic order. The letters I and J count as one letter. Plaintext is
encrypted two letters at a time, according to the following rules:
1. Repeating plaintext letters that would fall in the same pair are separated with a filler letter,
such as x, so that balloon would be enciphered as ba lx lo on.
2. Plaintext letters that fall in the same column are each replaced by the letter beneath, with
the top element of the row circularly following the last. For example, mu is encrypted as
CM.
3. Otherwise, each plaintext letter is replaced by the letter that lies in its own row and the
column occupied by the other plaintext letter. Thus, hs becomes BP and ea becomes IM
(or JM, as the encipherer wishes).
Simplified DES
The S-DES decryption algorithm takes an 8-bit block of plaintext (example: 10111101) and a 10-
bit key as input and produces an 8-bit block of ciphertext as output. The S-DES decryption
algorithm takes an 8-bit block of ciphertext and the same 10-bit key used to produce that
ciphertext as input and produces the original 8-bit block of plaintext.
The encryption algorithm involves five functions: an initial permutation (IP); a complex
function labeled fk, which involves both permutation substitution operations and depends on a key
input; a simple permutation function that switches (SW) the two halves of the data; the function f k
again, and finally a permutation function that is the inverse of the initial permutation (IP-1).
The function fk takes as input not only the data passing through the encryption algorithm,
but also an 8-bit key. The algorithm could have been designed work with a 16-bit key, consisting
of two 8-bit subkeys, one used for each occurrence of fk. Alternatively, a single 8-bit key could
have been used, with the same key used twice in the algorithm. A compromise is to use a 10-bit
key from which two 8-bit subkeys are generated, as depicted in fig. In this case, the key is first
subjected to a permutation (P10). Then a shift operation is performed. The output of the shift
operation then passes through a permutation function that produces an 8-bit output (P8) for the
first subkey (K1). The output of the shift operation also feeds into another shift and another
instance of P8 to produce the second subkey (K2).
Computer J.Vinoth
10 - bit key
ENCRYPTION DECRYPTION
8-bit plaintext
P10
8-bit plaintext
Shift
P8 IP-1
IP
K1 K1
f f
k k
Shift
SW SW
P8
K2 K2
f f
k
k
IP-1 I
P
Simplified DES Scheme
8-bit ciphertext 8-bit ciphertext
Computer J.Vinoth
We can concisely express the encryption algorithm as a composition of functions:
-1 0 ) ) 0
IP fk2 SW fk1 IP
10 –bit key
10
P10
5 5
LS-1 LS-1
5 5
P8
8
K1
LS-1 LS-1
5 5
P8
K2 8
Computer J.Vinoth
Decryption is also shown in fig. and is essentially the reverse encryption:
plaintext = IP-1 ( fk1 (SW (fk2 ( IP (ciphertext ) ) ) ) )
We now examine the elements of S-DES in more detail.
This table is read from left to right; each position in the table gives the identity of the input bit that
produces the output bit in that position. So the first output bit is bit 3 of the input; the second
output bit is bit 5 of the input, and so on. For example, the key (1010000010) is permuted to
(1000001100). Next, perform a circular left shift (LS-1), or rotation, separately on the first five bits
and the second five bits. In our example, the result is (00001 11000).
Next we apply P8, which picks out and permutes 8 of the 10 bits according to the following
rule:
P8
6 3 7 4 8 5 10 9
Computer J.Vinoth
Key Generation
Encryption
Decryption
Plaintext: Ciphertext: C
M = Cd( mod n)
5 ciphertext 77 Plaintext
Plaintext 19 = 2476099 = 20807 with a 66 = 1.27….x 10140 1.06 …..x10138 with 19
66
119 remainder of 119 = a remainder of
66 19
KU = 5, 119 KR = 77,119
Computer J.Vinoth
Encryption, 19 is raised to the fifth power, yielding 2476099. Upon division by 119, the remainder
is determined to be 66. Hence 195 66 mod 119, and the ciphertext is 66. For decryption, it is
determined that 6677 19 mod 119.
Example 2 :
p = 3, q = 11, d = 17
assume plaintext symbol M = 5
n = p*q = 33, z = = (3-1) (11 – 1) = 20
Find e such that e * d = 1 mod z (z+1)
[ d = e-1 mod z ] k * z+1 (k =1 here)
e=3 3 X 7 = 1 mod 20
public key = { e,n} = { 3, 33}
private key = { d, n} = { 7, 33}
Encryption M =5
C = Me mod n
= 5e mod 33 = 125 /33 = 3
with reminder 26
ciphertext = 26
decryption c = 26
p =M = Cd mod n = 267 mod 33
= 8031810176/33 = 243388187
with reminder 5
plain text = 5
Example 3:
P = 17, q = 31, e = 7, m = 2
N = 17 X 31 = 527
z = (17-1) (31 – 1) = 16 x 30 = 480
e =7
Finding d such that e * d = 1 mod 480
and d < 480 =k*z+i
e=7
the value obtained is 343 1/7 x (480 x k +1)
publickey = { 7, 527} private key = { 343, 527
}
ciphertext = 27 mod 527
Computer J.Vinoth
= 128 mod 527 = 0
Computer J.Vinoth
with reminder = 128
ciphertext = 128
Decryption
128343 mod 527
2 is reminder
plaintext =2
(a) Encryption
(b) Authentication
Computer J.Vinoth
Public – Key Encryption
X
Cryptanalyst
KRb
Source A Destination B
Message X Y X
source Encryption Decrypti Destination
algorithm on
algorith
KUb
KRb
Key pair
Source
Computer J.Vinoth
E-mail :
E-mail system consists of two subsystems
- the user agent, and
- the message transfer agents
- User Agents :
They allow people to read and send e-mail they are local programs that provide a
command based, menu based, or graphical method for interacting with e-mail system.
- Message transfer agents :
They are responsible for moving the messages from the source to the destination. They
are typically system daemons that run in the background and move e-mail through the
system.
Typically, e-mail system support five basic functions given below.
(i) Composition :
It refers to the process of creating messages and answers.
(ii) Transfers :
it refers to moving messages from the originator to the recipient. This requires, establishing a
connection to the destination (or) some intermediate machine, outputting the message and
releasing the connection.
(iii) Reporting :
It informs the originator about the status of the message, whether it is delivered, rejected(or) lost.
(iv) Displaying :
These provides the incoming messages to be read by the people. Simple conversions and
formatting is performed.
(v) Disposition :
It is the final step and concerns what the recipient does with the message after receiving it.
Other Services of E-mail include:
Mailboxes :
Used for storing incoming E-mail.
Mailing List = List of e-mail addresses to whom, identical copies of messages need to be
sent.
Registered E-mail = It allows the originator to know that his mail has arrived.
High priority E-mail = Secret E-mail etc.
Computer J.Vinoth
User Agent :
A user agent is normally a program that accepts a variety of commands for composing, receiving
and replying to messages as well as manipulating mail boxes.
Sending E-mail :
To send an e-mail a user must provide the message, the destination address and some other
parameters. The message can be produced in any text editor (or) the one built in user agent. The
destination address must be in the format that the user agent can deal with i.e., either DNS
address (or) X.400 address. Most e-mail systems support mailing list, so that a user can send the
same message to a list of people with a single command.
Reading E-mail :
When a user agent is started up, it will look at the user‟s mailbox for incoming e-mail before
displaying anything on the screen. It then announces the number of messages in the mail box(or )
a one line summary of each one.
In a sophisticated system the user can specify the fields to be displayed by providing the display
format.
Eg:
1. Message numbers
2. Flag etc.
Message format:
Message consist of a primitive envelope, some number of header field, blank line followed by
message body. In normal usage, the user agent builds a message and passes it. To the message
transfer agent which then uses some of the header fields to construct the actual envelope.
Principal header include:
To :
DNS address of primary recipient.
CC :
DNS address of secondary recipient.
In terms of delivery there is no distinction between primary and secondary (carbon copies).
BCC :
Similar to CC, allows people to send copies to third parties without primary and secondary
knowing it.
From :
Who wrote the message.
Sender :
The one who sent the message.
Received :
Added by each message transfers agent along the way used for finding bugs in routing system.
Return path :
Added by final message transfer agent intended to tell how to get back to the sender etc.
Explain how e-mail works?
SMTP :
Computer J.Vinoth
E-mail is delivered by having the source machine establish a TCP connection to destination.
Listening to this port is an E-mail daemon that speaks SMTP. This daemon accepts incoming
connections and copies messages from them to appropriate mail boxes. If the message cannot
be delivered, an error message is given.
After establishing a TCP connection, the sending machine operates as a client and waits
for receiving entity to talk first. The server starts by giving its identity and informing whether (or)
not it is prepared to receive mail. If it is not, the client releases the connection.
If the server is ready, the client announces whom the E-mail is coming from and whom it is
going to. If the recipient exists, the server gives a go-ahead to send the message. Then the client
sends the message and the server acknowledges it. When the E-mail has been exchanged then
the connection is released.
E-mail Gateways :
SMTP does not work, when both sender and receiver are not on internet. In order to overcome
this difficulty E-mail gateways are used.
Here the sender establishes a TCP connection to the gateway and then uses SMTP to transfer
the message. The daemon on the gateway then puts the message in a buffer of messages
destined for host2. Late TPU (similar to TCP) is established with host2 and the message is
transmitted.
Final Delivery :
Post Office Protocol (POP)
Used to fetch e-mail from a remote mail box, has commands for user to logon, logout, fetch and
delete messages. If fetches the mail and stores it in local system.
Interactive mail access protocol (IMAP)
This protocol is used by a person having multiple systems (office, residence, car, etc). Here the E-
mail server maintains a central repository that can be accessed from any machine. IMAP does not
copy E-mail as POP.
DOMAIN NAME SYSTEM
Generally host names, mailboxes and other resources are represented by using ASCII sting such
as [email protected] the network itself only understands binary address i.e., the address
written in the binary form. So we need some mechanism to convert the ASCII strings to network
addresses in binary. It is easy to maintain the host names and their IP addresses in file for a
network of few hundred hosts. For a network of thousand hosts it is very difficult.
The Domain Name System, DNS is a distributes data that is used by TCP/IP application to
map between host names and IP addresses, and to provide electronic mail routing information.
We use the term distributed because no single site on the Internet knows all the information. Each
site maintains its own data base information and runs a server program that other systems
(clients) across the Internet can query. It is a good example of a TCP/IP client-server application.
Computer J.Vinoth
The DNS provides the protocol that allows client and server to communicate with each other.
DNS is defined in RFC‟s 1034 and 1035.
The DNS identifies each host on the internet with a unique name that identifies it as
unambiguously as its IP address as follows. To map a name onto an IP address, an application
program calls a library procedure called the resolver, passing it the name as a parameter. The
„resolver‟ sends a UDP packet to a local DNS server, which then looks up the name and returns
the IP address to the resolver, which then returns it to the caller. To create names that are unique
and at the same time decentralized and easy to change, the TCP/IP designers have chosen a
hierarchical system made up of a number of labels separated by dots.
THE DNS NAME SPACE
Internet is divided it several hundred top level domains, where each domain covers many hosts.
Each domain is partitioned into sub domains, these are further partitioned and so on. Thus DNS is
implemented using a tree in which each node represents one possible label of up to 63 characters.
The root of the tree is a special node with new label as shown in fig. Any comparison of label
considers uppercase and lower-case characters the same i.e., Domain names are case
insensitive.
The leaves of the tree represent a company/organization and contain thousands of hosts.
Each domain is named by the path from it to the unnamed root. The components in the
name are separated by periods (dots), that is domain name of any node in the tree is the list of
labels starting at the node, working up to the root using the period (dot ) separate the labels.
The domain names that ends with a period is called an absolute domain name or fully
qualified domain name(FQDN).An example is vax.ugc,central.edu.
If domain does not end with a period, it is assumed that the name needs to be completed. How the
name is completed on the DNS software being used. If the incomplete names consist of two or
more labels, it might be considered to be complete. Otherwise, local addition might be added to the
right of the name. The name vax might be completed by adding the local suffix.ugc.central.edu.
The right most label in the name corresponds to the level of the tree closest to the root
(lowest), and left-most to the level farthest from the root(highest).The tree is divided into three
domains: generic, country and reverse as shown in fig.
Computer J.Vinoth
Root-level
Un-named root
In-addr control
rgm
ugc aict e
164
ece cse
45 vax rgm
Vax.ugc.control.edu ece.rmg.jntu.in
61
164.45.3 4.61.in-addr
arpa. Reverse
Domain
Generic Domain: The generic domain is also called the organization domain, divides registered
hosts according to their generic behaviour. Generic domain names, read left to the right , start
with the most specific information about the host(e.g. the name of the workstation) and become
more and more general with each label until they reach the rightmost label, which describes the
broadcast affiliation of the normal host i.e., the nature of the organization.
Computer J.Vinoth
The first level of the generic domain convention allows seven possible three character labels
describing organization type.
Each domain name corresponds to a particular IP address. To find the address, the resolution
application begins searching with the first level. As a much is found, a pointer leads to the next
level and finally to the associated IP address.
Country Domain: The country domain convention follows the same format as generic domain,
but uses two character country abbreviation in place of three character organizational
abbreviations at the first level shown in table. Second level labels can be organizational or they
can be more specific national designations.
Reverse Domain: If we have the IP address and need the domain name, you can reverse
domain the functions of DNS.
The domain can be inserted onto the tree in two ways. For example ugc.control.edu could equally
be listed under the country domain as cs.yale.ct.us.
Computer J.Vinoth
To create a new domain, permission is required of the domain in which it will be included. For
example, rgm group was started under aicte and is known as rgm.aicte.control.edu. It needs
permission from which use manages aicte.control.edu. Naming follows organizational boundaries,
not physical networks.
RESOURCE RECORDS
Every domain in the DNS tree maintains a set of Resource Records, which are connected to it.
For a leaf node i.e., single host, the most common resource record is its IP address. When a
resolver gives a name to DNS, it gets back called as resource records associated with thatname.
The original function of a DNS is to map domain names on to the resource records.
A resource record is a five tuple, in ASCII text they are represented as
The domain-name tells the domain to which this record belongs. This is the primary
search key used to satisfy queries.
The time-to live field gives information regarding the stability of the record. A large value
such as 86-400(number of seconds in one day) indicates that the information is highly
stable. The small value such as 60(1 minute) indicates that the information is highly
volatile.
The type of field tells what kind of record it is, some of the type records are listed in table
5.3.
1. The SOA record provides name of the primary source of information about (a) name
servers zone (b) e-mail address of its administration (c) various flags and (d) various time
outs.
2. The record A, holds a 32 bit IP address of the host. If a host connects two or more
networks, each case it has one type of a resource record per network connection.
3. The MX record specifies the name of domain prepared to accept e-mail for the specified
domain. It allows the host that is not on the internet to receive e-mail from internet sites.
4. NS record specifies Name server.
Computer J.Vinoth
5. CNAME record specifies allows the aliases to be created.
6. PTR is a regular DNS data type whose interpretation depends on the context on which it is
found.
7. The TXT record allows domains to identify themselves in arbitrary way i.e., it is for user
convenience.
The fourth field in the general structure of resource record is the class. It may be
Internet information, used IN and for non-internet information, other codes are
used.
The value field can be number, domain name or an ASCII string.
NAME SERVERS
The Inter network Information center (Inter NIC) manages the top level domain names. The Inter
NIC delegates responsibility for assigning names to different organizations. Each organization is
responsible for a specific portion of the DNS tree structure. Internet professionals refer to these
areas of responsibilities as zones.
Alternatively, the Inter NIC delegates responsibility for assigning names with in a specific zone to
specific organizations. Each zone contains some part of the tree and also contains name servers
holding the authoritative information about the zone. Each zone contains one primary name
server and one or more secondary name servers. Primary name server and one or more
secondary name servers. Primary name server gets its information from a file on its disk, the
secondary name server and get their information from the primary name server. One or more
servers are located outside the zone, for each zone, for reliability. The number of name servers
needed in a zone depends on the zone boundaries.
Let us consider an example shown in fig connected with another domain. here a resolver on
“ece.rgm.jntu.in” wants to know the IP address of the host “rgm.aicte.control.edu” can be
explained in 8 steps.
Step 1: It sends a query to the local name server rgm.jntu.in.This query asks a record of type A
and the class IN.
Step 2: If the local name server had no such domain and knows nothing about it, it may ask a few
other near by name servers if none of them know, it sends a UDP packet to the server for “edu”
given in its database (see fig) edu.server.net.
Step 3: It forwards the request to the name server control.edu.
Computer J.Vinoth
Step 4: And in turn this forwards the request aicte.control.edu, which has authoritative resource
records.
This is the request from client to a server, the resource record requested will work its way
back in step 5 to step 8.Once these records get back to rgm.jntu.in name server, they will be
entered into a cache/memory. However this information is not authoritative, since changes made
at aicte.control.edu will not be propagated to all the memories in the world. For this reason cache
should not live too long, so time-to-live field is used in each resource record. It tells the name
server how long to cache records.
Resource record
ELECTRONIC MAIL
Electronic mail or E-mail as it is popularly called, is a system that allows a person or a group to
electronically communicate with each other through a netork. Presently people can now receive
and send e-mail to:
nearly any country in the world.
one of millions of computer users.
many users at once.
computer programs.
The first e-map systems consisted of file transfer protocols, with the convention that the first line
of each message contained the recipient address. Some of the complaints at that time were
Computer J.Vinoth
4. It is difficult to forward the mails.
5. It is not possible to create and send messages containing a mixer of text, drawing
facsimile and voice.
After a decade of competition, email systems based on RFC822 are widely used, where all the
above problems are solved.
BASIC FUNCTIONS
Email systems support five basic functions, which are: Composition, Transfer, Reporting,
Displaying and Disposition.
1. Composition is a process for creating the messages and answers. This can be done by
text editor, outside the mailer, the system will provide assistance in addressing and
numerous header fields attached to each message. For eample:when answering a
message, the e mail system can extract the originator‟s address from the incoming e-mail
and automatically insert it into the address space in reply.
2. Transfer refers to moving of messages from the source to the recipent. In some cases,
connection establishment is needed with the destination, outputting the message and
releasing the connection. The e-mail system should do automatically this.
3. Reporting is used to indicate the originator what happened to the message i.e.,
confirmation of the message delivery. Was it delivers successfully? Was it rejected? Was
it lost? Did errors occur?
4. Displaying It refers to read the incoming e-mail by the person. Sometimes conversion is
required or a special viewer must be invoked.
5. Disposition It concerns what the recipient does with the message after receiving it. The
possibilities are
(a) Throwing it away before reading
(b) Throwing it away after reading.
(c) Saving it and so on. It is also possible to forward them or process them in other
ways.
In addition to these basic services, most of e-mail systems provide a large variety of advanced
features such as
(a) It allows to create a mailbox to store incoming e-mail.
(b) It allows to have a mailing list, to which the e-mail messages have to send.
(c) Carbon copies, high priority email, secret email, registered email etc.
Computer J.Vinoth
THE USER AGENT
The user agent is a program that allows users to read reply to, forward, save and compose
messages. User agents for electronic mail are sometimes called mail readers. Some user agents
have menu or icon driven interface that requires a mouse, some other requires only 1 character
command from keyboard.
Message can be produced with a free standing text editor, a word processing
program or by using a text editor built into the user agents. The format of an e-mail
message is similar to that of a conventional letter.
There are two main parts: Header and body.
The header contains out name and address, the name and address of the person it‟s
being sent to, the name and address of the person who is being sent a copy, the date of the
message and the subject when we receive an e-mail from someone, the header tells us where it
came from, what it is about, how it was sent and when.
The body is the place where we write the contents of what we want to communicate. The
message sent should be simple and direct. Body is entirely for human recipient.
The designation address must be in a format that the user agent can deal with. The basic
form of e-mail address is
User name @host name.subdomain.domain.
The text before the sign @(pronounced “at”) specifies the user name of the individual, the text
after the @ sign indicates how the computer system can locate that individual‟s mailboxes.
For example
[email protected]
Here cs is a sub domain of Colorado is a sub domain of edu.the edu specifies the top-level
domain name.
The number of periods (pronounced as dots) varies from e-mail address.
Reading e-mail: On connecting to the net, the first thing a user usually does is check his mail, it‟s
like checking the mailbox when we go home. The display like fig 5.28 appears on the screen.
Computer J.Vinoth
Each line refers to one message. In the fig, the mailbox contains 4 (four) messages. The display
line contains several fields, which provides user profile.
Computer J.Vinoth
A List of “Bc”: This is same as “Cc” except that this is a carbon copy. The list of recipients
is not visible to the person who receives this message.
Attached: This is a convenient method to share both data and programs. These files may
be attached or enclosed with an e-mail message.
Signature: It contains sender‟s full name and address or whatever information the
sender wishes to send.
Instead of creating a message from the scratch, we may choose to reply or forward the
messages.
Replying: When we reply a message, the sender‟s address is automatically put in the
“To” header and subject of the original message is reduced proceeded by Re, for the
reply.
Forwarding: When we forward a message, the subject of the original message is reused,
with prefix “FW”.We must specify the e-mail address of the recipient of the forward
message.
Redirecting: Some e-mail programs allow to redirect messages. It is similar to forwarding
a message, except that the message retains the original sender in the form header and
adds a notation that the message comes through you.
This is the solution defined in 1341 and updated in 1521 for the following problems.
1. Messages in languages with accents.
2. Messages in non Latin alphabets.
3. Messages in languages with out alphabets.
4. Messages not containing text at all.
The basic idea of MIME is to continue the use of RFC 822 format, but to add structure to the
message body defined encoding rules for non ASCII formats. The MIME messages can be sent
using the existing mail programs, and protocols.
The MIME defines five new message header
MIME-Version: It tells the use agent receiving the message that it is dealing with a MIME
message, and which version of MIME it uses.
Content-Description: It tells what is there in the message, this header helps the recipient
whether it is worth decoding and reading the message.
Computer J.Vinoth
Content-Transfer Encoding: It tells how the body is wrapped for transmission through a
network that may object to most characters other than letters, numbers and punctuation
marks.
Content-Type: It specifies the nature of the message body. Seven types are defined in
RFC 1521, each of which has one or more sub types. The type and sub type are
separated by a slash. The sub type must be given explicitly in the header, no defaults are
provided. Table 5.4 shows the list of types and sub types.
TYPE AND SUB TYPE FIELDS DEFINED IN RFC 1521
S.No Type Sub Type Meaning
1. Text Plain Unformated text
HTML Hyper text mark up language
Rich text Allows a simple mark up language to the
included in the text (standardized general m ark
up language (SGML)
2. Image GIF To transmit still pictures in GIF format
JPEG To transmit still pictures in JPEG format
PNG To transmit still pictures in portable network
graphics
3. Audio au Sun micro systems sound
Basic Audiable sound
aiff Apple sound
4. Video sgi.movie Silicon graphics movie
MPEG Visual information, the video format is
moving picture experts group MPEG
avi Microsoft audio video interleaved
5. Application Octet stream It is a sequence of uninterrupted bytes
Post Script Which refers the postscript language
produced by Adobe systems and widely
used for describing printed pages.
tex TEX document.
6. Message RFC822 A MIME RFC-822 message (ASCII
characters message)
Partial Break and encapsulated message up into
pieces and send them separately.
External Used for very long message (i.e., video
films)
7. Multiport Mixed Each part to be different with no additional
structure imposed
Alternative Each part must contain the same message
but expressed in a different medium or
Parallel encoding.
Digest All parts must be viewed simultaneously
Many messages are packed together into
composite message.
Computer J.Vinoth
MESSAGE TRANSFER
The message Transfer system, MTS is concerned with relaying messages from originator to the
recipent.The simplest way to do this is to establish a transport connection from source machine to
the destination machine and just transfer the message.
Mail servers are from the core of the e-mail infrastructure.Each recipient has a mail box, located
in one of the mail servers.A typical message starts its journey in the sender‟s user agent, travels
to the sender‟s main server, and then travels to the recipient mail server where it is deposited in
the recipient mail box.
A mail server needs to be running all the time, waiting for e-mail messages and routing them
approximately.If a mail server crashes or down for an extended period(3-4 days), e-mail can be
lost.There may be a limitation on the size of mail box.Generally once this limit is reached, new
incoming messages are refused until you free up space by deleting some messages.
SIMPLE MAIL TRANSFER PROTOCOL-SMTP
The simple mail transfer protocol (SMTP) is the principal application layer protocol for internet e-
mail. It is simple ASCII protocol. It uses the reliable data transfer service of TCP to transfer mail
from the sender‟s mail server to the recipient‟s mail server. In most application protocols SMTP
has two sides: a client side, which executes on the sender‟s mail server and a server side-which
executes on the recipient mail server. When a mail server sends a mail (to other mail server), it
acts as a client SMTP.When a mail server receives a mail (from other mail server), it acts as an
SMTP server.
The SMTP defined in RF821, is at the heart of Internet e-mail.SMTP is much older than HTTP.To
illustrate the basic operation of SMTP, let‟s walkthrough a common scenario. Suppose Ramu
wants to send Raju a simple ASCII message.
Ramu invokes his user agent for e-mail, provides Raju‟s e-mail address(example
Raju@some school.edu) composes a message, and instructs the user agent to send the
message.
Ramu‟s user agent sends the message to his mail server, where it is placed in a message
queue.
The client side of SMTP, running on Ramu‟s mail server, sees the message in the
message queue.It opens a TCP connection to a SMTP running Raju‟s mail server.
After some initial SMTP hand shaking, the SMTP client sends Ramu‟s message into the
TCP connection.
At Raju‟s mail server host, the server side of SMTP recives the message.Raju‟s mail
server then places the message in Raju‟s mail box.
Raju invokes his user agent to read the message at his convenience.
The scenario is summarized in fig.5.29
Computer J.Vinoth
SMTP
Let us now take closer look at how SMTP transfers a message from a sending mail server to a
receiving mail server.
We will see that the SMTP protocol has many similarities with protocols that are used for face-to-
face human interaction.
The client SMTP has TCP to establish a connection on port 25 to server SMTP.If server is
down, the clients tries again later. Once the connection is established, the server and
client perform some application layer handshaking. During this SMTP handshaking phase,
the SMTP client indicates the e-mail address of the sender and the e-mail address of the
recipient. Once the SMTP client and server have introduced themselves to each other, the
client sends the message, SMTP can count on the reliable data transfer service of TCP to
get the message to the server without errors. The client then repeats this process over the
same TCP connection if it has other message to send to the server; otherwise it instructs
TCP to close the connection.
Even though the SMTP protocol is well defined, a few problems can still arise. These are.
1. Related to the Message Length : Some older implementations cannot handle
messages exceeding 64kB.
2. Related to Time Outs : If the client and server have different time-outs, one of them may
give up while the other is still busy, unexpectedly terminating the connection.
3. Infinite mail storms can be triggered .
To get around some of these problems, extended SMTP (ESMTP) has been defined in
RFC1425.
E-mail Gateways: E-mail using SMTP works best when both the sender and receiver on the
internet and can support TCP connections between sender and receiver.However many
Computer J.Vinoth
machines that are not on the internet)because of security problem) still want to send and recive e-
mail from internet sites.
Another problem occurs when the sender speaks only RFC822 and the receiver speaks only
X.400 or some proprietary vendor specific mail protocol.
Both these problems can be solved using application layer e-mail gateways fig.5.30 shows the
gateway.
Network
USE OF EMAIL
Here Host1 speaks only TCP/IP and RFC822, where as host 2 speaks only OSITP4 ans
X.400.
They can exchange e-mail using an e-mail gateway.
Procedure:
1. Host 1 establishes a TCP connection to gateway and then use SMTP to transfer message
there.
2. The gateway then puts the message in a buffer of messages destined to host 2.
3. A TP4 connection is established between host 2 an the gateway.
4. The message is transferred using OSI equivalent of SMTA.
The problems here are
(a) The Internet address and X.400 address are totally different. Need of elaborating
mapping mechanism between them.
(b) Envelope and header fields are present in one system and are not present in the
other.
MAIL ACCESS PROTOCOL
Till now we have assumed that an users work on machines that are capable of sending and
receiving e-mail. Sometimes this situation is false. For example in an organization, users work on
desktop PCs that are no in the internet and are capable of sending and receiving e-mail from
outside. Instead the organization has one or more e-mail servers that can send and receive e-
Computer J.Vinoth
mail. To sned and receive e-mails, a PC must talk to an e-mail server using some kind of delivery
protocol.
There are currently two popular mail access protocols:POP 3(Post office Protocol version3 ) and 1
MAP (internet mail access protocl)
POP3 : POP3 defined in RFC 1939, it is an extremely simple amil access protocol.POP 3 begins
when the user agents (clients) opens a TCP connection to the mail server (the server) on port
100.With the TCP with TCP connection established, POP3 progress through three phases.
1. Authorization: The user agent sends a user name and a password to authenticate the
user downloading the mail.
2. Transaction: The user agent receives messages. In this phase the user agent can also
mark messages for deletion, remove deletion marks, and obtain mail statistics.
3. Update: During the third phase, update occurs after the client has issued the quit
command, ending the POP3 session. This time the mail server deletes the messages that
were marked for deletion.
IMAP: The Internet Mail Access Protocol (IMAP), is defined in RFC 2060.It has many features
than POP3 , but it is also significantly maore complex. It was designed to help the user whi uses
multiple computers, perhaps a workstation in the office, a PC at a home and laptop on the
road.The basic idea behind IMAP is for the e-mail server to maintain a central reposition that can
be accessed from any machine.Thus unlike POP3 , IMAP does not copy email to the user‟s
personal machine because the user may have several.
The IMAP has many features.
a) It has commands that permit a user agents to obtain components of messages. This feature
is useful when there is a low bandwidth connection between the user agent and mail server.
b) An IMAP session consists of a client command, server data and a server completion result
response.
The IMAP server has four states.
1. Non Authenticated State: Initial state whenthe connection begins, the user must supply a
user name and password before most commands will be permitted.
2. Authenticated State: The user must select a folder before sending commands that affect
messages.
3. Selected State: The user can issue commands that affect messages.
4. Log Out State: Here the session is terminated.
* * ** *
Computer J.Vinoth
REVIEW QUESTIONS
Computer J.Vinoth
Quiz Questions
** * * *
Computer J.Vinoth