|
Site Navigation
Simulator
|
TCP Simulator Operation
=>
Transmission Link Layer
Transmission Link LayerThe Transmission Link Layer simulates the operations of the communications link that connects the the Left and Right TCP Layers in the simulator. Its role is to accept TCP segments sent by each TCP Layer, generate and simulate data traffic conditions experienced by the segment as it travels through the Transmission Link Layer before finally delivering the TCP segment to its destination TCP Layer.The following is a brief description of how the Transmission Link Layer generates/simulates data traffic conditions experienced by traveling segments. For a complete explanation, please refer to Chapter 5 in the thesis. Given that the 2 main data traffic conditions experienced by traveling TCP segments are -
Delay can be split into 2 components.
However, whereas the transmission delay can be calculated directly to determine the length of the transmission phase, the network topology is not defined for this simulator and so the length of the propagation phase cannot be directly determined. Instead, statistical moddels that have being empirically verified to model delay magnitudes well on the Internet are used. Such models include the Pareto and Gamma distributions (shown below) that can be sampled directly to generate propagation delays.
Generating/Simulating LossLoss is simulated by generating a loss value for a traveling TCP segment. If the loss value indicates that the segment is lost, it is marked. On arrival at its destination host, the TCP Layer then checks whether the segment is marked and if so, the segment is discarded. Otherwise the TCP segment is processed as normal.Similar to propagation delay, segment losses cannot be directly determined as the communications link's underlying network topology, as well as the traffic load currently present in the link, determines whether any given traveling TCP segment is lost. So again, statistical models that have being empirically verified to model loss well on the Internet are used. Such models include those that model the length of a loss burst (such as the Pareto Distribution shown below) as well as models that model whether a segment is lost at any given time (such as the Extended Gilbert model).
Transmission Link Layer Operation ExampleTo illustrate how the Transmission Link Layer works, an example of a TCP segment traveling from the Right to Left host is shown below.
Steps 1-4 shows what occurs when a sent TCP segment is passed down from the Right TCP Layer (Step 1); the TCP segment enters its transmission phase (Step 2) and a Queue Event signifying the end of that phase is scheduled for execution at a future point in time corresponding to the segment's transmission delay (Step 3). When that Queue Event is dispatched, the TCP segment has being completing transmitted onto the link and exits its transmission phase (Step 4). Steps 5-8 shows what occurs in the propagation phase; once the segment enters the propagation phase (Step 5), delay and loss conditions are generated for it (Step 6). If the loss value indicates the segment is lost, it is marked. A Queue Event signifying the end of the propagation phase is scheduled for execution at a future point in time corresponding to the segment's generated propagation delay (Step 7). When that Queue Event is dispatched, the TCP segment has arrived at its destination and exits the propagation phase (Step 8). Steps 9-10 shows what occurs when the segment arrives at its destination; a Queue Event signifying a new segment arrival is created and dispatched, causing the newly arrived segment to be passed up to the Left TCP Layer (Step 9) where it is processed by the relevant TCP event handler (Step 10). The handler first checks if the segment is marked as lost and if so, discards and ignores the segment. Otherwise the segment is processed by the handler as normal.
|