Protocols
Protocols
Protocol Architecture.
Layered structure of hardware and software to support exchange of data between systems/distributed
applications
Set of rules for transmission of data between systems
One or more common protocols for every layer
Protocols
Characteristics
Direct/indirect communication
Point-to-point link
Two entities share a link, allowing direct communication
Entities may also connect through a number of intermediate hosts, bringing in the issue of access
control, making the protocol more complex
Switched communications network
Entities depend on other entities for data exchange
Entities may be connected over local network (Ethernet) or may belong to dierent networks
(internet)
Monolithic/structured protocol
Monolithic protocol
All protocol logic (for every layer) is combined into one unit
Problem in changing any aspect of the protocol (such as virtual circuit request)
Structured protocol
Set of protocols with hierarchical/layered structure
Clearly shows the distinction between dierent layers of logic
Communications architecture
Hardware/software used to implement communications with structured protocol
Symmetric/asymmetric protocol
Symmetric protocol
Involves communication between peer entities
Asymmetric protocol
Involves client/server type of relationship
Standard/nonstandard protocol
Standard protocol
Commonly accepted protocols that have been agreed on by a standards body
Nonstandard protocol
Built for specic communications situation
Functions
Basis for all protocols
Encapsulation
Data as well as control information in each pdu
Protocols and Architecture 11
Control information is divided into the following categories:
1. Address of the sender and receiver
2. Error detection code or frame check sequence
3. Protocol control for other protocol functions
Segmentation and reassembly
Segment the data stream into small bounded size blocks or pdus
Reasons for segmentation
Communications network may accept data blocks only up to a certain size (53 octets for atm,
1526 octets for Ethernet)
Ecient error control with smaller pdu size; fewer bits retransmitted in the event of failure
Better access to shared transmission facilities, with shorter delay; nobody can monopolize the
network
Smaller buers at receiver stations
Can pause transfer for checkpoint and recovery
Disadvantages with segmentation
Larger overhead with smaller pdu size
More interrupts as pdus announce their arrival
More time spent to process smaller pdus
Segmented data is reassembled into messages appropriate for application level
Connection control
Connectionless data transfer
Each pdu is independent of other pdus
Connection-oriented data transfer
Used if stations are to be connected for long time or protocol details are to be worked out dy-
namically
Also known as logical association, or virtual circuit, with three phases
1. Establish connection
2. Transfer data
3. Terminate connection
Establish connection
One station issues a connection request to the other, with or without involving a central authority
Receiver may accept or reject the connection
Request may include negotiating syntax, semantics, and timing of protocol
Protocol may have some options to be negotiated at connection time, such as pdu size
Transfer data
Exchange data and control information (ow control, error control)
Data ows in one direction while acknowledgements ow in the other
Terminate connection
Either side may terminate connection by sending a request
Connection may be terminated by a central authority
Sequencing
pdus are sequentially numbered as they are sent
Each side keeps track of outgoing numbers (generated locally), and incoming numbers (generated
by other host)
Ordered delivery
pdus may not arrive in order in which they are sent
Connection-oriented protocols require the pdu order to be maintained
Protocols and Architecture 12
Number the pdus sequentially as they are generated
Problem if sequence numbers repeat after overow
Preferable to have the maximum number pdu to be twice the maximum number of outstanding pdus
Flow control
Function of receiving entity to limit the amount of data sent by transmitter
Stop-and-wait
Each pdu must be acknowledged before next one can be sent
Eciency requires the transmission of a xed number of pdus without acknowledgement
Implemented in several protocols
Error control
Guard against loss or damage of data and control information
Implemented as error detection and retransmission
Detection of error by receiver makes him discard the pdu
No acknowledgement makes the sender retransmit the pdu
With error correction code, the receiver may be able to correct the error at destination
Implemented in several protocols
Addressing
Addressing level
Level in the communications architecture at which an entity is named
Network-level address or ip address used to route a pdu through network (also called Network
Service Access Point or nsap in osi terminology)
Upon arrival at destination, the pdu must be routed to port or Service Access Point (sap) for the
application
Addressing scope
Global address
Global nonambiguity One system to one address but possible to have more then one address
for the system
Global applicability Any system can be identied from anywhere
A port may not be unique in the network unless attached to a system (think of smtp port on
every system in a network)
Connection identiers
Useful for connection-oriented data transfer (virtual circuit) but meaningless for connectionless
data transfer (datagram)
Identied by a connection name during the data transfer phase
Advantages
Reduced overhead Data packets can contain just the circuit number after a virtual circuit is
established
Routing Allows the setting up of a xed route
Multiplexing More than one connection between entities; incoming pdu can be identied by
connection identier
Use of state information State information related to the connection; enables ow control and
error control using sequence numbers
Addressing mode
Individual or unicast address reference to a single system or port
Multicast or broadcast address
Multiplexing
Combining several signals for transmission on some shared medium
Protocols and Architecture 13
Possible to have multiple virtual circuits terminating into a single end system
Can also be accomplished via port names
Upward multiplexing
Multiple higher-level connections are multiplexed on a single lower-level connection
Connecting your pc to isp for multiple applications, including web, email, telnet, ftp, ...
Downward multiplexing
Split a single higher-level connection over a number of lower-level connections
Useful for reliability, performance, or eciency
Transmission services
Additional services, such as priority, quality of service, and security
OSI
The osi model
Partitions the communications model into a hierarchical set of layers
Each layer is a logical unit to communicate with the corresponding unit at a dierent host
The layer provides a level of abstraction, hiding details of its functions in lower layers and providing service
to layers above it
Layers should have a clean interface so that changes in one layer do not aect the other layers
The goal is to keep each layer small but still, not to have too many layers
Seven layers in the model
No direct communication between peer layers except at the physical layer level
Standardization within the osi framework
Functions of each layer are well dened
Standards can be developed independently and simultaneously for each layer
Speeds up standards making process
Well-dened boundaries (interface) between layers
Changes in standards in one layer need not aect existing software in another layer
Easier to introduce new standards
Modular design of layers
1. Protocol specication
Protocol must be precisely specied in terms of pdus exchanged, semantics of all elds, and
allowable sequence of pdus
2. Service denition
Services provided to next higher layer
Functions description of what is provided, and not how it is provided
Interaction between two adjacent layers takes place within a single open system and is not a
concern of any other open system; how pales in comparison to what
Adjacent layers are usually implemented on the same processor; special hardware features can
be exploited to make implementation more ecient
3. Addressing
Network service access point (nsap) to indicate the transport entity that is user of network service
Addressing as sap allows each layer to multiplex multiple users from the next higher layer
Service primitives and parameters
Protocols and Architecture 14
Services between adjacent layers are expressed in terms of primitives and parameters
Primitive
Species the function to be performed
Parameters
Data and control information
Four types of primitives
1. Request
Issued by a service user to invoke some service and to pass the parameters needed to fully specify
the service request
2. Indication
Issued by the service provider to:
(a) Indicate the the primitive has been invoked by the peer service user on the connection and
provide associated parameters
(b) Notify the service user of a provider-initiated action
3. Response
Issued by a service user to acknowledge or complete some primitive previously invoked by an
indication to that user
4. Conrm
Issued by service provider to acknowledge or complete some primitive previously invoked by a
request by the service user
The time line indicates the sequence as specied above
Conrmed service
Initiator receives conrmation that the requested service has had the desired eect at the other end
Nonconrmed service
Initiator receives no conrmation that the requested service has been carried out
osi layers
1. Physical layer
Covers the physical interface between devices
Identies the rules to pass bits from source to destination (raw bit stream service)
Four important characteristics
(a) Mechanical
Physical properties of the interface to transmission medium
(b) Electrical
Representation of bits in terms of voltage levels
Data transmission rates
(c) Functional
Functions of individual circuits of physical interface between a system and transmission medium
(d) Procedural
Sequence of events by which bit streams are exchanged
2. Data link layer
Makes the physical link reliable, through error detection and control
Activates, maintains, and deactivates the link
Fully functional data link layer obviates the need for error control in higher layers
Communication through a number of data link layers may require the higher layers to perform some
error control
Protocols and Architecture 15
3. Network layer
Transfers information across communications network, performing switching and routing functions
Hides underlying data transmission and switching technologies
Highest layer in a network node
System interacts with network
Specication of destination address
Request for network services like priority
In direct point-to-point network, there is no need for network layer as data link layer manages the
link
Systems could be connected across a single network, using circuit switching or packet switching
techniques
Packet level of X.25 standard
4. Transport layer
Mechanism for exchange of data between end systems
Ensures that data are delivered error-free, in sequence, and with no losses or duplication
May optimize the use of network services
Provides a requested quality of service to session entities, based on acceptable error rates, maximum
delay, priority, and security
Size and complexity depend on the reliability of underlying layers
5. Session layer
Mechanism to control the dialogue between applications in end systems
Key services include
Dialogue discipline
Full duplex or half duplex
Grouping
Mark data to dene groups of data
Recovery
Checkpoint to allow retransmission of all data since last checkpoint due to failure
6. Presentation layer
Format of data to be exchanged between applications
Denes syntax used between application entities
provides for selection and modication of the representation used
Data compression and encryption
7. Application layer
Interface between application programs and osi environment
Management functions and other useful mechanisms for distributed applications support
TCP/IP protocol suite
Reasons for tcp/ips success
Time; appeared on the scene before the osi model
Support from the dod
Internet foundation
The tcp/ip approach
Protocols and Architecture 16
Modular and hierarchical like the osi model
Descriptive in nature compared to prescriptive nature of osi
Allows multiple protocol functionality in a single layer
Does not require strict use of all layers
Application level protocols may directly run on top of ip
Operation of tcp and ip
Computer is connected to network using a network access protocol such as ethernet
Enables host to send data across the network to another host or to a router to be transmitted to
another network
Internet protocol
Implemented in all the end systems and routers
Acts as a relay to move data from one host to another, possibly through router(s)
Transmission control protocol
Implemented in the end systems only
Keeps track of data blocks to ensure reliable delivery to appropriate applications
Two levels of addressing
Unique host address over global internet, used by ip
Unique process (port) address within host, used by tcp
tcp header
Control information for data blocks generated by user application
Items in the header
Destination port
Address to whom data is to be delivered
Sequence number
Sequence number assigned to segment to keep track of segment order
Destination tcp entity may use it to reorder segments
Checksum
Code to check error during transmission
ip datagram
Created by adding ip header to each segment
Items in header include destination host address
Presented to network access layer for transmission
Packet or frame
Created by network access layer by adding its own header to the ip datagram
Packet header contains information for network to transfer data across the network
Items in packet header are
Destination network address
Device address for packet delivery
Facilities request
Request for use of network facilities, such as priority
Applications
Simple mail transfer protocol (smtp)
Basic email facility
Protocols and Architecture 17
Mechanism to transfer messages across hosts
Features include mailing lists, return receipts, and forwarding
Does not specify message creation; just the transfer of message using tcp
File transfer protocol (ftp)
Transfer les across systems under user commands
Can accommodate both text and binary les
Upon request, sets up a tcp connection to target system for exchange of control messages
Connection allows user to send authentication and les with desired le actions
Upon approval, a second tcp connection is opened for actual data transfer
Second connection avoids the overhead of control information at the application level
After le transfer is complete, control connection is used to signal completion and accept new com-
mands
Telnet
Remote logon capability
Designed to work with simple scroll-mode terminals
Implemented in two modules
1. User telnet
Interacts with terminal I/O module to communicate with a local terminal
Converts characteristics of real terminals to network standards and vice versa
2. Server telnet
Interacts with an application, acting as a surrogate terminal handler
Makes remote terminal appear as local to the application
Trac between user and server telnet is carried on a tcp connection