Transport Protocol and state machine

IEEE 802.21 MEDIA INDEPENDENT HANDOVER
DCN: 21-07-0182-01-0000
Title: Transport Protocol and State Machine
Date Submitted: May, 14, 2007
Presented at IEEE 802.21 session #20 in Montreal
Authors or Source(s):
David Cypher, Richard Rouil, & Nada Golmie
NIST; 100 Bureau Drive; Gaithersburg, MD 20899-8920
Abstract: This contribution asks many questions and suggests
modifications to the transport protocol (MIH_NET_SAP) and
the acknowledgement state machine of clause 8.2 draft D5 April
2007.
21-07-0182-01-0000
IEEE 802.21 presentation release statements
This document has been prepared to assist the IEEE 802.21 Working Group. It is
offered as a basis for discussion and is not binding on the contributing
individual(s) or organization(s). The material in this document is subject to
change in form and content after further study. The contributor(s) reserve(s)
the right to add, amend or withdraw material contained herein.
The contributor grants a free, irrevocable license to the IEEE to incorporate
material contained in this contribution, and any modifications thereof, in the
creation of an IEEE Standards publication; to copyright in the IEEE’s name
any IEEE Standards publication even though it may include portions of this
contribution; and at the IEEE’s sole discretion to permit others to reproduce in
whole or in part the resulting IEEE Standards publication. The contributor also
acknowledges and accepts that this contribution may be made public by IEEE
802.21.
The contributor is familiar with IEEE patent policy, as outlined in Section 6.3 of
the IEEE-SA Standards Board Operations Manual
<http://standards.ieee.org/guides/opman/sect6.html#6.3> and in
Understanding Patent Issues During IEEE Standards Development
http://standards.ieee.org/board/pat/guide.html>
21-07-0182-01-0000
Subjects for discussion
• The MIH_NET_SAP as currently defined in D5 April 2007
• Needs work
•
•
•
Contains ambiguities
•
•
What is its function?
How is MIH_TP_Data.response to be implemented?
What is the meaning of Reliable Delivery Flag?
Duplicates functionality
•
•
Is it repeating the reliable transport function?
Is it repeating the acknowledgement function defined in clause 8.2?
• MIH Protocol acknowledgement operation and state machines
21-07-0182-01-0000
Needs Work
• What is the MIH_NET_SAP’s function?
• Is it to provide a generic service access point (SAP) for the
transmission of MIH messages?
• Is it hiding the actual method of transport from the MIH?
•
If so, then why
– Reason for Transport Type (L2 or L3)?
– Reliable Delivery Flag
» Option of the transport type selected?
– Transport Destination and Source Addresses
» Dependent on Transport Type chosen
• How is MIH_TP_Data.response to be implemented?
• Conclusion:
•
Delete all references to MIH-TP-Data.response primitive
21-07-0182-01-0000
Contains ambiguities
• What is the meaning of Reliable Delivery Flag?
• Does it indicate that the MIH is requesting a reliable
transport?
• Does it indicate that the MIH is requesting a feature in the
transport type chosen?
• Is the reliable delivery Flag
•
•
•
Used in combination with the MIH protocol acknowledgement operation?
Mutually exclusive to the MIH protocol acknowledgement operation?
Associated with the setting of the Ack Req /Ack Rsp of the MIH protocol
acknowledgement operation?
21-07-0182-01-0000
Duplicates functionality
• Is it repeating the reliable transport function?
• Is it repeating the acknowledgement function defined in clause
8.2?
21-07-0182-01-0000
MIH command request & response (1of4)
State machine
MIH request
Source Node
INIT
SENDING
Version
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
MIHF
MIHF_NET_SAP
INIT
1
1
0
3
1
9
X
SA
DA
See D5 -8.6.3.17
MIH_MN_HO_Complete
Request
AID 9, Not 23
21-07-0182-01-0000
MIHF_NET_SAP
State machine
MIH request
MIHF Destination Node
MIH_TP_Data.request
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
MIH Protocol PDU-
MIH_TP_Data.confirm
Transport Type 1
SA
SA
DA
Status
DA
0
MIH_TP_Data.indication
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
MIH Protocol PDU-
MIH_TP_Data.response
Transport Type 1
SA
SA
DA
Status
DA
0
RECEIVED
Version
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
1
1
0
3
1
9
X
SA
DA
See D5 -8.6.3.17
MIH_MN_HO_Complete
Request
AID 9, Not 23
1 of 4
MIH command request & response (2of4)
State machine
MIH request
Source Node
MIHF
MIHF_NET_SAP
State machine
MIH request
MIHF Destination Node
MIHF_NET_SAP
SENDING
SENT
Version
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
RECEIVED
1
0 *
1 *
3
1
9
X
SA
DA
Acknowledgement for
MIH_MN_HO_Complete
Request
MIH_TP_Data.indication
MIH_TP_Data.request
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
MIH Protocol PDU-
MIH Protocol PDU-
MIH_TP_Data.response
Transport Type 1
SA
DA
Status
SA
DA
0
MIH_TP_Data.confirm
Transport Type
SA
DA
Status
1
SA
DA
0
Version
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
1
0
1
3
1
9
X
SA
DA
Acknowledgement for
MIH_MN_HO_Complete
Request
2 of 4
21-07-0182-01-0000
MIH command request & response (3of4)
contiune - P1a1
State machine
MIH request
Source Node
MIHF
MIHF_NET_SAP
State machine
MIH request
MIHF Destination Node
MIHF_NET_SAP
SENT
RECEIVED
SENT
RESPONDING
Version
Version
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
1
1
0
3
2
9
X
SA
DA
MIH_TP_Data.indication
Transport Type 1
SA
SA
MIH_TP_Data.request
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
DA
DA
Reliable Delivery
Flag
T
MIH Protocol PDU-
MIH Protocol PDU-
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
1
1
0
3
2
9
X
SA
DA
See D5 -8.6.3.18
See D5 -8.6.3.18
MIH_MN_HO_Complete
Response
AID 9, Not 23
MIH_TP_Data.response
Transport Type 1
SA
DA
Status
SA
DA
0
MIH_TP_Data.confirm
Transport Type
SA
DA
Status
1
SA
DA
0
MIH_MN_HO_Complete
Response
AID 9, Not 23
3 of 4
21-07-0182-01-0000
MIH command request & response (4of4)
State machine
MIH request
Source Node
State machine
MIH request
MIHF Destination Node
contiune - P1a2
MIHF
MIHF_NET_SAP
MIHF_NET_SAP
SENT
COMPLETED
Version
1
Ack Req
0
Ack Rsp
1
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
RESPONDING
*
*
3
1
9
X X
SA
DA
Acknowledgement for
MIH_MN_HO_Complete
Response
MIH_TP_Data.request
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
MIH Protocol PDU-
MIH_TP_Data.confirm
Transport Type 1
SA
SA
DA
DA
Status
0
MIH_TP_Data.indication
Transport Type 1
SA
SA
DA
DA
Reliable Delivery
Flag
T
MIH Protocol PDU-
MIH_TP_Data.response
Transport Type
SA
DA
Status
1
SA
DA
0
INIT
Version
Ack Req
Ack Rsp
SID
Opcode
AID
TransactionID
S_MIHF
D_MIHF
1
0 *
1 *
3
1
9
X X
SA
DA
Acknowledgement for
MIH_MN_HO_Complete
Response
Transaction timeout
INIT
4 of 4
21-07-0182-01-0000
MIH protocol acknowledgement operation
• There are four state machines defined
• Two for the source node and two for the destination node.
• Two for the request and response service and two for the
indication only service.
• Figure 24 State machine for MIH request source node
• Missing transitions
• Figure 25 State machine for MIH request destination node
• Missing transitions
• Consistency with text
• Figure 26 State machine for MIH indication source node
• Missing transitions
• Figure 27 State machine for MIH indication destination node
• Missing transition
21-07-0182-01-0000
Figure 24
REQ available without ACK-Req set /
Send REQ
REQ available with ACK-Req set /
Send REQ
INIT
Retransmit Timeout /
Send REQ
What happens when
maximum
retransmisison
attempts occur?
Transaction TimeOut /
Reset
Recv. ACK /
No action
SENDING
SENT
Recv. RSP /
Send ACK if ACK-Req set
Otherwise no action
Recv. RSP /
Send ACK if ACK-Req set
Otherwise no action
What happens if RSP
is not received?
Recv. RSP /
Send ACK if ACK-Req set
Otherwise no action
COMPLETED
1) Should add (Start Transaction Timer) to all transitions out of INIT
2) Should add (Start Retransmission Timer) to transition from INIT to SENDING and to the loopback
transition in SENDING
3) Should add to all states, except INIT, that do not have it, a transition for the expiry of Transaction timer.
21-07-0182-01-0000
Figure 25
Recv. REQ /
Send ACK if ACK-Req set and RSP not available
Otherwise no action
INIT
RSP available with ACK-Req set /
Send RSP
RECEIVED
Recv. REQ /
Send ACK if ACK-Req set and RSP not available
Otherwise no action
RESPONDING
Recv. REQ with ACK-Req set
or Retransmission timeout /
Send RSP What happens when
RSP available without ACK-Req set /
maximum
Send RSP
Recv. REQ with ACK-Req set / retransmisison
attempts occur?
Send RSP
Transaction TimeOut /
Reset
COMPLETED
Recv. ACK or
Transaction TimeOut /
Reset
1) Should add (Start Transaction Timer) to transition out of INIT
2) Should add (Start Retransmission Timer) to transition from RECEIVED to RESPONDING and to the loopback
transition in RESPONDING
3) Should add to all states, except INIT, that do not currently have it, a transition for the expiry of Transaction timer.
21-07-0182-01-0000
Consistency (Figure 25 and 8.2.2.2.2)
• The third paragraph states, “ If the MIH Request message has the ACK-Req
bit set and the response is immediately available, the request destination
node transits to RESPONDING state via RECEVIED state by sending the
MIH Response message with ACK-Rsp bit set.”
• There are two transitions out of RECEIVED and both are for sending the
RSP
• If the RSP has the ACK-Req set, it goes to RESPONDING
• If the RSP does not have the ACK-Req set, it goes to COMPLETED
• Text and figure do not agree. The choice of transition out of RECEIVED is
not dependant upon the ACK-Req in the received REQ, but rather the choice
of the ACK-Req bit in the RSP to be sent.
• Conclusion: The word "either" and "or COMPLETED" is added to the draft
text to agree with the transitions shown in the figure.
• If the MIH Request message has the ACK-Req bit set and the response is
immediately available, the request destination node transits to "either“
RESPONDING "or COMPLETED" state via RECEIVED state by
sending the MIH Response message with ACK-Rsp bit set.
21-07-0182-01-0000
Figure 26
IND available without ACK-Req set /
Send IND
INIT
IND available with ACK-Req set /
Send IND
Retransmission TimeOut /
Send IND
SENT
What happens when
maximum
retransmisison
attempts occur?
Recv. ACK or
Transaction TimeOut /
Reset
1) Should add (Start Transaction Timer) to transition out of INIT to SENT
2) Should add (Start Retransmission Timer) to transition from INIT to RESPONDING and to the loopback transition
in RESPONDING
21-07-0182-01-0000
Figure 27
Recv. IND without ACK-Req set /
Reset
Recv. IND with ACK-Req set /
Send ACK
INIT
RECEIVED
Transaction TimeOut /
Reset
Recv. IND with ACK-Req set /
Send ACK
1) Should add (Start Transaction Timer) to transition out of INIT to RECEIVED
21-07-0182-01-0000
Conclusions
• There are many issues that need answers before either the
transport protocol or the MIH protocol acknowledgement state
machines can be finalized and made to operate properly.
• Agreed answers to posed questions could help to guide
corrections, modifications, and new text for next version of the
draft.
• Conclusion (transport protocol):
• Delete all references to MIH-TP-Data.response primitive
• Conclusion (MIH protocol acknowledgement):
• the word "either" and "or COMPLETED" is added to draft
text to agree with transitions shown in the figure.
•
If the MIH Request message has the ACK-Req bit set and the response is
immediately available, the request destination node transits to "either“
RESPONDING "or COMPLETED" state via RECEIVED state by sending
the MIH Response message with ACK-Rsp bit set.
21-07-0182-01-0000