15
Communication Networks Winter 2019/20 Prof. Jochen Seitz 1 Communication Networks Chapter 3 – Protocol Specification Communication Networks: 3. Protocol Specification 104 Overview 1. Message Sequence Charts (MSC) 2. Finite State Machines (FSM) 3. Special Communication Scenarios 4. PDU Format 5. Example: Alternating Bit Protocol (ABP) Communication Networks: 3. Protocol Specification 105 104 105

Communication Networks - midas1.e-technik.tu-ilmenau.de

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 1

Communication Networks

Chapter 3 – Protocol Specification

Communication Networks: 3. Protocol Specification 104

Overview

1. Message Sequence Charts (MSC)

2. Finite State Machines (FSM)

3. Special Communication Scenarios

4. PDU Format

5. Example: Alternating Bit Protocol (ABP)

Communication Networks: 3. Protocol Specification 105

104

105

Page 2: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 2

Example World Wide Web

Communication Networks: 3. Protocol Specification 106

1. Message Sequence Chart

Web Client

Web Server(http://www.tu-ilmenau.de/kn)

Internet

Illustration of a Telecommunication Service (repeated)

Communication Networks: 3. Protocol Specification 107

1. Message Sequence Chart

Abstract Medium MiAbstract Medium Mi

Communi-catingEntity

Ii+11

Communi-catingEntity

Ii+11

Communi-catingEntity

Ii+12

Communi-catingEntity

Ii+12

Communi-catingEntityIi+1

N-1

Communi-catingEntityIi+1

N-1

Communi-catingEntityIi+1

N

Communi-catingEntityIi+1

N

ServiceInterfaceof Layer i

ServiceAccessPoint (SAP)

Exchange ofServicePrimitives

106

107

Page 3: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 3

Message Sequence Charts

Communication Networks: 3. Protocol Specification 108

1. Message Sequence Chart

SAP1 SAP2 SAP1 SAP2Initiator Responder Initiator ResponderMedium Medium

T-Con.Req

T-Con.Ind

T-Con.Req

T-Con.Ind

T-Con.Cnf

T-Con.Rsp

T-PAbo.Ind

T-PAbo.Ind

ServicePrimitive

t t t t

2. Finite State Machine

Basic Concept of FSM

• Finite number of states, identified by a (meaningful) name

• Explicitly marked starting state

• State transition:

• Events: Service Primitives (possibly with parameters)

Communication Networks: 3. Protocol Specification 109

Idle Next StateTriggering Event;Resulting Event

108

109

Page 4: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 4

Finite State Machine

Communication Networks: 3. Protocol Specification 110

2. Finite State Machine

T-Con.ReqT-Con.CnfT-PAbo.Ind1T-Dis.Ind

T-Con.RspT-Dis.Req

T-Con.IndT-PAbo.Ind2

.... .... ....

States for data exchange andconnection release

; T-PAbo.Ind1, T-PAbo.Ind2

T-Con.Rsp;T-Con.Cnf

T-Con.Req;T-Con.Ind

T-Con.Req;T-PAbo.Ind1

; T-PAbo.Ind1, T-PAbo.Ind2

T-Dis.Req; T-Dis.Ind

ConnectionestablishedIdle

Connectionbeing

established

TransportLayer

Connection-Oriented Services

Communication Networks: 3. Protocol Specification 111

2. Finite State Machine

IdleConnectionestablished

Procedures for connection release

Procedures forconnection abort

Procedures forconnection establishment

Proceduresfor data

exchange

110

111

Page 5: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 5

Connection Establishment

Communication Networks: 3. Protocol Specification 112

3. Special Communication Scenarios

112

Con.Req(Address of Initiator,

Address of Responder,Requested QoS,

Further Attributes,Short User Data1)

Con.Ind(Address of Initiator,Address of Responder,Requested QoS*,Further Attributes*,Short User Data1)

Con.Rsp(Address of Initiator,Address of Responder,Assurable QoS†,Further Attributes†,Short User Data2)

Con.Cnf (Address of Initiator,

Address of Responder,Assurable QoS†,

Further Attributes†,Short User Data2)

Initiator Responder * and † mean that theaccording informationmight have been altered

* and † mean that theaccording informationmight have been altered

Medium

Several Connections at One SAP

Communication Networks: 3. Protocol Specification 113

3. Special Communication Scenarios

Service Access Point

ConnectionEnd Point

Con.ReqCon.IndCon.Rsp

Con.Cnf

being

established

112

113

Page 6: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 6

Unconfirmed Data Transfer

Communication Networks: 3. Protocol Specification 114

3. Special Communication Scenarios

Dat.Req (User Data1)

Dat.Ind (User Data1)

Dat.Req (User Data2)

Dat.Ind (User Data2)

Dat.Req (User Data3)

Dat.Ind (User Data3)

Medium

full duplexcommunication

3. Special Communication Scenarios

Types of Data Transfer

• „normal“ data transfer: Dat.Req/Dat.Ind

• expedited data transfer: ExpDat.Req/ExpDat.Ind

Communication Networks: 3. Protocol Specification 115

ExpDat.Req(EData1)

ExpDat.Ind(EData1)

Dat.Req(NData1)

Dat.Ind(NData1)

ExpDat.Req(EData2)

ExpDat.Req(EData3)

Dat.Req(NData2) ExpDat.Ind(EData2)

ExpDat.Ind(EData3)

Dat.Ind(NData2)

Medium

114

115

Page 7: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 7

Confirmed Service vs. Acknowledgement

Confirmed Service

• Confirmation initiated by receiving service user

• All four types of service primitives

Acknowledgement

• Acknowledgement sent by service providing entity

• Part of the protocol

Communication Networks: 3. Protocol Specification 116

3. Special Communication Scenarios

SAP1 SAP2Initiator ResponderMedium

T-Con.Req

T-Con.Ind

T-Con.Cnf

T-Con.Rsp

SAP1 SAP2Initiator ResponderMedium

T-Dat.Req

T-Dat.Ind

Connection Release

Confirmed Connection Release

• Communication partner confirms release or rejects

• Used on higher ISO/OSI layers

Unconfirmed Disconnect

• Connection release cannot be rejected

• Used on the lower ISO/OSI layers

Communication Networks: 3. Protocol Specification 117

3. Special Communication Scenarios

Rel.Req(User Data1)

Rel.Rsp(Indication±,User Data2)

Rel.Ind (User Data1)

Rel.Cnf(Indication±,User Data2)

Medium

Dis.Req

Dis.Ind

Medium

116

117

Page 8: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 8

Connection Abort

Provider Abort (PAbo)

• Provider cannot keep up the requested service anymore

User Abort (UAbo)

• User cannot keep up the association anymore

Communication Networks: 3. Protocol Specification 118

3. Special Communication Scenarios

PAbo.Ind(Reason)

PAbo.Ind(Reason)

UAbo.Ind(User Data)

UAbo.Req(User Data)

Telecommunication Protocol

Communication Networks: 3. Protocol Specification 119

4. PDU Format

Abstract Medium Mi

Ii+12Ii+12Ii+1

1Ii+11

Abstract Medium Mi-1Abstract Medium Mi-1

Ii2Ii2Ii

1Ii1 Protocol

118

119

Page 9: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 9

Example: Browsing the Internet

Communication Networks: 3. Protocol Specification 120

4. PDU Format

ProtocolEntity

ProtocolEntity

ServiceUser Basic Service

User of a Web Browser

Web Server

ServiceUser

T-Con.Req

T-Con.Ind

T-Con.RspT-Con.Cnf

T-Dat.Req

T-Dat.Ind

T-Dat.Ind

T-Dat.Req

Present Page Contentwww.ieee.org

Page Requestwww.ieee.org/index.html

Deliver Page Contentwww.ieee.org/index.html

Establish transportconnection Accept

transportconnection

Send URL of therequested page

Send the contentsof the requestedweb page

Relay URL toweb server

Relay page content to web browser

HTTP Entity HTTP Entity

Inputwww.ieee.org

4. PDU Format

Defining the PDU Format

• For defining the PDU format

▪ define (max.) length of PDU

▪ define the fields in the PCI (header) according to the protocol functions implemented in the protocol

❖addresses

❖numbers and acknowledgements

❖ length

❖ information for flow control or load control

❖ checksum

❖…

• Formal definition required (syntax and semantics) Abstract Syntax Notation 1 (ASN.1)

Communication Networks: 3. Protocol Specification 121

120

121

Page 10: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 10

5. Alternating Bit Protocol

Example: Alternating Bit Protocol (ABP)

• Confirmed data transfer service based on the unconfirmed data transfer service of the lower layer

• Service primitives to exchange User Data:

▪ Dat.Req (User Data)

▪ Dat.Ind (User Data)

▪ Dat.Rsp (User Data)

▪ Dat.Cnf (User Data)

• Alternating acknowledgement number (0 and 1) to distinguish between message loss and acknowledgement loss

Communication Networks: 3. Protocol Specification 122

ABP Service in a Message Sequence Chart

Communication Networks: 3. Protocol Specification 123

5. Alternating Bit Protocol

SAPAABP

SAPBABP

Dat.Req(XX)

Dat.Cnf(YY)

Dat.Req(ZZ)

Dat.Cnf(UU)

Dat.Ind(XX)

Dat.Rsp(YY)

Dat.Ind(ZZ)

Dat.Rsp(UU)

Medium O

122

123

Page 11: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 11

Finite State Machine forEntity S▪ Initiates data transfer

▪ Starts with bit “b” set to 0

▪ Incoming message also requires “b” = 0

▪ Bit “f” signals whether error was detected by abstract medium L:

▪ f=0: no error

▪ f=1: error

Communication Networks: 2. Fundamentals 124

5. Alternating Bit Protocol

Entity SEntity SStart &

IdleState

AwaitingAck 0

AwaitingAck 1

IdleState

L-Dat.IndBA(0,<m,1>);Dat.Cnf(m)

Dat.Req(n);L-Dat.ReqAB(<n,0>)

L-Dat.IndBA(0,<m,0>);Dat.Cnf(m)

Dat.Req(n);L-Dat.ReqAB(<n,1>)

L-Dat.IndBA(0,<m,1>)orL-Dat.IndBA(1,<m,b>);L-Dat.ReqAB(<n,0>)

L-Dat.IndBA(0,<m,0>)or

L-Dat.IndBA(1,<m,b>);L-Dat.ReqAB(<n,1>)

Abstract Medium with ABP

Abstract Medium L

SAP AABP

SAP AL

L-Dat.ReqAB(<n,b>) L-Dat.IndBA(f,<m,b>)

Dat.Req(n) Dat.Cnf(m)

Entity S Described by Message Sequence Chart

Communication Networks: 2. Fundamentals 125

5. Alternating Bit Protocol

SAPAABP

SAPAL

L-Dat.ReqAB(<XX,0>)

L-Dat.IndBA(1,<YY,0>)

Medium U

Dat.Req(XX)

Dat.Cnf(YY)

Dat.Req(ZZ)

Dat.Cnf(UU)

<XX,0>

<YY,0>Error

<XX,0>

<ZZ,1>

<UU,1>

<YY,0>

Entity S

124

125

Page 12: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 12

BodyHeader

5. Alternating Bit Protocol

PDU Definition for ABP

• Byte 0: sequence bit „b“ in the lowest bit

• Bytes 1 and 2: length of user data (positive binary number)

• Remaining bytes: user data n

Communication Networks: 3. Protocol Specification 126

xx xx xx xx xx xx xx bb ll ll ll ll ll ll ll ll ll ll ll ll ll ll ll ll nnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnn

76543210 76543210 76543210 76543210 76543210

Octet 0 Octet 1 Octet 2 Octet 3 Octet 3+l-1

lLength of User Data

nUser Data as submitted by O

...

...

...

Complete Example

Communication Networks: 3. Protocol Specification 127

5. Alternating Bit Protocol

Abstract Medium with ABPAbstract Medium with ABP

Abstract Medium LAbstract Medium L

Dat.Req(n) Dat.Cnf(m) Dat.Ind(n)Dat.Rsp(m)

EntityS

EntityS

EntityR

EntityR

AL BL

AABP BABP

L-Dat.ReqAB(n) L-Dat.IndBA(f,m) L-Dat.ReqBA(m) L-Dat.IndAB(f,n)

126

127

Page 13: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 13

Service Provided by the Two ABP Entities

Communication Networks: 3. Protocol Specification 128

5. Alternating Bit Protocol

Abstract Medium with ABPAbstract Medium with ABP

Dat.Req(n) Dat.Cnf(m) Dat.Ind(n)Dat.Rsp(m)

AABP BABP

AwaitingResponse

Start andIdle State

Dat.Req(n); Dat.Ind(n)

Dat.Rsp(m); Dat.Cnf(m)

Service Provided by Abstract Medium L

Communication Networks: 3. Protocol Specification 129

5. Alternating Bit Protocol

Abstract Medium LAbstract Medium L

L-Dat.ReqAB(n) L-Dat.IndBA(f,m) L-Dat.IndAB(f,n)L-Dat.ReqBA(m)

AU BU

AwaitingTransfer

Start andIdle State

L-Dat.ReqAB(n); L-Dat.IndAB(0,n)

L-Dat.ReqAB(n); L-Dat.IndAB(1,x)

L-Dat.ReqBA(m); L-Dat.IndBA(0,m)

L-DatReqBA(m); L-Dat.IndBA(1,y)

128

129

Page 14: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 14

Finite State Machine for Entity R• Responds to entity S

• Cannot initiate communication

• First incoming message (from abstract medium L) expected to have bit „b“ set to 0

Communication Networks: 3. Protocol Specification 130

5. Alternating Bit Protocol

Entity REntity R

ReceivedAck 0

IdleState

Start &Idle

State

ReceivedAck 1 L-Dat.IndAB(0,<n,1>);

Dat.Ind(n)

Dat.Rsp(m);L-Dat.ReqBA(<m,0>)

L-Dat.IndAB(0,<n,0>);Dat.Ind(n)

Dat.Rsp(m);L-Dat.ReqBA(<m,1>)

L-Dat.IndAB(0,<n,0>)orL-Dat.IndAB(1,<n,b>);L-Dat.ReqBA(<m,0>)

L-Dat.IndAB(0,<n,1>)or

L-Dat.IndAB(1,<n,b>);L-Dat.ReqBA(<m,1>)

Abstract Medium with ABP

Abstract Medium L

SAP BABP

SAP BL

L-Dat.ReqBA(m) L-Dat.IndAB(f,n)

Dat.Rsp(m) Dat.Ind(n)

Complete Message Sequence Chart

Communication Networks: 2. Fundamentals 131

5. Alternating Bit Protocol

SAPAABP

SAPAL

L-Dat.ReqAB(<XX,0>)

L-Dat.IndBA(1,<YY,0>)

Dat.Req(XX)

Dat.Cnf(YY)

Dat.Req(ZZ)

Dat.Cnf(UU)

<XX,0>

<YY,0>Error

<XX,0>

<ZZ,1>

<UU,1>

<YY,0>

L-Dat.ReqBA(<YY,0>)

L-Dat.IndAB(0,<XX,0>)

L-Dat.ReqBA(<YY,0>)

SAPBL

SAPBABPEntity S Entity RMedium L

ODtInd(XX)

ODtRsp(YY)

ODtInd(ZZ)

ODtRsp(UU)

130

131

Page 15: Communication Networks - midas1.e-technik.tu-ilmenau.de

Communication Networks Winter 2019/20

Prof. Jochen Seitz 15

References

• Lockemann, Peter C.; Krüger, Gerhard; Krumm, Heiko (1993): Telekommunikation und Datenhaltung. München, Wien: Carl Hanser Verlag.

• Lynch, William C. (1968): Reliable full-duplex file transmission over half-duplex telephone lines. In: Communications of the ACM 11 (6), S. 407–410.

• Popovic, Miroslav (2006): Communication Protocol Engineering. Boca Raton, FL, USA: CRC Press.

• Seitz, Jochen; Debes, Maik (2016): Kommunikationsnetze. Eine umfassende Einführung. Anwendungen – Dienste – Protokolle. Ilmenau: Unicopy Campus Edition.

• Venkataram, Pallapa; Manvi, Sunilkumar S. (2008): Communication Protocol Engineering. New Delhi: Prentice-Hall of India.

Communication Networks: 3. Protocol Specification 132

132