From 1ad35dada7df58a2e831b6fb2bfacb244abd4899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 13 Jul 2026 21:34:55 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20flowchart=20=E2=80=94=20Geneve=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B4=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=BC=D0=B8=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20---?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROBLEM-AND-SOLUTION.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) 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)