• No results found

A first challenge towards the proposed solution was to set DCA’s parameter σ equal to TCP rwnd. If a cross-layer communication existed, this could have easily be done through exchange of information over different layers. However, in a real case scenario, the layers of an OSI reference model are transparent and independent from each other. Therefore, a realistic solution will require a mechanism that would be able to determine or more preferably guess a TCP Window Size within the MAC layer only. A quick resolution is to increment the aggregate size threshold, σ, gradually until the Flight Size of the TCP flow concurs, in this way we can always guarantee that σ ≤ Flight Size. The traffic flow burst variable, TB, will then be used as a condition to determine if σ has reached the maximal value of the TCP Flight Size. This very simple dynamic adjustment of DCA’s parameters is shown in Figure 6.2.

So, the DCA parameter σ initializes with a starting low value and every time DCA’s mechanism is triggered this value will be either incremented or decreased analogous. If the trigger was caused by σ itself, it means that the number of packets in the aggregation buffer is more likely less or equal than the number of segments in a TCP Flight Size, therefore next σ will be increased by a unit. Otherwise, if the IAT trigger was initiated then the algorithm assumes that the size of the packets in the buffer queue has exceeded the TCP Window Size and there are no more segments to be received from the above layer. Once the first

Figure 6.2: An example of DCA with adaptive σ

IAT trigger appears, the algorithm will assume that the prior σ value was also the maximal buffer size for TCP transmissions and so reduces it by a single packet and keeps that value throughout a specified period. The IAT trigger, stands for Inter-Arrival Time and it describes the true condition of the current interval timed from the last received packet, TL, has exceeded the last recorded traffic burst duration, TB. The conditional statement describing IAT triggering is denoted in Equation 6.1.

(t − TL > TB) → IAT (6.1)

The operation of ADCA outlines a similar mechanism of that of a standard process that TCP protocol follows. Taking as an example TCP’s slow-start mode, the transmitter initiates a transmission of some low number segments, the initial TCP Flight Size. After a successful transmission, which will be determined by a preceded TCP ACK from the receiver, the next TCP cwnd will be accumulated by one or more segments. The increments of the number of segments has been de- fined differently in each TCP extension but it logically increments exponentially. The size of the window buffer may vary dynamically depending on the timeouts or retransmissions that may occur, this is why this process is also known as a

sliding window protocol. So, for every further successfully transmissions the TCP Flight Size increases till it reaches receiver’s rwnd. Thereafter, the sliding window remains stable or increases slightly by a single packet. For any network traffic congestion issues the following number of segments drops back to the initial point. Nevertheless, transparency remains throughout the layers and so the application will still be offering data for transmission to TCP without being aware of any of these fluctuations. So, the TCP window size varies dynamically depending on the network traffic and the buffer length of ADCA follows a similar behaviour but depending on the DCA’s triggering mechanisms. When both processes follow a similar pattern, the achieving performance outcomes can be proven optimal.

So, to investigate further the performance of the latter solution, the HT model in OPNET had to be modified accordingly. For that reason, adjustments were carried out within DCA algorithm’s functions and a decisional controller for σ, that will increase its value as described above, was implemented. Again, another set of simulations were performed over Scenario 2 with exactly the same settings as before for comparison purposes.

The results of the simulation runs for DCA with σ dynamically increasing towards an estimated TCP Flight Size can be seen in Figure 6.3. From the bar graphs we observe that for lower rwnd buffer sizes, the latest enhancement surpass previous results. Specifically, for a rwnd buffer size equal to 16, 384 bytes the TCP throughput for the IF flow is 10.761 M b/s, an increase of around 338.4% and 454.6% when DCA is disabled and enabled in its initial form, respectively. Likewise, when the receiver’s advertise window is 65, 535 bytes, the throughput gain is around 3.9 and 8.3 times more than the previous cases. However, as the rwnd sizes start to largely increase the advancement over the original DCA algorithm diminishes. So, for buffer sizes above 262, 144 bytes the DCA with adapted σ is bounded to a throughput of ∼ 43 M b/s where for unchanged DCA the outcome reaches up to ∼ 52 M b/s.

Overall, the results reveal potential advancements over a range of TCP buffer sizes especially when these are rather small. So, the experimental dynamic ad- justment of σ depending over other traffic characteristics is the right way for ad- vancement to the solution. However, the end algorithm requires some additional polishing as specific characteristics of the TCP behaviour ought to be taken into

Figure 6.3: Goodput for TCP traffic vs rwnd for Scenario 2 with adaptive σ

consideration and these may possibly improve the results even further. A simple factor that hasn’t been examined is the TCP congestion control which its function alters in time the cwnd depending on the TCP’s protocol policy that it follows. So, the flexibility of the DCA over dynamically changing its parameters needs to follow additional rules.