Промежуточный блок на пути данных между исходным хостом и хостом назначения
Middlebox — это компьютерное сетевое устройство, которое преобразует, проверяет, фильтрует и манипулирует трафиком для целей, отличных от пересылки пакетов . [1] Примерами middlebox являются брандмауэры , трансляторы сетевых адресов (NAT), балансировщики нагрузки и устройства глубокой проверки пакетов (DPI). [2]
Термин middlebox был придуман в 1999 году профессором компьютерных наук Калифорнийского университета в Лос-Анджелесе Лися Чжан . [1] [3]
Использование
Middlebox широко используется как в частных, так и в публичных сетях. Выделенное оборудование middlebox широко используется в корпоративных сетях для повышения безопасности и производительности сети; однако даже маршрутизаторы домашних сетей часто имеют встроенный брандмауэр, NAT или другие функции middlebox. [4] В одном исследовании 2017 года было насчитано более 1000 развертываний в автономных системах , в обоих направлениях потоков трафика и в широком диапазоне сетей, включая сети операторов мобильной связи и центров обработки данных. [2]
Примеры
Ниже приведены примеры часто используемых промежуточных устройств:
- Брандмауэры фильтруют трафик на основе набора предопределенных правил безопасности, определенных администратором сети. IP-брандмауэры отклоняют пакеты «исключительно на основе полей в заголовках IP и транспорта (например, запрещают входящий трафик на определенные номера портов , запрещают любой трафик в определенные подсети и т. д.)» [1] Другие типы брандмауэров могут использовать более сложные наборы правил, включая те, которые проверяют трафик на уровне сеанса или приложения. [5]
- Системы обнаружения вторжений (IDS) отслеживают трафик и собирают данные для офлайн-анализа на предмет аномалий безопасности. В отличие от брандмауэров, IDS не фильтруют пакеты в реальном времени, поскольку они способны проводить более сложную проверку и должны решать, принимать или отклонять каждый пакет по мере его поступления. [6]
- Трансляторы сетевых адресов (NAT) заменяют исходные и/или конечные IP-адреса пакетов, которые проходят через них. Обычно NAT развертываются, чтобы позволить нескольким конечным хостам совместно использовать один IP- адрес : хостам «за» NAT назначается частный IP-адрес , а их пакеты, предназначенные для публичного Интернета, проходят через NAT, который заменяет их внутренний частный адрес на общий публичный адрес. [7] Они широко используются операторами сотовой связи для управления дефицитными ресурсами. [8]
- Оптимизаторы WAN улучшают потребление полосы пропускания и воспринимаемую задержку между конечными точками. Обычно развертываемые на крупных предприятиях, оптимизаторы WAN развертываются вблизи как отправляющих, так и получающих конечных точек связи; затем устройства координируются для кэширования и сжатия трафика, проходящего через Интернет. [9]
- Балансировщики нагрузки предоставляют одну точку входа в службу, но перенаправляют потоки трафика на один или несколько хостов, которые фактически предоставляют службу.
- Сотовые сети используют промежуточные устройства для обеспечения эффективного использования ограниченных сетевых ресурсов, а также для защиты клиентских устройств.
Критика и вызовы
Промежуточные устройства создали технические проблемы для разработки приложений и вызвали «презрение» и «недовольство» в сообществе сетевой архитектуры [10] из-за нарушения сквозного принципа проектирования компьютерных систем. [11]
Вмешательство приложения
Некоторые промежуточные устройства мешают работе приложений, ограничивая или препятствуя нормальной работе конечных хост-приложений.
В частности, трансляторы сетевых адресов (NAT) представляют собой проблему, поскольку устройства NAT разделяют трафик, предназначенный для публичного IP-адреса, между несколькими приемниками. Когда соединения между хостом в Интернете и хостом за NAT инициируются хостом за NAT, NAT узнает, что трафик для этого соединения принадлежит локальному хосту. Таким образом, когда трафик, поступающий из Интернета, предназначен для публичного (общего) адреса на определенном порту , NAT может направить трафик на соответствующий хост. Однако соединения, инициированные хостом в Интернете, не предоставляют NAT никакой возможности «узнать», какому внутреннему хосту принадлежит соединение. Более того, сам внутренний хост может даже не знать свой собственный публичный IP-адрес, чтобы объявить потенциальным клиентам, к какому адресу подключаться. Для решения этой проблемы было предложено несколько новых протоколов. [12] [13] [14]
Кроме того, поскольку развертывание middlebox операторами сотовой связи, такими как AT&T и T-Mobile , непрозрачно, разработчики приложений часто «не знают о политиках middlebox, применяемых операторами», в то время как операторы не имеют полных знаний о поведении и требованиях приложений. Например, один оператор установил «агрессивное значение тайм-аута для быстрого повторного использования ресурсов, удерживаемых неактивными соединениями TCP в брандмауэре, что неожиданно приводит к частым сбоям в долгоживущих и иногда бездействующих соединениях, поддерживаемых такими приложениями, как push-электронная почта и мгновенный обмен сообщениями ». [8]
Другие распространенные проблемы приложений, вызванные промежуточными устройствами, включают веб-прокси, обслуживающие «устаревший» или неактуальный контент, [15] и брандмауэры, отклоняющие трафик на нужных портах. [16]
Расширяемость и дизайн Интернета
Одной из критических замечаний к промежуточным устройствам является то, что они могут ограничивать выбор транспортных протоколов, тем самым ограничивая дизайн приложений или служб. Промежуточные устройства могут фильтровать или отбрасывать трафик, который не соответствует ожидаемому поведению, поэтому новые или необычные протоколы или расширения протоколов могут быть отфильтрованы. [17] В частности, поскольку промежуточные устройства делают хосты в частных адресных областях неспособными «передавать дескрипторы, позволяющие другим хостам взаимодействовать с ними», они препятствуют распространению новых протоколов, таких как протокол инициации сеанса (SIP), а также различных одноранговых систем. [10] [18] Это постепенное снижение гибкости было описано как окостенение протокола . [19] [20]
И наоборот, некоторые промежуточные устройства могут помочь в развертывании протокола, обеспечивая трансляцию между новыми и старыми протоколами. Например, IPv6 может быть развернут на публичных конечных точках, таких как балансировщики нагрузки , прокси или другие формы NAT, с внутренним трафиком, маршрутизируемым через IPv4 или IPv6 .
Смотрите также
Ссылки
- ^ abc Брайан Карпентер (2002). "Средние устройства: таксономия и проблемы". Ietf Datatracker . doi :10.17487/RFC3234. RFC 3234 .
- ^ ab Shan Huang; Steve Uhlig; Félix Cuadrado (2017). «Middleboxes in the Internet: A HTTP perspective». Конференция по измерению и анализу сетевого трафика 2017 г. (TMA) . стр. 1–9. doi :10.23919/TMA.2017.8002906. ISBN 978-3-901882-95-1. S2CID 34925433.
- ↑ Kromhout, Wileen Wong (2 февраля 2012 г.), «Лися Чжан назначена на должность председателя кафедры компьютерных наук имени Джонатана Б. Постела в Калифорнийском университете в Лос-Анджелесе», UCLA Newsroom , архивировано из оригинала 25 апреля 2019 г. , извлечено 14 июня 2015 г.
- ^ Идо Дубравски и Уэс Нунан. «Широкополосные маршрутизаторы и межсетевые экраны». CISCO Press . Получено 15 июля 2012 г.
- ^ Магальес, Рики. «Разница между межсетевыми экранами прикладного и сеансового уровня» . Получено 17 июля 2012 г.
- ^ "Понимание систем обнаружения вторжений" . Получено 17 июля 2012 г.
- ^ К. Эгеванг и П. Фрэнсис (2001). «Транслятор сетевых адресов IP (NAT)». Ietf Datatracker . doi :10.17487/RFC3022. RFC 1631 .
- ^ ab Zhaoguang Wang, Zhiyun Qian, Qiang Xu, Z. Morley Mao , Ming Zhang (август 2011 г.). «Нерассказанная история промежуточных устройств в сотовых сетях» (PDF) . ACM SIGCOMM Computer Communication Review . 41 (4). Association for Computing Machinery: 374–385. doi :10.1145/2043164.2018479.
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ По, Роберт. «Что такое оптимизация WAN и как она может вам помочь?» . Получено 17 июля 2012 г.
- ^ ab Майкл Уолфиш, Джереми Стриблинг, Максвелл Крон, Хари Балакришнан, Роберт Моррис и Скотт Шенкер (2004). «Средние устройства больше не считаются вредными» (PDF) . 6-й симпозиум по проектированию и внедрению операционных систем . Ассоциация USENIX: 215–230.
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Уолфиш и др. (2004). «Средние ящики больше не считаются вредными» (PDF) . OSDI . Получено 17 июля 2012 г. .
- ^ J. Rosenberg; et al. (2008). "Утилиты прохождения сеанса для NAT (STUN)". Ietf Datatracker . doi : 10.17487/RFC5389 . RFC 5389 . S2CID 6777753.
- ^ "NAT-PMP". Ietf Datatracker . Получено 17 июля 2012 г.
- ^ "Port Control Protocol Working Group" . Получено 17 июля 2012 г. .
- ^ "База знаний BlueCoat: Прокси-сервер отображает устаревший контент" . Получено 17 июля 2012 г.
- ^ "Использование FaceTime и iMessage за брандмауэром" . Получено 17 июля 2012 г.
- ^ Honda; et al. (2011). "Возможно ли расширить TCP?" (PDF) . Конференция по измерению Интернета .
- ^ Брайан Форд; Пида Шрисуреш; Дэн Кегель (2005). «Пир-ту-пир коммуникация через трансляторы сетевых адресов» (PDF) . Ежегодная техническая конференция USENIX 2005 г. Ассоциация USENIX: 179–192. arXiv : cs/0603074 . Bibcode :2006cs........3074F.
- ^ Папастергиу, Гиоргос; Фэрхерст, Горри; Рос, Дэвид; Брунстром, Анна; Гриннемо, Карл-Йохан; Хуртиг, Пер; Хадеми, Наим; Туксен, Майкл; Вельцль, Майкл; Дамьянович, Драгана; Манджанте, Симоне (2017). «Декостенение транспортного уровня Интернета: обзор и перспективы на будущее». IEEE Communications Surveys & Tutorials . 19 (1): 619–639. doi : 10.1109/COMST.2016.2626780. hdl : 2164/8317 . ISSN 1553-877X. S2CID 1846371. Архивировано (PDF) из оригинала 22.09.2021.
- ^ Корбет, Джонатан (29 января 2018 г.). «QUIC как решение проблемы окостенения протоколов». lwn.net . Получено 14.03.2020 .