protocols and services - dtu

44
Protocols and Services Robin Sharp [email protected] Systems Security Group Informatics and Mathematical Modelling Technical University of Denmark DK-2800 Kgs. Lyngby, Denmark. Course 02221/02222, DTU, Spring 2008. – p. 1/2

Upload: others

Post on 23-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protocols and Services - DTU

Protocols and ServicesRobin [email protected]

Systems Security Group

Informatics and Mathematical Modelling

Technical University of Denmark

DK-2800 Kgs. Lyngby, Denmark.

Course 02221/02222, DTU, Spring 2008. – p. 1/2

Page 2: Protocols and Services - DTU

1: SERVICES AND LAYERING

Course 02221/02222, DTU, Spring 2008. – p. 2/2

Page 3: Protocols and Services - DTU

VIEWS OF A SYSTEM

Most abstract view: Participating processes interact at a commonINTERACTION POINT, for example a shared channel:�

�Process A

�Process B�

IAB

Course 02221/02222, DTU, Spring 2008. – p. 3/2

Page 4: Protocols and Services - DTU

VIEWS OF A SYSTEM

Most abstract view: Participating processes interact at a commonINTERACTION POINT, for example a shared channel:�

�Process A

�Process B�

IAB

Difficult to make realistic, for example to describe errors!

More realistic view: Describe the interaction by a PROCESS.

This process describes the SERVICE offered by the infrastructure.�

�Process A

�Process B�

�Service S

�IAS

�IBS

Course 02221/02222, DTU, Spring 2008. – p. 3/2

Page 5: Protocols and Services - DTU

VIEWS OF A SYSTEM (2)

In a distributed system, the SERVICE will typically be implementedby cooperation between two or more active ENTITIES, whichcommunicate using a PROTOCOL over an underlying SERVICE:�

�Process A

�Process B�

S�IAS�IBS

�PA

�PB�

�SAB

�I ′AS

�I ′BS

Course 02221/02222, DTU, Spring 2008. – p. 4/2

Page 6: Protocols and Services - DTU

VIEWS OF A SYSTEM (2)

In a distributed system, the SERVICE will typically be implementedby cooperation between two or more active ENTITIES, whichcommunicate using a PROTOCOL over an underlying SERVICE:�

�Process A

�Process B�

S�IAS�IBS

�PA

�PB�

�SAB

�I ′AS

�I ′BS

The underlying service (here SAB) may itself be implemented by aset of protocol entities and a further underlying service.

And so on . . . .

Course 02221/02222, DTU, Spring 2008. – p. 4/2

Page 7: Protocols and Services - DTU

SOME (OSI) NOTATION��

��User A

��

��User B�

(N)-SERVICE��

��PA

��

��PB�

���(N-1)-

SERVICE

�SAPA�SAPB

� �

OSI builds on the fundamental idea that communication systems have aLAYERED ARCHITECTURE.

Service offered by layer N builds on underlying service in layer (N − 1).

The extra “value” offered by layer N is provided by cooperation betweentwo or more (N)-ENTITIES, which obey the rules of an (N)-PROTOCOL.

Users of the (N)-SERVICE ((N)-USERS) are entities in layer (N + 1).

The interaction point between an (N)-USER and the (N)-SERVICE is knownas an (N)-SERVICE-ACCESS-POINT (or just (N)-SAP).

Course 02221/02222, DTU, Spring 2008. – p. 5/2

Page 8: Protocols and Services - DTU

OSI LAYERING IN CSP��

��UserA

��

��UserB�

S′��

��PA

��

��PB�

���S

�SAPA �SAPB

�cl �cr

Model services and protocol entities by CSP PROCESSES,e.g. UserA, UserB, PA, PB, S, S′, . . .

Model SAPs by CSP CHANNELS, e.g. SAPA, SAPB, cl, cr, . . .

Model composition of the service by PIPING.Typically, for a two-party protocol: S′ = PA � S � PB.

Notice channel naming conventions: Processes traditionally described interms of channels left and right.Piping P � Q involves connecting channel right of P to channel left ofQ and RENAMING them both to the same new name.

Course 02221/02222, DTU, Spring 2008. – p. 6/2

Page 9: Protocols and Services - DTU

2: PROVING PROPERTIES OF ACOMPOSED SERVICE

Course 02221/02222, DTU, Spring 2008. – p. 7/2

Page 10: Protocols and Services - DTU

A SIMPLE ACK/NACK PROTOCOL

Senderdef= (SAPA?x : M →Q[x])

Q[x : M] def= (right!x → (right?y : {ACK} → Sender

[]right?y : {NACK} → Q[x]))

Receiverdef= (left?x : M → left!ACK → SAPB!x → Receiver

[]left?y : M′ → left!NACK → Receiver)

Course 02221/02222, DTU, Spring 2008. – p. 8/2

Page 11: Protocols and Services - DTU

A SIMPLE ACK/NACK PROTOCOL

Senderdef= (SAPA?x : M →Q[x])

Q[x : M] def= (right!x → (right?y : {ACK} → Sender

[]right?y : {NACK} → Q[x]))

Receiverdef= (left?x : M → left!ACK → SAPB!x → Receiver

[]left?y : M′ → left!NACK → Receiver)

Sender ReceiverSAPA� SAPB�� �right left

c

Notice that direct connection of Sender to Receiver gives perfect,loss-free transmission of data:

Systemdef= Sender � Receiver

System = (SAPA?x : M → (SAPB!x → System))

But what if the system is Sender � S � Receiver, where S is notperfect?

Course 02221/02222, DTU, Spring 2008. – p. 8/2

Page 12: Protocols and Services - DTU

PROTOCOL + UNDERLYING SERVICE

Sender ReceiverMA

�SAPA �SAPB� �

MM� �

Underlying service described by:

Mediumdef= (MM ||| MA)

MMdef= (left?x : M → ( right!x → MM

�right!y → MM) )

MAdef= (right?a : K → left!a → MA )

where:M is domain of correct messagesM′ is domain of corrupt messages, y ∈ M′, (M′ ∩M) = ∅K = {ACK, NACK} is domain of acknowledgments

We assume that acknowledgments never get lost or corrupted!

Course 02221/02222, DTU, Spring 2008. – p. 9/2

Page 13: Protocols and Services - DTU

PROTOCOL + UNDERLYING SERVICE

Sender ReceiverMA

�SAPA �SAPB� �

MM� �

Underlying service described by:

Mediumdef= (MM ||| MA)

MMdef= (left?x : M → ( right!x → MM

�right!y → MM) )

MAdef= (right?a : K → left!a → MA )

where:M is domain of correct messagesM′ is domain of corrupt messages, y ∈ M′, (M′ ∩M) = ∅K = {ACK, NACK} is domain of acknowledgments

We assume that acknowledgments never get lost or corrupted!

It is not true that Medium sat right � left.But is it true that S ′ sat SAPB � SAPA? Where:

S ′ def= Sender � Medium � ReceiverCourse 02221/02222, DTU, Spring 2008. – p. 9/2

Page 14: Protocols and Services - DTU

FILTER FUNCTIONS

Protocol includes acknowledgments and retransmissions.

So when user sends 〈m1,m2,m3,m4, . . .〉 at SAPA, sequence ofmessages in Medium may be, say:

〈m1, ACK, m̃2, NACK,m2, ACK, m̃3, NACK, m̃3, NACK,m3, ACK,m4, ACK, . . .〉

(where m̃2, m̃3 are corrupted.) This looks completely different!

To allow for this in our proof, we introduce a FILTER FUNCTION,f(s), which can remove the “extra” messages from trace s.

In the current case, we need to cancel all occurrences of ACK, andall consecutive pairs 〈x, NACK〉.

Course 02221/02222, DTU, Spring 2008. – p. 10/2

Page 15: Protocols and Services - DTU

FILTER FUNCTIONS

Protocol includes acknowledgments and retransmissions.

So when user sends 〈m1,m2,m3,m4, . . .〉 at SAPA, sequence ofmessages in Medium may be, say:

〈m1, ACK, m̃2, NACK,m2, ACK, m̃3, NACK, m̃3, NACK,m3, ACK,m4, ACK, . . .〉

(where m̃2, m̃3 are corrupted.) This looks completely different!

To allow for this in our proof, we introduce a FILTER FUNCTION,f(s), which can remove the “extra” messages from trace s.

In the current case, we need to cancel all occurrences of ACK, andall consecutive pairs 〈x, NACK〉.Suitable filter function is defined by:

f(〈 〉) = 〈 〉f(〈x〉) = 〈x〉f(〈x〉̂〈ACK〉̂c) = 〈x〉̂f(c)f(〈x〉̂〈NACK〉̂c) = f(c) Course 02221/02222, DTU, Spring 2008. – p. 10/2

Page 16: Protocols and Services - DTU

PROOF IDEAGiven the filter function:

f(〈 〉) = 〈 〉f(〈x〉) = 〈x〉f(〈x〉̂〈ACK〉̂c) = 〈x〉̂f(c)f(〈x〉̂〈NACK〉̂c) = f(c)

Try to prove three subsidiary assertions:Sender sat f(right) � SAPA

Receiver sat SAPB � f(left)Medium sat left � K � right � K

where c � K for channel c means the channel history of cRESTRICTED to messages in domain K.

Course 02221/02222, DTU, Spring 2008. – p. 11/2

Page 17: Protocols and Services - DTU

PROOF IDEAGiven the filter function:

f(〈 〉) = 〈 〉f(〈x〉) = 〈x〉f(〈x〉̂〈ACK〉̂c) = 〈x〉̂f(c)f(〈x〉̂〈NACK〉̂c) = f(c)

Try to prove three subsidiary assertions:Sender sat f(right) � SAPA

Receiver sat SAPB � f(left)Medium sat left � K � right � K

where c � K for channel c means the channel history of cRESTRICTED to messages in domain K.

These look intuitively true! For example:

Sender�〈m1,m2,m3〉SAPA

�〈m1, ACK,m2, NACK,m2, ACK,m3, ACK〉right

Course 02221/02222, DTU, Spring 2008. – p. 11/2

Page 18: Protocols and Services - DTU

PROOF FOR ReceiverReceiver has recursive def., so use rules for recursive proof.Initially assume Receiver sat SAPB � f(left). Then:

1. ⇒ {Definitions of �, f }� 〈 〉 � f(〈 〉)

2. ⇒ {Assumption, Definition of �, f }Γ2 � Receiver sat 〈x〉̂SAPB � f(〈x〉̂〈ACK〉̂left)

3. ⇒ {Definition of �, f }� 〈 〉 � f(〈x〉̂〈ACK〉̂〈 〉)

4. ⇒ {2, 3, Output}Γ2 � (SAPB!x → Receiver) sat SAPB � f(〈x〉̂〈ACK〉̂left)

5. ⇒ {Definition of �}� 〈 〉 � f(〈x〉)

6. ⇒ {4, 5, Output}Γ2 � (left!ACK → SAPB!x → Receiver) sat SAPB � f(〈x〉̂left)

7. ⇒ {6, ∀-introduction}Γ2 � ∀v ∈ M · (left!ACK → SAPB!v → Receiver)

sat SAPB � f(〈v〉̂left)Course 02221/02222, DTU, Spring 2008. – p. 12/2

Page 19: Protocols and Services - DTU

PROOF FOR Receiver (continued)7. ⇒ {6, ∀-introduction}

Γ2 � ∀v ∈ M · (left!ACK → SAPB!v → Receiver)sat SAPB � f(〈v〉̂left)

8. ⇒ {Definition of �, f }� 〈 〉 � f(〈 〉)

9. ⇒ {7, 8, Input}Γ2 � (left?x : M → left!ACK → SAPB!x → Receiver)

sat SAPB � f(left)

10. ⇒ {Assumption, definition of f }Γ2 � Receiver sat SAPB � f(〈x〉̂〈NACK〉̂left)

11. ⇒ {Definitions of �, f }� 〈 〉 � f(〈x〉̂〈 〉)

12. ⇒ {10, 11, Output}Γ2 � (left!NACK → Receiver) sat SAPB � f(〈x〉̂left)

13. ⇒ {12, ∀-introduction}Γ2 � ∀v ∈ M′ · (left!NACK → Receiver) sat SAPB � f(〈v〉̂left)

Course 02221/02222, DTU, Spring 2008. – p. 13/2

Page 20: Protocols and Services - DTU

PROOF FOR Receiver (continued)13. ⇒ {12, ∀-introduction}

Γ2 � ∀v ∈ M′ · (left!NACK → Receiver) sat SAPB � f(〈v〉̂left)

14. ⇒ {Definitions of �, f }� 〈 〉 � f(〈 〉)

15. ⇒ {13, 14, Input}Γ2 � (left?y : M′ → left!NACK → Receiver) sat SAPB � f(left)

16. ⇒ {9, 15, Alternative}

Γ2 � (left?x : M → left!ACK → SAPB!x → Receiver

[]left?y : M′ → left!NACK → Receiver)sat SAPB � f(left)

17. ⇒ {1, 16, Recursion}

Γ2 � Receiver sat SAPB � f(left)

This completes the proof of this subsidiary assertion.Other proofs quite similar (see book).

Course 02221/02222, DTU, Spring 2008. – p. 14/2

Page 21: Protocols and Services - DTU

COMPLETING THE PROOFOnce we have proved:

Sender sat f(right) � SAPA

Receiver sat SAPB � f(left)Medium sat left � K � right � K

What can we say about S ′, where:

S ′ def= Sender � Medium � Receiver

By using rule Piping, we can deduce that:

(Sender � Medium � Receiver) sat (∃t· (∃s · (f(s) � SAPA

∧ (s � K � t � K) )∧ SAPB � f(t) )

From this, it follows from the definition of f that:

(Sender � Medium � Receiver) sat (SAPB � SAPA)

as required.Course 02221/02222, DTU, Spring 2008. – p. 15/2

Page 22: Protocols and Services - DTU

3: SERVICES AND LAYERINGREVISITED

Course 02221/02222, DTU, Spring 2008. – p. 16/2

Page 23: Protocols and Services - DTU

SERVICE FEATURESWhat kind of features might we want in a communication service?

A. Logical properties:Sequence preservation.Data Unit synchronisationFlow control.Freedom from error.Service reset.Connection establishment and release.Change of mode.Information about change of peer state.Expedited DataSecurity.

Course 02221/02222, DTU, Spring 2008. – p. 17/2

Page 24: Protocols and Services - DTU

SERVICE FEATURESWhat kind of features might we want in a communication service?

A. Logical properties:Sequence preservation.Data Unit synchronisationFlow control.Freedom from error.Service reset.Connection establishment and release.Change of mode.Information about change of peer state.Expedited DataSecurity.

B. Technical/economic properties:PriceThroughputCapacity

Course 02221/02222, DTU, Spring 2008. – p. 17/2

Page 25: Protocols and Services - DTU

SEQUENCE PRESERVATION�

�Sender

�Receiver�

�S

�cs

�cr

Satisfies the CSP specification: S sat (cr � cs)

Course 02221/02222, DTU, Spring 2008. – p. 18/2

Page 26: Protocols and Services - DTU

SEQUENCE PRESERVATION�

�Sender

�Receiver�

�S

�cs

�cr

Satisfies the CSP specification: S sat (cr � cs)

EXAMPLES:1. S def= (cs?x : M → (cr!x → S))

2. S def= (cs?x : M →(S[c/cr] ‖{c} (cr!x → BUF1)[c/cs]) \ {c} )

where BUF1 def= (cs?x : M → (cr!x → BUF1))

Course 02221/02222, DTU, Spring 2008. – p. 18/2

Page 27: Protocols and Services - DTU

SEQUENCE PRESERVATION�

�Sender

�Receiver�

�S

�cs

�cr

Satisfies the CSP specification: S sat (cr � cs)

EXAMPLE OF NON-S.P. SERVICE:3. S def= (cs?x : M → S1[x])

where S1[x : M] def= (cs?y : M → (cr!y →(cs?y : M → (cr!x → S1[y]))))

Course 02221/02222, DTU, Spring 2008. – p. 18/2

Page 28: Protocols and Services - DTU

DATA UNIT SYNCHRONISATION

BLOCK-ORIENTED or MESSAGE-ORIENTED service:One-to-one correspondence between blocks/messages passed toservice for transmission and messages delivered to receivers.

1234512345 Service

12345 Service

Cut anywhere

Course 02221/02222, DTU, Spring 2008. – p. 19/2

Page 29: Protocols and Services - DTU

DATA UNIT SYNCHRONISATION

BLOCK-ORIENTED or MESSAGE-ORIENTED service:One-to-one correspondence between blocks/messages passed toservice for transmission and messages delivered to receivers.

1234512345 Service

12345 Service

Cut anywhere

STREAM-ORIENTED service:Boundaries between messages passed are not necessarilypreserved when data are delivered to receivers.

Course 02221/02222, DTU, Spring 2008. – p. 19/2

Page 30: Protocols and Services - DTU

FREEDOM FROM ERROR

ERROR-FREE service:Delivers same messages as sent off. No corruption or loss.

BASIC ERROR MODEL: Sender takes part in communication event es

and receiver in event er. Receiver’s message buffer contentchanges from mr to m′

r.Four basic cases:

Course 02221/02222, DTU, Spring 2008. – p. 20/2

Page 31: Protocols and Services - DTU

FREEDOM FROM ERROR

ERROR-FREE service:Delivers same messages as sent off. No corruption or loss.

BASIC ERROR MODEL: Sender takes part in communication event es

and receiver in event er. Receiver’s message buffer contentchanges from mr to m′

r.Four basic cases:1. FAULT-FREE communication:

es = cs!ms, er = cr?br, m′r = ms.

Course 02221/02222, DTU, Spring 2008. – p. 20/2

Page 32: Protocols and Services - DTU

FREEDOM FROM ERROR

ERROR-FREE service:Delivers same messages as sent off. No corruption or loss.

BASIC ERROR MODEL: Sender takes part in communication event es

and receiver in event er. Receiver’s message buffer contentchanges from mr to m′

r.Four basic cases:1. FAULT-FREE communication:

es = cs!ms, er = cr?br, m′r = ms.

2. MESSAGE LOSS FAULT:es = cs!ms, er = nil, m′

r = mr.

Course 02221/02222, DTU, Spring 2008. – p. 20/2

Page 33: Protocols and Services - DTU

FREEDOM FROM ERROR

ERROR-FREE service:Delivers same messages as sent off. No corruption or loss.

BASIC ERROR MODEL: Sender takes part in communication event es

and receiver in event er. Receiver’s message buffer contentchanges from mr to m′

r.Four basic cases:1. FAULT-FREE communication:

es = cs!ms, er = cr?br, m′r = ms.

2. MESSAGE LOSS FAULT:es = cs!ms, er = nil, m′

r = mr.3. SPURIOUS MESSAGE FAULT:

es = nil, er = cr?br, m′r =???.

Course 02221/02222, DTU, Spring 2008. – p. 20/2

Page 34: Protocols and Services - DTU

FREEDOM FROM ERROR

ERROR-FREE service:Delivers same messages as sent off. No corruption or loss.

BASIC ERROR MODEL: Sender takes part in communication event es

and receiver in event er. Receiver’s message buffer contentchanges from mr to m′

r.Four basic cases:1. FAULT-FREE communication:

es = cs!ms, er = cr?br, m′r = ms.

2. MESSAGE LOSS FAULT:es = cs!ms, er = nil, m′

r = mr.3. SPURIOUS MESSAGE FAULT:

es = nil, er = cr?br, m′r =???.

4. MESSAGE CORRUPTION FAULT:es = cs!ms, er = cr?br, m′

r �= ms.

Course 02221/02222, DTU, Spring 2008. – p. 20/2

Page 35: Protocols and Services - DTU

FREEDOM FROM ERROR

ERROR-FREE service:Delivers same messages as sent off. No corruption or loss.

BASIC ERROR MODEL: Sender takes part in communication event es

and receiver in event er. Receiver’s message buffer contentchanges from mr to m′

r.Four basic cases:1. FAULT-FREE communication:

es = cs!ms, er = cr?br, m′r = ms.

2. MESSAGE LOSS FAULT:es = cs!ms, er = nil, m′

r = mr.3. SPURIOUS MESSAGE FAULT:

es = nil, er = cr?br, m′r =???.

4. MESSAGE CORRUPTION FAULT:es = cs!ms, er = cr?br, m′

r �= ms.More complex cases can be composed from these basic ones.

Course 02221/02222, DTU, Spring 2008. – p. 20/2

Page 36: Protocols and Services - DTU

CONNECTION-MODECONNECTION-MODE service:Logical or physical channel is set up before real exchange of data cantake place. Channel is released when data transfer complete.So three phases of operation:

Connectionestablishment

phase

Connectionreleasephase

User B

User ATime

Data transfer phase

Course 02221/02222, DTU, Spring 2008. – p. 21/2

Page 37: Protocols and Services - DTU

CONNECTION-MODECONNECTION-MODE service:Logical or physical channel is set up before real exchange of data cantake place. Channel is released when data transfer complete.So three phases of operation:

Connectionestablishment

phase

Connectionreleasephase

User B

User ATime

Data transfer phase

Initial exchange enables service users to establish their INITIAL GLOBAL

STATE, and to agree on parameters for data transfer phase, such as:Identities of the service users (names/addresses).Service facilities to be available.Syntax in which data will be transferred.Quality of Service (throughput, error rate,. . . ).

Course 02221/02222, DTU, Spring 2008. – p. 21/2

Page 38: Protocols and Services - DTU

TWO-USER vs. MULTI-USER

POINT-TO-POINT services:Only two users!Maybe not equal opportunities for both, as service mayoffer:

SIMPLEX data transmissionHALF-DUPLEX data transmissionFULL DUPLEX data transmission

Course 02221/02222, DTU, Spring 2008. – p. 22/2

Page 39: Protocols and Services - DTU

TWO-USER vs. MULTI-USER

POINT-TO-POINT services:Only two users!Maybe not equal opportunities for both, as service mayoffer:

SIMPLEX data transmissionHALF-DUPLEX data transmissionFULL DUPLEX data transmission

MULTI-PEER services:1-to-all (BROADCAST)

1-to-N (MULTICAST)

all-to-1 (INVERSE BROADCAST)

Course 02221/02222, DTU, Spring 2008. – p. 22/2

Page 40: Protocols and Services - DTU

MULTI-PEER CONCEPTS

���������

���������

������

������

������

������

���������

���������i

A

Multi−peer service

I

U

Invoked group: Sub-set, I ⊆ U , of users that initiator tries to communicatewith.

Active group: Sub-set, A ⊆ I, of users with whom comm. takes place.

Static group: Group whose composition does not change during a singleinstance of communication (∼ connectionless transfer or lifetime ofconnection).

Dynamic group: Group whose composition can change during a singleinstance of communication.

Group integrity: Measure of extent to which a group’s composition satisfiessome agreed criterion (e.g. certain number of members present).

Course 02221/02222, DTU, Spring 2008. – p. 23/2

Page 41: Protocols and Services - DTU

OSI LAYERING – AGAIN��

��(N+1)-entity

��

��(N+1)-entity�

(N)-SERVICE��

��(N)-entity

��

��(N)-entity�

���(N-1)-

SERVICE

�(N)-SAP �(N)-SAP

� �

(N)-SERVICE is offered at (N)-SAPs by cooperation between (N)-ENTITIES,which communicate by using an (N)-PROTOCOL,which relies on a (N-1)-SERVICE . . .

A “universal” model of a layered architecture.

CSP MODEL:

SNdef= PAN � SN−1 � PBN

= PAN � (PAN−1 � SN−2 � PBN−1) � PBN

and also = (PAN � PAN−1) � SN−2 � (PBN−1 � PBN)

Course 02221/02222, DTU, Spring 2008. – p. 24/2

Page 42: Protocols and Services - DTU

OSI LAYERS

APPLICATIONDirect support to application processes.(File transfer, e-mail, virtual terminals, clock synchr.,. . . )

PRESENTATIONTransformation of data to syntactic form acceptable to A-entities.(Character sets, data structures,... )

SESSIONOrganisation of dialogues between cooperating P-entities.(Synchronisation points, roll-back, token control of dialogues)

TRANSPORTTransfer of data on end-to-end basis, hiding properties of network.(End-to-end sequence control, error control and flow control)

NETWORKTransfer of data between systems connected by arbitrary networks.(Routing, handling sub-networks)

DATA LINKTransfer of data blocks between directly connected systems.(Framing, error control/recovery, sequence control, flow control)

PHYSICALTransfer of physical data units (individual bits) between systems di-rectly connected via a medium.(Signalling on the physical medium)� PHYSICAL MEDIUM

Course 02221/02222, DTU, Spring 2008. – p. 25/2

Page 43: Protocols and Services - DTU

INTERNET LAYERS

APPLICATIONDirect support to application processes.

(File transfer, e-mail, virtual terminals, clock synchr.,. . . )

TRANSPORTTransfer of data on end-to-end basis, such that properties ofthe underlying network are hidden.

(End-to-end sequence control, error control and flow control)

NETWORKTransfer of data between systems connected by arbitrary net-works, possibly with sub-networks.

(Routing, handling sub-networks)

DATA LINKTransfer of data blocks between systems directly connectedvia a medium.

(Framing, error control/recovery, sequence contr., flow contr.)

PHYSICALTransfer of physical data units (individual bits) between sys-tems directly connected via a medium.

(Signalling on the physical medium)

� PHYSICAL MEDIUMCourse 02221/02222, DTU, Spring 2008. – p. 26/2

Page 44: Protocols and Services - DTU

PROTOCOLS

Don’t forget:

The service’s FACILITIES are produced by using the FUNCTIONSperformed by the PROTOCOL ENTITIES which collaborate toimplement the service.

���������� ����������

USER A USER B

PA PB

Underlying service

Protocol

Serviceinterface

Next week we shall look at some of the basic protocol functionsfor providing simple two-user service facilities.

Course 02221/02222, DTU, Spring 2008. – p. 27/2