This commit is contained in:
+12
-13
@@ -14,21 +14,20 @@
|
|||||||
|
|
||||||
*Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.*
|
*Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.*
|
||||||
|
|
||||||
```mermaid
|
```
|
||||||
flowchart LR
|
Под А Geneve Канал
|
||||||
A["Под А<br/>исходный пакет<br/>1450 B"] --> G["Geneve-туннель<br/>добавляет +50 B<br/>итого 1500 B"]
|
┌──────────┐ ┌─────────────────┐ ┌──────────┐
|
||||||
G --> U["Underlay (канал)<br/>реально 1450 B"]
|
│ │ │ │ │ │
|
||||||
U --> B["Под Б<br/>пакет не доходит ✗"]
|
│ 1450 B │ ───► │ +50 B = 1500 B │ ───► │ 1450 B │
|
||||||
|
│ │ │ │ │ │
|
||||||
style A fill:#e8f5e9
|
└──────────┘ └─────────────────┘ └────┬─────┘
|
||||||
style G fill:#fff3e0
|
│
|
||||||
style U fill:#ffebee
|
✗ НЕ ВЛАЗИТ
|
||||||
style B fill:#ffebee
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> Ожидание Cilium: underlay = **1500**
|
> Пакет вырос до **1500 B** — а дверь всего **1450 B**.
|
||||||
> Реальность: underlay = **1450** ← провайдер дал меньше
|
> ICMP «уменьши пакет» заблокирован — никто не предупредил.
|
||||||
> Geneve добавляет **50 байт** → **1500** не влазит в **1450** → TCP stall **51 секунда**
|
> TCP ждёт ответа **51 секунду** и сдаётся.
|
||||||
|
|
||||||
- Cilium соединяет ноды через **Geneve-туннель**
|
- Cilium соединяет ноды через **Geneve-туннель**
|
||||||
- Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8)
|
- Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8)
|
||||||
|
|||||||
Reference in New Issue
Block a user