These are the two services given by the layers to layers above them. These services are :
- Connection Oriented Service
- Connectionless Services
Connection Oriented Services
There is a sequence of operation to be followed by the users of connection oriented service. These are :
- Connection is established
- Information is sent
- Connection is released
In connection oriented service we have to establish a connection before starting the communication. When connection is established we send the message or the information and then we release the connection.
Connection oriented service is more reliable than connectionless service. We can send the message in connection oriented service if there is an error at the receivers end. Example of connection oriented is TCP (Transmission Control Protocol) protocol.
Connection Less Services
It is similar to the postal services, as it carries the full address where the message (letter) is to be carried. Each message is routed independently from source to destination. The order of message sent can be different from the order received.
In connectionless the data is transferred in one direction from source to destination without checking that destination is still there or not or if it prepared to accept the message. Authentication is not needed in this. Example of Connectionless service is UDP (User Datagram Protocol) protocol.
Difference between Connection oriented service and Connectionless service
- In connection oriented service authentication is needed while connectionless service does not need any authentication.
- Connection oriented protocol makes a connection and checks whether message is received or not and sends again if an error occurs connectionless service protocol does not guarantees a delivery.
- Connection oriented service is more reliable than connectionless service.
- Connection oriented service interface is stream based and connectionless is message based.
A service is specified by a set of primitives. A primitive means operation. To access the service a user process can access these primitives. These primitives are different for connection oriented service and connectionless service. There are five types of service primitives :
- LISTEN : When a server is ready to accept an incoming connection it executes the LISTEN primitive. It blocks waiting for an incoming connection.
- CONNECT : It connects the server by establishing a connection. Response is awaited.
- RECIEVE: Then the RECIEVE call blocks the server.
- SEND : Then the client executes SEND primitive to transmit its request followed by the execution of RECIEVE to get the reply. Send the message.
- DISCONNECT : This primitive is used for terminating the connection. After this primitive one can’t send any message. When the client sends DISCONNECT packet then the server also sends the DISCONNECT packet to acknowledge the client. When the server package is received by client then the process is terminated.
Connection Oriented Service Primitives
There are 4 types of primitives for Connection Oriented Service :
|CONNECT||This primitive makes a connection|
|DATA, DATA-ACKNOWLEDGE, EXPEDITED-DATA||Data and information is sent using thus primitive|
|CONNECT||Primitive for closing the connection|
|RESET||Primitive for reseting the connection|
Connectionless Oriented Service Primitives
There are 4 types of primitives for Connectionless Oriented Service:
|UNIDATA||This primitive sends a packet of data|
|FACILITY, REPORT||Primitive for enquiring about the performance of the network, like delivery statistics.|
Relationship of Services to Protocol
These are the operations that a layer can provide to the layer above it. It defines the operation and states a layer is ready to perform but it does not specify anything about the implementation of these operations.
These are set of rules that govern the format and meaning of frames, messages or packets that are exchanged between the server and client.