Connection Request

16
Connection Request Connection Indication Connection Response Connection Confirm CONNECT.REQ (SSAP, DSAP, QoS) CONNECT.IND (SSAP, DSAP, QoS, ConnID) CONNECT.RES (SSAP, DSAP, QoS, ConnI CONNECT.RES (SSAP, DSAP, QoS, ConnID) SEND.REQ (ConnID) RECEIVE.IND(ConnID)

description

Connection Request. Connection Indication. CONNECT.REQ (SSAP, DSAP, QoS). CONNECT.IND (SSAP, DSAP, QoS, ConnID). Connection Response. CONNECT.RES (SSAP, DSAP, QoS, ConnID). Connection Confirm. CONNECT.RES (SSAP, DSAP, QoS, ConnID). RECEIVE.IND(ConnID). SEND.REQ (ConnID). LISTEN.REQ. - PowerPoint PPT Presentation

Transcript of Connection Request

Page 1: Connection Request

Connection Request

Connection Indication

Connection Response

Connection Confirm

CONNECT.REQ (SSAP, DSAP, QoS)

CONNECT.IND (SSAP, DSAP, QoS, ConnID)

CONNECT.RES (SSAP, DSAP, QoS, ConnID)

CONNECT.RES (SSAP, DSAP, QoS, ConnID)

SEND.REQ (ConnID)RECEIVE.IND(ConnID)

Page 2: Connection Request

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN.CONF

SEND.REQ

RECEIVE.IND

CLOSE.IND

CLOSE.REQ

CLOSE.INDSEND.REQ

RECEIVE.IND

CLOSE.REQ

CLOSE.IND

CLOSE.REQ

CLOSE.IND

LISTEN.REQ

Page 3: Connection Request

• Generic Listen to all possible connections• OR• One Listen per connection• One Open per connection• Listen and Open specify SAP to which they want to be

connected to and their local SAP• Listen can use a wild card to listen to a range or any

incoming calls. It will then take the first one that meets the wild card criteria.

• If another listen is done with same DSAP and SSAP then it is rejected

• If another open is done with same DSAP and SSAP then it is rejected

Page 4: Connection Request

OP

EN

ING

ES

TA

BL

ISH

ED

ES

T.

LIS

TE

NIN

G

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN.CONF

LISTEN.REQ

CALL BACK INVOKED

1. LISTEN.REQ sets up call back2. OPEN.REQ attempts to make connection. This blocks until the OPEN.CONF3. When OPEN reaches listening end the Listen Call Back Fn is called4. When the Listen Call Back Fn returns (with return value 0, i.e. Accepted) then this

represents the OPEN.RES and causes TCONS to send the ACCEPT to the Opening end

5. When ACCEPT reaches Opening end it causes the Opening application to be unblocked and an EST to be sent

6. When EST reaches Listening end the connection is established7. TCONS only accepts send and receive requests when the connection is established

i.e. TCONS in ESTABLISHED state.

CALL BACK RETURNED (ACCEPTED)

CALL BACK SET UP

BLOCKING

Opener Listener

= TCONS state

EST.IND

HA

LF

OP

EN

CALL BACK INVOKED TO INDICATE THAT CONNECTION ESTABLISHED

ACC = ACCEPTING

OPEN

ACCEPT

EST

OPEN AND LISTEN

Page 5: Connection Request

OP

EN

ING

ES

TA

BL

ISH

ED

ES

TA

BL

ISH

ED

LIS

TE

NIN

G

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN.CONF

LISTEN.REQ

CALL BACK INVOKED

CALL BACK RETURNED (ACCEPTED)

CALL BACK SET UP

BLOCKING

Opener Listener

= TCONS state

EST.IND

HA

LF

OP

EN

CALL BACK INVOKED TO INDICATE THAT CONNECTION ESTABLISHED

OPEN

ACCEPT

EST

OPEN AND LISTEN

OP

EN

ING

ES

TA

BL

ISH

ED

ES

T.

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN.CONF

CALL BACK INVOKED

CALL BACK RETURNED (ACCEPTED)

BLOCKING

EST.IND

HA

LF

OP

EN

CALL BACK INVOKED TO INDICATE THAT CONNECTION ESTABLISHED

OPEN

ACCEPT

EST

Page 6: Connection Request

OP

EN

ING

ES

TA

BL

ISH

ED

ES

T.

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN.CONF

CALL BACK INVOKED

CALL BACK RETURNED (ACCEPTED)

BLOCKING

Opener Listener

= TCONS state

EST.IND

HA

LF

OP

EN

CALL BACK INVOKED TO INDICATE THAT CONNECTION ESTABLISHED

AC

C

ACC = ACCEPTING

OPEN

ACCEPT

EST

OPEN AND LISTEN

OPEN.IND

OPEN.RES

OPEN.CONF

CALL BACK INVOKED

CALL BACK RETURNED (ACCEPTED)

BLOCKING

EST.IND

CALL BACK INVOKED TO INDICATE THAT CONNECTION ESTABLISHED

OPEN

ACCEPT

EST

Page 7: Connection Request

OP

EN

ING

ES

TA

BL

ISH

ED

ES

T.

LIS

TE

NIN

G

OPEN.REQ

OPEN.CONF

LISTEN.REQ

1. LISTEN.REQ sets up call back2. OPEN.REQ attempts to make connection. This blocks until the OPEN.CONF3. When OPEN reaches listening end the Listen Call Back Fn is called4. When the Listen Call Back Fn returns (with return value 0, i.e. Accepted) then this

represents the OPEN.RES and causes TCONS to send the ACCEPT to the Opening end

5. When ACCEPT reaches Opening end it causes the Opening application to be unblocked and an EST to be sent

6. When EST reaches Listening end the connection is established7. TCONS only accepts send and receive requests when the connection is established

i.e. TCONS in ESTABLISHED state.

CALL BACK SET UPAcceptance criteria

BLOCKING

Opener Listener

= TCONS state

EST.IND

HA

LF

OP

EN

CALL BACK

AC

C

ACC = ACCEPTING

OPEN

ACCEPT

EST

OPEN AND LISTEN

Open meets acceptance criteria

Page 8: Connection Request

OP

EN

ING

NO

T E

ST

.

NO

T E

ST

.L

IST

EN

ING

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN_FAILURE.IND

LISTEN.REQ

CALL BACK INVOKED

1. LISTEN.REQ sets up call back2. OPEN.REQ attempts to make connection. This blocks until the OPEN.CONF3. When OPEN reaches listening end the Listen Call Back Fn is called4. When the Listen Call Back Fn returns (with return value 0, i.e. Accepted) then this

represents the OPEN.RES and causes TCONS to send the ACCEPT to the Opening end

5. When ACCEPT reaches Opening end it causes the Opening application to be unblocked and an EST to be sent

6. When EST reaches Listening end the connection is established7. TCONS only accepts send and receive requests when the connection is established

i.e. TCONS in ESTABLISHED state.

CALL BACK RETURNED (ACCEPTED)

CALL BACK SET UP

BLOCKING

Opener Listener

= TCONS state

OPEN_FAILURE.IND

HA

LF

OP

EN

AC

C

ACC = ACCEPTING

OPEN

ACCEPT

OPEN AND LISTEN

TCONS TIMES OUT

NO

T E

ST

.

TCONS TIMES OUT

CALL BACK INVOKEDOPEN FAILURE

Page 9: Connection Request

OP

EN

ING

ES

TA

BL

ISH

ED

ES

T.

LIS

TE

NIN

G

OPEN.REQ

OPEN.IND

OPEN.RES

OPEN.CONF

LISTEN.REQ

CALL BACK INVOKED

1. LISTEN.REQ sets up call back2. OPEN.REQ attempts to make connection. This blocks until the OPEN.CONF3. When OPEN reaches listening end the Listen Call Back Fn is called4. When the Listen Call Back Fn returns (with return value 0, i.e. Accepted) then this

represents the OPEN.RES and causes TCONS to send the ACCEPT to the Opening end

5. When ACCEPT reaches Opening end it causes the Opening application to be unblocked and an EST to be sent

6. When EST reaches Listening end the connection is established7. TCONS only accepts send and receive requests when the connection is established

i.e. TCONS in ESTABLISHED state.

CALL BACK RETURNED (ACCEPTED)

CALL BACK SET UP

BLOCKING

Opener Listener

= TCONS state

EST.IND

HA

LF

OP

EN

SEND OR RX rejected until connection established

AC

C

ACC = ACCEPTING

OPEN

ACCEPT

EST

OPEN AND LISTEN

Page 10: Connection Request

ES

TA

BL

ISH

ED

SEND.REQ

RECEIVE.IND

SEND.CONF

RECEIVE.REQ

CALL BACK INVOKED

1. LISTEN.REQ sets up call back2. OPEN.REQ attempts to make connection. This blocks until the OPEN.CONF3. When OPEN reaches listening end the Listen Call Back Fn is called4. When the Listen Call Back Fn returns (with return value 0, i.e. Accepted) then this

represents the OPEN.RES and causes TCONS to send the ACCEPT to the Opening end

5. When ACCEPT reaches Opening end it causes the Opening application to be unblocked and an EST to be sent

6. When EST reaches Listening end the connection is established7. TCONS only accepts send and receive requests when the connection is established

i.e. TCONS in ESTABLISHED state.

CALL BACK SET UP

Sender Listener

= TCONS state

ACC = ACCEPTING

DATA

ACK

CALL BACK SET UPOR BLOCKING

CALL BACK INVOKEDOR UNBLOCKED

ES

TA

BL

ISH

ED

SEND AND RECEIVE

Page 11: Connection Request

NO

T E

ST

AB

LIS

HE

D

SEND.REQ

REJECT.IND

RECEIVE.REQ

1. TCONS rejects RECEIVE.REQ because connection not established. Call Back not registered by TCONS because of error.

2. TCONS rejects SEND.REQ because connection not established. Call Back not registered by TCONS because of error.

Sender Receiver

= TCONS state

ACC = ACCEPTING

ERROR RETURNEDIMMEDIATELY

NO

T E

ST

AB

LIS

HE

D

SEND AND RECEIVEERRORS

REJECT.IND ERROR RETURNED IMMEDIATELY

Page 12: Connection Request

ES

TA

BL

ISH

ED

SEND.REQ

RECEIVE.IND

RECEIVE.REQ

CALL BACK INVOKED

1. RECEIVE.REQ prepares TCONS to receive data i.e. gives it a buffer. TCONS sets up call back to indicate when data received.

2. SEND.REQ sends data. TCONS sets up call back and also starts timeout timer.3. No ACK received by Sender so sender times out and gives TIMEOUT.IND indication

to application.4. Blocking RECEIVE.REQ sets a timeout . If timeout timer expires before data

received then a timeout error is returned.

CALL BACK SET UP

Sender Receiver

= TCONS state

ACC = ACCEPTING

DATA

ACK

CALL BACK SET UPOR BLOCKING

CALL BACK INVOKEDOR UNBLOCKED

ES

TA

BL

ISH

ED

SEND AND RECEIVETIMEOUT

TIMEOUT.IND

RECEIVE.REQ

RETURNS TIMEOUT ERROR

BLOCKING

RETRY = 0

FAILURE.IND

Page 13: Connection Request

ES

TA

BL

ISH

ED

SEND.REQ

RECEIVE.IND

RECEIVE.REQ

CALL BACK INVOKED

1. RECEIVE.REQ prepares TCONS to receive data i.e. gives it a buffer. TCONS sets up call back to indicate when data received.

2. SEND.REQ sends data. TCONS sets up call back and also starts timeout timer.3. No ACK received by Sender so sender times out and gives TIMEOUT.IND indication

to application.4. Blocking RECEIVE.REQ sets a timeout . If timeout timer expires before data

received then a timeout error is returned.

CALL BACK SET UP

Sender Receiver

= TCONS state

ACC = ACCEPTING

DATA

ACK

CALL BACK SET UPOR BLOCKING

ES

TA

BL

ISH

ED

SEND AND RECEIVERETRY = 1

DATATIMEOUT AND RETRY

DATA WITH SAME SEQUENCE NUMBER SO NOT PASSED TO APPLICATIONACK

SEND.CONFCALL BACK INVOKEDOR UNBLOCKED

Page 14: Connection Request

ES

TA

BL

ISH

ED

SEND.REQ

RECEIVE.IND

RECEIVE.REQ

CALL BACK INVOKED

1. RECEIVE.REQ prepares TCONS to receive data i.e. gives it a buffer. TCONS sets up call back to indicate when data received.

2. SEND.REQ sends data. TCONS sets up call back and also starts timeout timer.3. No ACK received by Sender so sender times out and gives TIMEOUT.IND indication

to application.4. Blocking RECEIVE.REQ sets a timeout . If timeout timer expires before data

received then a timeout error is returned.

CALL BACK SET UP

Sender Receiver

= TCONS state

ACC = ACCEPTING

DATA

ACK

CALL BACK SET UPOR BLOCKING

ES

TA

BL

ISH

ED

SEND AND RECEIVERETRY = 1

DATATIMEOUT AND RETRY

CALL BACK INVOKEDOR UNBLOCKED

FAILURE.IND

Page 15: Connection Request

ES

TA

BL

ISH

ED

SEND.REQ

RECEIVE.IND

RECEIVE.REQ

CALL BACK INVOKED

1. RECEIVE.REQ prepares TCONS to receive data i.e. gives it a buffer. TCONS sets up call back to indicate when data received.

2. SEND.REQ sends data. TCONS sets up call back and also starts timeout timer.3. No ACK received by Sender so sender times out and gives TIMEOUT.IND indication

to application.4. Blocking RECEIVE.REQ sets a timeout . If timeout timer expires before data

received then a timeout error is returned.

CALL BACK SET UP

Sender Receiver

= TCONS state

ACC = ACCEPTING

DATA

ACK

CALL BACK SET UPOR BLOCKING

ES

TA

BL

ISH

ED

SEND AND RECEIVERETRY = 1

DATATIMEOUT AND RETRY

CALL BACK INVOKEDOR UNBLOCKED

FAILURE.INDACK

DATA WITH SAME SEQUENCE NUMBER SO NOT PASSED TO APPLICATION

ACK IS IGNORED IF IT IS RECEIVED AFTER LAST RETRY TIMEOUT

Page 16: Connection Request

CONN A QoS-A

CONN B QoS-B

CONN C QoS-C

CONN D QoS-D

ADDR

PORT

SAPNot allowed connection

Allowed connection