diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 5a5fd60..bf8a836 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,77 +4,22 @@ "type": "split", "children": [ { - "id": "c0e94983c70f8454", + "id": "a72b4500445db8bf", "type": "tabs", "children": [ { - "id": "44290f906d2f39dd", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "TERCERO/SPD/Teoría_2425.md", - "mode": "source", - "source": false - }, - "icon": "lucide-file", - "title": "Teoría_2425" - } - }, - { - "id": "b9dc483ed444f858", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "TERCERO/SPD/Teoría_2425.md", - "mode": "source", - "source": false - }, - "icon": "lucide-file", - "title": "Teoría_2425" - } - }, - { - "id": "9c276221889aa33a", + "id": "0565fd67a6951906", "type": "leaf", "state": { "type": "image", "state": { - "file": "TERCERO/ATR1/images/Pasted image 20241127110759.png" + "file": "TERCERO/ATR1/images/Pasted image 20241211115747.png" }, "icon": "lucide-image", - "title": "Pasted image 20241127110759" - } - }, - { - "id": "fdf44efc147788ae", - "type": "leaf", - "state": { - "type": "image", - "state": { - "file": "TERCERO/ATR1/images/Pasted image 20241127111215.png" - }, - "icon": "lucide-image", - "title": "Pasted image 20241127111215" - } - }, - { - "id": "1ca3e3801d0cdb51", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "TERCERO/ATR1/Teoría_2425.md", - "mode": "source", - "source": false - }, - "icon": "lucide-file", - "title": "Teoría_2425" + "title": "Pasted image 20241211115747" } } - ], - "currentTab": 4 + ] } ], "direction": "vertical" @@ -130,7 +75,7 @@ } ], "direction": "horizontal", - "width": 281.5110321044922 + "width": 300 }, "right": { "id": "44cf06183e1c1c7d", @@ -227,32 +172,33 @@ "obsidian-git:Open Git source control": false } }, - "active": "1ca3e3801d0cdb51", + "active": "a4eac8e6613b153b", "lastOpenFiles": [ - "TERCERO/IA/Teoría_2425.md", - "TERCERO/ATR1/images/Pasted image 20241204111952.png", - "TERCERO/ATR1/images/Pasted image 20241204111556.png", - "TERCERO/ATR1/images/Pasted image 20241204110546.png", - "TERCERO/ATR1/images/Pasted image 20241204105723.png", - "TERCERO/ATR1/images/Pasted image 20241204105459.png", "TERCERO/ATR1/Teoría_2425.md", + "TERCERO/ATR1/images/Pasted image 20241211120536.png", + "TERCERO/ATR1/images/Pasted image 20241211115841.png", + "TERCERO/ATR1/images/Pasted image 20241211115747.png", + "SEGUNDO/RC/Teoría_2324.md", + "TERCERO/IA/Teoría_2425.md", "TERCERO/SPD/Teoría_2425.md", - "TERCERO/SPD/images/Pasted image 20241202205510.png", + "TERCERO/SS/SS 24-25.md", "TERCERO/SPD/images/Pasted image 20241202214411.png", "TERCERO/SPD/images/Pasted image 20241202214354.png", "TERCERO/SPD/images/Pasted image 20241202214247.png", "TERCERO/SPD/images/Pasted image 20241202214242.png", - "TERCERO/SS/SS 24-25.md", - "TERCERO/SS/SS Lab.md", + "TERCERO/SPD/images/Pasted image 20241202214114.png", + "TERCERO/SPD/images/Pasted image 20241202214112.png", + "TERCERO/SPD/images/Pasted image 20241202213603.png", "conflict-files-obsidian-git.md", - "SEGUNDO/IISSI1/Teoría_2324.md", "Untitled.md", "TERCERO/ATR1/Resolución 1 Parcial ATR1.md", "TERCERO/ATR1/Ejercicios.md", "TERCERO/SPD/P4_SPD.md", + "TERCERO/SS/SS Lab.md", "SEGUNDO/ADDA/Teoría_2324.md", "TERCERO/IA/Apuntes Julia.md", "SEGUNDO/IISSI2/Teoría_2324.md", + "SEGUNDO/IISSI1/Teoría_2324.md", "TERCERO/SS/images", "TERCERO/SPD/images", "TERCERO/IA/images", @@ -271,7 +217,6 @@ "TERCERO/SS", "TERCERO/SPD", "SEGUNDO/MD/Apuntes Sage.md", - "SEGUNDO/RC/Teoría_2324.md", "SEGUNDO/RC/Untitled.md", "SEGUNDO/TC/Teoría_2324.md", "SEGUNDO/SO/Sin título.canvas" diff --git a/TERCERO/ATR1/Teoría_2425.md b/TERCERO/ATR1/Teoría_2425.md index a6fdaf5..f295e12 100644 --- a/TERCERO/ATR1/Teoría_2425.md +++ b/TERCERO/ATR1/Teoría_2425.md @@ -543,3 +543,30 @@ Son de longitud variable según el opcode. - **LIST** lista de archivos de un directorio - **RETR _filename_:** transfiere el archivo indicado - **STOR _filename_:** almacena en el servidor el archivo indicado +# TEMA 6: Control de la congestión +Un problema de congestión es parecido a un **problema de control de flujo**, con la diferencia que en un problema de control de flujo, quienes "se dan cuenta" del problema son los extremos. Es decir, en un problema de control de flujo hay un host enviando más datos que los que el otro host puede procesar. En un **problema de congestión**, el problema es que hay varios hosts enviando más datos **en conjunto** que los que la red puede procesar. +### Coste de la congestión +- El transmisor debe retransmitir los segmentos perdidos por desbordamiento de los routers. +- Uso innecesario de ancho de banda por las retransmisiones. +

NOTA

Un problema de congestión LEVE es cuando llegan ACKs duplicados por pérdida de segmentos, ya que al menos llegan los mensajes de punto a punto. Un problema de congestión GRAVE es cuando el timeout expira ya que eso significa que el mensaje no está ni si quiera llegando al otro extremo.

+### AIMD (Additive Increment Multiplicative Decrement) +- **Crecimiento aditivo:** se incrementa en 1 MSS hasta que hay problema de congestión +- **Decremento multiplicativo:** se divide a la mitad tras detectar un problema de congestión +### Arranque lento +- Tras detectar un problema grave de congestión, se reduce el nº de segmentos al valor inicial. +- Crecimiento exponencial en cada RTT (normalmente $2^x$) +![[Pasted image 20241211115747.png|200]] +### Recuperación rápida +- Tras detectar un problema leve de congestión, se reduce el nº de segmentos a un valor mayor que el inicial. +- **Evasión de la congestión:** crecimiento lineal del nº de segmentos para evitar problemas de congestión en un futuro cercano +![[Pasted image 20241211115841.png|200]] +## 1. Dos formas de control de congestión +![[Pasted image 20241211120536.png|400]] +**\*El umbral (_threshold_) se establece al inicio de la conexión**. Los dos extremos en la comunicación deben ponerse de acuerdo para usar la misma implementación de TCP. +### TCP Tahoe +- Arranque lento +- AIMD +### TCP Reno +- Arranque lento +- AIMD +- Recuperación rápida diff --git a/TERCERO/ATR1/images/Pasted image 20241211115747.png b/TERCERO/ATR1/images/Pasted image 20241211115747.png new file mode 100644 index 0000000..1eaaa47 Binary files /dev/null and b/TERCERO/ATR1/images/Pasted image 20241211115747.png differ diff --git a/TERCERO/ATR1/images/Pasted image 20241211115841.png b/TERCERO/ATR1/images/Pasted image 20241211115841.png new file mode 100644 index 0000000..5b5e636 Binary files /dev/null and b/TERCERO/ATR1/images/Pasted image 20241211115841.png differ diff --git a/TERCERO/ATR1/images/Pasted image 20241211120536.png b/TERCERO/ATR1/images/Pasted image 20241211120536.png new file mode 100644 index 0000000..9464674 Binary files /dev/null and b/TERCERO/ATR1/images/Pasted image 20241211120536.png differ