Принцип слоёв: Архитектура Интернета и право

© 2003 by Lawrence B. Solum and Minn Chung.

II. Послойная модель архитектуры Интернета

В этой части очерка мы выстраиваем модель архитектуры Интернета, которая в основе своей рассматривается как послойное образование. Мы начинаем с исследования кодового тезиса и сквозного принципа. Затем мы рассматриваем слои в контексте ядра архитектуры Интернета — TCP/IP. И в конце-концов, мы обобщим данный анализ до систем связи в целом.

А. Кодовый тезис и сквозной принцип

Какова связь между послойным анализом и растущей группой гуманитарных наук, которые приводят доводы (или по крайней мере допускают) утверждение о том, что понимание структуры Интернета является обязательным для правильного регулирования Интернета? Связь между архитектурой Интернета и правом в общем обсуждалась в контексте регулирования Интернета, в том, что касается вопросов управления Интернетом, включая связь между управлением Интернетом и демократическим контролем в отношении политики и информационного наполнения. К тому же роль архитектуры Интернета обсуждалась в связи с разнообразными частными вопросами и областями, включая закон об антимонопольной политике, гражданское судопроизводство (например о предупреждении и подсудности), коммерческое право, конституционное право (например пункт о нереализованной коммерции и свободе слова), авторское право, права инвалидов, вопросы касающиеся доменных имён торговых марок, регулирование азартных игр, неприкосновенность личной жизни, расовое право, регулирование рынка ценных бумаг, налоговая политика, управление телекоммуникациями и многие другие темы. Учитывая, что архитектура Интернета уже обсуждается, что такого ценного добавляет послойный анализ? Мы начнём отвечать на этот вопрос с объяснения кодового тезиса.

1. Кодовый тезис

Особенный вклад послойного анализа заметен в сравнении с двумя идеями, выдвинутыми Лоренсом Лессигом — кодовый тезис и сквозной принцип. Перед тем, как начать наше рассмотрение, мы бы хотели признать, что многим обязаны работе Лессига. Хотя мы и выражаем несогласие с Лессигом в некоторых важных аспектах, данный анализ применим в рамках структуры, введённой Лессигом и другими учеными. Мы считаем, что переход на послойный анализ расширяет и вместе с тем поддерживает фундаментальное и нормативное направление работ Лессига.

Лессиг отстаивал фундаментальную идею, предоставляющую структуру для анализа регулирования Интернета, которую мы можем назвать кодовый тезис. Кодовый тезис, это утверждение о том, что природа Интернета или киберпространства определяется кодом — программным и аппаратным обеспечением, которое является инструментарием Интернета. Будучи продуктом человеческих усилий, киберпространство не имеет неотъемлемых естественных свойств, которые могли бы быть отнесены к разным областям физического пространства. Это является фундаментальным отличием между Интернетом и вакуумом открытого космоса или водами мирового океана. Хотя такую окружающую среду и можно изменять при помощи человеческой деятельности, её фундаментальная сущность не создана и не сформирована при помощи технологии.

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

Если смотреть с этой точки зрения, в первую очередь код регламентирует киберпространство, и, как удачно сформулировал Лессиг, “Код это закон”. Дело не в том, что программное обеспечение, которое делает возможным Интернет, является законом буквально, в том смысле, что соответствует теории природы права. И не в точке зрения Лессига, что роль программного обеспечения в определении свойств Интернета такая же, как и роль законов природы, обусловливающих свойства Тихого океана. Смысл, скорее всего, имеет та точка зрения Лессига, что программы или же код имеют регулирующий эффект на поведение человека. И в этом смысле архитектура Интернета похожа на архитектуру зданий и городов. Так же, как архитектура здания даёт людям возможность и способствует определенному образу их движений и сборищ, так же и архитектура Интернета допускает некие виды деятельности пользователей и органов надзора, отвергая при этом другие.

Для целей нашего исследования, архитектура Интернета является приспосабливающимся организмом, осуществившим взрыв инновационной деятельности в киберпространстве. Интернет настроен таким образом, что делает возможным малобюджетные инновации на уровне слоя приложений. Архитектура Интернета является деятельностью программного обеспечения (или кода) и аппаратного обеспечения и из неё состоит Интернет. Софт и железо являются кирпичиками и двигателем Интернета.

2. Сквозной принцип

Что же такое архитектура в Интернете? Это, конечно, очень абстрактный и, следовательно, потенциально неоднозначный вопрос. Более узким и менее неоднозначным вопросом будет: какая особенность или какие особенности Интернет-архитектуры несут ответственность за те особые и ценные функциональные возможности, которые дает Интернет? Лессиг показывает, что ответы на эти вопросы могут быть зафиксированы в значительной степени за счет единого принципа; он доказал, что основной характеристикой Интернет-архитектуры, которая делает возможными инновации, является сквозной принцип. Как объясняет Лессиг, сквозной принцип предлагает держать ум в сети по краям или в приложениях, при этом собственно сеть остаётся относительно незатейливой. Если быть кратким, принцип призывает к “глупым сетям” и “умным приложениям”. Сеть просто передаёт или маршрутизирует пакеты данных и — по своему строению — не может различать или распознавать траффик, генерируемый различными приложениями.

Этот момент может потребовать дополнительных разъяснений, даже для читателей, которые хорошо знакомы с работой сети Интернет в качестве конечных пользователей. [Если вам не требуется дальнейших пояснений, мы предлагаем пропустить этот пункт.] Это потому, что большинству современных Интернет пользователей известно только одно приложение, которое столь вездесуще, что оно может быть спутано с самим Интернетом. Этим приложением является протокол HTTP (протокол передачи гипертекста), программное обеспечение, делающее возможным Всемирную паутину. Веб — не Интернет. Это одно приложение, которое организует связь через Интернет. Несмотря на повсеместное распространение Паутины, большинство пользователей Интернета использовали два других приложения, ни одно из которых не является Интернетом (хотя они доступны через Интернет в некоторых случаях). Первым из них является FTP (протокол передачи файлов), приложение, которое позволяет передать файл от одного сервера в сети Интернет другому. Вы, вероятно, использовали FTP, если скачивали файл с сервера в Интернете. Хотя FTP доступен (с различными интерфейсами), как отдельная программа, он также интегрирован в веб-браузеры (например, Internet Explorer, Opera, Mozilla Firefox и Netscape Communicator), которые используются для доступа к Паутине. Второе приложение, с которым большинство пользователей знакомы — это простой протокол передачи почты SMTP — основа Email. Хотя стандартные приложения электронной почты могут быть доступны через Паутину, большинство пользователей получают доступ к приложению через автономные программы, такие как Outlook или Eudora. В последнее время многим пользователям стало знакомо новое семейство приложений. Децентрализованные или пиринговые (от англ. peer-to-peer, P2P — равный к равному) программы совместного использования файлов, такие как покойный Napster и родственные ему KaZaa, а также Bearshare особенно популярны для обмена музыкой в цифровом формате (MP3). Эти программы строятся вокруг особых приложений.

Интернет не “знает”, является ли данный пакет данных веб-страницей (HTTP), статьёй, загружаемой с сети социальных наук и исследований (FTP), сообщением электронной почты (SMTP), или MP3 файлом, которым делятся, используя KaZaa. Этот момент можно проиллюстрировать рассмотрением гипотетического читателя (которого мы назовём Стив Смит), который скачивает эту статью в сети Социальных исследований. Когда мы писали эту статью используя Microsoft Word, информационное наполнение (смысловое содержание статьи, выраженное как синтаксическое содержимое, например, буквы, слова и предложения) было закодировано в виде цифрового файла в определенном формате (файл DOC). Adobe Acrobat переводит этот файл в другой формат (файл PDF), сохраняя семантические и синтаксические свойства. Когда этот файл PDF загружен на сервер сети социальных исследований (SSRN), при помощи какого‑нибудь веб-браузера можно искать файлы, инициировав запрос на использование приложения протокола передачи файлов (FTP). Теперь семантическое и синтаксическое содержание статьи были переданы на уровень приложений. Следующий шаг является ключевым. Цифровой файл (PDF) передается приложением (FTP) в транспортный слой (TCP часть TCP/IP). Транспортный слой, нарезает файл PDF в пакеты данных. Транспортный уровень, не может различить PDF-файлы и файлы MP3. TCP не различает пакеты, которые передают статью Касс Санштайн, рассматривающую судебную практику, от пакетов, что при сборке будет популярной песней Eminem. И как только транспортный уровень нарезал данные в пакеты, слой Интернет-протокола (IP часть TCP/IP) не может отличить пакеты один от другого на основе содержания. Если Стив Смит скачал нашу статью с SSRN, программное обеспечение или код, который образует Интернет, не может отличить пакеты данных, которые составляют нашу статью, от любых других пакетов данных. Содержимое становится доступным для кода только после того, как транспортный слой на компьютере Стива заново собирает его из пакетов в файл PDF. Как только это произошло, операционная система компьютера Стива (Microsoft Windows) может признать, что этот файл — PDF файл, ассоциированный с программой Acrobat Reader. Эта программа в свою очередь может читать цифровой файл и отображать его синтаксическое содержимое на мониторе Стива. Стив сможет сделать вывод, что волнистые линии на его экране являются буквами, образующими слова и предложения, и он будет пытаться определить, что мы (авторы этого эссе) имели в виду.

Этот пример иллюстрирует то, что иногда называют “тупостью” Интернета. Интернет не знает, что FTP пытается отправить большой файл с нашего компьютера на компьютер Стива. Интернет не может координировать маршрутизацию пакетов, так что все они приходят в компьютер Стива одновременно. Девяносто пять процентов пакетов может прибыть в первую минуту, а оставшиеся пять процентов, путешествуя по другому пути в Интернете, могут прийти позже. Интернет не может решить, что доставка файлов PDF является приоритетной задачей для академического учреждения, а доставка MP3 файлов — менее приоритетна. Тем не менее, глухой, немой и слепой Интернет, несомненно, может передать обычный файл PDF. Сравните эффективность процесса поиска и загрузки работ в сети социальных исследований и старомодную систему затевать разговоры на конференциях и вести разговор к тому, над чем вы работаете, сумев получить предложение направить проект, а затем рассылая обычной почтой этот проект в толстом конверте, одному читателю за раз.

3. Прозрачность и экономика нововведений

Сквозной принцип — это краткое название особенности архитектуры Интернета — сочетание “глупой сети” и “умных приложений”. Сеть не делает различий между приложениями. Программное обеспечение транспортного и сетевого слоёв просто не включает код, который позволит связать пакеты данных с типами файла приложения. Мы можем назвать эту особенность Интернета прозрачностью. Интернет прозрачен для приложений. Прозрачный, недискриминационный характер Интернета, по утверждению Лессига, это то, что сделало возможным взрыв инновационной деятельности и творчества в Интернете. Так как сеть не носит селективного характера и прозрачна для приложений, а сбор данных осуществляется приложениями на концах, инновационная и творческая инициатива находится в руках создателей приложений. Таким образом, нововведения децентрализованы, и для миллионов творческих личностей, имеющих доступ в Интернет, есть возможность разрабатывать новые приложения.

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

Кроме того, прозрачность снижает затраты на инновации для потребителей. Если Интернет прозрачен, потребителю необходимо инвестировать средства только в само программное приложение, чтобы использовать его. Например, чтобы использовать KaZaa, мне нужно скачать только программу KaZaa: я не должен просить администратора своей сети о реконфигурации сети, позволяющей работать с KaZaa, с оговоркой, которую мы приведём в сопроводительном примечании. Если бы Интернет был непрозрачным, потребителям было бы необходимо инвестировать в изменения в их сетевой инфраструктуре в целях использования нововведённых приложений. Поскольку сети сложны и могут использоваться несколькими пользователями — реорганизации сети могут быть относительно дорогими. Поскольку Интернет является еще более сложным и использует сотни миллионов серверов, реорганизация всего Интернета для поддержки нового приложения — потребовала бы очень больших вложений.

Этот вопрос о прозрачности и приемлемости расходов приводит к другому важному понятию: сетевой эффект. Экономическая ценность некоторых нововведений зависит от сетевого эффекта. Значение такого приложения, как SMTP (электронная почта) частично является функцией некоторого числа пользователей; чем больше пользователей электронной почты, тем она ценнее. Для некоторых приложений может наступить переломный момент, когда количество приверженцев достигает критической массы, что имеет результатом большое прерывистое увеличение пользы от сетевого эффекта или от подобного явления, в том, что касается осознания или веры в эффект сети. Как только достигнут переломный момент, приложение становится достаточно ценным для того, чтобы распространить свою привлекательность с первоначальных приверженцев на обычных пользователей. Уменьшение стоимости перехода для потребителей увеличивает вероятность того, что выгоды этого сетевого эффекта будут реализованы. Если стоимость перехода слишком высока для первых пользователей, переломный момент может так и не наступить. По этой причине может потребоваться прозрачность для того, чтобы сделать возможными такие инновации, которые будут эффективными даже при условии высоких затрат на реконфигурацию Интернета. Не будь прозрачности, польза Интернета никогда не стала бы очевидной, соответственно не было бы и инвестиций.

Экономика инноваций Интернета иллюстрируется тем, как Тим Бернерс-Ли построил Всемирную паутину. Центральная идея паутины — гипертекстовая ссылка, когда щёлкнув здесь, по этой ссылке, вы попадаете туда, на ту страницу. Хотя Бернерс-Ли и пришёл к этой идее независимо, точно такая же идея несколько раз излагалась ранее ещё до появления Интернета. Именно осуществление приложения гипертекстового протокола Бернерса-Ли (HTTP) без необходимости сотрудничества со стороны или модифицирования системы связи, на которой он осуществлён. То есть, прозрачный характер Интернета значительно снизил те вложения, которые нужно было сделать Бернерсу-Ли и другим для того, чтобы произвести Паутину.

Всемирная паутина находится в верхнем уровне Интернета. С точки зрения пользователя приложения, Интернет вообще невидим, кроме конечно тех случае, когда перегруженность сети привлекает наше внимание. Если бы архитектура Интернета была непрозрачной, контрафактному эквиваленту TCP/IP потребовалось бы модифицировать НТТР чтобы он работал в Интернете. И если бы это было так, есть основания полагать, что Всемирной паутины не существовало бы. Эффект сети, который превратил Всемирную паутину из просто замечательной идеи в чрезвычайно полезный инструмент связи, никогда бы не имел каскадного эффекта, если бы платформа, на которой работает паутина, не была бы уже в широком доступе. Бернерс-Ли столкнулся с реальными препятствиями, пытаясь сделать НТТР доступным, даже несмотря на то, что он раздавал его всем желающим бесплатно (по крайней мере с точки зрения предельных издержек краткосрочной перспективы). Если бы Бернерсу-Ли потребовалось убедить менеджеров Интернета выделить ресурсы на то, чтобы НТТР работал в Интернете, у нас есть все основания полагать, что вряд ли ему бы это удалось. Действительно, он мог бы оказаться не в состоянии убедить своих работодателей позволить ему произвести необходимые изменения в сети ЦЕРН для экспериментальной работы из которой развился НТТР.

Экономическая политика прозрачности Интернета и сетевой эффект являются могучей силой. НТТР сделал возможным то, что мы называем “Интернет-революция”. Однако подъём и спад “точки ком”, еВау, Амазон, просмотр страниц — явления киберпространства, которые стали привычной обстановкой нашего ежедневного существования — все они произошли от единственного инновационного приложения, НТТР. Явление пиринга (от Napster до KaZaa и другие) является продуктом небольшого количества инновационных приложений. У нас нет хрустального шара и информационный парадокс Эрроу говорит нам, что мы не можем точно оценить обесцененную текущую стоимость будущих инноваций в Интернете. Тем не менее, если прошлое является началом, у нас есть основания полагать, что потенциальные выгоды очень велики. Если вам обязательно нужно денежное выражение, мы считаем, что это 15- или 16- значная цифра.

В. Прозрачность и слои

Анализ Лессигом Интернет-архитектуры в сущности правильный. Лессиг должным образом обратил наше внимание на ключевую особенность, делающую инновации возможными. Более того, то, что Лессиг приписал эту прозрачность сквозному принципу, не улавливает важной, решающей части всей картины, то, как архитектура Интернета делает возможной прозрачность. Но это только часть картины. Прозрачность не является прямым результатом сквозного принципа, это скорее встроенная характеристика послойной архитектуры Интернета. То есть, именно слои являются ключевой, центральной характеристикой архитектуры Интернета. Сквозной принцип произошёл от модели слоёв, как соединение и обобщение подразумеваемых идей, присущих модели слоёв. В этом разделе мы довольно подробно описываем сквозной принцип и послойную архитектуру сетевого протокола Интернета TCP/IP для того, чтобы прояснить эти концепции. Далее мы представим довод о том, что послойная модель является ключевой характеристикой архитектуры Интернета. В конце концов мы обсудим как слои и сквозной принцип относятся к инновациям и регламентированию Интернета.

1. Слои и сквозной принцип

Сквозной принцип выведен из новаторской работы Джерома Сальцера, Дэвида Рида и Дэвида Кларка по теории сетевого дизайна. По их словам, сквозной принцип, это аргумент (или класс аргументов), который гласит:

Обобщённо, сквозной принцип, это ряд аргументов, свидетельствующих против низкоуровневого осуществления функции. Что это означает? Избегать низкоуровневого осуществления функции — значит, что желаемая функциональность приложения могла бы осуществляться на уровне приложения лучше, чем на низшем уровне. Версия сквозных конечных точек, упомянутая выше, является изложением сквозного принципа для проектирования Интернета и программного обеспечения, которое использует Интернет.

Например, функциональность обеспечения целостности данных для приложения передачи файлов лучше осуществляется на прикладном уровне, чем на уровне сетевой связи. Объясняется что, даже если сеть доставила данные без повреждений, приложение передачи файлов всё же нуждается в проверке файлов, потому что повреждения могли произойти до того, как данные достигли сети — например, из‑за повреждённого диска.

Простой пример проверки ошибок иллюстрирует два общих свойства сквозного довода — вертикальная иерархия и несоответствие информации. Каждое из этих двух свойств должно быть изложено и объяснено, для того, чтобы осветить смысл и значимость сквозного принципа в связи с моделью слоев.

а) Концепция слоев подразумевается идеей о сквозном

Эта идея изначально допускает вертикальную иерархию, то есть выше и ниже лежащие уровни. В приведенном примере приложение передачи файлов находится на более верхнем уровне по отношению к системе сетевой коммуникации, которая, в свою очередь, лежит на более нижнем уровне по отношению к приложению. Вертикальная иерархия, описанная в примере выше, иллюстрируется следующей схемой:

Верхний уровеньПриложение передачи файлов (Конец)  Приложение передачи файлов (Конец)
  Компьютерная система  Компьютерная система
Нижний уровень Система сетевой коммуникации→ → Система сетевой коммуникации

Фундаментальная идея сквозного принципа такова, что любая данная функция должна выполняться на том уровне, где она нужна — “конечная точка”. Таким образом, главной задачей понимания и применения сквозного принципа является идентификация и понимание соответствующих уровней. Где “конец”? “Конец” по отношению к чему? То есть, идентификация и понимание соответствующих вертикальных иерархий является обязательной, для того, чтобы оценить сквозную идею в особых обстоятельствах. В контексте архитектуры Интернета, соответствующая вертикальная иерархия, подразумеваемая в сквозной идее, это слои ТCР/IP протокола.

b) Информация и несоответствие слоя

С учётом соответствующей вертикальной иерархии, суть сквозной идеи заключается в том, что является непрактичным, если вообще это возможно, обеспечить данную функцию на уровне, ниже того, на котором эта функция используется — “конечный” слой — потому что нижнему уровню не хватает информации, необходимой для того, чтобы полностью выполнить эту функцию.

В приведенном примере с передачей файлов, функция целостности данных на сетевом уровне является незавершенной и излишней, потому что повреждение данных — ключевой момент в этой функциональности — может произойти на более высоком уровне, и в сети нет достоверной информации на этот счёт. Только приложение знает или может знать, как выглядят поврежденные данные, и непрактично, если не невозможно, передавать эту информацию на нижние уровни. Более того, условия могут быть не статичными, а меняться с течением времени.

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

Следует заметить, что общие принципы сквозного аргумента применимы во многих областях вне системного проектирования сетей. Фактически, первоначальные создатели идеи сквозного предпочитали относить ее к категории идей, применимых во многих областях, включая, но не ограничиваясь, созданием систем шифрования, надёжной системы хранения, устройством процессора.

2. Модель слоев протокола TCP/IP

В этом разделе мы обсуждаем послойную модель протокола ТCР/IP. Начнем с роли стека протоколов, а далее предоставим детальное обсуждение слоев, составляющих TCP/IP. После рассмотрения примера — сетевой коммуникации посредством Ethernet, мы обсудим вертикальные и горизонтальные протоколы, а также сделаем заключение с некоторыми замечаниями. Оно будет о IРv6.

a) Протокол TCP/IP является кодом Интернета

В общем, сетевой протокол — это набор правил и условностей, при помощи которых компьютеры могут связываться друг с другом. Поскольку компьютерная сеть — это ничто иное, как набор компьютеров, связанных между собой, сетевая архитектура определяется архитектурой сетевого протокола. Стек ТCР/IP является сетевым протоколом связи для сети Интернет. Таким образом, архитектура Интернета в качестве сети, определяется архитектурой протоколов TCP/IP.

Первоначально, основополагающей целью Интернет-архитектуры было создание системы сетей, соединив между собой существующие в то время различные компьютерные сетевые системы. Для достижения этой цели был сконструирован TCP/IP, как протокол исключительно программного обеспечения, независимо от каждого отдельного компьютера и сетевого аппаратного обеспечения. Таким образом, TCP/IP это “код в чистом виде”. Это тот самый код Интернета, который определяет архитектуру Интернета.

Многие другие протоколы, кроме TCP/IP участвуют в передаче информации в Интернете, такие, как Ethernet для LAN (локальных сетей) и Frame Relay (“ретрансляция кадров”) или Т1 для WAN (Глобальные вычислительные сети). Ключевой момент заключается в том, что без общего набора протоколов эти разнообразные сети не смогут связаться друг с другом и таким образом, не смогут сформировать взаимосвязанной системы сетей. Для Интернета TCP/IP является общим протоколом, который связывает вместе все эти, в противном случае разрозненные сети, в функционирующую систему связи. TCP/IP, это тот самый протокол, который делает Интернет возможным в качестве системы связи. Без TCP/IP Интернета быть не может. Таким образом, в этом, очень важном смысле, TCP/IP это и есть Интернет.

b) Послойная модель стека сетевых протоколов

Послойная модель протоколов сетевой связи, которая состоит из четырех независимых слоёв — Прикладного, Транспортного, Сетевого, Канального слоев — как показано ниже:

Прикладной слойHTTP, Email, FTP, DNS, мгновенные сообщения...
Транспортный слойTCP, UDP
Сетевой слой (Интернет протокола)IP, ICMP, IGMP
Канальный (логический) слойИнтерфейс для физического слоя

 
Физический слойEthernet, модем, DSL, кабель, T1, оптоволокно, спутник, Bluetooth...
(1) Физический слой

Физический слой не является частью стека сетевых протоколов TCP/IP. Это физическое средство, посредством которого имеет место реальная передача бит — например, Ethernet, модем, DSL, кабель, T1, оптоволокно, спутниковая связь и т. д. Однако, так как связь не будет происходить без некоторого физического средства, физический слой должен считаться частью сетевой системы для полноты картины системы связи. Важным является то, что физический слой редко является архитектурной проблемой для TCP/IP, по причине независимости протокола от аппаратного обеспечения.

(2) Канальный слой

Канальный (логический) слой обрабатывает все детали физического согласования с аппаратным обеспечением компьютера и сети. Как таковой, этот слой отвечает за свободу TCP/IP или независимость от аппаратного обеспечения. Если новое аппаратное обеспечение — скажем, высокоскоростная спутниковая связь — должна использоваться для Интернет-связи, всё, что нужно сделать, это выполнить детали соответствующего интерфейса этого слоя.

Как правило, канальный слой выполняется в качестве драйвера устройства для определённого сетевого оборудования. Поддержка нового оборудования завершается переходом на драйвер нового устройства, обеспечивающий канал между TCP/IP и оборудованием. Верхние слои вообще не придётся изменять. Фактически, верхние слои даже не имеют понятия о том, по каким физическим средствам будет осуществляться связь. Таким образом, канальный уровень предоставляет независимость от оборудования для связи, а следовательно, убирает зависимость TCP/IP от разнообразного компьютерного и сетевого оборудования.

(3) Слой сетевого протокола

Интернет-протокол, иногда называемый сетевым слоем, Интернет-слоем или IP слоем, обрабатывает движение пакетов данных по сети. Здесь происходит кодирование IP адреса и маршрутизация пакетов данных для коммутации пакетов.

Здесь нам нужно рассеять некоторую неудачную путаницу о наименовании этого слоя. Из‑за того, что слой IP сначала называли “сетевым слоем” или “Интернет-слоем”, во многих первоначальных работах по дизайну пишется о “сетевом дизайне” или “Интернет-дизайне” в тех случаях, когда фактически обсуждаются вопросы, связанные только с этим слоем. Чтобы избежать путаницы, среди разработчиков сетевого софта принято называть его “слоем Интернет-протокола” или “IP слоем”. Мы принимаем эту условность с наименованием для оставшейся части статьи.

(4) Транспортный слой

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

(5) Прикладной слой

Прикладной слой обрабатывает детали конкретного приложения. Примеры протоколов прикладного слоя — НТТР для веб-коммуникации, SMTP для электронной почты, FTP для передачи файлов и DNS для соответствия цифр IP адреса с легко узнаваемой строкой символов.

с) Пример: Веб-коммуникация посредством Ethernet

Чтобы проиллюстрировать, как эти слои работают вместе, давайте рассмотрим простой пример веб-коммуникации посредством Ethernet. Пользователь запускает веб-браузер, для получения доступа к веб-серверу, который соединен с компьютером пользователя через канал Ethernet.

 Пользователь ПК, использующий Windows Веб-сервер, работающий на рабочей станции Sun
Прикладной слой Веб-браузер←НТТР протокол→ Веб-сервер
Транспортный слой ТСР←ТСР протокол→ ТСР
Сетевой слой IP←IP протокол→ IP
Канальный слой ↕ Интерфейс Ethernet←Ethernet протокол→↕  Интерфейс Ethernet
Физический слой(Ethernet)

На прикладном уровне веб-клиент (браузер) связывается с веб-сервером с использованием НТТР (протокол передачи гипертекста) для обмена данными. Хотя горизонтальная связь между веб-клиентом и сервером происходит полностью в рамках прикладного слоя, механизм связи — через передачу и получение данных в более нижний слой — слой ТСР и оттуда. Тот же процесс повторяется ниже и выше по слоям.

d) Горизонтальные протоколы

Ключевой аспект протокола TCP/IP — это полная и независимая горизонтальная связь — независимая от нижних слоёв, а так же от аппаратного обеспечения компьютера или операционной системы, на которой он работает. Спецификация протокола НТТР находится полностью внутри прикладного слоя — это “просто софт”. Как только веб-сервер получает строку протокола, в которой говорится что‑то типа “дайте мне такой‑то документ”, веб-сервер отошлет файл запрашивающей стороне совершенно не заботясь о том, какой компьютер или посредством какого сетевого способа пришел запрос. Каждый из других слоёв работает так же.

е) Вертикальные протоколы — инкапсуляция данных

Другим ключевым аспектом TCP/IP протокола является то, как верхний и нижний слои общаются друг с другом. Вертикальная связь между слоями достигается за счет техники, называемой инкапсуляцией. Нижний слой обрабатывает данные, передающиеся из верхнего слоя, как структурно-менее “полные данные” (или несущие “полезную нагрузку” в сетевой терминологии) и ставит заголовок и/или трейлер вокруг полезной нагрузки, т. е. “инкапсулирует” полезную нагрузку данных.

Все сведения, необходимые для горизонтальной коммуникации в конкретном слое, содержатся в заголовках. При получении данных из нижнего слоя, верхний слой ищет заголовок своего слоя и выполняет функции своего слоя в зависимости от информации, содержащейся в заголовке. Когда слой удовлетворен тем, что он получил полный блок данных, готовых к отсылке вверх, тогда он убирает заголовок и отсылает “полезную нагрузку” верхнему слою. Процесс показан на следующем рисунке для веб-связи на примере Ethernet:

    пользовательские данные  контент
        
   HTTP заголовокпользовательские данные Прикладной слой
HTTP
    полезная нагрузка для TCP слоя  
  TCP заголовокHTTP заголовокпользовательские данные Транспортный слой
TCP
   полезная нагрузка для IP слоя  
 IP заголовокTCP заголовокHTTP заголовокпользовательские данные Сетевой слой
IP
  полезная нагрузка для Ethernet слоя  
Ethernet заголовокIP заголовокTCP заголовокHTTP заголовокпользовательские данныеEthernet трейлерEthernet слой
f) IPV6

Прежде чем продолжить, сделаем паузу для обсуждения IРv6 или версии 6 Интернет-Протокола IP в TCP/IP. Специальная комиссия интернет-разработок (IETF), создала IPv6 для Интернет-протокола, IP версии 4 (“IPv4”) уже почти 20 лет. Наиболее важной особенностью IPv6 является то, что значительно расширяется число доступных IP-адресов — решение текущего дефицита. IETF ожидает, что IPv6 постепенно заменит IPv4 в течении нескольких лет, в течение которых будут существовать оба протокола. Существуют организации рабочих групп IPv6 в Северной Америке, Европейском Союзе, Индии и Тайване. Большинство вопросов, поднятых IPv6, выходит за рамки данной статьи, но один пункт все же требует краткого обсуждение. Из‑за глобальной нехватки IP-адресов, многие сети используют преобразование сетевых адресов (NAT). “NAT позволяет двум сетям объединиться вместе и, как правило, используется для включения в сеть ЭВМ с немаршрутизируемыми IP-адресами в глобальный Интернет”. NAT посягает на прозрачность по техническим причинам. Поскольку IPv6 может в конце концов покончить с глобальной нехваткой IP-адресов, он должен смягчить эту частичную угрозу прозрачности.

3. Слои и прозрачность

Из вышеизложенного обсуждения, основные характеристики TCP/IP стека протоколов могут быть суммированы следующим образом: (1) послойный протокол, (2) горизонтальные протоколы с полной и независимой горизонтальной связью и (3) вертикальный протокол с инкапсуляцией. Ключевым архитектурным принципом, заложенным в этой концепции является разделение слоев. Сквозной принцип и прозрачность Интернета для приложений вытекают из принципа разделения слоев.

а) Разделение слоев и сквозной принцип

В проекте TCP/IP различные функции сети организованы в несколько слоев, а также эти функции независимы друг от друга — то есть функции (и, следовательно, слои) разделены. Иными словами, внутреннее функционирование слоёв скрыто друг от друга, потому что это единственный способ для того, чтобы слои были независимыми друг от друга. В самом деле, инкапсуляция — метод сокрытия информации в разработке программного обеспечения.

Хотя разделение слоев может показаться очевидным (зачем разделять функции по различным слоям, если не отделять их друг от друга), эта концепция проясняет или формулирует важность выбора замысла, подразумеваемого в модели слоёв — что слои разделены по разумной причине проектирования сетей, а следовательно, функции не должны пересекать слои, если нет исключительных причин для этого. Например, дизайнеры и программисты не могут свободно осуществлять функции прикладного уровня на уровне IP. Для модели слоев основополагающим и безоговорочным является то, что прикладной уровень создается и размещается выше сетевых слоев, потому что мы хотим поместить прикладные функции там, а не в нижних слоях сети.

Таким образом, сквозной принцип — который, как описано Лессигом, “держит ум на конечных точках сети или в приложениях, позволяя самой сети быть относительно простой” — следует из (и является формулировкой) подразумеваемого проектом принципа, присущего модели слоёв TCP/IP протокола. Кто‑то может поддаться соблазну утверждать, что послойная модель TCP/IP является результатом сквозного принципа, а не наоборот. Этот аргумент, однако, был бы ошибочным исторически, концептуально и функционально. Исторически сложилось, что сквозной принцип был впервые сформулирован в начале 1980‑х и послойная модель TCP/IP была разработана в середине 1970‑х. Концептуально, разделение слоёв не вытекает из идеи о сквозном, потому что сквозной принцип не говорит нам разделять TCP, IP, а также физический слои; в то время как сквозной принцип все же следует из разделения прикладного уровня и нижних слоев сети. Функционально, соблюдение сквозного принципа гарантируется соблюдением разделения слоев, но обратное не верно. Сквозной принцип просто не предписывает функционального проекта для сети.

Тем не менее, сквозной принцип имеет особое значение в вопросе архитектуры и регламентирования сети Интернет, так как он является руководящим нормативным принципом, который уточняет, артикулирует, а также освещает подразумеваемый принцип устройства, присущий послойной модели TCP/IP. По словам изобретателей идеи сквозного, “аргументы в пользу сквозного могут рассматриваться как часть множества рациональных принципов для организации послойных систем”. То есть, сквозной принцип является частичной и неполной, но все же важной технической характеристикой многоуровневой архитектуры сети.

b) Разделение слоев и прозрачность

Из нашего обсуждения выше вытекает, что прозрачность Интернет-архитектуры является неотъемлемой встроенной характеристикой послойной архитектуры протокола TCP/IP. Если для целей данного исследования описать прозрачность как не‑дискриминационную характеристику сети для прикладных данных (более точное определение будет приведено позже), тогда такое не‑дискриминационное поведение является прямым результатом того, как данные из верхнего слоя обрабатываются нижним слоем вследствие принципа разделения слоев.

В связи с требованием принципа разделения слоёв, нижний слой не приписывает информации или иной информационной функции “полезной нагрузке” — данным, полученным от верхнего слоя. Потому что нижний слой “глупый” в том, что касается данных из верхних слоев, по определению; нижний слой относится или должен рассматривать полезную нагрузку в качестве инкапсулированного материала, содержания которого он не знает и не хочет знать. Таким образом, нижний слой, по определению, не может или не допускает различий в полезной нагрузке от верхнего слоя на основе ее содержания. Нижнему слою не разрешается изменять содержание. Таким образом, нижний слой является прозрачным по отношению к верхнему слою.

Кроме того, ожидание прозрачности является важным и неотъемлемым компонентом разработок архитектуры послойного протокола. Горизонтальная связь внутри слоя не может быть надежной, если не предполагается, что нижние слои не будут изменять или различать; то есть горизонтальная связь в любом конкретном слое требует, чтобы все слои, которые ниже по вертикальной иерархии, были прозрачны для верхнего слоя. Горизонтальная связь требует вертикальной прозрачности.

с) Слои, сквозной принцип, прозрачность и инновации в Интернете

Прозрачность является следствием модели слоев. Прозрачность означает, что Интернет является нейтральной платформой. Любой человек может развивать сетевые приложения с использованием или поверх TCP/IP протокола, и они будут работать на всех компьютерах сети и через все маршрутизаторы мира, работающие по TCP/IP протоколу. Все сотни миллионов компьютеров, подключенных к глобальной сети, включая высокоскоростные Интернет-магистрали, колоссальные вычислительные ресурсы, которые намного превосходят даже те, что принадлежат крупнейшей стране в мире, в результате становятся достоянием, которое находится в распоряжении каждого конечного пользователя и разработчика. Нет необходимости получения разрешения для кого‑либо, кто разрабатывает приложения поверх TCP/IP слоев или для приложения, чтобы работать в обширной глобальной сети, которой является Интернет.

Кроме того, согласно сквозному принципу, почти все функции пользователя, осуществляются выше, на прикладном уровне. Пользователи более или менее знают, какую функциональность они хотят и разработчики используют эту информацию на уровне приложений, чтобы обеспечить функциональность, которую хотят пользователи. Таким образом, инновация является децентрализованной и находится в руках отдельных новаторов. Интернет стал фондом инноваций, что дало возможность появиться самому мощному и разнообразному стимулу для инноваций в современную эпоху.

Следует отметить, что это гораздо более, чем архитектура Интернета, отвечает за темп и значимость нововведений, связанных с ростом киберпространства. Открытый доступ к документации протокола, к коду, реализующему его, к инструментальным средствам разработки, а также к операционным системам, которые поддерживают разработку и осуществление, — это всё было ключевыми ингредиентами. Эти факторы для производства инноваций и были тем набором фондов, координированным с Интернетом. Кроме того, существенные рыночные стимулы для интернет-нововведений, скорее всего, сыграли значительную роль в определении темпов инновационной деятельности. Однако, если бы эти факторы были на месте, но фундаментальная архитектура Интернета не допускала бы инноваций, то, вполне вероятно, во всём кроме некоторых случаев, что уровень инноваций не был бы так значителен. Как мы уже видели на примере развития в Всемирной паутины, без прозрачности, Интернет качественно и количественно отличался бы. Внешние социальные преимущества Интернета были в значительной степени продуктом его архитектуры. Конечно, трудно оценить масштабы этих социальных выгод. Как объяснила Ира Магазинер, старший политический советник президента Клинтона, “почти две трети реального роста [экономики США в середине и в конце 1990‑х годов] [пришли] из Интернет-экономики”.

C. Слои коммуникационной системы

Еще одним преимуществом взгляда на Интернет с точки зрения архитектуры слоев является то, что модель подходит более естественно к послойной схеме в контексте больших коммуникационных систем — в рамках слоев, предложенных Йохаем Бенклер. Бенклер предположил понимание коммуникационной системы, разделив её на три отдельных слоя. На дне ее — физический уровень, в середине “логический” слой, и на самом верху слой “контента”. Логический или слой кода, как назвал его Лессиг, является программным слоем, который включает TCP/IP протокол слоев, программное обеспечение и/или сервисы. Эта идея иллюстрируется на следующем рисунке:

Слой контентаТекст, речь, музыка, картинки, видео и т. д.

 
Логический / кодовый слой
Приложения / сервисы
 
Прикладной слой
Транспортный слой
Сетевой слой
Канальный слой
 
Браузеры, почтовые программы-клиенты, MP3-копировалки...
 
HTTP, SMTP, FTP, DNS, и т. д.
TCP, UDP
IP, ICMP, IGMP
Интерфейс физического слоя

 
Физический слойEthernet, модем, DSL, кабель, T1, оптоволокно, спутник, Bluetooth, и т. д.

Таким образом, наш подход к анализу слоев включает TCP/IP слои в обобщенные рамки слоев (структуры) коммуникационной системы. Эта комплексная основа дает возможность анализа, который раскрывает важные вопросы — вопросы, которые могли бы в противном случае забыться — вытекающие из взаимодействия TCP/IP слоев со слоем контента выше и физическим уровнем ниже. Мы изучим эти последствия в части IV, когда применим принцип слоев к узкой концепции TCP/IP слоев и расширенной концепции слоев в системе коммуникаций. На данный момент, мы переходим от проектирования к политике и наполнению нашего развития принципа слоев.