Transport Layer Algorithms¶
This module includes simple transport layer algorithm: stop and wait
| TCPTahoe(env, flow) | This is the class that implements TCP Tahoe, TCP Tahoe with fast retransmit, TCP Vegas. |
| TCPVegas(env, flow) | This is the class that implements TCP Vegas and FAST TCP. |
TCPTahoe¶
- class cs143sim.tla.TCPTahoe(env, flow)[source]¶
This is the class that implements TCP Tahoe, TCP Tahoe with fast retransmit, TCP Vegas.
Parameters: - enable_fast_retransmit – enable fast retransmit
- enable_fast_recovery – enable fast recovery or not
- rtt_alpha – change rate of rtt_avg
- rtt_beta – change rate of rtt_div
Variables: - W – window size
- packet_number – number of packets to be sent
- time_out – timer’s waiting time
- transmitter_not_sent – packets that have not been sent
- transmitter_sending – list of packets that are being sent
- transmitter_acked – packets that have been acked
- duplicate_ack_number – record last acked packet number
- duplicate_ack_times – record how many times the packet has been continuous acked
- last_reset – last effective timeout time
- time_out_event – current time out event
- slow_start_treshold – treshold of slow start
- rtt_avg – the average value of rtt
- rtt_div – the divergence of rtt
- slow_start_flag –
- fast_recovery_flag –
TCPVegas¶
- class cs143sim.tla.TCPTahoe(env, flow)[source]
This is the class that implements TCP Tahoe, TCP Tahoe with fast retransmit, TCP Vegas.
Parameters: - enable_fast_retransmit – enable fast retransmit
- enable_fast_recovery – enable fast recovery or not
- rtt_alpha – change rate of rtt_avg
- rtt_beta – change rate of rtt_div
Variables: - W – window size
- packet_number – number of packets to be sent
- time_out – timer’s waiting time
- transmitter_not_sent – packets that have not been sent
- transmitter_sending – list of packets that are being sent
- transmitter_acked – packets that have been acked
- duplicate_ack_number – record last acked packet number
- duplicate_ack_times – record how many times the packet has been continuous acked
- last_reset – last effective timeout time
- time_out_event – current time out event
- slow_start_treshold – treshold of slow start
- rtt_avg – the average value of rtt
- rtt_div – the divergence of rtt
- slow_start_flag –
- fast_recovery_flag –