Protocol Specification: Prof Pallapa. Venkataram
Protocol Specification: Prof Pallapa. Venkataram
specified.
by using FSMs.
Introduction
Protocol Specification
• Communication services
• Entities
• interfaces
• Interactions.
Specification Phase of Protocol Design
• allows the designer to prepare an abstract
model of the protocol for testing and analysis.
Components of a Protocol
Service Specification
• Service primitives
• Request, response, indication and confirm
• Service primitive parameters:
• data size, checksum size, caller address etc.
Communication service specification
Data Transfer phase specification using FSM:
FSM of interactions between ISDN system and a user for activation of call forwarding service
Multimedia protocol specifications
QoS (Quality of Service) requirements of multimedia
streams:
• Throughput:
• the data transmission rate
• data compression
• several Mbps (Megabits per second).
• Transfer Delay:
• time between the production of data at the source and its
presentation at the sink
• Jitter:
• variance of the transfer delay
• use of buffers to reduce jitter
• Error Rates:
• loss of data in a continuous data transfer
Multimedia protocol specifications
FSM specifications
• Buffer requirements
Multimedia protocol specifications
FSM specifications
• Synchronization
Examples of Internet protocol specifications
Alternating bit window protocol
• The Sender_ABP takes a message which is ready to be sent and
transmits the message together with a sequence number via the Data
Medium to the Receiver_ABP.
• The Sender_ABP waits for an acknowledgment from the Receiver_ABP
containing the same sequence number.
• If the appropriate acknowledgment arrives, the Sender_ABP performs
the same procedure for the next waiting message, but this time with an
inverted sequence number (i.e., 0 ! 1; 1 ! 0).
• If the appropriate acknowledgment does not arrive within a certain
period of time (timeout period), the Sender_ABP resends the same
message.
• The Receiver_ABP, when in an idle state, acknowledges all incoming
messages. After receiving a message with a correct sequence number, it
will acknowledge (through Ack Medium) only packets with the last correct
sequence number until a Receive signal is received. After that, it will invert
the sequence number, and go back to the idle state.
Examples of Internet protocol specifications
Communication interfaces
• Direct coupling: Execution of instructions simultaneously or
sequentially at both ends happen whenever transition takes
place, for example, instruction 'x' executed at P/F control, then
instruction 'y' to be executed at link setup.
• Shared variables: Variables shared between components
such as between P/F control and clock, sink and source (timing
shared between P/F and clock, regular data shared between
source and sink).
• Hierarchical independence: link setup is initiated rst, then
source and sink are initiated.
• Complete independence (in one system): it is locally
independent, depends on local properties, e.g., frame sizes.
Examples of Internet protocol specifications
HDLC protocol
Examples of Internet protocol specifications
HDLC protocol
Examples of Internet protocol specifications
HDLC protocol
Examples of Internet protocol specifications
RSVP protocol specifications
• resource reservation protocol
• used to reserve the resources over the path connecting the
server and the client
• types of messages used by RSVP:
• PATH: data flow information from the sender to the receiver
• RESV: reservation request from the receiver
• PATH ERR: generated when path from sender to receiver
does not exist
• RESV ERR: indicates an error in response to the RESV
message.
• PATH TEAR: Removes the PATH state along the route.
• RESV TEAR: Removes the reservation along the route.
RSVP Application states
Idle:
• transits to Join state at the time that the application is scheduled to join a session or
terminate the current session
• transits to Data Send state when the application is going to send data
Join:
• Application receives a session Id from the Local daemon in response to a session call.
• The multicast group id is selected randomly from a uniform distribution.
• If the application is acting as a receiver it will check for the sender information in the
session directory for the multicast group that it wants to join and make a receive call to
the local RSVP daemon.
Arr:
• This state is activated whenever a message or a packet arrives for the application and
by default returns to Idle state
Data Send:
• Creates a data packet and sends it to a selected single/multicast destination that it
selects
• on default returns to the Idle state
RSVP Application states
RSVP Router States
RSVP Router States
Idle:
• Idle state transits to Arr state upon receiving a packet.
Arr:
• This state checks for the type of the packet arrived and calls the
appropriate function depending on the type of message received.
functions are described as follows:
• Pathmsg: Invoked by the Arr state when a PATH message is received.
• Ptearmsg: invoked by the Arr state when a PATH TEAR message is
received
• Resvmsg: invoked by the Arr state when a RESV message is received
• Rtearmsg: invoked by the Arr state when a RESV TEAR message is
received
• Rconfmsg: invoked by the Arr state when a RESV CONF message is
received.
RSVP States on Hosts
RSVP States on Hosts
Idle: transits to the Arr state on packet arrival.
Arr: calls the appropriate functions depending on the type of message
received.
functions executed as internal events are:
• Session:
• called from the Arr state whenever a Session call is received from the
local application
• Sender:
• called from the Arr state whenever a sender call is received from the local
application
• Reserve:
• called from the Arr state whenever a Reserve call is received from the
local application.
• Release:
• called from the Arr state whenever a Release call is received from the
local application