Hauptunterschiede zwischen TCP Tahoe und TCP Reno:

  1. Nach einem Timeout:

    • TCP Tahoe:

      • Setzt das Congestion Window (cwnd) auf 1 MSS zurück.
      • Setzt den Schwellenwert (ssthresh) auf die Hälfte des aktuellen cwnd.
      • Startet im Slow-Start-Modus neu.
    • TCP Reno:

      • Setzt das Congestion Window (cwnd) auf 1 MSS zurück.
      • Setzt den Schwellenwert (ssthresh) auf die Hälfte des aktuellen cwnd.
      • Startet im Slow-Start-Modus neu.

      Nach einem Timeout verhalten sich beide Algorithmen also ähnlich: sie setzen cwnd auf 1 MSS und halbieren ssthresh.

  2. Bei drei duplizierten ACKs (Triple Duplicate ACKs):

    • TCP Tahoe:

      • Interpretiert drei duplizierte ACKs als Anzeichen für Paketverlust.
      • Setzt den Schwellenwert (ssthresh) auf die Hälfte des aktuellen cwnd.
      • Setzt das Congestion Window (cwnd) auf 1 MSS zurück.
      • Startet im Slow-Start-Modus neu.
    • TCP Reno:

      • Interpretiert drei duplizierte ACKs als Anzeichen für Paketverlust.
      • Setzt den Schwellenwert (ssthresh) auf die Hälfte des aktuellen cwnd.
      • Setzt das Congestion Window (cwnd) auf ssthresh + 3 MSS.
      • Wechselt in den “Fast Recovery”-Modus.
      • Im Fast Recovery-Modus: Für jedes zusätzliche duplizierte ACK erhöht cwnd um 1 MSS.
      • Sobald ein neues ACK für das fehlende Segment empfangen wird, setzt Reno cwnd auf ssthresh und wechselt in den Congestion Avoidance-Modus.

Zusammenfassung:

  • TCP Tahoe:

    • Nach einem Timeout oder drei duplizierten ACKs: Setzt cwnd auf 1 MSS, setzt ssthresh auf die Hälfte des aktuellen cwnd und startet im Slow-Start-Modus neu.
  • TCP Reno:

    • Nach einem Timeout: Verhält sich wie Tahoe, setzt cwnd auf 1 MSS und ssthresh auf die Hälfte des aktuellen cwnd, startet im Slow-Start-Modus neu.
    • Bei drei duplizierten ACKs: Setzt ssthresh auf die Hälfte des aktuellen cwnd, setzt cwnd auf ssthresh + 3 MSS und geht in den Fast Recovery-Modus. Nach dem Empfang eines neuen ACKs für das fehlende Segment setzt Reno cwnd auf ssthresh und geht in den Congestion Avoidance-Modus.

Fast Recovery ist der entscheidende Unterschied, der TCP Reno effizienter macht, indem es nicht in den Slow-Start-Modus zurückkehrt, sondern einen schnelleren Übergang zur normalen Datenübertragung ermöglicht.