Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 14
Текст из файла (страница 14)
Это могут бытьотдельные компьютеры, которые соединяются с ЛВС, или целые ЛВС. Вот каким образом большие сети создаются из небольших. В случае подсетей все происходит так же.Теперь мы можем посмотреть на два других варианта глобальных сетей. Во-первых,вместо того чтобы арендовать линии передачи, компания могла бы соединить своиофисы с Интернетом. Это позволяет соединениям между офисами быть виртуальными и использовать основные возможности Интернета.
Это расположение, показанноев рис. 1.9, называют VPN (Virtual Private Network, Виртуальная частная сеть). Посравнению со специализированным расположением у VPN есть преимущество виртуализации — гибкое повторное использование ресурса (интернет-связи). Посмотрите,как легко добавить четвертый офис. У VPN есть и обычный недостаток виртуализации — недостаточное управление основными ресурсами. Пропускная способностьвыделенной линии ясна. С VPN ваши затраты на единицу расстояния могут менятьсяв зависимости от интернет-сервиса.Второе изменение состоит в том, что подсеть может обслуживаться другой фирмой.Оператор подсети — провайдер сетевой службы, а офисы — его клиенты.
Эта структурапоказана на рис. 1.10. Оператор подсети соединяется с клиентами и предоставляет имуслугу, пока они за это платят. Так как было бы неудобно, если бы и клиенты моглипосылать пакеты только друг другу, оператор подсети соединяется и с другими сетями,42 Глава 1. Введениекоторые являются частью Интернета. Такого оператора подсети называют провайдером (ISP (Internet Service Provider)), а такую подсеть — сетью провайдера.
Клиенты,которые соединяются с провайдером, получают интернет-сервис.Рис. 1.9. WAN, использующая виртуальную частную сетьРис. 1.10. WAN, использующая сеть провайдера1.2. Сетевое оборудование 43Мы можем использовать сеть провайдера, чтобы анонсировать некоторые ключевые вопросы, которые мы изучим в более поздних главах. Большинство глобальныхсетей содержит большое количество кабелей или телефонных линий, соединяющихпару маршрутизаторов. Если какие-либо два маршрутизатора не связаны линиейсвязи напрямую, то они должны общаться при помощи других маршрутизаторов.В сети может быть много путей, которые соединяют эти два маршрутизатора.
Методпринятия решения называется алгоритмом маршрутизации. Существует много такихалгоритмов. То, как каждый маршрутизатор принимает решение, куда послать пакет,называется алгоритмом пересылки. Их существует огромное множество, и некоторыеалгоритмы обоих типов мы изучим в главе 5.Другие глобальные сети используют беспроводные технологии.
В спутниковыхсистемах каждый компьютер на земле снабжается антенной, при помощи которой онможет принимать и посылать сигнал спутнику на орбите. Все компьютеры могут принимать сигналы со спутника, а в некоторых случаях они могут также слышать передачи соседних компьютеров, передающих данные на спутник. Спутниковые сети являются широковещательными и наиболее полезны там, где требуется широковещание.Сеть мобильной телефонной связи — другой пример глобальной сети, использующей беспроводную технологию. Эта система уже прошла три поколения, а четвертоена горизонте.
Первое поколение осуществляло только аналоговую передачу звука.Второе поколение было цифровым, но тоже только для передачи голоса. Третье поколение является цифровым и предназначено для передачи и речи, и данных. Каждаясотовая базовая станция покрывает намного большую площадь, чем беспроводнаяЛВС, расстояния измеряются в километрах, а не в десятках метров. Базовые станциисоединены друг с другом базовой сетью, которая обычно проводная. Скорости передачи данных в сотовых сетях достигают порядка 1 Мбит/с, что намного меньше, чему беспроводной ЛВС, где скорость может достигать порядка 100 Мбит/с. Мы многоерасскажем об этих сетях в главе 2.1.2.5. Объединения сетейСуществующие ныне сети часто используют различное оборудование и программноеобеспечение.
Люди, связанные с одной сетью, хотят общаться с людьми, подключенными к другой. Для выполнения этого желания необходимо объединить вместе различные и часто несовместимые сети. Набор соединенных сетей называется интерсетью(internetwork, internet). Слово «интерсеть» (internet, написанный со строчной буквы)всегда будет использоваться в этой книге в его исконном смысле, в отличие от слова«Интернет» (с прописной буквы) — всемирной сети, являющейся одной из интерсетей.Интернет использует сети провайдеров, чтобы соединить сети предприятий, домашниесети и многие другие. Позже в этой книге мы рассмотрим Интернет очень подробно.Часто путают подсети, сети и интерсети. Термин «подсети» обычно употребляетсяв контексте глобальных сетей, где он означает набор маршрутизаторов и линий связи,принадлежащих одному сетевому оператору.
Аналогично этому, телефонная системасостоит из телефонных станций, соединенных друг с другом высокоскоростнымиканалами, а с домами и офисами — низкоскоростными каналами. Эти каналы и оборудование принадлежат телефонным компаниям, являющимся аналогами подсетей.44 Глава 1. ВведениеСами телефонные аппараты (аналоги хостов) не являются частью подсетей. Вместес хостами подсеть образует сеть.
В случае локальной сети сеть состоит из кабеля и хостов. Подсетей там нет.Сеть формируется комбинацией подсети и ее узлов. Однако слово «сеть» частоиспользуется и в свободном смысле. Подсеть могла бы быть описана как сеть, какв случае «сети провайдера» на рис. 1.10. Интерсеть могла бы также быть описана каксеть, как в случае глобальной сети на рис. 1.8. Мы будем поступать также, а если когдаотличаем сеть от других расположений, то будем придерживаться нашего оригинального определения набора компьютеров, связанных одной технологией.Немного больше о том, что составляет объединенную сеть (internetwork).
Мызнаем, что интерсеть образуется путем объединения нескольких сетей. С нашей точкизрения, объединение локальной и глобальной сети или объединение двух локальныхсетей — обычный способ образования интерсети, однако в индустрии нет единогомнения по поводу терминологии в данной области. Существует два мнемоническихправила. Первое — если создание и поддержку сети оплачивают разные организации,то мы имеем дело с интерсетью, а не единой сетью. Второе — если работа основана наприменении нескольких технологий (например, широковещательная в одной ее частии двухузловая в другой), то, вероятно, это интерсеть.Чтобы пойти глубже, мы должны поговорить о том, как могут быть соединеныдве различных сети. Общее название машины, которая обеспечивает соединениемежду двумя или более сетями и обеспечивает необходимый перевод, с точки зрениякак аппаратного, так и программного обеспечения, это шлюз.
Шлюзы различаютсяпо уровням, в которых они работают в иерархии протокола. Начиная со следующего раздела, мы расскажем об уровнях и иерархиях протокола намного больше, нопока предположим, что более высокие уровни более привязаны к приложениям,таким как Web, а нижние уровни более привязаны к каналам передачи, таким какEthernet.Так как польза от формирования Интернета — в соединении компьютеров черезсети, мы не хотим использовать слишком низкоуровневый шлюз, иначе будем неспособны делать соединения между различными видами сетей.
Мы не хотим использоватьи слишком высокоуровневый шлюз, иначе соединение будет работать лишь с некоторыми приложениями. Уровень в середине, который нам «в самый раз», часто называютсетевым уровнем, и маршрутизатор является шлюзом, который обрабатывает пакетына сетевом уровне. Теперь мы можем определить интерсеть, как сеть, у которой естьмаршрутизаторы.1.3. Сетевое программное обеспечениеКогда собирались первые сети, то основное внимание уделялось аппаратуре, а вопросы программного обеспечения откладывались на будущее.
Подобная стратегиябольше не работает. Сегодняшнее сетевое программное обеспечение в высокой степениструктурировано. В следующих разделах мы узнаем, как осуществляется эта структуризация. Описанный подход является краеугольным камнем всей книги и будет частовстречаться и далее.1.3. Сетевое программное обеспечение 451.3.1. Иерархия протоколовДля упрощения структуры большинство сетей организуются в наборы уровнейили слоев, каждый последующий возводится над предыдущим. Количество уровней, их названия, содержание и назначение разнятся от сети к сети. Однако во всехсетях целью каждого уровня является предоставление неких сервисов для вышестоящих уровней.
При этом от них скрываются детали реализации предоставляемогосервиса.Такая концепция не нова и используется в вычислительной технике уже давно. Еевариации известны как сокрытие информации, абстрактные типы данных, свойствоинкапсуляции и объектно-ориентированное программирование. Фундаментальнойидеей является предоставление неким программным или аппаратным уровнем сервисов своим пользователям без раскрытия деталей своего внутреннего состоянияи подробностей алгоритмов.Уровень n одной машины поддерживает связь с уровнем n другой машины.
Правилаи соглашения, используемые в данном общении, называются протоколом уровня n.По сути, протокол является договоренностью общающихся сторон о том, как должнопроисходить общение. По аналогии, когда женщину представляют мужчине, она можетпротянуть ему свою руку. Он, в свою очередь, может принять решение либо пожать,либо поцеловать эту руку, в зависимости от того, является ли эта женщина американским адвокатом на деловой встрече или же европейской принцессой на официальномбалу. Нарушение протокола создаст затруднения в общении, а может и вовсе сделаетобщение невозможным.На рис. 1.11 показана пятиуровневая сеть. Объекты, включающие в себя соответствующие уровни на разных машинах, называются равноранговыми или равноправными узлами сети. Именно они общаются при помощи протокола.В действительности, данные не пересылаются с уровня n одной машины на уровень n другой машины.
Вместо этого каждый уровень передает данные и управлениеуровню, лежащему ниже, пока не достигается самый нижний уровень. Ниже первогоуровня располагается физическая среда, по которой и производится обмен информацией. На рис. 1.11 виртуальное общение показано пунктиром, тогда как физическое —сплошными линиями.Между каждой парой смежных уровней находится интерфейс, определяющийнабор примитивных операций, предоставляемых нижним уровнем верхнему. Когдаразработчики сетей решают, сколько уровней включить в сеть и что должен делатькаждый уровень, одной из важнейших задач является определение ясных интерфейсовмежду уровнями. Подобная задача требует, в свою очередь, чтобы каждый уровеньвыполнял особый набор хорошо понятных функций.