Читаем Компьютерные сети. 5-е издание полностью

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

1.3.1. Иерархия протоколов

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

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

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

На рис. 1.11 показана пятиуровневая сеть. Объекты, включающие в себя соответствующие уровни на разных машинах, называются равноранговыми или равноправными узлами сети. Именно они общаются при помощи протокола.

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

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

компаниями). Фактически может изменяться сам протокол уровня, так что уровней выше и ниже это не затронет.

Рис. 1.11. Уровни, протоколы и интерфейсы

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

Перейти на страницу:

Все книги серии Классика computer science

Компьютерные сети. 5-е издание
Компьютерные сети. 5-е издание

Перед вами — очередное, пятое издание самой авторитетной книги по современным сетевым технологиям, написанной признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером и использовалось в качестве базового учебника в ведущих технических вузах. В книге последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа. Пятое издание полностью переработано с учетом изменений, происшедших в сфере сетевых технологий за последние годы и, в частности, освещает такие аспекты, как беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, инфраструктура доставки контента CDN, пиринговые сети, потоковое вещание, интернет-телефония и многое другое.

А. Гребенькова , Джеймс Уэзеролл

Технические науки

Похожие книги

Технология редакционно-издательского процесса
Технология редакционно-издательского процесса

Рассмотрен современный редакционно-издательский процесс и про–анализирована роль редактора на каждом из его этапов. Особое внимание уде–лено подготовке рукописи к изданию, анализу композиции и содержания произведения, редактированию нетекстовых элементов, таких как формулы, таблицы, иллюстрации. Даны характеристики аппарата книжных и жур–нальных изданий. Освещена тема взаимоотношений автора и редактора.Для студентов высших учебных заведений, получающих образование по направлениям (специальностям) «Книжное дело», «Издательское дело и редактирование», «Литературное творчество». Может использоваться в ка–честве практического пособия при повышении квалификации и переподго–товке редакторов и корректоров. Представляет интерес для специалистов, работающих в области издательского дела.

Нина Захаровна Рябинина

Технические науки / Образование и наука