Сводка знаний о шлюзе
Сводка знаний о шлюзе

шлюзэто своего родасетьоборудованиеилипрограммное обеспечение,Используется для соединения двух разных сетей или протоколов.,И иметь возможность обмениваться данными между этими двумя сетями или протоколом. шлюз — важная часть сетевой архитектуры.,Это позволяет разным сетям или протоколам взаимодействовать друг с другом.,Реализуйте передачу и обработку данных.

1. Основные понятия шлюза

шлюзтакже известный какшлюзпреобразователь протоколовилисетьВыключите хост,Это сетевое устройство или программное обеспечение,Возможность подключения сетей разных протоколов разной архитектуры.,Позвольте им общаться друг с другом и делиться ресурсами. шлюз может использоваться для соединений между глобальными сетями (WAN) и локальными сетями (LAN).,Его также можно использовать для соединений между локальными сетями.

Основная функция шлюза — преобразование и передача данных. Когда двум разным сетям или протоколам необходимо взаимодействовать друг с другом, шлюз может преобразовывать данные из одного формата в другой, чтобы они могли понимать и взаимодействовать друг с другом. Например, если одна сеть использует протокол TCP/IP, а другая сеть использует протокол UDP, то между двумя сетями необходим шлюз, который может преобразовывать пакеты TCP/IP в пакеты UDP.

2. Тип шлюза

Шлюзы можно разделить на несколько типов в соответствии с различными методами классификации. Вот несколько распространенных типов шлюзов:

  1. протоколшлюз:протоколшлюз, также известный как шлюз,Это шлюз, специально разработанный для подключения сетевых устройств с разными протоколами. Например,Если в сети используется протокол TCP/IP, а другая сеть использует IPX/SPX протокол, то между этими двумя сетями должен быть кто-то, кто сможет TCP/IP пакет данных преобразован в IPX/SPX данныезавернутыйпротоколшлюз。
  2. приложениешлюз:приложениешлюзэто своего родаиспользуется для подключения различныхприложениеизшлюз。он может Воляизприложениеизданные Преобразовать вдругойприложение Понятноиз Формат,чтобы они могли общаться друг с другом. Например,Если приложение использует протокол веб-служб, пока другое приложение использует FTP протокол, то между двумя приложениями должна быть связь Web Services данные Преобразовать в FTP Заявление на получение данных шлюз.
  3. Безопасностьшлюз:Безопасностьшлюзэто своего родадля защитысеть Безопасностьиданныеизшлюз。он может Воляс нет Безопасностьсетьизданные Преобразовать в Безопасностьсеть Понятноиз Формат,чтобы они могли общаться друг с другом. в то же время,Шлюз безопасности также может выполнять шифрование, дешифрование, фильтрацию и другие операции с данными.,Для защиты конфиденциальности и целостности данных.
  4. Маршрутизатор-шлюз: Маршрутизатор-шлюз, также известный как маршрутизатор,этоэто своего родаиспользуется для подключения различныхсетьизшлюз。это может быть основано насетьслойизинформация Воляданныеизсетьвперед к другомусеть。маршрутизацияшлюзможет быть достигнутоданныеизмаршрутизациявыбирать、контроль перегрузок、балансировка нагрузка и другие функции.
  5. Шлюз виртуальной частной сети (VPN): шлюз виртуальной частной сети (VPN) — это шлюз, используемый для создания виртуальной частной сети в общедоступной сети. проходить VPN шлюз,Два или несколько разных сетевых устройств могут установить зашифрованный канал в общедоступной сети.,Включите безопасную связь и передачу.

3. Принцип работы шлюза

Принцип работы шлюза в основном включает в себя следующие этапы:

  1. Полученные данные: когда шлюз получает данные из сети.,Он анализирует и обрабатывает данные на основе подключенной сети и протокола. Этот процесс также называется декодированием.
  2. преобразование данных: если две подключенные сетиилипротокол различны,Затем данные необходимо преобразовать перед передачей. Например,еслиданныеизиспользовать TCP/IP сеть одного протокола отправлена ​​в другой с помощью UDP сети протокола, то вам нужно TCP/IP пакет данных преобразован в UDP мешок с данными. Этот процесс также называется инкапсуляцией данных и упаковкой данных.
  3. инкапсуляция данных: после преобразования данных,Если вам нужно отправить данные на другое сетевое устройство,данные также необходимо инкапсулировать. Этот процесс еще называют упаковкой. Процесс инкапсуляции включает упаковку исходных данных в формат пакета данных, который можно передать в целевой сети.
  4. Передача данных: инкапсулированные данные могут передаваться через механизмы маршрутизации и транспортировки целевой сети. Этот процесс также называется пересылкой. В процессе передачи данные могут быть распакованы и собраны заново в соответствии с характеристиками целевой сети.
  5. прием и распаковка данных: после того, как принимающая сторона целевой сети получает данные,данные необходимо декапсулировать и распаковать. Этот процесс также называется распаковкой и декодированием данных. Наконец, принимающая сторона может получить исходные данные.

4. Какие функции может выполнять шлюз?

Запросить переадресацию:Воля Запросить переадресация на целевой микросервис.

балансировка нагрузки:По каждому экземпляру микросервисаизсостояние нагрузкиили Конкретные деталиизбалансировка конфигурация политики нагрузки реализует динамическую балансировку по запросам нагрузки。

Сертификация безопасности:Аутентифицировать запросы пользователей и разрешать доступ только доверенным клиентам. API, а также иметь возможность использовать что-то вроде RBAC и т. д. для авторизации.

Проверка параметров:Поддержка сопоставления параметров и логики проверки。

регистрация:Записывать все запросыиз行为日志供后续использовать。

Мониторинг тревог:Из бизнес-показателей、Индикаторы машины、JVM Мониторинг индикаторов и других аспектов и обеспечение вспомогательных механизмов сигнализации.

Управление потоком: Управляйте потоком запросов, то есть ограничивайте количество запросов в определенное время.

Автоматический выключатель и переход на более раннюю версию: отслеживайте статистику запросов в режиме реального времени. При достижении настроенного порога отказа автоматический выключатель автоматически отключается и возвращается к значению по умолчанию.

Кэширование ответов: когда пользователь запрашивает некоторые статические или нечасто обновляемые данные, данные, полученные в результате нескольких запросов в течение определенного периода времени, скорее всего, будут одинаковыми. В этом случае ответ можно кэшировать. Таким образом, пользовательские запросы могут получать данные ответа непосредственно на уровне шлюза, без необходимости доступа к бизнес-сервисам, что снижает нагрузку на бизнес-сервисы.

Агрегация ответов. В некоторых случаях содержимое ответа, запрошенное пользователем, может поступать из нескольких бизнес-служб. Как вызывающая сторона бизнес-служб, шлюз может интегрировать ответы нескольких служб и возвращать их пользователю.

Публикация в оттенках серого: динамически распределяйте запросы к различным версиям службы (самый базовый тип публикации в оттенках серого).

Обработка исключений. Ответы на исключения, возвращаемые бизнес-службами, могут быть преобразованы на уровне шлюза перед возвратом пользователю. Таким образом, некоторые сведения об исключениях, возвращаемые бизнес-стороной, могут быть скрыты и возвращены в удобные для пользователя подсказки об ошибках.

Документация API. Если вы планируете предоставлять свой API разработчикам за пределами вашей организации, вам следует рассмотреть возможность использования документации API, такой как Swagger или OpenAPI.

Преобразование протоколов. Интегрируйте серверные микросервисы на основе различных стилей и технологий реализации, таких как REST, AMQP, Dubbo и т. д., посредством преобразования протоколов для предоставления унифицированных сервисов для конкретных клиентов, таких как Web Mobile и открытые платформы.

Управление сертификатами. Разверните сертификат SSL на шлюзе API и используйте единый интерфейс управления входом, чтобы упростить замену сертификата.

5. Общие шлюзовые системы

Общие шлюзовые системы включают в себя:

  1. OpenResty: Высокопроизводительный шлюз на базе Nginx+Lua, с контролем потока, балансировкой. нагрузки、Аутентификация и авторизацияи другие функции。
  2. Kong: API-шлюз на базе OpenResty, обеспечивающий балансировку. нагрузки、Аутентификация и авторизация、регистрация и другие функции.
  3. Zuul: это шлюз на основе JVM, разработанный Netflix и используемый для управления и планирования запросов API.
  4. Spring Cloud Ворота: весна На основе Spring Bootизшлюз,предоставилмаршрутизация、фильтр、Безопасность и другие функции.
  5. Apache Dubbo: высокопроизводительная и легкая Java-версия. Фреймворк RPC, обеспечивает балансировку нагрузки、аварийное переключение、Регистрация сервиса и другие функции.
  6. Tengine: это веб-сервер и обратный прокси-сервер на базе Nginx, обладающий высокой производительностью, высокой доступностью, низкой задержкой и другими характеристиками.
  7. Nginx: высокопроизводительный веб-сервер и обратный прокси-сервер с балансировкой. нагрузки、кэш、SSL-шифрование и другие функции.
  8. Apache Tomcat: контейнер сервлетов Java с открытым исходным кодом, используемый для размещения веб-приложений Java.
  9. HAProxy: высокопроизводительная балансировка с открытым исходным кодом. нагрузка, можно использовать для обратного прокси, HTTP-балансировка нагрузка и другие сцены.
  10. Redis: система хранения структуры данных в памяти с открытым исходным кодом.,может быть использован длякэш、данные Библиотека、Сценарии, такие как очереди сообщений.

Кроме того, на выбор имеется множество других шлюзовых систем, таких как Cisco ASA, Juniper SRX и т. д. При выборе системы шлюза вам необходимо оценить и сделать выбор на основе конкретных потребностей и сценариев.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.