Логическая топология сети передачи данных

Помимо физической топологии сети передачи данных, предполагается и логическая топология сети. Логическая топология определяет маршруты передачи данных в сети. Существуют такие конфигурации, в которых логическая топология отличается от физической. Например, сеть с физической топологией «звезда» может иметь логическую топологию «шина» – все зависит от того, каким образом устроен сетевой коммутатор или интернет-шлюз, маршрутизатор (VLAN, наличиеVPN, и т.п.).

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

· в логических шинных топологиях каждый сигнал принимается всеми устройствами;

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

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

 

3 Модель открытого сетевого взаимодействия OSI

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

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

Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель, которая определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью ISO/OSI.

Опишем кратко процесс передачи информации в компьютерных сетях, опираясь на модель OSI (рис. 11).

Уровни 1-2 — это, в основном, коммуникационное оборудование и их драйверы. Уровень 3 представлен маршрутизаторами и сетевым программным обеспечением. Уровни 4-7 — различные сетевые программы.

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

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

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

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

Таким образом, сетевым программам и драйверам каждого из уровней 2-7 не нужно вникать в подробности проблем доставки нижних уровней. Программы ВС1 работают с такими же программами в ВС2, используя виртуальную связь, каждая на своем уровне. Формат данных, правила их передачи между двумя узлами на одном уровне называются сетевым протоколом. Компьютеры с различными протоколами несовместимы для передачи данных. Виды сетевых протоколов будут описаны ниже в этой главе.

Стеком (семейством) протоколов называется стандартизованный набор протоколов, охватывающий нескольких уровней. Раньше фирмы выпускали компьютеры и сетевое оборудование, поддерживающие только свои стеки протоколов, из-за чего возникали проблемы несовместимости. Сейчас все популярные стеки протоколов стали включаться в состав сетевых операционных систем различных производителей. Наиболее распространенные стеки коммуникационных протоколов — TCP/IP, NetBIOS/SMB, IPX/SPX.

Рассмотрим назначение и функции каждого уровня модели OSI более детально. Рекомендуется также доступное объяснение, приведенное в работе [4].

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

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

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

Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных на кабеле, и другие характеристики среды и электрических сигналов.

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

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

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

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

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

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

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

Таким образом, внутри сети доставка данных регулируется канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень. Блоки данных сетевого уровня принято называть «пакетами» (packet). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети.

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

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

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

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

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

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

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

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

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

В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

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

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

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

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

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

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

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

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

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

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

Проблемы совместимости.

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

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

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

 

 

4 Стек TCP/IP


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: