| < draft-fu-nsis-qos-nslp-statemachine-00.txt | draft-fu-nsis-qos-nslp-statemachine-01.txt > | |||
|---|---|---|---|---|
| NSIS X. Fu | NSIS X. Fu | |||
| Internet-Draft Univ. Goettingen | Internet-Draft Univ. Goettingen | |||
| Expires: May 11, 2005 H. Tschofenig | Expires: August 25, 2005 H. Tschofenig | |||
| T. Tsenov | T. Tsenov | |||
| Siemens | Siemens | |||
| November 10, 2004 | February 21, 2005 | |||
| QoS NSLP State Machine | QoS NSLP State Machine | |||
| draft-fu-nsis-qos-nslp-statemachine-00.txt | draft-fu-nsis-qos-nslp-statemachine-01.txt | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is subject to all provisions | This document is an Internet-Draft and is subject to all provisions | |||
| of section 3 of RFC 3667. By submitting this Internet-Draft, each | of Section 3 of RFC 3667. By submitting this Internet-Draft, each | |||
| author represents that any applicable patent or other IPR claims of | author represents that any applicable patent or other IPR claims of | |||
| which he or she is aware have been or will be disclosed, and any of | which he or she is aware have been or will be disclosed, and any of | |||
| which he or she become aware will be disclosed, in accordance with | which he or she become aware will be disclosed, in accordance with | |||
| RFC 3668. | RFC 3668. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as | other groups may also distribute working documents as | |||
| Internet-Drafts. | Internet-Drafts. | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 38 ¶ | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on May 11, 2005. | This Internet-Draft will expire on August 25, 2005. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The Internet Society (2004). | Copyright (C) The Internet Society (2005). | |||
| Abstract | Abstract | |||
| This document describes the state machines for the NSIS Signaling | This document describes the state machines for the NSIS Signaling | |||
| Layer Protocol for Quality-of-Service signaling (QoS NSLP). A set of | Layer Protocol for Quality-of-Service signaling (QoS NSLP). A set of | |||
| state machines for QoS NSLP entities at different locations of a flow | state machines for QoS NSLP entities at different locations of a flow | |||
| path are presented in order to illustrate how QoS NSLP may be | path are presented in order to illustrate how QoS NSLP may be | |||
| implemented. | implemented. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Notational conventions used in state diagrams . . . . . . . . 5 | 3. Notational conventions used in state diagrams . . . . . . . 5 | |||
| 4. State Machine Symbols . . . . . . . . . . . . . . . . . . . . 7 | 4. State Machine Symbols . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Common Rules . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5. Common Rules . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5.1 Common Procedures . . . . . . . . . . . . . . . . . . . . 8 | 5.1 Common Procedures . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5.2 Common Variables . . . . . . . . . . . . . . . . . . . . . 8 | 5.2 Common Variables . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5.3 Constants . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.3 Constants . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 6. State machine for first QoS NSLP node in the flow path . . . . 10 | 5.4 Assumptions . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. State machine for intermediate QoS NSLP nodes . . . . . . . . 13 | 6. State machine for QNI QoS NSLP node . . . . . . . . . . . . 10 | |||
| 8. State machine for last QoS NSLP node in the flow path . . . . 17 | 7. State machine for QNE QoS NSLP nodes . . . . . . . . . . . . 13 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 8. State machine for QNR QoS NSLP node . . . . . . . . . . . . 17 | |||
| 10. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . 20 | 9. Security Considerations . . . . . . . . . . . . . . . . . . 20 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 21 | 10. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 11. Change History . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 12.1 Normative References . . . . . . . . . . . . . . . . . . . . 22 | 11.1 Changes in Version -01 . . . . . . . . . . . . . . . . . 22 | |||
| 12.2 Informative References . . . . . . . . . . . . . . . . . . . 22 | 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 22 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| Intellectual Property and Copyright Statements . . . . . . . . 24 | 13.1 Normative References . . . . . . . . . . . . . . . . . . 24 | |||
| 13.2 Informative References . . . . . . . . . . . . . . . . . 24 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| Intellectual Property and Copyright Statements . . . . . . . 26 | ||||
| 1. Introduction | 1. Introduction | |||
| This document describes the state machines for QoS NSLP [1], trying | This document describes the state machines for QoS NSLP [1], trying | |||
| to show how QoS NSLP can be implemented to support its deployment. | to show how QoS NSLP can be implemented to support its deployment. | |||
| The state machines described in this document are illustrative of how | The state machines described in this document are illustrative of how | |||
| the QoS NSLP protocol defined in [1] may be implemented for the first | the QoS NSLP protocol defined in [1] may be implemented for the QNI | |||
| QoS NSLP node in the flow path, intermediate QoS NSLP nodes, and the | QoS NSLP node, QNE QoS NSLP nodes, and QNR QoS NSLP node in the flow | |||
| last QoS NSLP node in the flow path. Where there are differences [1] | path. Where there are differences [1] are authoritative. The state | |||
| are authoritative. The state machines are informative only. | machines are informative only. Implementations may achieve the same | |||
| Implementations may achieve the same results using different methods. | results using different methods. | |||
| According to [1], there are several possibilities for QoS NSLP | According to [1], there are several possibilities for QoS NSLP | |||
| signaling, at least including the following: | signaling, at least including the following: | |||
| end-to-end signaling vs. scoped signaling | end-to-end signaling vs. scoped signaling | |||
| sender-initiated signaling vs. receiver-initiated signaling | sender-initiated signaling vs. receiver-initiated signaling | |||
| (which need to be incorporated into use scenarios when describing | (which need to be incorporated into use scenarios when describing | |||
| state machine. Note they are represented by way of certain | state machine. Note they are represented by way of certain | |||
| objects/flags in Reserve and Query messages.) | objects/flags in Reserve and Query messages.) | |||
| The messages used in the QoS NSLP protocol can be summarized as | The messages used in the QoS NSLP protocol can be summarized as | |||
| skipping to change at page 8, line 15 ¶ | skipping to change at page 8, line 15 ¶ | |||
| 5. Common Rules | 5. Common Rules | |||
| Throughout the document we use terms defined in the [1], such as flow | Throughout the document we use terms defined in the [1], such as flow | |||
| sender, flow receiver, QUERY, RESERVE or RESPONSE. | sender, flow receiver, QUERY, RESERVE or RESPONSE. | |||
| 5.1 Common Procedures | 5.1 Common Procedures | |||
| tx_RESERVE(Toff): Transmit RESERVE message with 'Teardown' bit off | tx_RESERVE(Toff): Transmit RESERVE message with 'Teardown' bit off | |||
| tx_RESERVE(Ton): Transmit RESERVE message with 'Teardown' bit on | tx_RESERVE(Ton): Transmit RESERVE message with 'Teardown' bit on | |||
| tx_RESPONSE(): Transmit RESPONSE message | tx_RESPONSE(): Transmit RESPONSE message | |||
| tx_QUERY(w/RII): Transmit QUERY message with Request Identification | tx_QUERY(<object>): Transmit QUERY message with <object> | |||
| Information (RII) object | tx_QUERY(w/o<object>): Transmit QUERY message without <object> | |||
| tx_QUERY(w/oRII): Transmit QUERY message without RII object | tx_NOTIFY(): Transmit NOTIFY message | |||
| rx_RESPONSE(): Receive RESPONSE message | rx_RESPONSE(): Receive RESPONSE message | |||
| rx_QUERY(): Receive QUERY message | rx_QUERY(): Receive QUERY message | |||
| rx_RESERVE(): Receive RESERVE message | rx_RESERVE(): Receive RESERVE message | |||
| TIMEOUT_State: State lifetime timer expiration | rx_NOTIFY(): Transmit NOTIFY message | |||
| TIMEOUT_StateLifetime: State lifetime timer expiration | ||||
| TIMEOUT_Refresh: Refresh interval timer expiration | TIMEOUT_Refresh: Refresh interval timer expiration | |||
| TIMEOUT_Refresh: Wait-Response interval timer expiration | ||||
| tg_QUERY: External trigger to send a QUERY message (typically | tg_QUERY: External trigger to send a QUERY message (typically | |||
| triggered by the application). | triggered by the application). | |||
| tg_RESERVE: External trigger to send a RESERVE message. | tg_RESERVE: External trigger to send a RESERVE message. | |||
| tg_TEARDOWN: External trigger to clear previously established QoS | tg_TEARDOWN: External trigger to clear previously established QoS | |||
| state (typically triggered by the application). It is translated | state (typically triggered by the application). It is translated | |||
| to a tx_RESERVE(Ton) message. | to a tx_RESERVE(Ton) message. | |||
| Set QoS state: establish the local QoS state. | Install QoS state: Install the local QoS state. | |||
| Refresh QoS state: refresh the local QoS state. | Refresh QoS state: Refresh the local QoS state. | |||
| Clear QoS state: delete the local QoS state. | Delete QoS state: Delete the local QoS state. | |||
| Send info to Application: report information to the application. | Send info to Application: Report information to the application. | |||
| RMF: Performs Resource Management Function and returns the following | RMF: Performs Resource Management Function and returns the following | |||
| values{AVAIL, NO_AVAIL}. | values{AVAIL, NO_AVAIL}. | |||
| SetRII: Sets the RII object of the messages e.g. the node requests | SetRII: Sets the RII object of the messages e.g. the node requests | |||
| explicit response to the message being sent. Returns values | explicit response to the message being sent. Returns values | |||
| {0,1}. | {0,1}. | |||
| CheckRII: Checks the RII object of received RESPONSE message if it is | CheckRII: Checks the RII object of received RESPONSE message if it is | |||
| requested by current node or other upstream node. Returns values | requested by current node or other upstream node. Returns values | |||
| {LOCAL, NO_LOCAL}. | {LOCAL, NO_LOCAL}. | |||
| Result: Processes the information of the RESPONSE messages and | ProcessQUERY: Processes a Query message and provides the requested | |||
| provides information. It tells whether the reservation is | info | |||
| successful or not (if it is a response to a reserve message), or | ||||
| the information carried in the response message (if it is a | ||||
| response to a query message), or an error has occurred. Returns | ||||
| values {INFO, SUCCESSFUL, ERROR}. | ||||
| 5.2 Common Variables | 5.2 Common Variables | |||
| RII: Request Identification Information (RII) object. Logical | RII: Request Identification Information (RII) object. Logical | |||
| variable representing if the RII is set or not. Takes values | variable representing if the RII is set or not. Takes values | |||
| {0,1}. | {0,1}. | |||
| SCOPING: Scoping flag of common message header. Takes values | SCOPING: Scoping flag of common message header. Takes values | |||
| {"Next_hop","Whole_path"}. | {"Next_hop","Whole_path"}. | |||
| RSN: Reservation Sequence Number object. Takes values: | ||||
| - recRSN - RSN object of the received message | ||||
| - currRSN - Current stored RSN value for installed QoS state. | ||||
| (Assumed to be the one for the direction where the message comes | ||||
| from e.g.Upstream/Downstream) | ||||
| ACK: Acknowledgement flag of common message header. Takes values | ||||
| {"On","Off"}. | ||||
| SummaryRefresh: Keeps information if Summary refresh method may be | ||||
| used for refreshing a installed QoS state. Takes value | ||||
| {"On","Off"}. | ||||
| E_SPEC: Error_Spec object. Takes values: | ||||
| - 0x02? - Success values | ||||
| - 0x04? - Transient Failure values | ||||
| - ERROR - Not specified in the QoS NSLP draft, but used | ||||
| here.(Section 10) | ||||
| QSPEC: QoS specification object. | ||||
| FlowID: Flow ID kept by the installed QoS state. | ||||
| Replace: Replace flag of common message header. Takes values | ||||
| {"On","Off"}. | ||||
| SII: Source Identification Information entry. Takes values: | ||||
| - CurrSII - SII entry stored for current installed QoS state. | ||||
| (Assumed to be the one for the direction where the message comes | ||||
| from e.g.Upstream/Downstream) | ||||
| - newSII - SII of the received message is different from the SII | ||||
| stored for the current installed QoS state. | ||||
| 5.3 Constants | 5.3 Constants | |||
| 6. State machine for first QoS NSLP node in the flow path | ||||
| 5.4 Assumptions | ||||
| o For simplification not all included objects in a message are | ||||
| showed. Only those that are significant for the case are showed. | ||||
| State machines do not present handling of messages that are not | ||||
| significant for management of the states such as certain NOTIFY | ||||
| and QUERY messages. | ||||
| o State machines represent handling of messages of the same Session | ||||
| ID and with no protocol errors. Separate parallel instances of | ||||
| the state machines should handle messages for different Session | ||||
| IDs. | ||||
| o Default message handling should be defined for messages with | ||||
| different Session IDs that have impact on current session state | ||||
| and error messages. This is not included in the current version. | ||||
| o ACK flag in the common header is set "On" by default. | ||||
| o Direction of receiving and sending messages is not specified. We | ||||
| assume it is implicit from the context. | ||||
| 6. State machine for QNI QoS NSLP node | ||||
| ----------- | ----------- | |||
| State: INIT | State: INIT | |||
| ----------- | ----------- | |||
| Condition Action State | Condition Action State | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+------------ | |||
| UCT | initialize variables |IDLE | UCT | initialize variables |IDLE | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+------------ | |||
| ----------- | ----------- | |||
| State: IDLE | State: IDLE | |||
| ----------- | ----------- | |||
| Condition Action State Note | Condition Action State Note | |||
| ------------------------+-------------------------+-----------+--- | ------------------------+-------------------------+-----------+--- | |||
| (rx_QUERY) && (!RII) && |tx_NOTIFY(ERROR) |IDLE |1) | rx_QUERY(RII) |ProcessQUERY |IDLE | | |||
| (RMF="NO_AVAIL") | | |2) | |tx_RESPONSE(RII) | | | |||
| | | | | | | | | |||
| (rx_QUERY) && (RII) |tx_RESPONSE(w/RII) |IDLE | | (tg_RESERVE) && |Send info to Application |IDLE | | |||
| | | | | (RMF="NO_AVAIL") | | | | |||
| (tg_RESERVE) && |Send info to Application |IDLE | | | | | | |||
| (RMF="NO_AVAIL") | | | | (tg_RESERVE) && (!RII) |tx_RESERVE(w/oRII), |QoS state | | |||
| | | | | && (!setRII) && | Install QoS state, |Installed | | |||
| (tg_QUERY) && (setRII) |tx_QUERY(w/RII) |WAITRESP1 | | (RMF="AVAIL") | Send info to Application| | | |||
| | | | | | | | | |||
| (tg_RESERVE) && (RII) &&|tx_RESERVE(w/RII) |WAITRESP2 | | (tg_RESERVE) && (setRII)|Install QoS state, |QoS state | | |||
| (RMF="AVAIL") | | | | &&(RMF="AVAIL") | tx_RESERVE(RII) |Installed +| | |||
| | | | | | |WAITRESP2 | | |||
| (rx_QUERY) && (!RII) && |tx_RESERVE(w/RII) |WAITRESP2 |2) | | | | | |||
| (setRII) && | | | | (rx_QUERY)&&(!RII)&& |Tx_RESPONSE(RSN, |IDLE |1) | |||
| (RMF="AVAIL") | | | | (RMF="NO_AVAIL") | E_SPEC="ERROR") | |2) | |||
| | | | | | | | | |||
| (rx_QUERY) && (!RII) && |tx_RESERVE(w/oRII), |ESTABLISHED|2) | (rx_QUERY) && (!RII) && |tx_RESERVE(w/oRII), |QoS state |2) | |||
| (!setRII) && | Set QoS state, | | | (!setRII) && | Install QoS state, |Installed | | |||
| (RMF="AVAIL") | Send info to Application| | | (RMF="AVAIL") | Send info to Application| | | |||
| | | | | | | | | |||
| (tg_RESERVE) && |tx_RESERVE(w/oRII), |ESTABLISHED| | (rx_QUERY) && (!RII) && |Install QoS state, |QoS state |2) | |||
| (!setRII) && | Set QoS state, | | | (setRII) && |tx_RESERVE( RII) |Installed +| | |||
| (RMF="AVAIL") | Send info to Application| | | (RMF="AVAIL") | |WAITRESP2 | | |||
| ------------------------+-------------------------+-----------+--- | | | | | |||
| (tg_QUERY) && (setRII) |tx_QUERY(RII) |WAITRESP1 | | ||||
| | | | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| Note: | ||||
| 1) How to signal unsuccessful reservation for Receiver initiated | ||||
| reservation (No RII included; sent Response(RSN) should not be | ||||
| forwarded further than the next peer). No Error_SPEC value | ||||
| specified for this case. | ||||
| 2) Relevant for Receiver-initiated reservation. | ||||
| Note: 1) tx_NOTIFY(ERROR) is transmitted when an ERROR event must | ---------------- | |||
| be announced to other downstream nodes which do not expect | State: WAITRESP1 | |||
| a RESPONSE message for this action. E.g., there is no provided | ---------------- | |||
| RII which will be included in a RESPONSE message; | ||||
| 2) Relevant for Receiver-initiated reservation. | ||||
| ---------------- | Condition Action State | |||
| State: WAITRESP1 | ------------------------+-------------------------+------------ | |||
| ---------------- | (TIMEOUT_WaitResp) && |tx_QUERY(RII) |WAITRESP1 | |||
| (!MaxRetry) | | | ||||
| | | | ||||
| (TIMEOUT_WaitResp) && |Send info to Application |IDLE | ||||
| (MaxRetry) | | | ||||
| | | | ||||
| rx_RESPONSE |Send info to Application |IDLE | ||||
| ------------------------+-------------------------+------------ | ||||
| Condition Action State | -------------------------------------- | |||
| ------------------------+-------------------------+------------ | State: QoS state installed + WAITRESP2 | |||
| (TIMEOUT_Refresh) && |tx_RESERVE(w/RII) |WAITRESP1 | -------------------------------------- | |||
| (!MaxRetry) | | | ||||
| | | | ||||
| (TIMEOUT_Refresh) && |Send info to Application |IDLE | ||||
| (MaxRetry) | | | ||||
| | | | ||||
| rx_RESPONSE |Send info to Application |IDLE | ||||
| ------------------------+-------------------------+------------ | ||||
| ------------------ | Condition Action State | |||
| State: ESTABLISHED | ------------------------+-------------------------+------------ | |||
| ------------------ | (TIMEOUT_WaitResp) && |tx_RESERVE(RII) |QoS state | |||
| (!MaxRetry) | |installed + | ||||
| | |WAITRESP2 | ||||
| | | | ||||
| | | | ||||
| (TIMEOUT_WaitResp) && |Delete QoS state |IDLE | ||||
| (MaxRetry) |Send info to Application | | ||||
| | | | ||||
| rx_RESPONSE(RII, |Delete QoS state |IDLE | ||||
| E_SPEC="0x04?") |Send info to Application | | ||||
| | | | ||||
| | | | ||||
| rx_RESPONSE(RII, |Send info to Application |QoS state | ||||
| E_SPEC="0x02?") |SummaryRefresh="On" |installed | ||||
| ------------------------+-------------------------+------------ | ||||
| -------------------------- | ||||
| State: QoS state installed | ||||
| -------------------------- | ||||
| Condition Action State | Condition Action State Note | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+-----------+--- | |||
| TIMEOUT_Refresh |tx_RESERVE |ESTABLISHED | TIMEOUT_Refresh |If (SummaryRefresh="On") |QoS state | | |||
| | | | | (Tx_RESERVE(RSN)) && |installed | | |||
| tg_TEARDOWN |tx_RESERVE(Ton), |IDLE | | (SummaryRefresh="Off") | | | |||
| | Clear QoS state | | |Else | | | |||
| ------------------------+-------------------------+------------ | | Tx_RESERVE(RSN,QSPEC); | | | |||
| ---------------- | | | | | |||
| State: WAITRESP2 | rx_RESPONSE(RSN, |SummaryRefresh="On" |QoS state | | |||
| ---------------- | E_SPEC="0x02?") | |installed | | |||
| | | | | ||||
| TIMEOUT_StateLifetime |Delete QoS state |IDLE |1) | ||||
| |Send info to Application | | | ||||
| | | | | ||||
| tg_TEARDOWN |Delete QoS state, |IDLE | | ||||
| | tx_RESERVE(Ton) | | | ||||
| | | | | ||||
| rx_NOTIFY(RSN, |Delete QoS state |IDLE | | ||||
| E_SPEC="0x04?") |Send info to Application | | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| Condition Action State | Note: | |||
| ------------------------+-------------------------+------------ | 1) If QoS state lifetime expires in QNI, should RESERVE(Ton) | |||
| (TIMEOUT_Refresh) && |tx_RESERVE(w/RII) |WAITRESP2 | be sent downstream the path? | |||
| (!MaxRetry) | | | ||||
| | | | ||||
| (TIMEOUT_Refresh) && |Send info to Application |IDLE | ||||
| (MaxRetry) | | | ||||
| | | | ||||
| (rx_RESPONSE) && |Send info to Application |IDLE | ||||
| (Result="ERROR") | | | ||||
| | | | ||||
| (rx_RESPONSE) && |Set QoS state, |ESTABLISHED | ||||
| (Result="SUCCESS")&& | Send info to Application| | ||||
| (RMF="AVAIL") | | | ||||
| ------------------------+-------------------------+------------ | ||||
| 7. State machine for intermediate QoS NSLP nodes | 7. State machine for QNE QoS NSLP nodes | |||
| ----------- | ----------- | |||
| State: INIT | State: INIT | |||
| ----------- | ----------- | |||
| Condition Action State | Condition Action State | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+------------ | |||
| UCT | initialize variables |IDLE | UCT | initialize variables |IDLE | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+------------ | |||
| ----------- | ----------- | |||
| State: IDLE | State: IDLE | |||
| ----------- | ----------- | |||
| Condition Action State Note | Condition Action State Note | |||
| ------------------------+-------------------------+-----------+--- | ------------------------+-------------------------+-----------+--- | |||
| (rx_RESERVE)&& !((RII)&&|Set QoS state, |ESTABLISHED|1a) | (rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |IDLE |2) | |||
| (setRII)) && | tx_RESERVE(w/oRII) | | | | | | | |||
| (RMF="AVAIL") | | | | (rx_QUERY(RII, |ProcessQUERY, |IDLE |7) | |||
| | | | | SCOPING="Next_hop") |Tx_RESPONSE(RII) | | | |||
| (rx_RESERVE) && (RII) &&|Set QoS state, |ESTABLISHED|1b) | | | | | |||
| (RMF="AVAIL") && | tx_RESPONSE(w/RII) | | | (rx_QUERY) && (RII) |tx_QUERY(w/RII) |IDLE |7) | |||
| (SCOPING="Next_hop") | | | | | | | | |||
| | | | | (rx_RESERVE(RII)) && |Tx_RESPONSE(RII, |IDLE |3) | |||
| (rx_RESERVE) && (!RII)&&|Set QoS state |ESTABLISHED|1b) | (RMF="NO_AVAIL") | E_SPEC="0x04?") | | | |||
| (RMF="AVAIL") && | | | | | | | | |||
| (SCOPING="Next_hop") | | | | (rx_RESERVE) && (!RII)&&|Tx_RESPONSE(RSN, |IDLE |3) | |||
| | | | | (RMF="NO_AVAIL") | E_SPEC="0x04?") | | | |||
| (rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |IDLE |2) | | | | | |||
| | | | | (rx_RESPONSE(RII)) && |Tx_RESPONSE(RII) |IDLE | | |||
| (rx_QUERY) && |tx_QUERY(w/RII) |IDLE | | (CheckRII="Not_LOCAL")| | | | |||
| (SCOPING="Next_hop") | | | | | | | | |||
| | | | | (rx_RESERVE)&& !(setRII)|Install QoS state, |QoS State |1a) | |||
| (rx_RESERVE) && (RII)&& |tx_RESPONSE(RII, ERROR) |IDLE |3) | && (RMF="AVAIL") |If(ACK="On") |Installed | | |||
| (RMF="NO_AVAIL") | | | | | Tx_RESPONSE(RSN, | | | |||
| | | | | | E_SPEC="0x02?");| | | |||
| (rx_RESERVE) && (!RII)&&|tx_NOTIFY(ERROR) |IDLE |3) | |If(RII) Tx_RESPONSE(RII) | | | |||
| (RMF="NO_AVAIL") | | | | |Else Tx_RESPONSE(w/oRII)| | | |||
| | | | | | | | | |||
| (rx_RESERVE) && ((RII)|||tx_RESERVE(w/RII) |WAITRESP1 |4) | (rx_RESERVE(SCOPING= |Install QoS state, |QoS State |1b) | |||
| (setRII)) && | | | | "Next_hop")) && |If(RII) Tx_RESPONSE(RII, |Installed | | |||
| (RMF="AVAIL") | | | | (RMF="AVAIL") | E_SPEC="0x02?") | | | |||
| | | | | |Else Tx_RESPONSE(RSN, | | | |||
| (rx_QUERY) && (RII) |tx_QUERY(w/RII) |WAITRESP2 |5) | | E_SPEC="0x02?") | | | |||
| | | | | | | | | |||
| (tg_QUERY) && (setRII) |tx_QUERY(w/RII) |WAITRESP2 |5) | (rx_RESERVE) && (setRII)|Install QoS state, |QoS State |4) | |||
| ------------------------+-------------------------+-----------+--- | && (RMF="AVAIL") |Tx_RESPONSE(RII), |Installed +| | |||
| |If(ACK="On") |WAITRESP1 | | ||||
| | Tx_RESPONSE(RSN, | | | ||||
| | E_SPEC="0x02?");| | | ||||
| | | | | ||||
| (tg_QUERY) && (setRII) |tx_QUERY(RII) |WAITRESP2 |5) | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| ------------------ | ---------------- | |||
| State: ESTABLISHED | State: QoS State Installed + WAITRESP1 | |||
| ------------------ | ---------------- | |||
| Condition Action State | Condition Action State Note | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+-----------+--- | |||
| rx_RESERVE(Ton) |tx_RESERVE(Ton), |IDLE | (TIMEOUT_WaitResp) && |tx_RESERVE(RII) |WAITRESP1 | | |||
| | clear QoS state | | (!MaxRetry) | | | | |||
| | | | | | | | |||
| TIMEOUT_Refresh |Refresh QoS state; |ESTABLISHED | (TIMEOUT_WaitResp) && |Delete QoS State, | | | |||
| | if state changes, | | (MaxRetry) && |tx_NOTIFY(RSN, |IDLE | | |||
| | tx_RESERVE(w/RII) | | | E_SPEC="0x04?") | | | |||
| | | | |Send info to Application | | | |||
| TIMEOUT_State |Clear QoS state |IDLE | | | | | |||
| ------------------------+-------------------------+------------ | (rx_RESPONSE(RII, |Delete QoS State, |IDLE |4) | |||
| ---------------- | E_SPEC="0x04?")) |tx_NOTIFY(RSN, | | | |||
| State: WAITRESP1 | &&(CheckRII="LOCAL") | E_SPEC="0x04?") | | | |||
| ---------------- | |Send info to Application | | | |||
| | | | | ||||
| (rx_RESPONSE(RII, |Send info to Application |QoS State | | ||||
| E_SPEC="0x02?")) |SummaryRefresh="On" |Installed | | ||||
| &&(CheckRII="LOCAL") | | | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| Condition Action State | ---------------- | |||
| ------------------------+-------------------------+------------ | State: WAITRESP2 | |||
| (TIMEOUT_Refresh) && |tx_RESERVE(w/RII) |WAITRESP1 | ---------------- | |||
| (!MaxRetry) | Send info to Application| | ||||
| | | | ||||
| (TIMEOUT_Refresh) && |tx_NOTIFY(ERROR), | | ||||
| (MaxRetry) && | Send info to Application|IDLE | ||||
| (CheckRII="LOCAL") | | | ||||
| | | | ||||
| (TIMEOUT_Refresh) && |tx_RESPONSE(w/RII,Result=| | ||||
| (MaxRetry) && | "ERROR") |IDLE | ||||
| (CheckRII="NO_LOCAL")| | | ||||
| | | | ||||
| (rx_RESPONSE) && |Set QoS state |ESTABLISHED | ||||
| (CheckRII="LOCAL")&& | | | ||||
| (Result="SUCCESS") | | | ||||
| | | | ||||
| (rx_RESPONSE) && |Set QoS state, |ESTABLISHED | ||||
| (CheckRII="NO_LOCAL")| tx_RESPONSE(RII) | | ||||
| &&(Result="SUCCESS") | | | ||||
| | | | ||||
| (rx_RESPONSE) && |tx_NOTIFY(ERROR), |IDLE | ||||
| (CheckRII="LOCAL")&& | send info to Application| | ||||
| (Result="ERROR") | | | ||||
| | | | ||||
| (rx_RESPONSE) && |tx_RESPONSE(w/RII) |IDLE | ||||
| (CheckRII="NO_LOCAL")| | | ||||
| &&(Result="ERROR") | | | ||||
| ------------------------+-------------------------+------------- | ||||
| ---------------- | ||||
| State: WAITRESP2 | ||||
| ---------------- | ||||
| Condition Action State | Condition Action State Note | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+-----------+--- | |||
| (TIMEOUT_Refresh) && |tx_QUERY(w/RII) |WAITRESP2 | (TIMEOUT_WaitResp) && |tx_QUERY(RII) |WAITRESP2 | | |||
| (!MaxRetry) | | | (!MaxRetry) | | | | |||
| | | | | | | | |||
| (TIMEOUT_Refresh) && |Send info to Application |IDLE | (TIMEOUT_WaitResp) && |Send info to Application |IDLE | | |||
| (MaxRetry) && | | | (MaxRetry) | | | | |||
| (CheckRII="LOCAL") | | | | | | | |||
| | | | (rx_RESPONSE) && |Send info to Application |IDLE | | |||
| (TIMEOUT_Refresh) && |tx_RESPONSE(Result= |IDLE | (CheckRII="LOCAL") | | | | |||
| (MaxRetry) && | "ERROR") | | ------------------------+-------------------------+-----------+--- | |||
| (CheckRII="NO_LOCAL")| | | ||||
| | | | ||||
| (rx_RESPONSE) && |Send info to Application |IDLE | ||||
| (CheckRII="LOCAL") | | | ||||
| | | | ||||
| (rx_RESPONSE) && |tx_RESPONSE(w/RII) |IDLE | ||||
| (CheckRII="NO_LOCAL")| | | ||||
| ------------------------+-------------------------+------------- | ||||
| Note: 1) Successful reservation with response request (1a) and | ------------------ | |||
| with Scoping (1b); | State: QoS State Installed | |||
| 2) Processing of Query msg for Receiver initiated | ------------------ | |||
| reservation; | ||||
| 3) Unsuccessful reservation for Receiver initiated | ||||
| reservation, with/without request for response from the flow | ||||
| sender side. Tx_NOTIFY(ERROR) is sent to the upstream nodes to | ||||
| indicate failure of the reservation in the case when no RESPONSE | ||||
| is required by them; | ||||
| 4) Reservation requests with RII set in the upstream nodes | ||||
| or in this node; | ||||
| 5) Processing of Query message received from a neighboring | ||||
| node or triggered by the application layer. | ||||
| 8. State machine for last QoS NSLP node in the flow path | Condition Action State Note | |||
| ------------------------+-------------------------+-----------+--- | ||||
| rx_RESERVE(Ton) |tx_RESERVE(Ton), |IDLE | | ||||
| |Delete QoS state | | | ||||
| | | | | ||||
| rx_RESERVE |Refresh QoS state |QoS State |6) | ||||
| |If(ACK="On") |Installed | | ||||
| |Tx_RESPONSE(RSN, | | | ||||
| | E_SPEC="0x02?") | | | ||||
| | | | | ||||
| rx_RESPONSE(RSN, |SummaryRefresh="On" |QoS State |6) | ||||
| E_SPEC="0x02?") | |Installed | | ||||
| | | | | ||||
| TIMEOUT_Refresh |If (SummaryRefresh="On") |QoS State |6) | ||||
| | (Tx_RESERVE(RSN)) |Installed | | ||||
| | &&(SummaryRefresh="Off")| | | ||||
| |Else | | | ||||
| | Tx_RESERVE(RSN,QSPEC) | | | ||||
| | | | | ||||
| (rx_RESPONSE(RII, |SummaryRefresh="On" |QoS State | | ||||
| E_SPEC="0x02?")) |Tx_RESPONSE(RII, |Installed | | ||||
| &&(ChechRII="NOT_LOCAL")| E_SPEC="0x02?") | | | ||||
| | | | | ||||
| | | | | ||||
| (TIMEOUT_StateLifetime) |Delete QoS state |IDLE |8) | ||||
| | | | | ||||
| (rx_RESPONSE(RII, | | | | ||||
| E_SPEC="0x04?")) |Delete QoS state |IDLE | | ||||
| &&(ChechRII="NOT_LOCAL")|rx_RESPONSE(RII, | | | ||||
| | E_SPEC="0x04?") | | | ||||
| | | | | ||||
| rx_RESPONSE(RSN, |Delete QoS state |IDLE | | ||||
| E_SPEC="0x04?") |rx_NOTIFY(RSN, | | | ||||
| | E_SPEC="0x04?") | | | ||||
| | | | | ||||
| rx_NOTIFY(RSN, |Delete QoS state |IDLE | | ||||
| E_SPEC="0x04?") |rx_NOTIFY(RSN, | | | ||||
| | E_SPEC="0x04?") | | | ||||
| | | | | ||||
| | | | | ||||
| (Rx_RESERVE)&&(currSII) |Update QoS state |QoS State |9) | ||||
| &&(Replace="On") |If (RII) |Installed | | ||||
| &&(RMF="AVAIL") | Tx_RESERVE(RII,QSPEC)| | | ||||
| &&((recRSN>=currRSN) |else | | | ||||
| ||(newFlowID)) | Tx_RESERVE(RSN,QSPEC);| | | ||||
| |If (ACK="On")&&(!RII) | | | ||||
| | tx_RESPONSE(RSN, | | | ||||
| | E_SPEC="0x02?");| | | ||||
| | | | | ||||
| | | | | ||||
| (Rx_RESERVE)&&(newSII) |Update QoS state |QoS State |9) | ||||
| &&(RMF="AVAIL") |If (RII) |Installed | | ||||
| &&((recRSN>=currRSN) | Tx_RESERVE(RII,QSPEC)| | | ||||
| ||(newFlowID)) |else | | | ||||
| | Tx_RESERVE(RSN,QSPEC);| | | ||||
| |If (ACK="On")&&(!RII) | | | ||||
| | tx_RESPONSE(RSN, | | | ||||
| | E_SPEC="0x02?");| | | ||||
| |If (Replace="On") | | | ||||
| | tx_Reserve(Ton) | | | ||||
| | to currSII | | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| NOTE: | ||||
| 1) Successful reservation without Response request (1a) and with | ||||
| Scoping (1b). | ||||
| 2) Processing of Query msg for Receiver initiated reservation | ||||
| 3) Unsuccessful reservation with/without request for response | ||||
| from previous node in the path. | ||||
| 4) Unsuccessful reservation. RII requested at the local node. | ||||
| NOTIFY(RSN) is sent further to the upstream nodes. | ||||
| 5) Processing of Query msg triggered by the application layer. | ||||
| 6) QoS State refresh procedures | ||||
| 7) Processing of Query msg received from an upstream node. | ||||
| 8) We assume that handling of QoS state lifetime expiration | ||||
| event is based on the local policy of the node. | ||||
| NOTIFY/Reserve(Ton) messages might be sent to other peers. | ||||
| These issues are not described in the QoS NSLP draft. | ||||
| 9) Update QoS state and Re-route functionality | ||||
| 8. State machine for QNR QoS NSLP node | ||||
| ----------- | ----------- | |||
| State: INIT | State: INIT | |||
| ----------- | ----------- | |||
| Condition Action State | Condition Action State | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+------------ | |||
| UCT | initialize variables |IDLE | UCT | initialize variables |IDLE | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+------------ | |||
| ----------- | ----------- | |||
| State: IDLE | State: IDLE | |||
| ----------- | ----------- | |||
| Condition Action State Note | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| (tg_QUERY) && |tx_QUERY(w/RII) |WAITRESV |1) | ||||
| (!setRII) | | | | ||||
| | | | | ||||
| (rx_RESERVE) && (RII) &&|Set QoS state, |ESTABLISHED|2a) | ||||
| (RMF="AVAIL") | tx_RESPONSE(w/RII) | | | ||||
| | | | | ||||
| (rx_RESERVE) && (!RII)&&|Set QoS state |ESTABLISHED|2b) | ||||
| (RMF="AVAIL") | | | | ||||
| | | | | ||||
| (tg_RESERVE) && |Send info to Application |IDLE |3) | ||||
| (RMF="NO_AVAIL") | | | | ||||
| | | | | ||||
| (rx_RESPONSE) && (RII)&&|tx_RESPONSE(RII, ERROR) |IDLE | | ||||
| (RMF="NO_AVAIL") | | | | ||||
| | | | | ||||
| (rx_QUERY) && (RII) && |tx_QUERY(w/RII) |IDLE | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| ------------------ | Condition Action State Note | |||
| State: ESTABLISHED | ------------------------+-------------------------+-----------+--- | |||
| ------------------ | rx_QUERY(RII) |tx_RESPONSE(RII) |IDLE | | |||
| | | | | ||||
| (rx_RESERVE)&&(!RII) |Tx_RESPONSE(RSN, |IDLE | | ||||
| && (RMF="NO_A") | E_SPEC="0x04?") | | | ||||
| | | | | ||||
| | | | | ||||
| (rx_RESERVE(RII)) |Tx_RESPONSE(RII, |IDLE | | ||||
| && (RMF="NO_A") | E_SPEC="0x04?") | | | ||||
| | | | | ||||
| (tg_QUERY) && |tx_QUERY(w/oRII) |WAITRESV |1) | ||||
| (!setRII) | | | | ||||
| | | | | ||||
| | | | | ||||
| (rx_RESERVE(RII)) |Install QoS state |QoS state |2) | ||||
| && (RMF="AVAIL") |Tx_RESPONSE(RII, |installed | | ||||
| | E_SPEC="0x02?") | | | ||||
| | | | | ||||
| (rx_RESERVE)&&(!RII) |Install QoS state |QoS state |2) | ||||
| && (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed | | ||||
| E_SPEC="0x02?") | | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| --------------- | ||||
| State: WAITRESV | ||||
| --------------- | ||||
| Condition Action State | Condition Action State Note | |||
| ------------------------+-------------------------+------------ | ------------------------+-------------------------+-----------+--- | |||
| rx_RESERVE |Refresh QoS state |ESTABLISHED | TIMEOUT_WaitResp |Tx_QUERY(w/oRII) |WAITRESV | | |||
| | | | | | | | |||
| TIMEOUT_State |Clear QoS state |IDLE | (TIMEOUT_WaitResp) |Send info to Appl. |IDLE | | |||
| ------------------------+-------------------------+------------ | && (MaxRetry) | | | | |||
| --------------- | | | | | |||
| State: WAITRESV | (rx_RESERVE)&&(!RII) |tx_RESPONSE(RSN, |IDLE |3) | |||
| --------------- | && (RMF="Not_AVAIL") | E_SPEC="0x04?") | | | |||
| |Send info to Appl. | | | ||||
| | | | | ||||
| (rx_RESERVE(RII)) |tx_RESPONSE(RII, |IDLE |3) | ||||
| && (RMF="Not_AVAIL") | E_SPEC="0x04?") | | | ||||
| |Send info to Appl. | | | ||||
| | | | | ||||
| rx_RESPONSE(E_SPEC= |Send info to Appl. |IDLE |4) | ||||
| "ERROR")| | | | ||||
| | | | | ||||
| | | | | ||||
| (rx_RESERVE)&&(!RII) |Install QoS state |QoS state | | ||||
| && (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed | | ||||
| | E_SPEC="0x02?") | | | ||||
| | | | | ||||
| (rx_RESERVE(RII)) |Install QoS State |QoS state | | ||||
| && (RMF="AVAIL") |Tx_RESPONSE(RII) |installed | | ||||
| | | | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| ------------------ | ||||
| State: QoS state installed | ||||
| ------------------ | ||||
| Condition Action State Note | Condition Action State Note | |||
| ------------------------+-------------------------+-----------+--- | ------------------------+-------------------------+-----------+--- | |||
| (rx_RESPONSE) && |Send info to Application |IDLE | | rx_RESERVE |Refresh QoS state |QoS state | | |||
| (Result="ERROR") | | | | |If(ACK="On") |installed | | |||
| | | | | | Tx_RESPONSE(RSN, | | | |||
| (rx_RESERVE) && (!RII)&&|Set QoS state |ESTABLISHED|2) | | E_SPEC="0x02?")| | | |||
| (RMF="AVAIL") | | | | | | | | |||
| | | | | TIMEOUT_StateLifetime |Delete QoS state |IDLE |5) | |||
| (rx_RESERVE) && (RII)&& |Set QoS state, |ESTABLISHED|2) | | | | | |||
| (RMF="AVAIL") | tx_RESPONSE(w/RII) | | | rx_RESERVE(Ton) |Delete QoS state |IDLE | | |||
| (rx_RESERVE) && (RII) &&|tx_NOTIFY(ERROR), |IDLE |4) | | | | | |||
| (RMF="NO_AVAIL") | Send info to Application| | | ------------------------+-------------------------+------------ | |||
| | | | | ||||
| (rx_RESERVE) && (!RII)&&|tx_RESPONSE(RII,ERROR), |IDLE |4) | ||||
| (RMF="NO_AVAIL") | Send info to Application| | | ||||
| ------------------------+-------------------------+-----------+--- | ||||
| Note: 1) Initiation of receiver-side reservation; | Note: | |||
| 2) Successful reservation with&without response request from | 1) Initiation of Receiver-side reservation | |||
| sender side; | 2) Successful Reservation with& without response request from the | |||
| 3) In case of no response requested (RII not present in | QNI side | |||
| RESERVE message), NOTIFY(ERROR) message is sent back to the | 3) Unsuccessful Reservation with & without response request from | |||
| upstream nodes in order to clear already established QoS state; | the QNI side. | |||
| 4) Unsuccessful reservation with&without response request | 4) How to signal unsuccessful reservation for Receiver initiated | |||
| from sender side; | reservation(No RII is included, received Response(RSN) should | |||
| not be forwarded. | ||||
| 5) We assume that handling of QoS state lifetime expiration event | ||||
| is based on the local policy of the node. NOTIFY/Reserve(Ton) | ||||
| messages might be sent to other peers. These issues are not | ||||
| described in the QoS NSLP draft. | ||||
| 9. Security Considerations | 9. Security Considerations | |||
| This document does not raise new security considerations. Any | This document does not raise new security considerations. Any | |||
| security concerns with the QoS NSLP are likely reflected in security | security concerns with the QoS NSLP are likely reflected in security | |||
| related NSIS work already (such as [1] or [6]). | related NSIS work already (such as [1] or [6]). | |||
| For the time being, the state machines described in this document do | For the time being, the state machines described in this document do | |||
| not consider the security aspect of QoS NSLP protocol itself. A | not consider the security aspect of QoS NSLP protocol itself. A | |||
| future versions of this document will add security relevant states | future versions of this document will add security relevant states | |||
| and state transitions. | and state transitions. | |||
| 10. Open Issues | 10. Open Issues | |||
| This document tries to describe possible states and transitions for | This document tries to describe possible states and transitions for | |||
| QoS NSLP according to its current specification [1], Section 5. We | QoS NSLP according to its current specification [1], Section 5. We | |||
| found some issues during the development of the state machines. For | found some issues during the development of the state machines. | |||
| example, for receiver-initiated reservation, it is unclear who | ||||
| triggers a teardown; bi-directional reservation is difficult to | ||||
| support as the state machine becomes quite complex (note at one | ||||
| particular point in time the protocol state engine can be only in one | ||||
| state). Another example is, it is often ignored for the | ||||
| functionality of abort operation after a defined MaxRetry number of | ||||
| retries. Results of this type of transitions are dependent on the | ||||
| parameter RII (e.g., if it is locally set or not). | ||||
| There are further unclear issues with processing rules and message | o For receiver-initiated reservation, it is unclear who triggers a | |||
| definition, e.g., soft state handling and how to process notification | teardown. | |||
| messages, which will be described in more detail in a future version | o Bi-directional reservation is difficult to support as the state | |||
| of this document. | machine becomes quite complex (note at one particular point in | |||
| time the protocol state engine can be only in one state). | ||||
| o How to signal unsuccessful reservation for Receiver initiated | ||||
| reservation (No RII included; a resulting Response(RSN) cannot be | ||||
| forwarded further than the next peer). No Error_SPEC value | ||||
| specified for this case. | ||||
| o If QoS state lifetime expires in QNI, should RESERVE(Ton) be sent | ||||
| downstream the path? | ||||
| o The case of unsuccessful reservation at a QNE node and no RII | ||||
| specified by upstream nodes. According to the spec RESPONSE(RSN) | ||||
| should not be forwarded further than the next peer. Currently we | ||||
| use NOTIFY(RSN) that is sent further to the upstream nodes. | ||||
| o We assume that handling of QoS state lifetime expiration event is | ||||
| based on the local policy of the node. NOTIFY/Reserve(Ton) | ||||
| messages might be sent to other peers. These issues are not | ||||
| described in the QoS NSLP draft. | ||||
| o The draft states that RESERVE message MUST be sent only towards | ||||
| the QNR. This is not the case when re-routing procedure is done | ||||
| and RESERVE(Ton) message should be sent from merging QNE node for | ||||
| deleting the old branch. We believe this is towards the QNI. | ||||
| o Re-routing functionality described in this document is not | ||||
| complete and need further consideration. | ||||
| To avoid confusions in state machines, instead of QNI, QNE and QNR, | 11. Change History | |||
| in this document we use the notations of "first QoS NSLP node in the | ||||
| flow path" (the closest one to the flow sender or the flow sender | ||||
| itself), "intermediate QoS NSLP nodes" and "last QoS NSLP node in the | ||||
| flow path" (the closest one to the flow receiver or the flow receiver | ||||
| itself). | ||||
| Default rules and common state transitions in case of reception of | 11.1 Changes in Version -01 | |||
| certain messages as Notify, and Query(w/RII), will be described in a | ||||
| future version of this document. | ||||
| 11. Acknowledgments | Version -01 covers more functionalities of the QoS NSLP. This | |||
| requires addition and changes of the notations. The main details are | ||||
| as follows: | ||||
| 1. Notation of the nodes changed to QNI, QNE and QNR. | ||||
| 2. Description of soft state refresh functionality. | ||||
| 3. Support of ACK flag in the common header. | ||||
| 4. Include of QoS NSLP objects, flags from the common header and | ||||
| entries stored with the installed QoS state in a node: ACK, | ||||
| Replace, RSN, Error_SPEC, QSPEQ, FlowID, SII. | ||||
| 5. Initial description of Re-routing functionality (Section 10). | ||||
| 6. For support of all listed changes, some notations are changed. | ||||
| 12. Acknowledgments | ||||
| The authors would like to thank Sven Van den Bosch for his feedback. | The authors would like to thank Sven Van den Bosch for his feedback. | |||
| 12. References | 13. References | |||
| 12.1 Normative References | 13.1 Normative References | |||
| [1] Bosch, S., Karagiannis, G. and A. McDonald, "NSLP for | [1] Bosch, S., Karagiannis, G. and A. McDonald, "NSLP for | |||
| Quality-of-Service signaling", draft-ietf-nsis-qos-nslp-04 (work | Quality-of-Service signaling", | |||
| in progress), July 2004. | Internet-Draft draft-ietf-nsis-qos-nslp-05, October 2004. | |||
| [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement | |||
| Levels", March 1997. | Levels", March 1997. | |||
| 12.2 Informative References | 13.2 Informative References | |||
| [3] Vollbrecht, J., Eronen, P., Petroni, N. and Y. Ohba, "State | [3] Vollbrecht, J., Eronen, P., Petroni, N. and Y. Ohba, "State | |||
| Machines for Extensible Authentication Protocol (EAP) Peer and | Machines for Extensible Authentication Protocol (EAP) Peer and | |||
| Authenticator", draft-ietf-eap-statemachine-05 (work in | Authenticator", Internet-Draft draft-ietf-eap-statemachine-06, | |||
| progress), September 2004. | December 2004. | |||
| [4] Institute of Electrical and Electronics Engineers, "DRAFT | [4] Institute of Electrical and Electronics Engineers, "DRAFT | |||
| Standard for Local and Metropolitan Area Networks: Port-Based | Standard for Local and Metropolitan Area Networks: Port-Based | |||
| Network Access Control (Revision)", IEEE 802-1X-REV/D9, January | Network Access Control (Revision)", IEEE 802-1X-REV/D9, January | |||
| 2004. | 2004. | |||
| [5] Ohba, Y., "State Machines for Protocol for Carrying | [5] Ohba, Y., "State Machines for Protocol for Carrying | |||
| Authentication for Network Access (PANA)", | Authentication for Network Access (PANA)", | |||
| draft-ohba-pana-statemachine-00 (work in progress), July 2004. | Internet-Draft draft-ohba-pana-statemachine-01, February 2005. | |||
| [6] Tschofenig, H. and D. Kroeselberg, "Security Threats for NSIS", | [6] Tschofenig, H. and D. Kroeselberg, "Security Threats for NSIS", | |||
| draft-ietf-nsis-threats-06 (work in progress), October 2004. | Internet-Draft draft-ietf-nsis-threats-06, October 2004. | |||
| Authors' Addresses | Authors' Addresses | |||
| Xiaoming Fu | Xiaoming Fu | |||
| University of Goettingen | University of Goettingen | |||
| Telematics Group | Telematics Group | |||
| Lotzestr. 16-18 | Lotzestr. 16-18 | |||
| Goettingen 37083 | Goettingen 37083 | |||
| Germany | Germany | |||
| EMail: fu@cs.uni-goettingen.de | Email: fu@cs.uni-goettingen.de | |||
| Hannes Tschofenig | Hannes Tschofenig | |||
| Siemens | Siemens | |||
| Otto-Hahn-Ring 6 | Otto-Hahn-Ring 6 | |||
| Munich, Bayern 81739 | Munich, Bayern 81739 | |||
| Germany | Germany | |||
| EMail: Hannes.Tschofenig@siemens.com | Email: Hannes.Tschofenig@siemens.com | |||
| Tseno Tsenov | Tseno Tsenov | |||
| Siemens | Siemens | |||
| Otto-Hahn-Ring 6 | Otto-Hahn-Ring 6 | |||
| Munich, Bayern 81739 | Munich, Bayern 81739 | |||
| Germany | Germany | |||
| EMail: tseno.tsenov@mytum.de | Email: tseno.tsenov@mytum.de | |||
| Intellectual Property Statement | Intellectual Property Statement | |||
| The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
| Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |||
| pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
| this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
| might or might not be available; nor does it represent that it has | might or might not be available; nor does it represent that it has | |||
| made any independent effort to identify any such rights. Information | made any independent effort to identify any such rights. Information | |||
| on the procedures with respect to rights in RFC documents can be | on the procedures with respect to rights in RFC documents can be | |||
| skipping to change at page 24, line 41 ¶ | skipping to change at page 26, line 41 ¶ | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |||
| ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | |||
| INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | |||
| INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
| Copyright Statement | Copyright Statement | |||
| Copyright (C) The Internet Society (2004). This document is subject | Copyright (C) The Internet Society (2005). This document is subject | |||
| to the rights, licenses and restrictions contained in BCP 78, and | to the rights, licenses and restrictions contained in BCP 78, and | |||
| except as set forth therein, the authors retain all their rights. | except as set forth therein, the authors retain all their rights. | |||
| Acknowledgment | Acknowledgment | |||
| Funding for the RFC Editor function is currently provided by the | Funding for the RFC Editor function is currently provided by the | |||
| Internet Society. | Internet Society. | |||
| End of changes. 57 change blocks. | ||||
| 335 lines changed or deleted | 494 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||