Benvenuto nel repository TCP Congestion Control Simulator, un'implementazione MATLAB per la simulazione e la visualizzazione dell'evoluzione della finestra di congestione (Congestion Window - CWND) in un ambiente TCP.
β Simulazione dei meccanismi di controllo della congestione TCP, tra cui:
- Slow Start
- Congestion Avoidance
- Fast Recovery
- Timeout Handling
β Interfaccia Grafica Interattiva, con:
- Grafico dell'andamento della Congestion Window (CWND)
- Controlli per avviare/arrestare la simulazione
- Pulsanti per simulare perdita di pacchetti e timeout
β Parametri aggiornati in tempo reale, come:
- Round Trip Time (RTT)
- Acknowledgment (ACK e Dup ACK)
- Stato del buffer e soglia di congestione
π TCP_Congestion_Simulator
βββ congestione_TCP.m
β Script MATLAB principale
βββ README.md
β Documentazione
βββ LICENSE
β Licenza MIT
πΉ MATLAB (versione R2018 o successiva consigliata)
git clone https://github.com/tuo-username/TCP_Congestion_Simulator.git
cd TCP_Congestion_Simulator
Apri MATLAB e naviga nella cartella del progetto, quindi esegui:
congestione_TCP
La GUI fornisce:
- Grafico dell'andamento della Congestion Window (CWND)
- Etichette informative su RTT, ACK ricevuti, stato della finestra
- Pulsanti interattivi per controllare la simulazione
πΉ Start β Avvia la simulazione
πΉ Stop β Interrompe la simulazione
πΉ Loss β Simula la perdita di pacchetti (3 duplicati ACK)
πΉ Timeout β Simula un timeout (CWND reset a 1)
Il codice implementa una simulazione della congestione TCP basata su:
β Slow Start: crescita esponenziale di CWND fino alla soglia (threshold
)
β Congestion Avoidance: crescita lineare della CWND oltre la soglia
β Fast Recovery: se si ricevono 3 duplicate ACK, CWND Γ¨ ridotto e aumentato progressivamente
β Timeout Handling: CWND Γ¨ resettato a 1 e riparte in Slow Start
La simulazione gestisce inoltre RTT variabile, buffer overflow e l'uscita da Fast Recovery.
β
Aggiunta del supporto per TCP Reno e TCP Tahoe
β
Implementazione della trasmissione selettiva (SACK)
β
Simulazione di reti con piΓΉ flussi TCP concorrenti
Se vuoi contribuire, sentiti libero di aprire una Pull Request!
Distribuito sotto licenza MIT. Vedi il file LICENSE
per dettagli.
π TCP Congestion Control Simulator β Esplora il comportamento della congestione TCP in MATLAB! π