Основы сетей передачи данных

         

Появление первых вычислительных машин


Идея компьютера была предложена английским математиком Чарльзом Бэбиджем (Charles Babig) в середине девятнадцатого века. Однако его механическая "аналитическая машина" по-настоящему так и не заработала.

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

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

С середины 50-х годов начался следующий период в развитии вычислительной техники, связанный с появлением новой технической базы — полупроводниковых элементов. В этот период:

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



Появление стандартных технологий локальных сетей


В середине 80-х годов положение дел в локальных сетях стало меняться. Утвердились стандартные технологии объединения компьютеров в сеть — Ethernet, Arcnet, Token Ring, Token Bus, несколько позже — FDDI.

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

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

В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость сетевых операционных систем на нижних уровнях, а также стандартизировать интерфейс ОС с драйверами сетевых адаптеров.

Конец 90-х выявил явного лидера среди технологий локальных сетей — семейство Ethernet, в которое вошли классическая технология Ethernet 10 Мбит/c, а также Fast Ethernet 100 Мбит/c и Gigabit Ethernet 1000 Мбит/c.

В середине 80-х годов положение дел в локальных сетях стало меняться. Утвердились стандартные технологии объединения компьютеров в сеть — Ethernet, Arcnet, Token Ring, Token Bus, несколько позже — FDDI.

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

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

В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость сетевых операционных систем на нижних уровнях, а также стандартизировать интерфейс ОС с драйверами сетевых адаптеров.

Конец 90-х выявил явного лидера среди технологий локальных сетей — семейство Ethernet, в которое вошли классическая технология Ethernet 10 Мбит/c, а также Fast Ethernet 100 Мбит/c и Gigabit Ethernet 1000 Мбит/c. Простые алгоритмы работы предопределили низкую стоимость оборудования Ethernet. Широкий диапазон иерархии скоростей позволяет рационально строить локальную сеть, применяя ту технологию, которая в наибольшей степени отвечает задачам предприятия и потребностям пользователей. Важно также, что все технологии Ethernet очень близки друг другу по принципам работы, что упрощает обслуживание и интеграцию построенных на их основе сетей.


Перейти к следующей странице » <


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




Понятие "открытая система"


Модель OSI, как следует из ее названия (Open System Interconnection), описывает взаимосвязи открытых систем. Что же такое открытая система?

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

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

Под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами.

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

Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, кроме всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии.
Еще одним примером частичной открытости является применение в достаточно закрытой операционной системе Novell NetWare открытого интерфейса Open Driver Interface (ODI) для включения в систему драйверов сетевых адаптеров производства независимых компаний. Чем больше открытых спецификаций использовано при разработке системы, тем более открытой она является.

Модель OSI касается только одного аспекта открытости, а именно открытости средств взаимодействия устройств, связанных в вычислительную сеть. Здесь под открытой системой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами с использованием стандартных правил, определяющих формат, содержание и значение принимаемых и отправляемых сообщений.

Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:

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

Ярким примером открытой системы является сеть Internet. Эта сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах.Само название стандартов, определяющих работу Internet — Request For Comments (RFC, что можно перевести как "запрос на комментарии", — говорит об открытом характере принимаемых стандартов. В результате сеть Internet объединила в себе разнообразное оборудование и программное обеспечение огромного количества сетей, разбросанных по всему миру.


Постоянная и динамическая коммутация


Как сети с коммутацией пакетов, так и сети с коммутацией каналов можно разделить на два класса:

сети с динамической коммутацией; сети с постоянной коммутацией.

В сетях с динамической коммутацией:

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

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

Сеть, работающая в режиме постоянной коммутации:

разрешает паре пользователей заказать соединение на длительный период времени; соединение устанавливается не пользователями, а персоналом, обслуживающим сеть; период, на который устанавливается постоянная коммутация, составляет обычно несколько месяцев; режим постоянной (permanent) коммутации в сетях с коммутацией каналов часто называется сервисом выделенных (dedicated) или арендуемых (leased) каналов; в том случае, когда постоянное соединение через сеть коммутаторов устанавливается с помощью автоматических процедур, инициированных обслуживающим персоналом, его часто называют полупостоянным (semi-permanent) соединением, в отличие от режима ручного конфигурирования каждого коммутатора.

Наиболее популярными сетями, работающими в режиме постоянной коммутации, сегодня являются сети технологии SDH, на основе которых строятся выделенные каналы связи с пропускной способностью в несколько гигабит в секунду.

Некоторые типы сетей поддерживают оба режима работы. Например, сети X.25 и ATM могут предоставлять пользователю возможность динамически связаться с любым другим пользователем сети и в то же время отправлять данные по постоянному соединению определенному абоненту.



Представительный уровень


Представительный уровень (Presentation layer) имеет дело с формой представления передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например в кодах ASCII и EBCDIC. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Уровень представления — согласовывает представление (синтаксис) данных при взаимодействии двух прикладных процессов:

преобразование данных из внешнего формата во внутренний; шифрование и расшифровка данных.



Причины структуризации транспортной инфраструктуры сетей


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

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

ограничения на длину связи между узлами; ограничения на количество узлов в сети; ограничения на интенсивность трафика, который генерируют узлы сети.

Например, технология Ethernet на тонком коаксиальном кабеле позволяет использовать кабель длиной не более 185 метров, к которому можно подключить не более 30 компьютеров. Однако если компьютеры интенсивно обмениваются информацией, иногда приходится снижать число подключенных к кабелю машин до 20, а то и до 10, чтобы каждому компьютеру доставалась приемлемая доля общей пропускной способности сети.

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

Различают:

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



Прикладной уровень


Прикладной уровень (Application layer) — это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют совместную работу, например с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message).

Прикладной уровень — набор всех сетевых сервисов, которые предоставляет система конечному пользователю:

идентификация, проверка прав доступа; принт- и файл-сервис, почта, удаленный доступ...

Существует очень много различных служб прикладного уровня. Приведем в качестве примера хотя бы несколько наиболее распространенных реализаций файловых служб: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.



Продвижение — распознавание потоков и коммутация на каждом транзитном узле


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

Устройство, предназначенное для выполнения коммутации, называется коммутатором (switch). Коммутатор производит коммутацию входящих в его порты информационных потоков, направляя их в соответствующие выходные порты (рис. 5.2).


Рис. 5.2. Коммутатор.

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

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

Коммутатором может быть как специализированное устройство, так и универсальный компьютер со встроенным программным механизмом коммутации, в этом случае коммутатор называется программным. Компьютер может совмещать функции коммутации данных, направляемых на другие узлы, с выполнением своих обычных функций конечного узла. Однако во многих случаях более рациональным является решение, в соответствии с которым некоторые узлы в сети выделяются специально для выполнения коммутации. Эти узлы образуют коммутационную сеть, к которой подключаются все остальные. На рис. 5.3 показана коммутационная сеть, образованная из узлов 1, 5, 6 и 8, к которой подключаются конечные узлы 2, 3, 4, 7, 9 и 10.


Рис. 5.3. Коммутационная сеть.


Программные мониторы — первые операционные системы


Программные мониторы явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для управления вычислительным процессом.

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

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



Производительность


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

Основные характеристики производительности сети:

время реакции; скорость передачи трафика; пропускная способность; задержка передачи и вариация задержки передачи.

Время реакции сети является интегральной характеристикой производительности сети с точки зрения пользователя. Именно эту характеристику имеет в виду пользователь, когда говорит: "Сегодня сеть работает медленно".

В общем случае время реакции определяется как интервал между возникновением запроса пользователя к какой-либо сетевой службе и получением ответа на него.

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

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

Время реакции сети обычно складывается из нескольких составляющих. В общем случае в него входит:

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


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

Знание сетевых составляющих времени реакции позволяет оценить производительность отдельных элементов сети, выявить узкие места и при необходимости выполнить модернизацию сети для повышения ее общей производительности.

Производительность сети может характеризоваться также скоростью передачи трафика.

Скорость передачи трафика может быть мгновенной, максимальной и средней.

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

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


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

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

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

Пропускная способность измеряется либо в битах в секунду, либо в пакетах в секунду.



Пропускная способность сети зависит как от характеристик физической среды передачи (медный кабель, оптическое волокно, витая пара) так и от принятого способа передачи данных (технология Ethernet, FastEthernet, ATM). Пропускная способность часто используется в качестве характеристики не столько сети, сколько собственно технологии, на которой построена сеть. Важность этой характеристики для сетевой технологии показывает, в частности, и то, что ее значение иногда становится частью названия, например, 10 Мбит/с Ethernet, 100 Мбит/с Ethernet.

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

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


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

Задержка передачи определяется как задержка между моментом поступления данных на вход какого-либо сетевого устройства или части сети и моментом появления их на выходе этого устройства.

Этот параметр производительности по смыслу близок ко времени реакции сети, но отличается тем, что всегда характеризует только сетевые этапы обработки данных, без задержек обработки конечными узлами сети.

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

Все указанные характеристики производительности сети достаточно независимы. В то время как пропускная способность сети является постоянной величиной, скорость передачи трафика может варьироваться в зависимости от загрузки сети, не превышая, конечно, предела, устанавливаемого пропускной способностью.Так в односегментной сети 10 Мбит/с Ethernet компьютеры могут обмениваться данными со скоростями 2 Мбит/с и 4 Мбит/с, но никогда — 12 Мбит/с.

Пропускная способность и задержки передачи также являются независимыми параметрами, так что сеть может обладать, например, высокой пропускной способностью, но вносить значительные задержки при передаче каждого пакета. Пример такой ситуации дает канал связи, образованный геостационарным спутником. Пропускная способность этого канала может быть весьма высокой, например 2 Мбит/с, в то время как задержка передачи всегда составляет не менее 0,24 с, что определяется скоростью распространения электрического сигнала (около 300000 км/с) и длиной канала (72000 км).


Пропускная способность сетей с коммутацией пакетов


Одним из отличий метода коммутации пакетов от метода коммутации каналов является неопределенность пропускной способности соединения между двумя абонентами. В случае коммутации каналов после образования составного канала пропускная способность сети при передаче данных между конечными узлами известна — это пропускная способность канала. Данные после задержки, связанной с установлением канала, начинают передаваться на максимальной для канала скорости (рис. 7.1). Время передачи сообщения в сети с коммутацией каналов Тк.к. равно сумме задержки распространения сигнала по линии связи и задержки передачи сообщения. Задержка распространения сигнала зависит от скорости распространения электромагнитных волн в конкретной физической среде, которая колеблется от 0,6 до 0,9 скорости света в вакууме. Время передачи сообщения равно V/C, где V — объем сообщения в битах, а C — пропускная способность канала в битах в секунду.

В сети с коммутацией пакетов картина совсем иная.


Рис. 7.1. Задержки передачи данных в сетях с коммутацией каналов и пакетов.

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


Рис. 7.2. Задержки при передаче данных в сетях с коммутацией пакетов.

На рис. 7.2 показан пример передачи данных в сети с коммутацией пакетов. Предполагается, что по сети передается сообщение того же объема, что и сообщение, передаваемое на рис. 7.1. однако оно разделено на пакеты, каждый из которых снабжен заголовком. Время передачи сообщения в сети с коммутацией пакетов обозначено на рисунке Тк.п. При передаче этого разбитого на пакеты сообщения по сети с коммутацией пакетов возникают дополнительные задержки. Во-первых, это задержки в источнике передачи, который, помимо передачи собственно сообщения, тратит дополнительное время на передачу заголовков tп.з., к тому же добавляются задержки tинт, вызванные интервалами между передачей каждого следующего пакета (это время уходит на формирование очередного пакета стеком протоколов).

Во-вторых, дополнительное время тратится в каждом коммутаторе. Здесь задержки складываются из времени буферизации пакета tб.п. (коммутатор не может начать передачу пакета, не приняв его полностью в свой буфер) и времени коммутации tк. Время буферизации равно времени приема пакета с битовой скоростью протокола. Время коммутации складывается из времени ожидания пакета в очереди и времени перемещения пакета в выходной порт. Если время перемещения пакета фиксировано и, как правило, невелико (от нескольких микросекунд до нескольких десятков микросекунд), то время ожидания пакета в очереди колеблется в очень широких пределах и заранее неизвестно, так как зависит от текущей загрузки сети.

Проведем грубую оценку задержки при передаче данных в сетях с коммутацией пакетов по сравнению с сетями с коммутацией каналов на простейшем примере. Пусть тестовое сообщение, которое нужно передать в обоих видах сетей, имеет объем 200 Кбайт. Отправитель находится от получателя на расстоянии 5000 км. Пропускная способность линий связи составляет 2 Мбит/c.

Время передачи данных по сети с коммутацией каналов складывается из времени распространения сигнала, которое для расстояния 5000 км можно оценить примерно в 25 мс (принимая скорость распространения сигнала равной 2/3 скорости света), и времени передачи сообщения, которое при пропускной способности 2 Мбит/c и длине сообщения 200 Кбайт равно примерно 800 мс. При расчете корректное значение К (210), равное 1024, округлялось до 1000, аналогично значение М (220), равное 1048576, округлялось до 1000000. Таким образом, передача данных оценивается в 825 мс.

Ясно, что при передаче этого сообщения по сети с коммутацией пакетов, обладающей такой же суммарной длиной и пропускной способностью каналов, пролегающих от отправителя к получателю, время распространения сигнала и время передачи данных будут такими же — 825 мс. Однако из-за задержек в промежуточных узлах общее время передачи данных увеличится. Давайте оценим, на сколько возрастет это время. Будем считать, что путь от отправителя до получателя пролегает через 10 коммутаторов. Пусть исходное сообщение разбивается на пакеты в 1 Кбайт, всего 200 пакетов. Вначале оценим задержку, которая возникает в исходном узле. Предположим, что доля служебной информации, размещенной в заголовках пакетов, по отношению к общему объему сообщения составляет 10%. Следовательно, дополнительная задержка, связанная с передачей заголовков пакетов, составляет 10% от времени передачи целого сообщения, то есть 80 мс. Если принять интервал между отправкой пакетов равным 1 мс, то дополнительные потери за счет интервалов составят 200 мс. Таким образом, в исходном узле из-за пакетирования сообщения при передаче возникла дополнительная задержка в 280 мс.

Каждый из 10 коммутаторов вносит задержку коммутации, которая может составлять от долей до тысяч миллисекунд. В данном примере будем считать, что на коммутацию в среднем тратится 20 мс. Кроме того, при прохождении сообщений через коммутатор возникает задержка буферизации пакета. Эта задержка при величине пакета 1 Кбайт и пропускной способности линии 2 Мбит/c равна 4 мс. Общая задержка, вносимая 10 коммутаторами, составляет примерно 240 мс. В результате дополнительная задержка, созданная сетью с коммутацией пакетов, составила 520 мс. Учитывая, что вся передача данных в сети с коммутацией каналов заняла 825 мс, эту дополнительную задержку можно считать существенной.

Хотя приведенный расчет носит очень приблизительный характер, он объясняет, почему процесс передачи для определенной пары абонентов в сети с коммутацией пакетов является более медленным, чем в сети с коммутацией каналов.

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

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

При выборе размера пакета необходимо также учитывать интенсивность битовых ошибок канала. На ненадежных каналах необходимо уменьшать размеры пакетов, так как это сокращает объем повторно передаваемых данных при искажениях пакетов.

<

Протокол. Интерфейс. Стек протоколов


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

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


Рис. 11.4. Взаимодействие двух узлов.

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

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

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

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

Средства каждого уровня должны отрабатывать, во-первых, собственный протокол, а во-вторых, интерфейсы с соседними уровнями.

Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.

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

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

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

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

Чтобы еще раз пояснить понятия "протокол" и "интерфейс", рассмотрим пример, не имеющий отношения к вычислительным сетям, а именно, обсудим взаимодействие двух предприятий, А и B. Между этими предприятиями существуют многочисленные договоренности и соглашения, например о регулярных поставках продукции. В соответствии с договоренностью начальник отдела продаж предприятия А регулярно в начале каждого месяца посылает официальное сообщение начальнику отдела закупок предприятия B о том, сколько какого товара может быть поставлено в этом месяце. В ответ на это сообщение начальник отдела закупок предприятия B посылает заявку установленного образца на нужное количество продукции. Возможно, подобная процедура включает дополнительные согласования; в любом случае, существует установленный порядок взаимодействия, который можно считать "протоколом уровня начальников". Начальники посылают свои сообщения и заявки через секретарей. Порядок взаимодействия начальника и секретаря соответствует понятию межуровневого интерфейса "начальник — секретарь". На предприятии А обмен документами между начальником и секретарем идет через специальную папку, а на предприятии B начальник общается с секретарем по факсу. Таким образом, интерфейсы "начальник — секретарь" на этих двух предприятиях отличаются.

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


Рис. 11.5. Пример многоуровневого взаимодействия предприятий.

<

Прозрачность


Прозрачность (transparency) сети достигается в том случае, когда сеть представляется пользователям не как множество отдельных компьютеров, связанных между собой сложной системой кабелей, а как единая традиционная вычислительная машина с системой разделения времени. Известный лозунг компании Sun Microsystems "Сеть — это компьютер" — говорит именно о такой прозрачной сети.

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

Прозрачность — свойство сети скрывать от пользователя детали своего внутреннего устройства, что упрощает работу в сети.

Сеть должна скрывать все особенности операционных систем и различия в типах компьютеров. Пользователь компьютера Macintosh должен иметь возможность обращаться к ресурсам, поддерживаемым UNIX-системой, а пользователь UNIX — разделять информацию с пользователями Windows 95.
Подавляющее большинство пользователей ничего не хочет знать о внутренних форматах файлов или о синтаксисе команд UNIX. Пользователь терминала IBM 3270 должен иметь возможность обмениваться сообщениями с пользователями сети персональных компьютеров без необходимости вникать в секреты трудно запоминаемых адресов.

Концепция прозрачности применима к различным аспектам сети. Например, прозрачность расположения означает, что от пользователя не требуется знать местонахождение программных и аппаратных ресурсов, таких как процессоры, принтеры, файлы и базы данных. Имя ресурса не должно включать информацию о месте его расположения, поэтому имена типа mashine1:prog.c или \\ftp_serv\pub прозрачными не являются. Аналогично, прозрачность перемещения означает, что ресурсы могут свободно перемещаться из одного компьютера в другой без изменения имен. Еще одним из возможных аспектов прозрачности является прозрачность параллелизма, которая заключается в том, что процесс распараллеливания вычислений происходит автоматически, без участия программиста, при этом система сама распределяет параллельные ветви приложения по процессорам и компьютерам сети. В настоящее время нельзя сказать, что свойство прозрачности в полной мере присуще многим вычислительным сетям, это скорее цель, к которой стремятся разработчики современных сетей.


Расширяемость и масштабируемость


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

Расширяемость (extensibility) Масштабируемость (scalability)
Возможность сравнительно легкого добавления отдельных элементов сети Легкость расширения системы может обеспечиваться в некоторых весьма ограниченных пределах
Возможность добавления (необязательно легкого) элементов сети Масштабируемость означает, что наращивать сеть можно в очень широких пределах, при сохранении потребительских свойств сети

Расширяемость (extensibility) означает возможность сравнительно легкого добавления отдельных элементов сети (пользователей, компьютеров, приложений, служб), наращивания длины сегментов сети и замены существующей аппаратуры более мощной. При этом принципиально важно, что легкость расширения системы иногда может обеспечиваться в весьма ограниченных пределах. Например, локальная сеть Ethernet, построенная на основе одного сегмента толстого коаксиального кабеля, обладает хорошей расширяемостью, в том смысле, что позволяет без труда подключать новые станции. Однако такая сеть имеет ограничение на число станций — оно не должно превышать 30–40. Хотя сеть допускает физическое подключение к сегменту и большего числа станций (до 100), но при этом чаще всего резко снижается производительность сети. Наличие такого ограничения и является признаком плохой масштабируемости системы при хорошей расширяемости.

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



Разделяемая среда передачи данных


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


Рис. 5.6. Два однонаправленных физических канала.

В случае на рис.5.6 коммутаторы К1 и К2 связаны двумя однонаправленными физическими каналами, то есть такими каналами, по которым информация может передаваться только в одном направлении. В этом случае передающий интерфейс является активным, и физическая среда передачи находится целиком и полностью под его управлением. Пассивный интерфейс только принимает данные. Проблемы разделения канала между интерфейсами здесь нет. Заметим, однако, что задача мультиплексирования потоков данных в канале при этом сохраняется. На практике два однонаправленных канала, реализующие в целом дуплексную связь между двумя устройствами, обычно считаются одним дуплексным каналом, а два интерфейса одного устройства рассматриваются как передающая и принимающая части одного и того же интерфейса.


Рис. 5.7. Один полудуплексный канал.

На рисунке 5.7 коммутаторы К1 и К2 связаны каналом, который может передавать данные в обе стороны, но только попеременно. При этом возникает необходимость в механизме согласования доступа интерфейсов К1 и К2 к такому каналу. Обобщением этого варианта является случай, показанный на рис. 5.8, когда к каналу связи подключается несколько (больше двух) интерфейсов, образуя общую шину.


Рис. 5.8. Схема "общая шина".

Совместно используемый несколькими интерфейсами физический канал называют разделяемым2 (shared). Часто используется также термин "разделяемая среда" (shared media) передачи данных. Разделяемые каналы связи используются не только для связей типа коммутатор-коммутатор, но и для связей компьютер-коммутатор и компьютер-компьютер.

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

Несмотря на все эти сложности, в локальных сетях разделяемые среды используются очень часто. Этот подход, в частности, реализован в широко распространенных классических технологиях Ethernet, Token Ring, FDDI. В глобальных сетях разделяемые между интерфейсами среды практически не используются. Это объясняется тем, что большие временные задержки при распространении сигналов вдоль протяженных каналов связи приводят к слишком длительным переговорным процедурам доступа к разделяемой среде, сокращая до неприемлемого уровня долю полезного использования канала связи на передачу данных абонентов.

Однако в последние годы наметилась тенденция отказа от разделяемых сред передачи данных и в локальных сетях. Это связано с тем, что за достигаемое таким образом снижение стоимости сети приходится расплачиваться производительностью. Сеть с разделяемой средой при большом количестве узлов всегда будет работать медленнее, чем аналогичная сеть с индивидуальными линиями связи, так как пропускная способность индивидуальной линии связи достается одному компьютеру, а при совместном использовании — делится на все компьютеры сети. Часто с такой потерей производительности приходится мириться ради увеличения экономической эффективности сети. Не только в классических, но и в совсем новых технологиях, разработанных для локальных сетей, сохраняется режим разделяемых линий связи. Например, разработчики технологии Gigabit Ethernet, принятой в 1998 году в качестве нового стандарта, включили режим разделения передающей среды в свои спецификации наряду с режимом работы по индивидуальным линиям связи.

2 Нужно подчеркнуть, что термин "разделяемая среда" (shared media) традиционно относят именно к случаю разделения канала между интерфейсами и практически никогда – к случаю разделения канала между потоками.

<

Разные подходы к выполнению коммутации


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

Среди множества возможных подходов к решению задачи коммутации абонентов в сетях выделяют два основополагающих:

коммутация каналов (circuit switching); коммутация пакетов (packet switching).

Внешне обе эти схемы соответствуют приведенной на рис. 6.1 структуре сети, однако возможности и свойства их различны.


Рис. 6.1. Общая структура сети с коммутацией абонентов.

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



Роль персональных компьютеров в эволюции компьютерных сетей


Начало 80-х годов связано с еще одним знаменательным для истории сетей событием — появлением персональных компьютеров.

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

С точки зрения архитектуры персональные компьютеры ничем не отличались от мини-компьютеров типа PDP-11, но их стоимость была существенно ниже. Если с появлением мини-компьютера возможность иметь собственную вычислительную машину получили отделы предприятий или университеты, то создание персонального компьютера дало такую возможность отдельному человеку.

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

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



Сеансовый уровень


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

Сеансовый уровень — управление диалогом объектов прикладного уровня:

установление способа обмена сообщениями (дуплексный или полудуплексный); синхронизация обмена сообщениями; организация "контрольных точек" диалога.



Сеть доступа


Сеть доступа представляет собой нижний уровень иерархии телекоммуникационной сети.

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

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

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



Сетевой уровень


Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Рассмотрим их на примере объединения локальных сетей.

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

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

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


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

Сетевой уровень — доставка пакета:

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

На рис. 11.8 показаны четыре сети, связанные тремя маршрутизаторами. Между узлами А и В данной сети пролегает два маршрута: первый — через маршрутизаторы 1 и 3, а второй — через маршрутизаторы 1, 2 и 3.


Рис. 11.8. Пример составной сети.

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


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

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

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

На сетевом уровне определяется два вида протоколов. Первый вид — сетевые протоколы (routed protocols) — реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols).


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

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

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.


Сетевые службы и операционная система


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

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

Реализация сетевых служб осуществляется программными средствами. Все сетевые службы построены в архитектуре "клиент-сервер".

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

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

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

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

Для обеспечения прозрачности важен способ адресации (именования) разделяемых сетевых ресурсов. Имена разделяемых сетевых ресурсов не должны зависеть от их физического расположения на том или ином компьютере. В идеале пользователь не должен ничего менять в своей работе, если администратор сети переместил том или каталог с одного компьютера на другой. Сам администратор и сетевая операционная система имеют информацию о расположении файловых систем, но от пользователя она скрыта. Такая степень прозрачности пока редко встречается в сетях, — обычно для получения доступа к ресурсам определенного компьютера сначала приходится устанавливать с ним логическое соединение. Такой подход применяется, например, в сетях Windows NT.

<

Сетезависимые и сетенезависимые уровни


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

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

Три верхних уровня — прикладной, представительный и сеансовый — ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют какие бы то ни было изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet к высокоскоростной технологии 100VG-AnyLAN не потребует никаких изменений в программных средствах, реализующих функции прикладного, представительного и сеансового уровней.

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


Рис. 11.9. Сетезависимые и сетенезависимые уровни модели OSI.

На рис. 11.9 показаны уровни модели OSI, на которых работают различные элементы сети. Компьютер с установленной на нем сетевой ОС взаимодействует с другим компьютером с помощью протоколов всех семи уровней. Это взаимодействие компьютеры осуществляют опосредованно, через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа коммуникационное устройство может работать либо только на физическом уровне (повторитель), либо на физическом и канальном (мост), либо на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор). На рис. 11.10 показано соответствие функций различных коммуникационных устройств уровням модели OSI.


Рис. 11.10. Соответствие функций различных устройств сети уровням модели OSI.

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

<

Сети кампусов


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

Сети кампусов (рис. 10.4) объединяют множество сетей различных отделов одного предприятия в пределах отдельного здания или одной территории, покрывающей площадь в несколько квадратных километров. При этом глобальные соединения в сетях кампусов не используются. Службы такой сети включают взаимодействие между сетями отделов, доступ к общим базам данных предприятия, доступ к общим факс-серверам, высокоскоростным модемам и высокоскоростным принтерам. В результате сотрудники каждого отдела предприятия получают доступ к некоторым файлам и ресурсам сетей других отделов. Сети кампусов обеспечивают доступ к корпоративным базам данных независимо от того, на каких типах компьютеров они располагаются.


Рис. 10.4. Пример сети кампуса.

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



Сети масштаба предприятия


Корпоративные сети называют также сетями масштаба предприятия, что соответствует дословному переводу термина "enterprise-wide networks", используемого в англоязычной литературе для обозначения этого типа сетей. Сети масштаба предприятия (корпоративные сети) объединяют большое количество компьютеров на всех территориях отдельного предприятия. Они могут быть сложно связаны и способны покрывать город, регион или даже континент. Число пользователей и компьютеров может измеряться тысячами, а число серверов — сотнями, расстояния между сетями отдельных территорий бывают такими, что приходится использовать глобальные связи (рис. 10.5). Для соединения удаленных локальных сетей и отдельных компьютеров в корпоративной сети применяются разнообразные телекоммуникационные средства, в том числе телефонные каналы, радиоканалы, спутниковая связь. Корпоративную сеть можно представить в виде "островков локальных сетей", плавающих в телекоммуникационной среде.


Рис. 10.5. Пример корпоративной сети.

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

Сети предприятий (корпоративные сети) объединяют большое количество компьютеров на всех территориях отдельного предприятия. Для корпоративной сети характерны:

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

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

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

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

<

Сети операторов связи


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

сети операторов связи (сети провайдеров услуг) оказывают общедоступные услуги; корпоративные сети предоставляют услуги только сотрудникам того предприятия, которое владеет сетью.



Сети отделов


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

Главной целью сети отдела является разделение локальных ресурсов, таких как приложения, данные, лазерные принтеры и модемы. Обычно сети отделов имеют один или два файловых сервера, не более тридцати пользователей (рис. 10.3) и не разделяются на подсети. В этих сетях локализуется большая часть трафика предприятия. Сети отделов обычно создаются на основе какой-либо одной сетевой технологии — Ethernet, Token Ring. В такой сети чаще всего используется один или, максимум, два типа операционных систем. Небольшое количество пользователей позволяет применять в сетях отделов одноранговые сетевые ОС, например Windows 98.


Рис. 10.3. Пример сети масштаба отдела.

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

Существует и другой тип сетей, близкий к сетям отделов, — сети рабочих групп. К таким сетям относят совсем небольшие сети, включающие до 10–20 компьютеров. Характеристики сетей рабочих групп практически не отличаются от описанных выше характеристик сетей отделов. Такие свойства, как простота сети и однородность, здесь проявляются в наибольшей степени, в то время как сети отделов могут приближаться в некоторых случаях к следующему по масштабу типу сетей — сетям кампусов.



Совместимость


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



Стандартные стеки коммуникационных протоколов


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

TCP/IP; IPX/SPX; NetBIOS/SMB; DECnet; SNA; OSI.

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



Стандарты Internet


Особую роль в выработке международных открытых стандартов играют стандарты Internet. Ввиду постоянно растущей популярности Internet, эти стандарты становятся международными стандартами "де-факто", и многие из них приобретают впоследствии статус официальных международных стандартов за счет утверждения одной из вышеперечисленных организаций, в том числе ISO и ITU-T. Существует несколько организационных подразделений, отвечающих за развитие Internet и, в частности, за стандартизацию средств Internet.

Основным из них является Internet Society (ISOC) — профессиональное сообщество, которое занимается общими вопросами эволюции и роста Internet как глобальной коммуникационной инфраструктуры. Под управлением ISOC работает Internet Architecture Board (IAB) — организация, в ведении которой находится технический контроль и координация работ для Internet. IAB координирует направление исследований и новых разработок для стека TCP/IP и является конечной инстанцией при определении новых стандартов Internet.


Рис. 12.1. Cтандартизация Internet.

В IAB входят две основные группы: Internet Engineering Task Force (IETF) и Internet Research Task Force (IRTF). IETF — это инженерная группа, которая занимается решением наиболее актуальных технических проблем Internet. Именно IETF определяет спецификации, которые затем становятся стандартами Internet. В свою очередь, IRTF координирует долгосрочные исследовательские проекты по протоколам TCP/IP.

В любой организации, занимающейся стандартизацией, процесс выработки и принятия стандарта состоит из ряда обязательных этапов, которые, собственно, и составляют процедуру стандартизации. Рассмотрим эту процедуру на примере разработки стандартов Internet. (Рис. 12.2, на котором показана схема прохождения стандарта через все этапы, сам является документом RFC; заметим, что он выполнен средствами псевдографики, для того, чтобы его можно было прочесть практически в любой операционной среде.)

Сначала в IETF представляется так называемый рабочий проект (draft) в виде, доступном для комментариев (на рисунке данный этап обозначен enter). Он публикуется в Internet, после чего широкий круг заинтересованных лиц включается в обсуждение этого документа, в него вносятся исправления, и, наконец, наступает момент, когда можно зафиксировать содержание документа. На данном этапе проекту присваивается номер RFC (возможен и другой вариант развития событий — после обсуждения рабочий проект отвергается и удаляется из Internet). После присвоения номера проект приобретает статус предлагаемого стандарта (на рисунке proposed). В течение 6 месяцев этот предлагаемый стандарт проходит проверку практикой, в результате в него вносятся изменения. Если результаты практических исследований свидетельствуют об эффективности предлагаемого стандарта, то ему, со всеми внесенными изменениями, присваивается статус проекта стандарта (на рисунке draft std). Затем в течение как минимум 4-х месяцев проходят его дальнейшие испытания "на прочность", при этом создается по крайней мере две программных реализации. Если во время пребывания в ранге проекта стандарта в документ не было внесено никаких исправлений, ему может быть присвоен статус официального стандарта Internet (на рисунке standart).


Рис. 12.2. Стадии стандартизации протокола Internet.

Следует заметить, что все стандарты Internet носят название RFC с соответствующим порядковым номером, но далеко не все RFC являются стандартами Internet — часто эти документы представляют собой комментарии к какому-либо стандарту или просто описания некоторой проблемы Internet.

Список утвержденных официальных стандартов Internet публикуется в виде документа RFC и доступен в Internet, например по адресу http://ds.internic.net/rfs/rfc-index.txt

<

Стек IPX/SPX


Этот стек является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов. Протоколы сетевого и сеансового уровней Internetwork Packet Exchange (IPX и Sequenced Packet Exchange, SPX), которые дали название стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньшей степени, чем стек IPX/SPX.

Популярность стека IPX/SPX непосредственно связана с операционной системой Novell NetWare, которая долгое время сохраняла мировое лидерство по числу установленных систем, хотя в последнее время ее популярность намного снизилась, и по темпам роста она заметно отстает от Microsoft Windows NT.

Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare (до версии 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые быстро работали бы на процессорах небольшой вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень — в больших корпоративных сетях, так как они слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами). Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell, и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали его поле деятельности только сетями NetWare. Однако с момента выпуска версии NetWare 4.0 специалисты Novell внесли и продолжают вносить в протоколы серьезные изменения, направленные на их адаптацию для работы в корпоративных сетях. Сейчас стек IPX/SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС, например SCO UNIX, Sun Solaris, Microsoft Windows NT.



Стек NetBIOS/SMB


Этот стек широко применяется в продуктах компаний IBM и Microsoft. На его физическом и канальном уровнях используются все наиболее распространенные протоколы Ethernet, Token Ring, FDDI и другие. На верхних уровнях работают протоколы NetBEUI и SMB.

Протокол NetBIOS (Network Basic Input/Output System) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network компании IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI — NetBIOS Extended User Interface. Для обеспечения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций.

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

Некоторые ограничения NetBEUI снимаются в реализации этого протокола NBF (NetBEUI Frame), которая включена в операционную систему Microsoft Windows NT.

Протокол SMB (Server Message Block) выполняет функции сеансового, представительного и прикладного уровней. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями.

Стеки протоколов SNA компании IBM, DECnet корпорации Digital Equipment и AppleTalk/AFP компании Apple применяются в основном в операционных системах и сетевом оборудовании этих фирм.

На рис. 12.3 показано соответствие некоторых наиболее популярных протоколов уровням модели OSI. Часто это соответствие весьма условно, так как модель OSI — это только руководство к действию, причем достаточно общее, а конкретные протоколы разрабатывались для решения специфических задач, причем многие из них появились до разработки модели OSI. В большинстве случаев разработчики стеков отдавали предпочтение скорости работы сети в ущерб модульности: ни один стек, кроме стека OSI, не разбит на семь уровней. Чаще всего в стеке явно выделяются 3–4 уровня: уровень сетевых адаптеров, в котором реализуются протоколы физического и канального уровней, сетевой уровень, транспортный уровень и уровень служб, объединяющий функции сеансового, представительного и прикладного уровней.


Рис. 12.3. Соответствие популярных стеков протоколов модели OSI.

<

Стек OSI


Следует четко различать модель OSI и стек OSI. Если модель OSI является концептуальной схемой взаимодействия открытых систем, то стек OSI представляет собой набор вполне конкретных спецификаций протоколов.

В отличие от других стеков протоколов, стек OSI полностью соответствует модели OSI, он включает спецификации протоколов для всех семи уровней взаимодействия, определенных в этой модели. На нижних уровнях стек OSI поддерживает Ethernet, Token Ring, FDDI, протоколы глобальных сетей, X.25 и ISDN, — то есть использует разработанные вне стека протоколы нижних уровней, как и все другие стеки. Протоколы сетевого, транспортного и сеансового уровней стека OSI специфицированы и реализованы различными производителями, но распространены пока мало. Наиболее популярными протоколами стека OSI являются прикладные протоколы. К ним относятся: протокол передачи файлов FTAM, протокол эмуляции терминала VTP, протоколы справочной службы X.500, электронной почты X.400 и ряд других.

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

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


Стек OSI — независимый от производителей международный стандарт. Его поддерживает правительство США в своей программе GOSIP, в соответствии с которой все компьютерные сети, устанавливаемые в правительственных учреждениях США после 1990 года, должны или непосредственно поддерживать стек OSI, или обеспечивать средства для перехода на этот стек в будущем. Тем не менее, стек OSI более популярен в Европе, чем в США, так как в Европе осталось меньше старых сетей, работающих по собственным протоколам. Большинство организаций пока только планируют переход к стеку OSI, и очень немногие приступили к созданию пилотных проектов. Из тех, что работают в этом направлении, можно назвать Военно-морское ведомство США и сеть NFSNET. Одним из крупнейших производителей, поддерживающих OSI, является компания AT&T, ее сеть Stargroup полностью базируется на этом стеке.


Стек TCP/IP


Стек TCP/IP был разработан по инициативе Министерства обороны США более 20 лет назад для связи экспериментальной сети ARPAnet с другими сетями как набор общих протоколов для разнородной вычислительной среды. Большой вклад в развитие стека TCP/IP, который получил свое название от популярных протоколов IP и TCP, внесли специалисты из университета Беркли, реализовавшие протоколы стека в версии ОС UNIX. Популярность этой операционной системы привела к широкому распространению протоколов TCP, IP и других протоколов стека. Сегодня этот стек используется для связи компьютеров всемирной информационной сети Internet, а также в огромном количестве корпоративных сетей.

Стек TCP/IP на нижнем уровне поддерживает все популярные стандарты физического и канального уровней: для локальных сетей — это Ethernet, Token Ring, FDDI, для глобальных — протоколы работы на аналоговых коммутируемых и выделенных линиях SLIP, PPP, протоколы территориальных сетей X.25 и ISDN.

Основными протоколами стека, давшими ему название, являются протоколы IP и TCP. Эти протоколы в терминологии модели OSI относятся к сетевому и транспортному уровням, соответственно. IP обеспечивает продвижение пакета по составной сети, а TCP гарантирует надежность его доставки.

За долгие годы использования в сетях различных стран и организаций стек TCP/IP вобрал в себя большое количество протоколов прикладного уровня. К ним относятся такие популярные протоколы, как протокол пересылки файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы службы WWW и многие другие.


Сегодня стек TCP/ IP представляет собой один из самых распространенных стеков транспортных протоколов вычислительных сетей.

Действительно, только в сети Internet объединено около 10 миллионов компьютеров по всему миру, которые взаимодействуют друг с другом с помощью стека протоколов TCP/IP.

Стремительный рост популярности Internet привел и к изменениям в расстановке сил в мире коммуникационных протоколов — протоколы TCP/IP, на которых построен Internet, стали быстро теснить бесспорного лидера прошлых лет — стек IPX/SPX компании Novell. Сегодня в мире общее количество компьютеров, на которых установлен стек TCP/IP, превысило количество компьютеров, на которых работает стек IPX/SPX, и это говорит об изменении отношения администраторов локальных сетей к протоколам, используемым на настольных компьютерах, так как именно на них раньше почти везде работали протоколы компании Novell, необходимые для доступа к файловым серверам NetWare. Процесс продвижения стека TCP/IP на лидирующие позиции в любых типах сетей продолжается, и сейчас в комплекте поставки любой промышленной операционной системы обязательно имеется программная реализация этого стека.

Хотя протоколы TCP/IP неразрывно связаны с Internet, и каждый из многомиллионной армады компьютеров Internet работает на основе этого стека, существует большое количество локальных, корпоративных и территориальных сетей, непосредственно не являющихся частями Internet, в которых также используются протоколы TCP/IP. Чтобы отличать эти сети от Internet, их называют сетями TCP/IP или просто IP-сетями.



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

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

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

Однако платой за преимущества здесь оказываются высокие требования к ресурсам и сложность администрирования IP-сетей.Для реализации мощных функциональных возможностей протоколов стека TCP/IP требуются большие вычислительные затраты. Гибкая система адресации и отказ от широковещательных рассылок приводят к наличию в IP-сети различных централизованных служб типа DNS, DHCP и т. п. Каждая из этих служб упрощает администрирование сети и конфигурирование оборудования, но в то же время сама требует пристального внимания со стороны администраторов.

Можно приводить и другие доводы за и против, однако факт остается фактом — сегодня TCP/IP самый популярный стек протоколов, широко используемый как в глобальных, так и в локальных сетях.


Связь двух компьютеров


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


Рис. 3.2. Взаимодействие двух компьютеров.

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

Предположим, что мы связали компьютеры по кабелю через COM-порты, которые, как известно, реализуют интерфейс RS-232C (такое соединение часто называют нуль-модемным). Связь между компьютерами осуществляется аналогично связи компьютера с ПУ. Только теперь контроллеры и драйверы портов действуют с двух сторон. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В "настоящих" локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми адаптерами и их драйверами.)

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

Вернемся к последовательности действий, которые необходимо выполнить для распечатки текста на принтере "чужого" компьютера.

Приложение А формирует очередное сообщение (содержащее, например, строку, которую необходимо вывести на принтер) приложению В, помещает его в буфер оперативной памяти и обращается к ОС с запросом на передачу содержимого буфера на компьютер В. ОС компьютера А обращается к драйверу COM-порта, который инициирует работу контроллера. Действующие с обеих сторон пары драйверов и контроллеров COM-порта последовательно, байт за байтом, передают сообщение на компьютер В. Драйвер компьютера В периодически выполняет проверку на наличие признака завершения приема, устанавливаемого контроллером при правильно выполненной передаче данных, и при его появлении считывает принятый байт из буфера контроллера в оперативную память, тем самым делая его доступным для программ компьютера В. В некоторых случаях драйвер вызывается асинхронно, по прерываниям от контроллера. Аналогично реализуется и передача байта в другую сторону — от компьютера B к компьютеру A. Приложение В принимает сообщение, интерпретирует его, и в зависимости от того, что в нем содержится, формирует запрос к своей ОС на выполнение тех или иных действий с принтером.


В нашем примере сообщение содержит указание на печать текста, поэтому ОС передает драйверу принтера запрос на печать строки. Далее выполняются все действия 1-6, описывающие выполнение запроса приложения к ПУ в соответствии с рассмотренной ранее схемой "локальная ОС — драйвер ПУ — контроллер ПУ — устройство управления ПУ" (см. предыдущий раздел). В результате строка будет напечатана.

Мы рассмотрели последовательность работы системы при передаче только одного сообщения от приложения А к приложению В. Однако порядок взаимодействия этих двух приложений может предполагать неоднократный обмен сообщениями разного типа. Например, после успешной печати строки (в предыдущем примере) согласно правилам, приложение В должно послать сообщение-подтверждение. Это ответное сообщение приложение B помещает в буферную область оперативной памяти, а далее с помощью драйвера COM-порта передает его по каналу связи в компьютер А, где оно и попадает к приложению А.


Связь компьютера с периферийными устройствами


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

Для обмена данными компьютер и периферийное устройство (ПУ) оснащены внешними интерфейсами или портами (рис. 3.1). В данном случае к понятию "интерфейс" относятся:

электрический разъем; набор проводов, соединяющих устройства; совокупность правил обмена информацией по этим проводам.

Со стороны компьютера логикой передачи сигналов на внешний интерфейс управляют:

контроллер ПУ — аппаратный блок, часто реализуемый в виде отдельной платы; драйвер ПУ – программа, управляющая контроллером периферийного устройства.

Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и программно-управляемые периферийные устройства.

Обмен данными между ПУ и компьютером, как правило, является двунаправленным. Так, например, даже принтер, который представляет собой устройство вывода информации, возвращает в компьютер данные о своем состоянии.

Таким образом, по каналу, связывающему внешние интерфейсы, передается следующая информация:

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

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

Приложение обращается с запросом на выполнение операции печати к операционной системе. В запросе указываются: адрес данных в оперативной памяти, идентифицирующая информация принтера и операция, которую требуется выполнить. Получив запрос, операционная система анализирует его, решает, может ли он быть выполнен, и если решение положительное, то запускает соответствующий драйвер, передавая ему в качестве параметров адрес выводимых данных. Дальнейшие действия, относящиеся к операции ввода-вывода, со стороны компьютера реализуются совместно драйвером и контроллером принтера. Драйвер передает команды и данные контроллеру, который помещает их в свой внутренний буфер. Пусть, например, драйвер загружает значение некоторого байта в буфер контроллера ПУ. Контроллер перемещает данные из внутреннего буфера во внешний порт. Контроллер начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы сообщить устройству управления принтера о том, что начинается передача байта, перед передачей первого бита данных контроллер формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита — стоповый сигнал. Эти сигналы синхронизируют передачу байта. Кроме информационных бит, контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления принтера, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка корректности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления принтера устанавливается признак завершения приема информации. Наконец, принятый байт обрабатывается принтером — выполняется соответствующая команда или печатается символ.


Рис. 3.1. Связь компьютера с периферийным устройством.

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

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

Возможно распределение функций между драйвером и контроллером (УУ).

Функции, выполняемые драйвером:

ведение очередей запросов; буферизация данных; подсчет контрольной суммы последовательности байтов; анализ состояния ПУ; загрузка очередного байта данных (или команды) в регистр контроллера; считывание байта данных или байта состояния ПУ из регистра контроллера.

Функции, выполняемые контроллером:

преобразование байта из регистра (порта) в последовательность бит; передача каждого бита в линию связи; обрамление байта стартовым и стоповым битами – синхронизация; формирование бита четности; установка признака заврешения приема/передачи байта. установка признака заврешения приема/передачи байта. <

Территория покрытия


По степени охвата территории, на которой предоставляются услуги, операторы делятся на:

локальных; региональных; национальных; транснациональных.

Локальный оператор работает на территории города или сельского района.

Традиционный локальный оператор — это оператор городской телефонной сети, который владеет всей соответствующей транспортной инфраструктурой: физическими каналами между помещениями абонентов (квартирами, домами и офисами) и узлом связи, телефонными станциями (АТС) и каналами связи между телефонными станциями.

Сегодня к традиционным локальным операторам добавились альтернативные, которые часто являются провайдерами услуг нового типа, прежде всего, связанных с Internet, но иногда конкурируют с традиционными операторами и в области телефонии. Несмотря на демонополизацию телекоммуникационной отрасли, физическими каналами доступа к абонентам по-прежнему владеют традиционные локальные операторы, то есть "Городские телефонные сети" (ГТС), поэтому альтернативным операторам проще оказывать высокоуровневые услуги, не столь сильно зависящие от наличия прямой связи с абонентом, такие, например, как доступ в Internet, размещение в своих узлах информационных ресурсов и т.п. А для организации доступа к этим ресурсам абонентам приходится заключать договор с традиционным оператором, который направляет трафик непосредственно подключенных к нему абонентов в сеть альтернативного оператора, если абонент подписался на соответствующую услугу. Здесь мы видим естественную специализацию операторов — каждый занимается тем делом, для которого больше подходит имеющаяся инфраструктура, при этом сотрудничество дает дополнительный эффект, порождая новые услуги.

Региональные и национальные операторы оказывают услуги на большой территории, также располагая соответствующей инфраструктурой. Традиционные операторы этого масштаба выполняют транзитную передачу телефонного трафика между телефонными станциями локальных операторов, имея в своем распоряжении крупные транзитные АТС, связанные высокоскоростными физическими каналами связи. Это операторы операторов, их клиентами являются, как правило, локальные операторы или крупные предприятия, имеющие отделения и филиалы в различных городах региона или страны. Располагая развитой транспортной инфраструктурой, такие операторы обычно оказывают услуги дальней связи, передавая транзитом большие объемы информации без какой-либо обработки. Альтернативные операторы регионального и национального масштаба могут иметь собственную транспортную инфраструктуру, но это не обязательно. В первом случае они конкурируют с традиционными операторами на рынке услуг дальней связи, а во втором стараются оказывать дополнительные информационные услуги, заключая договоры с большим числом локальных операторов, а также с каким-либо из операторов, предоставляющих услуги дальней связи, – для организации взаимодействия между своими информационными ресурсами.

<

Топология физических связей


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

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


Рис. 4.1. Варианты связи компьютеров.

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

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

Среди множества возможных конфигураций различают полносвязные и неполносвязные:


Полносвязная топология (рис. 4.2) соответствует сети, в которой каждый компьютер непосредственно связан со всеми остальными. Несмотря на логическую простоту, это вариант громоздкий и неэффективный. Действительно, каждый компьютер в сети должен иметь большое количество коммуникационных портов, достаточное для связи с каждым из остальных компьютеров. Для каждой пары компьютеров должна быть выделена отдельная физическая линия связи. (В некоторых случаях даже две, если невозможно использование этой линии для двусторонней передачи.) Полносвязные топологии в крупных сетях применяются редко, так как для связи N узлов требуется N(N-1)/2 физических дуплексных линий связи, т.е. имеет место квадратическая зависимость. Чаще этот вид топологии используется в многомашинных комплексах или в сетях, объединяющих небольшое количество компьютеров.


Рис. 4.2. Полносвязная конфигурация.

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

Ячеистая топология (mesh1) получается из полносвязной путем удаления некоторых возможных связей. Ячеистая топология допускает соединение большого количества компьютеров и характерна для крупных сетей (рис 4.3).


Рис. 4.3. Ячеистая топология.

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


Рис. 4.4. Топология "кольцо".

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


Рис. 4.5. Топология "звезда".

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


Рис. 4.6. Топология "иерархическая звезда" или "дерево".

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


Рис. 4.7. Топология "общая шина".

Основными преимуществами такой схемы являются низкая стоимость и простота наращивания, т..е. присоединения новых узлов к сети.

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

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


Рис. 4.8. Смешанная топология.

1 Иногда термин "mesh" используют и для обозначения полносвязной или близкой к полносвязной топологий.
2 В данном случае термин "концентратор" используется в широком смысле, им обозначается любое многовходовое устройство, способное служить центральным элементом, например коммутатор или маршрутизатор.

<

Транспортный уровень


На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

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

Транспортный уровень — обеспечение доставки информации с требуемым качеством между любыми узлами сети:

разбивка сообщения сеансового уровня на пакеты, их нумерация; буферизация принимаемых пакетов; упорядочивание прибывающих пакетов; адресация прикладных процессов; управление потоком.

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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


Управляемость


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

Управляемость сети подразумевает возможность централизованно контролировать состояние основных элементов сети, выявлять и решать проблемы, возникающие при работе сети, выполнять анализ производительности и планировать развитие сети.

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

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

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

В настоящее время в области систем управления сетями много нерешенных проблем. Явно недостаточно действительно удобных, компактных и многопротокольных средств управления сетью. Большинство существующих средств вовсе не управляют сетью, а всего лишь осуществляют наблюдение за ее работой. Они следят за сетью, но не выполняют активных действий, если с сетью что-то произошло или может произойти. Мало масштабируемых систем, способных обслуживать как сети масштаба отдела, так и сети масштаба предприятия, — очень многие системы управляют только отдельными элементами сети и не анализируют способность сети выполнять качественную передачу данных между конечными пользователями.


Услуги, провайдеры услуг и сетевая инфраструктура


Операторы связи осуществляют свою деятельность на коммерческой основе, заключая договоры с потребителями услуг.

Услуги можно разделить на несколько уровней и групп, используя разные критерии классификации.

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

телефонные услуги; услуги компьютерных сетей.


Рис. 10.2. Классификация услуг телекоммуникационной сети (закрашенные области соответствуют традиционным услугам операторов связи).

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


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

Услуги можно классифицировать в зависимости от того, предоставляется ли клиенту дополнительная информация:

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

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

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



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

Клиенты

Все множество клиентов — потребителей инфотелекоммуникационных услуг — можно разделить на два больших лагеря:

массовые индивидуальные клиенты; корпоративные клиенты.

Массовые индивидуальные клиенты

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

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


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

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

Корпоративные клиенты

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

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


Прежде всего, такой услугой является виртуальная частная сеть (Virtual Private Network, VPN), когда оператор связи создает для предприятия иллюзию того, что все его отделения и филиалы соединены частной, то есть полностью принадлежащей и управляемой предприятием-клиентом сетью, в то время как на самом деле при этом используется сеть оператора, то есть общедоступная сеть, одновременно передающая данные многих клиентов. Услуги VPN могут предоставляться как для телефонии (например, корпоративные пользователи звонят по сокращенным внутренним номерам), так и для сетей передачи данных.

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

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

Одни операторы оказывают услуги как массовым, так и корпоративным клиентам, другие специализируются только на одной категории потребителей.


В сетях с выделенными серверами


В больших сетях наряду с отношениями клиент-сервер сохраняется необходимость и в одноранговых связях, поэтому такие сети чаще всего строятся по гибридной схеме (рис. 9.7).


Рис. 9.7. Гибридная сеть.



Виртуальные каналы в сетях с коммутацией пакетов


Механизм виртуальных каналов (virtual circuit или virtual channel) создает в сети устойчивые пути следования трафика через сеть с коммутацией пакетов. Этот механизм учитывает существование в сети потоков данных.

Если целью является прокладка для всех пакетов потока единого пути через сеть, то необходимым (но не всегда единственным) признаком такого потока должно быть наличие для всех его пакетов общих точек входа и выхода из сети. Именно для передачи таких потоков в сети создаются виртуальные каналы. На рисунке 7.5 показан фрагмент сети, в которой проложены два виртуальных канала. Первый проходит от конечного узла с адресом N1, A1 до конечного узла с адресом N2, A2 через промежуточные коммутаторы сети R1, R3 и R4. Второй обеспечивает продвижение данных по пути N3, A3 — R5 — R7 — R4 — N2, A2. Между двумя конечными узлами может быть проложено несколько виртуальных каналов, как полностью совпадающих в отношении пути следования через транзитные узлы, так и отличающихся.


Рис. 7.5. Принцип работы виртуального канала.

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

Важной особенностью сетей с виртуальными каналами является использование локальных адресов пакетов при принятии решения о передаче. Вместо достаточно длинного адреса узла назначения (его длина должна позволять уникально идентифицировать все узлы и подсети в сети, например технология АТМ оперирует адресами длиной в 20 байт) применяется локальная, то есть меняющаяся от узла к узлу, метка, которой помечаются все пакеты, перемещаемые по определенному виртуальному каналу. Эта метка в различных технологиях называется по-разному: в технологии X.25 — номер логического канала (Logical Channel number, LCN), в технологии frame relay — идентификатор соединения уровня канала данных (Data Link Connection Identifier, DLCI), в технологии АТМ — идентификатор виртуального канала (Virual Channel Identifier, VCI). Однако назначение ее везде одинаково — промежуточный узел, называемый в этих технологиях коммутатором, читает значение метки из заголовка пришедшего пакета и просматривает свою таблицу коммутации, в которой указывается, на какой выходной порт нужно передать пакет. Таблица коммутации содержит записи только о проходящих через данный коммутатор виртуальных каналах, а не обо всех имеющихся в сети узлах (или подсетях, если применяется иерархический способ адресации). Обычно в крупной сети количество проложенных через узел виртуальных каналов существенно меньше количества узлов и подсетей, поэтому по размерам таблица коммутации намного меньше таблицы маршрутизации, а, следовательно, просмотр занимает гораздо меньше времени и не требует от коммутатора большой вычислительной мощности.

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

<

Задача физической передачи данных по линиям связи


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

При соединении "точка-точка" на первый план выходит задача физической передачи данных по линиям связи. Эта задача среди прочего включает:

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

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

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

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

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

На способ передачи сигналов влияет и количество проводов в линиях связи между компьютерами. Чтобы снизить стоимость линий связи в сетях, разработчики стараются сократить количество проводов и из-за этого используют не параллельную передачу всех бит одного байта или даже нескольких байт, как это делается внутри компьютера, а последовательную, побитную передачу, требующую всего одной пары проводов.

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

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


Рис. 3.4. Задачи физической передачи данных.

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

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

<