Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 12
Текст из файла (страница 12)
Не всем понравится слушать по радио, как пищит, устанавливая соединение, модем соседей. В главе 8 мы обсудим методы шифрования, обеспечивающие защиту информации, но в случае домашних сетей эта защита должна быть одновременно «защитой от дурака», которая сработает даже в том случае, если с техникой играет ребенок или неопытный пользователь. Об этом, конечно, легко рассуждать, но не так просто сделать, даже если рассчитывать на достаточно разумного пользователя. В общем, у домашних сетей еще все впереди. Здесь много возможностей и сложностей, которые предстоит преодолеть. От болыпинства из домашних сетей требуются простота управления, надежность, защищенность, особенно в руках пользователей, далеких от техники. В то же время необходима высокая производительность при низкой цене.
Объединения сетей Сушествующие ныне сети часто используют различное оборудование и программное обеспечение. Люди, связанные с одной сетью, хотят общаться с людьми, подключенными к другой. Для выполнения этого желания необходимо объединить вместе различные и часто несовместимые сети. С этой целью иногда используются машины, называемые шлюзами, обеспечивающие соединение и необходимое преобразование в терминах как аппаратуры, так и программного обеспечения. Набор соединенных сетей называется объединенной сетью или просто интерсетью. ОбРатите внимание на то, что слово «интерсеть» (1пгегпег, написанный со строчной буквы) всегда будет использоваться в этой книге в его исконном смысле, в отличие от слова «Интернет» (с прописной буквы).
Обычной формой объединенных сетей является набор локальных сетей, объединенных при помощи глобальной сети, действительно, если заменить надпись «подсеть» на рис. Е7 «глобальной сетью», то в этом рисунке больше ничего не надо будет менять. Единственное техническое различие между подсетью и глобальной сетью заключается в наличии хостов. Если система внутри овала содержит только маршрутизаторы, то это подсеть.
Если же она содержит как маршрутизаторы, так и хосты, то это глобальная сеть. Реальные различия заключаются в том, кто владеет сетью и пользуется сю. 50 Глава К Введение Часто путают подсети, сети и ивтерсети. Термин «подсетиь обычно употребляется в контексте глобальных сетей, где он означает набор маршрутизаторов и линий связи, принадлежащих одному сетевому оператору. Аналогично этому телефонная система состоит из телефонных станций, соединенных друг с другом высокоскоростными каналами, а с ломами и офисами — низкоскоростными каналами, Эти каналы и оборудование принадлежат телефонным компаниям, являющимся аналогами подсетей. Сами телефонные аппараты (аналоги хостов) не являются частью подсетей. Вместе с хостами подсеть образует сеть. В случае локальной сети сеть состоит из кабеля и хостов.
Подсетей там нет. Интерсеть образуется путем объединения нескольких сетей. С нашей точки зрения, объединение локальной и глобальной сетей или объединение двух локальных сетей образует интерсеть, однако в индустрии нет единого мнения по поводу терминологии в данной области. Можно использовать слелующее мнемоническое правило: если создание и поддержку сети оплачивают разные организации, то мы имеем дело с ивтерсетью, а не единой сетью.
Также если работа основана на применении нескольких технологий (например, широковещательная в одной ее части и двухузловая — в другой), значит, и сетей несколько. Сетевое программное обеспечение Когда собирались первые сети, то основное внимание уделялось аппаратуре, а вопросы программного обеспечения откладывались на будущее. Подобная стратегия больше не работает. Современное сетевое программное обеспечение в высокой степени структурировано, В следующих разделах мы узнаем, как осуществляется эта структуризация. Описанный метод является краеугольным камнем всей книги и будет часто встречаться и далее. Иерархия протоколов Для упрощения структуры большинство сетей организуются в наборы уровней или слоев, каждый последующий из которых возводится над предыдущим. Количество уровней, их названия, содержание и назначение разнятся от сети к сети. Однако во всех сетях целью каждого уровня является предоставление неких сервисов для вышестоящих уровней.
При этом от них скрываются детали реализации предоставляемого сервиса. Такая концепция не нона и используется в сотригег зс1епсе уже давно. Ее вариации известны как сокрытие информации, абстрактные типы данных, свойство инкапсуляции и обьектно-орнентированное программирование. Фундаментальной идеей является предоставление неким программным или аппаратным уровнем сервисов своим пользователям без раскрытия деталей своего внутреннего состояния и подробностей алгоритмов. Уровень п одной машины поддерживает связь с уровнем п другой машины. Правила и соглашения, используемые в данном общении, называются протоко- Сетевое программное обеспечение 51 лом уровня и.
По сути протокол является договоренностью общающихся сторон о том, как должно происходить общение. По аналогии, когда женщину представляют мужчине, она может протянуть ему свою руку. Он, в свою очередь, может принять решение либо пожать, либо поцеловать зту руку в зависимости от того, является ли эта женщина американским адвокатом на деловой встрече или же европейской принцессой на официальном балу. Нарушение протокола создаст затруднения в общении, а может, н вовсе сделает общение невозможным. На рис. 1.10 показана пятиуровневая сеть. Объекты, включающие в себя соответствующие уровни на разных машинах, называются равноранговыми, или равноправнымн, узлами, или сущностями, сети.
Именно они общаются при помощи протокола. Хост 1 Хост 2 Мехчтууровневый интерфейс 415 Междууровневый интерфейс Зм Межлууровневый интерфейс2/3 Междууровневый интерфейс 1/2 Рис. 1.10. Уровни, протоколы и интерфейсы В действительности данные не пересылаются с уровня п одной машины на уровень и другой машины.
Вместо этого каждый уровень передает данные и управление уровню, лежащему ниже, пока не достигается самый нижний уровень. Ниже первого уровня располагается физическая среда, по которой и производится обмен информацией. На рис. 1.10 виртуальное общение показано пунктиром, тогда как физическое — сплошными линиями. Между каждой парой смежных уровней находится интерфейс, определяющий набор примитивных операций, предоставляемых нижним уровнем верхнему.
Когда разработчики сетей решают, сколько уровней включить в сеть и что 52 Глава 1. Введение должен делать каждый уровень, одной из важнейших задач является определение ясных интерфейсов между ними. Подобная за чача требует, в свою очередь, чтобы каждый уровень выполнял особый набор хорошо понятных функций. В дополнение к минимизации количества информации, передаваемой между уровнями, разграниченные интерфейсы также значительно упрощают изменение реализации уровня (например, замену телефонных линий спутниковыми каналами), так как при этом всего лишь требуется, чтобы новая реализация предоставляла такой же набор услуг вышестоящему уровню, что и предыдущая. Скажем, использование хостов, принадлежащих к разным реализациям, — вполне нормальное явление.
Набор уровней и протоколов называется архитектурой сети. Спецификация архитектуры должна содержать достаточно информации для написания программного обеспечения или создания аппаратуры для каждого уровня, чтобы они корректно выполняли требования протокола. Ни детали реализации, ни спецификации интерфейсов не являются частями архитектуры, так как они спрятаны внутри машины. При этом даже не требуется, чтобы интерфейсы на всех машинах сети были одинаковыми, лишь бы каждая машина правильно применяла все протоколы.
Список протоколов, используемых системой, по одному протоколу на уровень, называется стеком протоколов. Сетевые архитектуры, стеки протоколов и сами протоколы и являются основной темой данной книги. Чтобы было проще понять идею многоуровневого общения, можно воспользоваться следующей аналогией. Представьте себе двух философов (одноранговый процесс уровня 3), один из которых говорит на урду и английском, а другой — на китайском и франпузском. Поскольку нет общего языка, на котором они смогли бы общаться, кажлый из них использует переводчика (одноранговый процесс уровня 2), каждый из которых, в свою очередь, нанимает секретаршу (одноранговый процесс уровня 1). Философ 1 желает выразить своему собеседнику свою привязанность к виду огусго1аяпз сишсп1шь Для этого он передает сообщение (на английском) по интерфейсу 2!3 своему персволчику, говоря: «Я люблю кроликов», — как изображено на рис.
1.11. Переводчики договорились общаться на нейтральном языке, голландском, таким образом, сообщение преобразуется к виду «1к Ьои чап коп11пепм Выбор языка является протоколом второго уровня и осуществляется одноранговыми процессами уровня 2. Затем переводчик отдает сообщение секретарю для передачи, например, по факсу (протокол первого уровня). Когда сообщение получено другим секретаРем, оно переводится на французский и через интерфейс 2/3 передается философу 2. Заметим, что каждый протокол полностью независим от других, поскольку интерфейсы одинаковы с каждой стороны. Переводчики могут переключиться с голландского, скажем, на финский при условии, что оба будут согласны, при этом в интерфейсах второго уровня с первым или с третьим уровнем ничего не изменится.