tanenbaum_seti_all.pages (525408), страница 12
Текст из файла (страница 12)
Единственное техническое различие между подсетью и глобальной сетью заключается в наличии хостов. Если система внутри овала содержит только маршрутизаторы, то это подсеть. Если же она содержит как маршрутизаторы, так и хосты, то это глобальная сеть. Реальные различия заключаются в том, кто владеет сетью и пользуется ею. 50 Глава 1.
Введение Часто путают подсети, сети и интерсетн. Термин «подсетп» обычно употребляется в контексте глобальных ссгсй, где он означает набор маршрутизаторов н линий связи, принадлежащих олцому сетевому оператору. Аналогично этому телефонная система состоит из телсфонпых станций, соединенных друг с другом высокоскоростными каналачи, а с домами и офисами — низкоскоростными каналами, Эти каналы и оборудование принадлежат телефонным компаниям, являющимся аналогами подсетей.
Сами телефонные аппараты (аналоги хостов) не являются частью подсетей. Вместе с хостами подсеть образует сеть. В случае локальной сети есть состоит из кабеля и хостов. Подсетей там нет. Интерсеть образуется путем объединения нескольких сетей. С нашсй точки зрения, объединение локальной и глобальной сетей нлн объединение двух локальных сетей образует иптсрсеть, однако в индустрии нет единого мнения по поводу терминологии в данной области.
Можно использовать слелухппее мнемоническое правило: если создание и полдсржку сети оплачивают разные организации, то мы имеем дсло с интсрсетью, а не единой сетью. Также сели работа основана на применении нескольких технологий' (например, широковещательная в одной ее части и двухузловая — в другой), значит, и сетей несколько. Сетевое программное обеспечение Когда собирались первые сети, то основное вщ1манпс уделялось аппаратуре, а вопросы программного обеспечения откладывались па будущее. Подобная стратегия большс не работает.
Современное сетевое программнос обеспечение в высокой степени структурировано. В следующих разделах мы узнаем, как осуществляется эта структуризация, Описанный метод является краеугольным камнем всей книги и будет часто встречаться и далее. Иерархия протоколов Для упрощения структуры большинство сетей организуются в наборы уровней или слоев, каждый послсдукпций из которых возводится пад предыдущим. Количество уровней, их названия, содержание и назначение разнятся от сети к сети.
Однако во всех сетях целью каждого уровня является прслоставлспис пских сервисов для вышсстоя|цих уровней. При этом от них скрываюгся лога:ш реализации предоставляемого ссрапса. Такая концепция не нова и используется в сошрптег зс|спсе уже давно, Ее вариации известны как сокрытие информации, абстрактныс типы ланпых, свойство инкапсуляции н объектно-ориентированное программирование. Фундаментальной идеей является предоставление неким программным или аппаратным уровнем сервисов своим пользователям без раскрытия деталей своего внутреннего состояния и подробностей алгоритмов.
Уровень п одной машины поддерживает связь с уровнем и другой машины. Правила и соглашения, используемые в данном общении, называются протоко- Сетевое программное обеспечение 51 лом уровня п. По сути протокол является договоренностью общающихся сторон о том, как должно происходить общение. По аналогии, когда женщину представляют мужчине, она можст протянуть ему свою руку. Он, в свою очередь, может принять решение либо пожать, либо поцеловать эту руку в зависимости от того, является ли эта женшина американским адвокатом на деловой встрече или же европейской принцессой па официальном балу. Нарушение протокола создаст затруднения в общении, а может, и вовсе слеласт общение невозможным. На рис.
1.10 показана пятиуровневая сеть. Объекты, включающие в себя соответствующие уровни на разных машинах, называются равноранговыми, илн равноправными, узлами, илн сушностями, сети, Именно онн общаются прн помоши протокола. Хост 1 Хост 2 Междууровневый интерфейс 4/5 Междууровневый интерфейс 3/4 Междууровневый интерфейс 2/3 Мвждууровневый интерфейс 1/2 Рис. 1.10. Уровни, протоколы и интерфейсы В действительности данные не пересылаются с уровня и одной машины на УРовень и другой машины. Вместо этого каждый уровень передает данные и управление уровню, лежащему ниже, пока не достигается самый нижний уровень. Ниже пеРвого уровня располагается физическая среда, по которой и производится обмен информацией.
На рис, 1.10 виртуальное обгцение показано пунктиром, тогда как физическое — сплошными линиями. Между каждой парой смежных уровней находится интерфейс, определяютций набор примитивных операций, предоставляемых нижним уровнем верхнему. Когда разработчики сетей решают, сколько уровней включить в сеть и что 62 Главе 1.
Введение нь, одной из важнейших залач является опр должен делать каждый уровень, о рфей юкду ними. Подобная ззлача требует, в спою очер ние яснык интерфейсов мюкду ними. б кикдьй алнял особый набор хорошо понятных функций В бы нюкдый уровень выцалнял ос полнеиие к минимизации ко цни количества информации, передаваемой между ур мн, раэграниченнме китеже е интерч=йсы также значительно упрощают „ валин уровня (наприме, (например, замену телефонных линий спутниковыми гшн, так как при этом всего лишь требуется, чтобы новая реализация предостаа „, такой же набор услуг вышестоящему уровню, что и предыдущая, Скажем нс.
пользование хостов, принадлежащих к разным реализшпгям, — вполне нормазь. нос явление. Набор уровней и протоколов называется архитектурой сети. Спецификация архитектуры должна содерзмть достаточно информации для написания программ. ного обеспечения или создания аппаратуры для кажлого уровня, чтобм онн корректно выполняли требонания протокола. Ни детали реализации, ни спецификации интерфейсов не являются частями архитектуры, так как они спрятаны внут. ри машины.
При атом лаже не требуется, чтобы интерфейсы на всех машины сети были одинаковыми, лишь бы каждая машина правильно применяла все протоколы. Список протоколов, используемых системой, по одному протоколу на уровень, называется стеком протоколов. Сетевме архитектуры, стеки протоколов и сами протоколы и являются основной темой данной книги, Чтобы было проще понять идею многоуровневого общения, можно вослаль зоваться слепуюшей аналогией. Представьте себе двух философов (одноранга вый процесс уровня 3), один нэ которых говорит на урду и английском, а дру той — на китайском и французском.
Поскольку нет общего языка, на катара" они смогли бы общаться, квжлый иэ инх использует переводчика (однорзнгови" процесс у!юаня 2), кажлый на которых, в свою очередь, нанимает секретаршу (одноранговый пРоцесс уРавня 1). Философ 1 желает выразить своему собесш" нику свою привязанность к ви Р виду огусго!абаз сап!сп!аз. для этого он перелаз™ общение (нв английском) по интерфейсу 2/3 свае пе .
»я люỠ— как вз Рзжено иа рис. 1.11. Переволчики договорились обжать визу Исйоачзп)сап!'пмм В бо н осуществляется одноранго апппеа». ы р языка является и авнэ Ранговмми процессами ратоколом второго ур Затем переволчик атдаег ооб с жение се ега ю уровня 2. кр р для передачи, юлрнмер' , па Рем, ана переводится на ф овна). агда сааб ранцуэскнй и че еэ шение получено другим секр фу 2. Заметим, чта каждый и Р интерфейс 2/3 передастся Филос а. интерфейсы аюшакавы с каждая протокол полностью н независим от других, паскоэьку с, с ем, на ф ° Р опчики могУт пеРеклю южл старанм. Пе ев этом в интерфейсах второ инс црн сзо га уровня с первым У овин, что аба будут согласны, пр" изменится.
Подобным же аб Ржам секретари мо с Р м вли с третьим уровнем ничего не ю почту илн талеров, не за могут сменить факс на электра" )Са менение даб в (и лаже не инфоРмируя) другие Ураэнв мен инфо м фармашы не будет перелавагьс б -Р алией на своем УРовне. Эта ва ее высокий уровень. Сетевое программное.обдорвчфниа Местололакениа А Местолалаавние 6 Рис.
1.11. Архитектура «философ — лерееодчик — секретарь Теперь рассмотрим более технический пример: как обеспечить общение для верхнего уровня пятиуровневой сети (рис. 1.12). Сообщение М производится приложением, работающим на уровне 5, и передается уровню 4 для передачи. Уровень 4 добавляет к сообщению заголовок лля идентификации сообщения и передает результат уровню 3.
Заголовок включает управляющую информацию, например послеловательные номера, позволяющие уровню 4 принимающей машины доставить сообщения в правильном порялке, если нижние уровни нарушат агу последовательносп,. На некоторых уровнях заголовки также включают з себя размеры, время и другие управляющие поля.
Во многих сетях сообщения, перелаваемые на уровне 4, не ограничиваются по Размеру, однако подобные ограничения почти всегда накладываются на протокол третьего уровня. Соответственно уровень 3 должен разбить входящие сообщения на более мелкие единицы — пакеты, предваряя каждый пакет заголовком УРовня 3.
В данном примере сообщение М равбивается на две части, М, н М Уровень 3 решает, какую из выходных линий использовать, и передает пакеты уровню 2. Уровень 2 добавляет ие только заголовки к каждому паке,у но также и завершающую последовательность с контРольной суммой (ггайег), после чего передает результат УРовню 1 лля физической перелачи. На получающей машине сообщение двигается по уровням вверх, при этом заголовки убираются Сетевое программное обеспечение 65 Каждый уровень нуждается в механизме идентификации отправителей и получателей.
В сети обычно работает довольно много компьютеров, на нпх одновременно могут выполняться сразу несколько процессов, каждому из которых необходимо средство, позволяющее указать, с кем он хочет поговорить. Следовательно, нужна система адресации. Также необходимо выработать правила для переноса данных.