The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз nginx 1.18.0 "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Релиз nginx 1.18.0 " +/
Сообщение от Аноним (32), 22-Апр-20, 10:13 
А причем тут L3 и nginx? То что ты можешь что-то там балансировать фаерволом и свитчом не имеет никакого отношения к проксированию через nginx. И строго говоря это не L3, а L4.

> Конечно же сессии есть и определяются 4-tuple srcip/srcport dstip/dstport и таймаутом.

Сессия, мой балабольный друг, определяется взаимосвязью одного пакета с другим пакетом. Датаграммы UDP сами по себе независимы друг от друга. Вопрос в том, как мы ими пользуемся. Да бывают полностью независимые варианты, но разные сервисы могут строиться по-разному.
- общий случай полного отсутствия сессий
- однонаправленная сессия, когда srcip/srcport dstip/dstport - в одном направлении считается сессией
- частичо двунаправленная, то же что однонаправленная но ожидается несколько ответных пакетов в обратном направлении
- полностью двунаправленная
Так вот это всё условности для UDP. То что ты в зависимости от источника, назначения и таймаута можешь принимать решение относительно балансировки на 4-ом уровне в своём конкретном случае не добавляет понятие сессии к протоколу UDP и не имеет вообще никакого отношения к проксированию на 7-ом уровне. Проксирование на L7 - это обработка в юзерспейсе.
В TCP у тебя есть потоки в ядре, разделенные по сессиям, ровно как ты и описал для UDP. Прокисрование TCP - это манипуляция с эими потоками. Именно так строятся TCP-балансировщики седьмого уровня. Для UDP ничего такого нет. Там нужно сами пакеты в юзерспейс гнать, чтоб разобраться юзерспейсной программой откуда, куда и  так далее. L7 терминирует соединение на прокси и по своим правилам переоткрывает его, скрывая реальный источник от назначения, а реальное назначение от источника. Ивот в отличии от TCP каждая операция делается   в юзерспейсе с точностью до пакета, а не сгруппированного ядром потока пакетов.
Отсюда и мои нескромные вопросы о нужности такого дженерик UDP L7 проксирования на стороне nginx кроме как для маркетинга и ЧСВ-шных ламеров, которые не понимают разницу между L4/L7 и разные юзкейсы.
Иными словами что сделает процесс nginx, если на него вывалить 10+ гигабит udp-пакетов из ядра для их последующего терминирования и разбора в юзерспейсе? Вопрос риторический.

Обрати внимание что я нигде не вдавался в подробности про HTTP3, балансировка которого на седьмом уровне будет производиться как раз относительно стандартов HTTP3. Кроме того в современных ядрах можно попытаться применить eBPF/XDP для таких задач, но это по определению протоколозавимисая балансировка.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз nginx 1.18.0 , opennews, 21-Апр-20, 19:35  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру