📄 rfc1934.txt
字号:
+---------------+---------------+ | array of characters | | . | | . | | . | +---------------+---------------+ Figure 18: Remote Management Transmit Request A message sent from slave to master, conveying output to be output on the master's display. Character count: Number of characters to process. 2 octets fixed length array of characters: Array of characters to process.3.3.15. REMOTE_MGMT_TX_RSP Message Format This message is used to acknowledge remote management transmit requests. The slave may send the next transmit request once this message has been received. +---------------+---------------+ | Message type | | 0x0000000f | +---------------+---------------+ Figure 19: Remote Management Transmit Response There are no data fields associated with this message.Smith Informational [Page 22]RFC 1934 Multilink Protocol Plus April 19963.3.16. CLEAR_REQ Message Format A message sent to initiate a friendly shutdown of an MP+ link. The sender will stop sending data immediately. The receiver of the message will also stop sending user data and start a clean shutdown of all NCPs and the LCP of each member link of the bundle. When the last member link terminates, the session is completely closed. +---------------+---------------+ | Message type | | 0x00000010 | +---------------+---------------+ Figure 20: Clear Request There are no data fields associated with this message.3.4. Events The MP+ state machine is event driven. Reception of an event triggers an action and possibly a state change. The events processed by the MP+ state machine can be roughly classed into two types: Events that originate within the unit, e.g. notification that a call has cleared, an MP+ session may be started, etc. Events that originate with the reception of an MP+ control message from the peer unit. Both types are processed by the state machine in the sequence they occurred. The events processed are: MP+START_SESSION: Notification from PPP/MP that an MP+ session is starting. MP+SESSION_DOWN: Notification from the error-control layer that end-to-end connectivity has been lost and control messages can not be delivered. MP+SESSION_TERM: Session termination notification from PPP/MP. This event is not sent until the last channel of a multi-channel session is cleared. MP+TIMER_EXPIRED: Timers are used in various states and sub-states. This event is signaled whenever a timer expires.Smith Informational [Page 23]RFC 1934 Multilink Protocol Plus April 1996 MP+CALL_COMPLETE: A call placed during an add request has completed. The call may have succeeded or failed. MP+UTILIZATION: Notification from MP/PPP that link utilization has crossed a threshold and that channels may need to be added/removed. (The number of channels to add/remove will be passed with the notification). MP+RX_VERSION_REQ: A Version Exchange request message has been received from the peer. MP+RX_VERSION_RSP: A Version Exchange response message has been received from the peer. MP+ADD_REQ: An Add request message has been received from the peer. MP+ADD_RSP: An Add response message has been received from the peer. MP+ADD_COMP: An Add Complete message has been received from the peer. MP+REMOVE_REQ: A Remove request message has been received from the peer. MP+REMOVE_RSP: A Remove response message has been received from the peer. MP+REMOVE_COMP: A Remove Complete message has been received from the peer. MP+RX_RM_REQ: A Remote Management request has been received from the peer. MP+RX_RM_RSP: A Remote Management response has been received from the peer. MP+RX_RM_RX_REQ: A Remote Management Receive Request has been received from the far end. MP+RX_RM_TX_REQ: A Remote Management Transmit Request has been received from the peer.Smith Informational [Page 24]RFC 1934 Multilink Protocol Plus April 1996 MP+RX_RM_TX_RSP: A Remote Management Transmit Response has been received from the peer. MP+RX_CLEAR: A request to shut down the session has been received from the peer. MP+CLOSE_REQ: A Close Request message has been received from the peer. MP+CLOSE_RSP: A Close Response message has been received from the peer. MP+START_RM Request to start a remote management session with this station being the master. MP+SEND_RMS: Request to send data to a remote management master from a slave. MP+SEND_RMM: Request to send data to a remote management slave from a master. MP+RECV_RMM: Request to send an ack to a remote management slave for data received from the slave. MP+STOP_RM: Request to stop a remote management session.3.5. State Machine3.5.1 States To ease readability and understanding the major states are considered as separate state machines, each having two to four sub-states. The sub-states are named by the letters, A, B, C, and D. State information is maintained for every interface. The major states are: MP+STATE_INITIAL: The state of an unused session. Session table entries are intialized to this state at startup and return to this state when sessions are terminated. MP+STATE_IDLE: The state of an active session that is not performing any MP+ function. MP+STATE_ADD: The state of a session when an add transaction is in progress.Smith Informational [Page 25]RFC 1934 Multilink Protocol Plus April 1996 MP+STATE_REMOVE: The state of a session when a remove transaction is in progress. MP+STATE_CLOSE: The state of a session that is in the process of being closed. State transitions are triggered by the reception of an event. Tables 2 through 6 contain the state tables for the major states. All state tables use the following symbols. - No action * Stay in same state + Target state is defined by the action taken ** An error has occurred, log an error message but no state change. States and sub-state transitions are noted as state:sub-state, e.g., initial:A. Alternative transitions are listed on separate lines.3.5.2 Common Actions Some actions are common to all states, they are defined here.Error Close Action Called to close a session when an error occurs. Actions are: [1] Stop timer if running. [2] Log an error message. [3] Close the MP+EC layer for this session. [4] Close MP for this session [5] Clean up, restore state variables to their initial state.Term Action Processed when a MP+SESSION_TERM event occurs in most states. Actions are: [1] Stop timer if running. [2] Close the MP+EC layer for this session.Smith Informational [Page 26]RFC 1934 Multilink Protocol Plus April 1996 [3] Call the passed termination callback function if not null. [4] Clean up, restore state variables to their initial state.Ignore Action We don't care about this event in this state. Do nothing.Timer Action This action is called when a timer expires in one of the on-line states. The timer is used to implement add and remove locks. A lock is set when an add or remove fails and is not cleared until a bandwidth change or the timer expires. This keeps us from retrying add's and subtracts until there is a likelyhood that it will succeed. [1] Check add lock flag. [1] If set an add lock occured last timeout period so triple the timeout value (to a max of 81 minutes). [2] If not set restore the timeout value to its initial value of one minute. [2] Clear the add lock flag. [3] Clear the remove lock flag. [4] Restart the retry timer.Enter Remove [local] Action The local unit is initiating a remove transaction. The desired bandwidth is given. [1] Restart the idle timer. [2] Calculate number of channels to remove (difference between number in use and number in desired). [3] Build and send a remove request and send to remote. [4] Go to REMOVE:A.Smith Informational [Page 27]RFC 1934 Multilink Protocol Plus April 1996Enter Remove [remote] Action The remote unit is initiating a remove transaction. The incoming message contains the number of channels to remove. [1] Restart the idle timer. [2] Request the number of channels required. If greater than the number available after removing the number of channels indicated in the incoming message reduce the number of channels to remove and set a remove lock. [3] Build a remove response message indicating the number of channels we will allow the requester to remove and send to the remote. [4] Go to REMOVE:B.Enter Add [local] Action The local unit is initiating an add transaction. We are given the number of channels desired. The steps are: [1] Restart the idle timer. [2] Calculate number of channels to add (difference between number desired and number in use). [3] Reserve number of channels, retrieving their phone numbers. [4] If number of channels reserved less than the number desired set an add lock. [5] If number of channels reserved greater than zero. [1] Build an add request. If the answerer the request includes the phone numbers for the caller to dial. [2] If caller, go to ADD:A. [3] If answerer, go to ADD:C. [6] Go to IDLE state.Smith Informational [Page 28]RFC 1934 Multilink Protocol Plus April 1996Enter Remove [remote] Action The remote unit is initiating a remove transaction. The incoming message contains the number of channels to remove. [1] Clear the remove lock. [2] Restart the idle timer. [3] Request the number of channels required. If greater than the number available after removing the number of channels indicated in the incoming message reduce the number of channels to remove. [4] Build a remove response message indicating the number of channels we will allow the requester to remove and send to the remote.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -