next up previous
Next: Connection Teardown Up: The Operation of the Previous: Sender Application Request

Operation of the 3-Phase Protocol

The connection establishment is a three-phase process, as explained in Section 4. This is illustrated in Figure 8.

  
Figure 8: Connection Establishment Procedure

When the HEC receives an establishment request from the sending application, it initiates the 3-phase connection establishment protocol. It frames a Pass_1 message with the information it received from the EstReq message. It then forwards this message to the appropriate port number and address of the SEC it is connected to.

On receiving a Pass 1 message, the SEC Dispatcher parses the message and determines the output port which will be used by the message. This is based on the address of the final destination and the information in the routing tables. The Dispatcher then dispatches the message to the State Machine of that particular output port. The State Machine will call on Phase I of the algorithm and update the information in the Pass_1 message with the results of Phase I. It then reframes the header and forwards the message to the next SEC in the connection's path. The SEC then sets itself in the Waiting_for_Pass2 state and returns control to the SEC daemon.

This process is followed by all the SECs in the connection's path. The final SEC forwards the Pass_1 message to the destination HEC. At the destination, the HEC Dispatcher parses the message, recognizes it as a Pass_1 message and dispatches it to the Receiver state machine. This checks to see if there is a receiver application registered to accept requests at the port number indicated in the message. If there is and the QoS parameters also included in the payload, are acceptable, then it frames a Pass_2_Acc message and forwards this to the first SEC upstream. The receiver state machine then sets itself to the Waiting_for_Pass3 state.

On receiving a Pass_2_Acc message, the SEC Dispatchers parse the message and dispatch the message to the appropriate State Machine. This performs the admission control checks of Phase II of the algorithm and accepts or rejects the connection. On acceptance, the state machine updates the information in the message, reframes it with new header information and forwards it to the previous SEC. It then sets itself to the Waiting_for_Pass3 state. If the connection is to be rejected, then the state machine frames a Pass_2_Rej message and forwards it the previous SEC. It also frames a Pass_3_Rej message to forward to all SECs downstream. The Reject messages indicate the reason for rejection as being a Switch Reject. This will finally be delivered to the destination HEC. The state machine then returns to the Idle state. If there are any messages waiting to be processed in the Internal Queue, it proceeds to parse those messages.

The sender HEC, on receiving a Pass_2_Acc message, dispatches it to the Sender state machine which invokes Phase II of the algorithm. If the connection can be accepted at the sender host as well, it frames a Pass_3_Acc message and sends this to the SEC. Else, it frames a Pass_3_Rej message with the reason for rejection which would be a Sending Host Reject. Additionally, it also frames an EstReply message and sends it to the requesting application. This message conveys whether the connection was accepted or rejected. i.e a positive or negative reply. It then sets itself back to the Idle state and proceeds in a similar manner as the SEC.

If the sender HEC receives a Pass_2_Rej message, it only sends a negative EstReply message.


next up previous
Next: Connection Teardown Up: The Operation of the Previous: Sender Application Request

Riccardo Bettati
Fri Jul 11 18:14:48 CDT 1997