diff --git a/PROBLEM-AND-SOLUTION.md b/PROBLEM-AND-SOLUTION.md index 9467f54..109a245 100644 --- a/PROBLEM-AND-SOLUTION.md +++ b/PROBLEM-AND-SOLUTION.md @@ -15,22 +15,20 @@ *Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.* ```mermaid -graph LR - subgraph pkt["Исходящий пакет"] - direction TB - geneve["Geneve 50 B"]:::orange - payload["Данные 1450 B"]:::green - end - pkt --> underlay["Underlay-канал
1450 B"]:::red - underlay --> stall["TCP stall 51с"]:::dark - +flowchart LR + A["Geneve 50 B"]:::orange --- B["Данные 1450 B"]:::green + B -.-> C["Итого 1500 B"]:::gray + C --> D["Underlay-канал 1450 B"]:::red + D --> E["TCP stall 51с"]:::dark + classDef orange fill:#ff9800,color:#fff,stroke:#e65100 classDef green fill:#4caf50,color:#fff,stroke:#2e7d32 + classDef gray fill:#9e9e9e,color:#fff,stroke:#616161 classDef red fill:#f44336,color:#fff,stroke:#c62828 classDef dark fill:#b71c1c,color:#fff ``` -> **1450** (данные) + **50** (Geneve) = **1500** → underlay **1450** → пакет не проходит → TCP stall **51 секунда**. +> **1450** (данные) + **50** (Geneve) = **1500** → underlay **1450** → не проходит → TCP stall **51 секунда**. - Cilium соединяет ноды через **Geneve-туннель** - Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8)