Тезис о толстых протоколах
Тезис о толстых протоколах — это концепция в области проектирования компьютерных сетей и распределённых систем, согласно которой сетевая инфраструктура должна быть минималистичной и «глупой» (dumb network), а вся логика обработки данных, управления соединениями и обеспечения надёжности переносится на оконечные устройства (хосты) и реализуется на уровне протоколов прикладного уровня. Термин был введён в 1981 году американскими учёными Джеромом Зальцером, Дэвидом Ридом и Дэвидом Кларком в статье «End-to-End Arguments in System Design» (с англ. — «Аргументы типа „из конца в конец“ в проектировании систем»). Тезис противопоставляется «толстым» сетям, где функции контроля и обработки встроены в промежуточные узлы (маршрутизаторы, коммутаторы, шлюзы).
История возникновения
Концепция сформировалась в конце 1970-х — начале 1980-х годов в Массачусетском технологическом институте (MIT) в ходе разработки протоколов для ARPANET — предшественницы современного интернета. Исследователи столкнулись с проблемой: попытки реализовать надёжную передачу данных на уровне сети (например, повторная отправка потерянных пакетов) приводили к избыточности и снижению производительности. Зальцер, Рид и Кларк предложили принцип, согласно которому функции, требующие полного знания состояния приложения (например, проверка целостности файла или подтверждение получения сообщения), должны выполняться только на конечных узлах. Промежуточные узлы сети должны лишь доставлять пакеты с минимальной обработкой.
В 1984 году этот принцип был формализован в виде «тезиса о толстых протоколах» (fat protocol thesis) в работе «A Protocol for Packet Network Intercommunication» (с англ. — «Протокол для межсетевого обмена пакетами»). В 1990-е годы тезис получил широкое распространение в связи с развитием интернета и протокола TCP/IP, где IP-сеть является «глупой», а TCP и прикладные протоколы (HTTP, SMTP, FTP) — «толстыми».
Основные положения
Тезис о толстых протоколах базируется на нескольких ключевых идеях:
- Принцип «из конца в конец» (end-to-end principle): функции, которые могут быть полностью реализованы только на конечных узлах, не должны дублироваться на промежуточных узлах сети. Например, шифрование данных, проверка целостности, управление потоком и подтверждение доставки должны выполняться прикладным программным обеспечением, а не маршрутизаторами.
- Минимализм инфраструктуры: сетевое оборудование (маршрутизаторы, коммутаторы) должно выполнять только базовые функции — коммутацию пакетов, маршрутизацию и, возможно, простую фильтрацию (например, на основе IP-адресов). Всё остальное — ответственность хостов.
- Гибкость и масштабируемость: «глупая» сеть легче адаптируется к новым приложениям и протоколам, так как не требует модернизации промежуточных узлов. Разработчики могут внедрять любые алгоритмы на стороне клиента и сервера без изменения сетевой инфраструктуры.
- Децентрализация управления: отсутствие централизованного контроля на уровне сети снижает риски единой точки отказа и упрощает администрирование.
Сравнение с «толстыми» сетями
В противоположность «толстым протоколам» существуют «толстые сети» (fat networks), где часть функций прикладного уровня встраивается в инфраструктуру. Примеры «толстых» сетей:
- ATM (Asynchronous Transfer Mode): технология, популярная в 1990-х годах, где коммутаторы выполняли управление качеством обслуживания (QoS), контроль перегрузок и сборку кадров. Это требовало сложного оборудования и ограничивало гибкость.
- MPLS (Multiprotocol Label Switching): протокол, который вводит метки для маршрутизации, частично перенося логику на промежуточные узлы.
- Традиционные телефонные сети (PSTN): где коммутация каналов и управление вызовом полностью реализованы на центральных станциях.
Тезис о толстых протоколах утверждает, что такой подход избыточен, дорог и неэффективен для гетерогенных сетей, где приложения имеют разные требования к надёжности и задержкам.
Критика и ограничения
Несмотря на широкое признание, тезис о толстых протоколах имеет ряд ограничений, которые проявились в XXI веке:
- Проблемы безопасности: в «глупой» сети сложно реализовать централизованную защиту от DDoS-атак, фильтрацию вредоносного трафика и контроль доступа. Это привело к появлению таких технологий, как брандмауэры, системы обнаружения вторжений (IDS) и прокси-серверы, которые фактически нарушают принцип «из конца в конец».
- Качество обслуживания (QoS): для приложений реального времени (голосовая связь, видеоконференции, онлайн-игры) требуется гарантированная пропускная способность и низкая задержка. В «глупой» сети это невозможно без участия промежуточных узлов.
- Мобильность и многоадресная рассылка: протоколы мобильности (Mobile IP) и групповой передачи (Multicast) требуют поддержки со стороны маршрутизаторов, что противоречит тезису.
- Эффективность передачи данных: в некоторых случаях дублирование функций на хостах и сети может быть неоправданным. Например, повторная отправка потерянных пакетов на уровне сети может быть быстрее, чем на прикладном уровне.
Применение в современных сетях
В современном интернете тезис о толстых протоколах реализован частично. Базовая инфраструктура (IP-маршрутизация) остаётся «глупой», но на практике используются гибридные подходы:
- CDN (Content Delivery Networks): кэширующие серверы, расположенные на периферии сети, выполняют часть функций прикладного уровня (доставка контента, балансировка нагрузки).
- SDN (Software-Defined Networking): технология, которая отделяет плоскость управления от плоскости данных, позволяя централизованно управлять сетью, что нарушает принцип децентрализации.
- VPN и прокси-серверы: шифрование и туннелирование трафика на промежуточных узлах.
- Протокол QUIC: разработанный компанией Google (организация Alphabet Inc., признана иноагентом в РФ) протокол, который реализует управление соединением на прикладном уровне поверх UDP, что соответствует тезису, но требует поддержки на стороне клиента и сервера.
Влияние на архитектуру интернета
Тезис о толстых протоколах стал одним из фундаментальных принципов проектирования интернета. Он способствовал:
- Успеху TCP/IP: простота IP-сети позволила быстро масштабировать интернет.
- Развитию веб-приложений: HTTP, HTML и JavaScript могут работать без изменений на уровне сети.
- Появлению облачных вычислений: «глупая» сеть позволяет переносить вычислительные нагрузки на серверы без модернизации инфраструктуры.
Однако с ростом требований к безопасности и производительности многие современные архитектуры (например, 5G, IoT, промышленные сети) отходят от чистого тезиса, вводя элементы «толстой» сети.
Источники
- Saltzer, J. H., Reed, D. P., & Clark, D. D. (1984). End-to-End Arguments in System Design. ACM Transactions on Computer Systems, 2(4), 277–288.
- Clark, D. D. (1988). The Design Philosophy of the DARPA Internet Protocols. ACM SIGCOMM Computer Communication Review, 18(4), 106–114.
- Peterson, L. L., & Davie, B. S. (2011). Computer Networks: A Systems Approach (5th ed.). Morgan Kaufmann.
- Kurose, J. F., & Ross, K. W. (2017). Computer Networking: A Top-Down Approach (7th ed.). Pearson.
- RFC 3439 — Some Internet Architectural Guidelines and Philosophy.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →