Site Navigation


Welcome

Introduction

TCP Simulator
Operation

Running the
Simulator

Simulator
Capabilities and
Limitations

Downloads

Java Class
Documentation

Log Book

Useful Links



Email Me

TCP Simulator Operation => TCP Layer


TCP Layer

The TCP Layer carries out all TCP/flow control algorithm operations in the simulator. In addition to housing all the TCP event handlers that carry out such operations, it incorporates a Dynamic Configuration Mechanism that allows any flow control algorithm to be implemented as a module set that can be loaded into the simulator at run time for simulation.

The following is a brief description of how the TCP Layer simulates TCP operations. For a complete explanation, please refer to Chapter 4 of the thesis.


TCP Layer Operation

The TCP Layer consists of the following components.
  • TCP Handler Module
    • Represents a part of a TCP event handler. Each TCP event handler in the simulator is represented by a TCP Handler module set. This is done as part of the Dynamic Configuration Mechanism that allows users to define any flow control algorithm to be implemented as a module set that can be loaded into the TCP Handler Module Control at run time for simulation.

  • TCP Handler Module Control
    • Manages TCP handler module sets. More specifically, it stores handler module sets and retrieves and executes a specific set whenever a specific Queue Event type (i.e. the handler module set's trigger Queue Event type) is dispatched.

  • TCP Control Block
    • Provides a central point of data storage accessible by all modules in the TCP Layer. Since modules cannot send messages to each other explicitly, this provides a means for modules to share data and synchronize their operations
The components simulate TCP operations as follows.
  1. Whenever an event occurs, a corresponding Queue Event is dispatched that causes the Queue Event to be passed to the TCP Handler Module Control in the TCP Layer.


  2. The TCP Handler Module Control then finds the handler module set corresponding to the TCP event handler that processes the event that just occurred.


  3. The modules in the handler module set found in the previous step is then sequentially executed to perform the TCP/flow control algorithm operations requried to process the event that just occurred.


TCP Layer Operation Example

The following example is provided to illustrate how the TCP Layer operates. This example shows what occurs when a new TCP segment arrives at a host.

TCP Layer Operation Example

  1. A segment sent by the Left Host has arrived at the Right host. To signal the occurrence of this event, the Transmission Link Layer creates a Incoming Segment Queue Event and dispatches it, causing it to be passed to the right host's TCP Module Control.


  2. The TCP Module Control examines its stored module sets to find the handler module set that is registered to process a dispatched Incoming Segment Queue Event.


  3. The found handler module set is activated by executing its modules sequentially to carry out operations that process the newly arrived TCP segment. In performing these operations, modules may store/retrieve data in the TCP Control Block to allow multiple modules to share data or synchronize their operations.