diff --git a/PROBLEM-AND-SOLUTION.md b/PROBLEM-AND-SOLUTION.md index 4daa364..3ed5848 100644 --- a/PROBLEM-AND-SOLUTION.md +++ b/PROBLEM-AND-SOLUTION.md @@ -15,12 +15,23 @@ *Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.* ```mermaid -graph LR - A[Пакет 1450 B] -->|"+50 B Geneve"| B[1500 B] - B -->|"???"| C{Дверь 1450 B} - C -->|"✗"| D[STALL 51с] +graph TD + subgraph packet["Пакет с шапкой = 1500 B"] + direction TB + hat["Geneve +50 B"] + body["Пакет 1450 B"] + hat --- body + end + packet -->|"???"| door{Дверь 1450 B} + door -->|"✗"| stall["STALL 51с"] + + style hat fill:#ff9800,color:#fff + style body fill:#4caf50,color:#fff + style door fill:#f44336,color:#fff + style stall fill:#b71c1c,color:#fff ``` -> Пакет **1450** + шапка Geneve **50** = **1500**. Дверь **1450**. Не пролез. + +> **1450** + шапка **50** = **1500**. В дверь **1450** не лезет. - Cilium соединяет ноды через **Geneve-туннель** - Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8)