This commit is contained in:
@@ -14,6 +14,27 @@
|
|||||||
|
|
||||||
*Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.*
|
*Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.*
|
||||||
|
|
||||||
|
```
|
||||||
|
ПОД А ПОД Б
|
||||||
|
┌──────────┐ ┌──────────┐
|
||||||
|
│ packet │ │ packet │
|
||||||
|
│ 1450 B │ │ 1450 B │
|
||||||
|
└────┬─────┘ └────┬─────┘
|
||||||
|
│ │
|
||||||
|
┌────▼─────┐ ┌────▼─────┐
|
||||||
|
│ Geneve │ ──── underlay ────► │ Geneve │
|
||||||
|
│ +50 B │ реальный 1450 │ +50 B │
|
||||||
|
└────┬─────┘ └────┬─────┘
|
||||||
|
│ │
|
||||||
|
┌────▼─────┐ ┌────▼─────┐
|
||||||
|
│ 1500 B │ ✗ не влазит в 1450 │ 1500 B │
|
||||||
|
└──────────┘ └──────────┘
|
||||||
|
|
||||||
|
Ожидание Cilium: underlay = 1500
|
||||||
|
Реальность: underlay = 1450 ← провайдер дал меньше
|
||||||
|
Разница в 50 байт → пакет не проходит → TCP stall 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)
|
||||||
- Cilium ожидает что underlay (физический канал между нодами) = **1500 байт**
|
- Cilium ожидает что underlay (физический канал между нодами) = **1500 байт**
|
||||||
|
|||||||
Reference in New Issue
Block a user