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