Data and Computer Communications: Protocol Architecture, TCP/IP, and Internet - Based Applications
Data and Computer Communications: Protocol Architecture, TCP/IP, and Internet - Based Applications
Communications
Protocol Architecture, TCP/IP, and
Internet-Based Applications
2
Basic Concepts
For Successful communication, two
systems must follow a common set of
rules for generating and interpreting
messages.
The set of rules to be followed is very
complex
Layered approach provides a viable
approach to deal the complex problem
The communications functions are
partitioned into a hierarchical set of layers
3
Layered Approach
A complex problem is divided into a number
of pieces of manageable and
comprehensible size
It provides structured modular approach
Each module can be developed and tested
independently
Allows easy enhancement and
implementation of the functions of a
particular layer without affecting other
layers.
4
Some basic Principles followed in
Layering
Use of optimum number of layers
Put similar functions in the same layer
Create a layer where there is need for different
levels of abstraction
Allow changes of functions to be made within a layer
without affecting others
Create layers boundaries for each layer with its
upper and lower
Choose layer boundaries to minimize information
flow across the boundaries
5
Layers and Interfaces
System interconnection rules are
modularized in terms of a series of layers
of functions, say N layers
Each layer contains a group of related
functions
A layer below layer n and a layer above
layer n are layer(n-1) and layer(n+1) ,
respectively
Between each pair of adjacent layers there
is an interface
6
Æ
The boundaries between adjacent layers in the
same system are called Interfaces.
To request or receive indications of a service,
peer entities exchange messages called
Service Primitives.
The services between adjacent layers in the OSI
architecture are expressed in terms of Primitives
and Parameters.
A Primitive specifies the function to be
performed and the Parameters are used to pass
data and control information.
7
Æ
A service provider delivers services to a
service user at an interface called a Service
Access Point (SAP).
A SAP is the point at which an entity provides
a service to a user entity in the layer above
Interface defines which primitive services the
lower layer offers the upper layer
Layer n provides services to the Layer(n+1)
through services access points
Each layer adds value to the services provided by
lower layers
8
Service User, Service Provider, and SAP Interaction
9
Entity and Protocols
Data Communication occurs between
two entities in different systems
Entity is something which capable of
sending, processing and receiving
information
For communication to take place the
entities should follow an agreed upon
protocol
10
Æ
A Protocol is a set of rules that govern data
communication
The Key features of protocols are (It defines
– What, How and When):
1. Syntax: Refers to the structure or format of
data
2. Semantics: The way the bit pattern are
interpreted and actions taken based on the
interpretation
3. Timing: Specifies when data can be sent and
how fast it can be sent
11
For Example:
When computers, terminals, and/or other data
processing devices exchange data, the procedures
involved can be quite complex. eg. file transfer.
There must be a data path between the two
computers. But also need:
Source to activate communications Path or inform
network of destination
Source must check destination is prepared to receive
File transfer application on source must check
destination file management system will accept and
store file for his user
May need file format translation
12
Æ
Instead of implementing the complex logic for
this as a single module, the task is broken up into
subtasks, implemented separately.
In a protocol architecture, the modules are
arranged in a vertical stack, each layer in the stack
performs a related subset of the functions.
It relies on the next lower layer to perform more
primitive functions. It provides services to the
next higher layer.
The peer layers communicate using a set of rules
or conventions known as a Protocol.
13
Simplified Network Architecture
In general terms, communications can be said to
involve three agents:
Applications (eg. file transfer)
Computers (eg. PCs & servers) and
Networks.
These applications, and others, execute on computers that can
often support multiple simultaneous applications. Computers
are connected to networks, and the data to be exchanged are
transferred by the network from one computer to another.
Thus, data transfer involves first getting the data to the
computer in which the application resides and then
getting the data to the intended application within the
computer.
14
Æ Can think of partitioning these tasks
into 3 layers as shown.
15
Æ
The File Transfer Module contains all of the logic
that is unique to the file transfer application, such as
transmitting passwords, file commands, and file
records.
The Communication Service Module is concerned
with assuring that the two computer systems are
active and ready for data transfer and for keeping
track of the data that are being exchanged to assure
delivery.
The logic for dealing with the network is placed in a
separate Network Access Module. If the network
to be used is changed, only the network access
module is affected.
16
Protocol Architecture
17
Protocol Architecture and Networks
Figure 2.2
18
Protocols in Simplified Architecture
Figure 2.3
19
Æ Application Layer
20
Æ Transport Layer
The transport layer may break this block into two
smaller pieces to make it more manageable.
To each of these pieces the transport layer appends
a transport header, containing protocols control
information.
The combination of data from the layer and the
control information is known a a Protocol Data Unit
(PDU). In transport layer case, it is referred to as a
Transport PDU (TPDU).
The header in each transport PDU contains control
information to be used by the peer transport protocol
at computer B.
21
Æ
Examples of items that may be stored in
header at transport layer level, include the
followings:
Destination SAP: When the destination transport
layer receives the transport PDU, it must know to
who the data are to be delivered.
Sequence number: The transport protocol is
sending a sequence of PDUs, it numbers them
sequentially so that if they arrive out of order, the
destination transport entity may reorder them.
22
Æ
Error-detection code: The sending transport
entity may include a code that is a function of the
contents of the remainder of the PDU. The
receiver transport protocol performs the same
calculations and compared the result with the
incoming code. A discrepancy result if there has
been some error in transmission.
The next step for the transport layer to hand
each PDU over to the network layer, with
instructions to transmit it to the destination
computer.
23
Æ Network Access Layer
Network access protocol appends a network
access header to the data it receives from the
transport layer, creating a network access
PDU (NPDU).
Examples of the items that may be stored in
the header include the following:
Destination Computer address: the network
must know to who the data are to be delivered.
Facilities requests: such as priority
24
Operation of Protocol Architecture
Figure 2.5
25
TCP/IP Protocol Architecture
The TCP/IP protocol architecture is the result of
a protocol research and development
conducted on the experimental packet
switched Network.
ARPANET funded by the US Defense
Advanced Research Project Agency (DARPA)
Generally referred to as the TCP/IP protocol
Suite.
Protocol suite comprises a large collection of
protocols that has been issued as internet
standard by the Internet Architecture Board
(IAB)
26
TCP/IP Layers
The TCP/IP model organized the
communication task into five relatively
independent layers
No official model but a working one
Application layer
Host-to-host, or transport layer
Internet layer
Network access layer
Physical layer
27
Physical Layer
The physical layer covers the physical
interface between a data transmission device
(e.g., workstation, computer) and a
transmission medium or network.
This layer is concerned with specifying the
characteristics of
transmission medium
signal levels
data rates
other related matters
28
Network Access Layer
Exchange of data between an end system
and attached network
concerned with issues like :
destination address provision
invoking specific services like priority
The specific software used at this layer depends
on the type of network to be used; different
standards have been developed for circuit
switching, packet switching (e.g., frame relay),
LANs (e.g., Ethernet), and others.
29
Internet Layer (IP)
30
Transport Layer (TCP)
31
Application Layer
32
Operation of TCP and IP
33
Addressing Requirements
34
Operation of TCP/IP
35
Transmission Control Protocol (TCP)
36
TCP Header
37
User Datagram Protocol
(UDP)
An alternative to TCP
No guaranteed delivery
No preservation of sequence
No protection against duplication
Minimum overhead
Adds port addressing to IP
38
UDP Header
39
IP Header
40
IPv6 Header
41
TCP/IP Applications
42
Some TCP/IP Protocols
43
OSI
44
OSI Layers
45
OSI v TCP/IP
46
Standardized Protocol Architectures
47
Service Primitives and Parameters
Define services
between adjacent
layers using:
Primitives to specify
function performed
Parameters to pass data
and control info
48
Primitive Types
REQUEST A primitive issued by a service user to invoke some
service and to pass the parameters needed to specify
fully the requested service
INDICATION A primitive issued by a service provider either to:
indicate that a procedure has been invoked by the peer
service user on the connection and to provide the
associated parameters, or
notify the service user of a provider-initiated action
RESPONSE A primitive issued by a service user to acknowledge or
complete some procedure previously invoked by an
indication to that user
CONFIRM A primitive issued by a service provider to acknowledge
or complete some procedure previously invoked by a
request by the service user
49
Traditional vs. Multimedia
Applications
traditionally Internet dominated by info
retrieval applications
typically using text and image transfer
eg. email, file transfer, web
see increasing growth in multimedia
applications
involving massive amounts of data
such as streaming audio and video
50
Elastic and Inelastic Traffic
elastic traffic
can adjust to delay & throughput changes over a
wide range
eg. traditional “data” style TCP/IP traffic
some applications more sensitive though
inelastic traffic
does not adapt to such changes
eg. “real-time” voice & video traffic
need minimum requirements on net arch
51
Summary
52