Домой /  Интернет / Описание модели osi. Модель OSI – это просто! Функции транспортного уровня модели osi

Описание модели osi. Модель OSI – это просто! Функции транспортного уровня модели osi

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

Уважающий себя системный администратор должен хорошо разбираться в сетевых терминах

В переводе с английского - базовая эталонная модель взаимодействия открытых систем. Точнее, сетевая модель стека сетевых протоколов OSI/ISO. Введена в 1984 году в качестве концептуальной основы, разделившей процесс отправки данных во всемирной паутине на семь несложных этапов. Она не является самой популярной, так как затянулась разработка спецификации OSI. Стек протоколов TCP/IP выгоднее и считается основной используемой моделью. Впрочем, у вас есть огромный шанс столкнуться с моделью OSI на должности системного администратора или в IT-сфере.

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

Спросите, какая же в этом польза для вас? Знание многоуровневой модели даст вам возможность свободного общения с сотрудниками IT-компаний, обсуждение сетевых неполадок уже не будет гнетущей скукой. А когда вы научитесь понимать, на каком этапе произошёл сбой, сможете легко находить причины и значительно сокращать диапазон своей работы.

Уровни OSI

Модель содержит в себе семь упрощённых этапов:

  • Физический.
  • Канальный.
  • Сетевой.
  • Транспортный.
  • Сеансовый.
  • Представительский.
  • Прикладной.

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

Перейдём к непосредственному знакомству с уровнями.

Физический уровень

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

Функции физического этапа осуществляются абсолютно на каждом устройстве, подключённом к сети. Например, сетевой адаптер реализовывает эти функции со стороны компьютера. Вы могли уже столкнуться с протоколами первого шага: RS -232, DSL и 10Base-T, определяющими физические характеристики канала связи.

Канальный уровень

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

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

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

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

Если объяснить по-другому, то третий шаг обрабатывает интернет-протокол и исполняет функцию маршрутизатора: поиск наилучшего пути для информации. Маршрутизатор - устройство, собирающее данные о структуре межсетевых соединений и передающее пакеты в сеть назначения (транзитные передачи - хопы). Если вы сталкиваетесь с ошибкой в IP-адресе, то это проблема, возникшая на сетевом уровне. Протоколы третьего этапа разбиваются на сетевые, маршрутизации или разрешения адресов: ICMP, IPSec, ARP и BGP.

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

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

Как выбрать класс услуг транспортного этапа? Когда качество каналов транспортировки связи высокое, адекватным выбором окажется облегчённый сервис. Если каналы связи в самом начале работают небезопасно, целесообразно прибегнуть к развитому сервису, который обеспечит максимальные возможности для поиска и решения проблем (контроль поставки данных, тайм-ауты доставки). Спецификации четвёртого этапа: TCP и UDP стека TCP/IP, SPX стека Novell.

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

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

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

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

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

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

Седьмой этап в нашем списке и первый, если программа отправляет данные через сеть. Состоит из наборов спецификаций, через которые юзер , Web-страницам. Например, при отправке сообщений по почте именно на прикладном уровне выбирается удобный протокол. Состав спецификаций седьмого этапа очень разнообразен. К примеру, SMTP и HTTP, FTP, TFTP или SMB.

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

Рассмотрев модель OSI, вы смогли разобраться со сложной структурой работы сети и теперь понимаете суть вашей работы. Всё становится довольно просто, когда процесс разбивается на части!

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

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

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

шеф-редактор

модель

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

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

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

Рис. 1.1. Модель взаимодействия открытых систем ISO/OSI

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

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

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

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

Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).

Функции уровней модели ISO/OSI

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

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

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

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

В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стек OSI

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

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

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


Рис. 1.3. Стек OSI

На стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN. Эти протоколы будут подробно обсуждены в других разделах пособия.

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

Сервисыприкладного уровня включают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее перспективными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VT), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). В последнее время ISO сконцентрировала свои усилия именно на сервисах верхнего уровня.

X.400

- это семейство рекомендаций Международного консультативного комитета по телеграфии и телефонии (CCITT), в которых описываются системы пересылки электронных сообщений. На сегодняшний день рекомендации X.400 являются наиболее популярным протоколом обмена сообщениями. Рекомендации Х.400 описывают модель системы обмена сообщениями, протоколы взаимодействия между всеми компонентами этой системы, а также множество видов сообщений и возможности, которыми обладает отправитель по каждому виду отправляемых сообщений.

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

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

Над базой данных имен и адресов определены следующие операции:

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

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

ПротоколVT решает проблему несовместимости различных протоколов эмуляции терминалов. Сейчас пользователю персонального компьютера, совместимого с IBM PC, для одновременной работы с компьютерами VAX, IBM 3090 и HP9000 нужно приобрести три различные программы для эмуляции терминалов различных типов и использующих разные протоколы. Если бы каждый хост-компьютер имел бы в своем составе программное обеспечение протокола эмуляции терминала ISO, то и пользователю бы понадобилась только одна программа, поддерживающая протокол VT. В своем стандарте ISO аккумулировала широко распространенные функции эмуляции терминалов.

Передача файлов - это наиболее распространенный компьютерный сервис. Доступ к файлам, как к локальным, так и к удаленным, нужен всем приложениям - текстовым редакторам, электронной почте, базам данных или программам удаленного запуска. ISO предусматривает такой сервис в протоколеFTAM . Наряду со стандартом X.400, это наиболее популярный стандарт стека OSI. FTAM предусматривает средства для локализации и доступа к содержимому файла и включает набор директив для вставки, замены, расширения и очистки содержимого файла. FTAM также предусматривает средства для манипулирования файлом как единым целым, включая создание, удаление, чтение, открытие, закрытие файла и выбор его атрибутов.

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

Стек TCP/IP

Стек TCP/IP, называемый также стеком DoD и стеком Internet, является одним из наиболее популярных и перспективных стеков коммуникационных протоколов. Если в настоящее время он распространен в основном в сетях с ОС UNIX, то реализация его в последних версиях сетевых операционных систем для персональных компьютеров (Windows NT, NetWare) является хорошей предпосылкой для быстрого роста числа установок стека TCP/IP.

Стек был разработан по инициативе Министерства обороны США (Department of Defence, DoD) более 20 лет назад для связи экспериментальной сети ARPAnet с другими сателлитными сетями как набор общих протоколов для разнородной вычислительной среды. Сеть ARPA поддерживала разработчиков и исследователей в военных областях. В сети ARPA связь между двумя компьютерами осуществлялась с использованием протокола Internet Protocol (IP), который и по сей день является одним из основных в стеке TCP/IP и фигурирует в названии стека.

Большой вклад в развитие стека TCP/IP внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Широкое распространение ОС UNIX привело и к широкому распространению протокола IP и других протоколов стека. На этом же стеке работает всемирная информационная сеть Internet, чье подразделение Internet Engineering Task Force (IETF) вносит основной вклад в совершенствование стандартов стека, публикуемых в форме спецификаций RFC.

Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.

Структура протоколов TCP/IP приведена на рисунке 1.4. Протоколы TCP/IP делятся на 4 уровня.

Рис. 1.4. Стек TCP / IP

Самый нижний (уровень IV ) - уровень межсетевых интерфейсов - соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных каналов это Ethernet, Token Ring, FDDI, для глобальных каналов - собственные протоколы работы на аналоговых коммутируемых и выделенных линиях SLIP/PPP, которые устанавливают соединения типа "точка - точка" через последовательные каналы глобальных сетей, и протоколы территориальных сетей X.25 и ISDN. Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня.

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

К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информацииRIP (Routing Internet Protocol) иOSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщенийICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизатором и шлюзом, системой-источником и системой-приемником, то есть для организации обратной связи. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.

Следующий уровень (уровень II ) называется основным. На этом уровне функционируют протокол управления передачейTCP (Transmission Control Protocol) и протокол дейтаграмм пользователяUDP (User Datagram Protocol). Протокол TCP обеспечивает устойчивое виртуальное соединение между удаленными прикладными процессами. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным методом, то есть без установления виртуального соединения, и поэтому требует меньших накладных расходов, чем TCP.

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

ПротоколSNMP (Simple Network Management Protocol) используется для организации сетевого управления. Проблема управления разделяется здесь на две задачи. Первая задача связана с передачей информации. Протоколы передачи управляющей информации определяют процедуру взаимодействия сервера с программой-клиентом, работающей на хосте администратора. Они определяют форматы сообщений, которыми обмениваются клиенты и серверы, а также форматы имен и адресов. Вторая задача связана с контролируемыми данными. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в шлюзах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые хост или шлюз должен сохранять, и допустимые операции над ними.

Протокол пересылки файловFTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол, FTP предлагает и другие услуги. Так пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов, FTP позволяет пользователю указывать тип и формат запоминаемых данных. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль.

В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файловTFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.

Протоколtelnet обеспечивает передачу потока байтов между процессами, а также между процессом и терминалом. Наиболее часто этот протокол используется для эмуляции терминала удаленной ЭВМ.

Стек IPX/SPX

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

Семейство протоколов фирмы Novell и их соответствие модели ISO/OSI представлено на рисунке 1.5.

Рис. 1.5. Стек IPX / SPX

Нафизическом и канальном уровнях в сетях Novell используются все популярные протоколы этих уровней (Ethernet, Token Ring, FDDI и другие).

Насетевом уровне в стеке Novell работает протоколIPX , а также протоколы обмена маршрутной информациейRIP иNLSP (аналог протокола OSPF стека TCP/IP). IPX является протоколом, который занимается вопросами адресации и маршрутизации пакетов в сетях Novell. Маршрутные решения IPX основаны на адресных полях в заголовке его пакета, а также на информации, поступающей от протоколов обмена маршрутной информацией. Например, IPX использует информацию, поставляемую либо протоколом RIP, либо протоколом NLSP (NetWare Link State Protocol) для передачи пакетов компьютеру назначения или следующему маршрутизатору. Протокол IPX поддерживает только дейтаграммный способ обмена сообщениями, за счет чего экономно потребляет вычислительные ресурсы. Итак, протокол IPX обеспечивает выполнение трех функций: задание адреса, установление маршрута и рассылку дейтаграмм.

Транспортному уровнюмодели OSI в стеке Novell соответствует протокол SPX, который осуществляет передачу сообщений с установлением соединений.

На верхнихприкладном, представительном и сеансовом уровнях работают протоколы NCP и SAP. ПротоколNCP (NetWare Core Protocol) является протоколом взаимодействия сервера NetWare и оболочки рабочей станции. Этот протокол прикладного уровня реализует архитектуру клиент-сервер на верхних уровнях модели OSI. С помощью функций этого протокола рабочая станция производит подключение к серверу, отображает каталоги сервера на локальные буквы дисководов, просматривает файловую систему сервера, копирует удаленные файлы, изменяет их атрибуты и т.п., а также осуществляет разделение сетевого принтера между рабочими станциями.

(Service Advertising Protocol) - протокол объявления о сервисе - концептуально подобен протоколу RIP. Подобно тому, как протокол RIP позволяет маршрутизаторам обмениваться маршрутной информацией, протокол SAP дает возможность сетевым устройствам обмениваться информацией об имеющихся сетевых сервисах.

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

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

Особенности стека 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

Фирмы Microsoft и IBM совместно работали над сетевыми средствами для персональных компьютеров, поэтому стек протоколов NetBIOS/SMB является их совместным детищем. Средства NetBIOS появились в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM, которая на прикладном уровне (рис. 1.6) использовала для реализации сетевых сервисов протокол SMB (Server Message Block).

Рис. 1.6. Стек NetBIOS / SMB

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

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

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

Из-за большого количества приложений, которые используют функции API, предоставляемые NetBIOS, во многих сетевых ОС эти функции реализованы в виде интерфейса к своим транспортным протоколам. В NetWare имеется программа, которая эмулирует функции NetBIOS на основе протокола IPX, существуют программные эмуляторы NetBIOS для Windows NT и стека TCP/IP.

для чего нужно нам сие ценное знание? (editorial)

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

  • troubleshooting (
обнаружение и устранение неполадок)

Приходит к вам как к админу(опытному сетевику) юзер(просто приятель) и говорит -- у меня тут "не соединяет". Нету, говорит, сети и все тут. Начинаете разбираться. Так вот, исходя из опята наблюдения за ближними своими, я заметила, что действия человека, "не осознающего модель OSI в сердце своем", отличаются характерной хаотичностью: то провод подергает, то вдруг в браузере что-то поковыряет. И приводит это зачастую к тому, что двигаясь без направления такой "специалист" подергает что угодно и где угодно, кроме как в области неполадки, убив кучу своего и чужого времени. При осознании же существования уровней взаимодействия движение будет более последовательным. И хотя отправная точка может быть разной (в каждой попадавшейся мне книге рекомнедации несколько различались), общая логическая посылка поиска неисправности такова -- если на уровне Х взаимодействие осуществляется корректно, то и на уровне Х-1 скорее всего тоже все в порядке. По крайней мере для каждого конкретногомомента времени. Производя траблшутинг в IP-сетях лично я начинаю "копать" от второго уровня стека DOD, он же третий уровень OSI, он же Internet Protocol. Во первых потому, что наиболее легко произвести "поверхностный осмотр пациента" (пациент скорее пингуется, чем не пингуется), ну и во вторых, если, слава те Господи, пингуется, можно отринуть малоприятные манипуляции с тестированием кабеля, сетевых карт и разборок и прочими приятными вещами;) Хотя в особо тяжелых случаях придется начинать все-таки с уровня первого, причем самым серьезным образом.

  • взаимопонимание с коллегами

Для иллюстрирования этого пункта приведу вам в качестве примера такую байку из жизни. Однажды знакомые мои из одной небольшой фирмы позвали меня в гости помочь разобраться, почему сеть нехорошо работает, и дать какие-нибудь рекомендации на сей счет. Прихожу я в контору. А у них там оказывается даже админ есть, называемый по старой доброй традиции "программист" (а вообще-то он FoxPro в основном занимается;) -- старой доперестроечной закалки IT-специалист. Ну я у него спрашиваю, что у вас за сеть? Он: "В смысле? Ну просто сеть". Сеть, в общем, как сеть. Ну я наводящие вопросы: на сетевом уровне какой протокол используется? Он: "А это ГДЕ?" Я уточняю: "Ну IP или IPX или что там у вас..." "О" -- говорит, -- "кажется да: IPX/еще-там-что-то!" Кстати, "еще-там-что-то", как вы могли заметить, от сетевого уровня чуть-чуть повыше расположен, ну да не суть... Что характерно, он эту сеть построил и даже худо бедно сопровождал. Не удивительно что она зачахла-то... ;) А знал бы про OSI -- в 5 минут бы схемку нацарапал -- от 10Base-2 до прикладных программ. И не пришлось бы под стол лазить -- коаксиальные провода обозревать.

  • изучение новых технологий

На этом важном аспекте я уже останавливалась в предисловии и еще раз повторюсь: при изучении нового протокола следует в первую же очередь разобраться а) в каком стеке(ах) протоколов его место и б) в какой именно части стека и с кем взаимодействует снизу и кто с ним сверху может... :) И полноя ясность в голове от этого наступит. А форматы сообщений да API разновсякие -- ну это уже дело техники:)

Модель взаимодействия открытых систем OSI (англ. Open System Interconnection) – это набор стандартов взаимодействия сетевого оборудования между собой. Также ее называют стеком протоколов. Разработана для того, чтобы различные объекты сети вне зависимости от производителя и типа (компьютер, сервер, коммутатор, хаб и даже браузер, отображающий html страницу) соблюдали единые правила работы с данными и могли успешно осуществлять информационный обмен.

Сетевые устройства бывают разными по функциям и «близости» к конечному потребителю – человеку или приложению. Поэтому модель OSI описывает 7 уровней взаимодействия, на каждом из которых работают свои протоколы, неделимые порции данных, устройства. Разберем принцип работы семиуровневой модели OSI с примерами.

Сетевые уровни модели OSI

Физический

Отвечает за физическую передачу данных между устройствами на большие и не очень расстояния. Он описывает виды сигналов и способы их обработки для разных сред передачи: проводов (витой пары и коаксиала), оптического волокна, радиолинии (wi-fi и bluetooth), инфракрасного канала. Единицы данных на этом уровне – биты, преобразованные в электрические импульсы, свет, радиоволны и т.д. Также тут фиксируются типы разъемов, их распиновка.

Устройства, работающие на физическом уровне модели ОСИ (OSI Model): повторители сигнала, концентраторы (хабы). Это наименее «интеллектуальные» устройства, задачей которых является усиление сигнала или его разветвление без какого-либо анализа и модификации.

Канальный

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

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

Также тут впервые всплывает понятие адреса. Здесь – это MAC (англ. Media Access Control) адрес – шестибайтовый идентификатор сетевого устройства, необходимый для указания в кадрах в качестве получателя и отправителя при передаче данных в рамках одного локального сегмента.

Устройства: сетевой мост (bridge), коммутатор. Их преимущественное отличие от «нижних» устройств – ведение таблиц MAC адресов по своим портам и рассылка/фильтрация трафика уже только по необходимым направлениям.

Сетевой

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

Единица передаваемой информации – пакеты. Адресация узлов и сетей производится присвоением им 4-байтовых номеров – IP (англ. Internet Protocol) адресов, иерархически организованных, и позволяющих гибко настраивать взаимную логическую видимость сегментов сетей.

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

Транспортный

Транспортировка в этом случае подразумевается логическая (так как за физическую отвечает 1 ступень стека): установление соединения с противоположным узлом на соответствующем уровне, подтверждение доставки полученных данных, контроль их качества. Так работает протокол TCP (англ. Transmission Control Protocol). Передаваемая порция информации – блок или сегмент.

Для передачи же потоковых массивов (датаграмм) используется протокол UDP (англ. User Datagram Protocol).

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

Сеансовый

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

Представительский

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

Прикладной

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

Пример работы сетевой модели

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

  • На прикладном формируется сообщение: помимо фото и текста к посылке добавляется информация об адресе сервера сообщений (символьное имя www.xxxxx.com при помощи специального протокола превратится в десятичный IP адрес), идентификаторе получателя на этом сервере, возможно еще какая-нибудь служебная информация.
  • На представительском — фотография может быть сжата, если, ее размер велик с точки зрения мессенджера и его настроек.
  • Сеансовый отследит логическую подключенность пользователя к серверу, его статус. Также им будет контролироваться процесс передачи данных после его начала, отслеживание сессии.
  • На транспортном данные разбиваются на блоки. Добавляются служебные поля транспортного уровня с контрольными суммами, опциями контроля ошибок и т.д. Одна фотография может превратиться в несколько блоков.
  • На сетевом — блоки оборачиваются служебной информацией, в которой содержатся в том числе адрес узла-отправителя и адрес IP сервера сообщений. Именно эта информация позволит IP пакетам дойти до сервера, возможно, через весь мир.
  • На канальном , данные IP пакетов упаковываются в кадры с добавлением служебных полей, в частности MAC адресов. Адрес собственной сетевой карты будет помещен в поле отправителя, а в поле получателя будет помещен MAC шлюза по умолчанию опять же из собственных сетевых настроек (вряд ли компьютер находится с сервером в одной сети, соответственно MAC его неизвестен, а шлюз по умолчанию, например, домашнего роутера – известен).
  • На физическом — биты из кадров будут транслированы в радиоволны, и дойдут посредством wi-fi протокола до домашнего роутера.
  • Там информация поднимется по стеку протоколов уже до 3 уровня стека роутера, далее будет произведено перенаправление пакетов до маршрутизаторов провайдера. И так далее, пока на сервере мессенджера, на самом верхнем уровне сообщение и фотография в исходных видах не попадут на личное дисковое пространство отправителя, затем получателя. И затем начнется аналогичный путь информации уже к адресату сообщения, когда тот выйдет в онлайн и установит сессию с сервером.
OSI включает семь уровней. На рис. 1.5 показана модель взаимодействия двух устройств: узла источника (source) и узла назначения ( destination ). Совокупность правил, по которым происходит обмен данными между программно-аппаратными средствами, находящимися на одном уровне, называется протоколом . Набор протоколов называется стеком протоколов и задается определенным стандартом. Взаимодействие между уровнями определяется стандартными интерфейсами .


Рис. 1.5.

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

Виртуальный обмен между соответствующими уровнями узлов A и B ( рис. 1.6) происходит определенными единицами информации. На трех верхних уровнях – это сообщения или данные (Data) , на транспортном уровне – сегменты (Segment) , на сетевом уровне – пакеты (Packet) , на канальном уровне – кадры (Frame ) и на физическом – последовательность битов.

Для каждой сетевой технологии существуют свои протоколы и свои технические средства, часть из которых имеет условные обозначения, приведенные на рис. 1.5 . Данные обозначения введены фирмой Cisco и стали общепринятыми. Среди технических средств физического уровня следует отметить кабели, разъемы, повторители сигналов (repeater) , многопортовые повторители или концентраторы (hub), преобразователи среды (transceiver) , например, преобразователи электрических сигналов в оптические и наоборот. На канальном уровне – это мосты (bridge), коммутаторы (switch) . На сетевом уровне – маршрутизаторы (router) . Сетевые карты или адаптеры ( Network Interface Card – NIC ) функционируют как на канальном, так и на физическом уровне, что обусловлено сетевой технологией и средой передачи данных .


Рис. 1.6.

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

Самый верхний, Прикладной уровень (Application Layer) 7 оперирует наиболее общей единицей данных – сообщением. На этом уровне реализуется управление общим доступом к сети, потоком данных, сетевыми службами, такими, как FTP, TFTP, HTTP, SMTP, SNMP и др.

Представительский уровень (Presentation Layer) 6 изменяет форму представления данных. Например, передаваемые с уровня 7 данные преобразуются в общепринятый формат ASCII . При приеме данных происходит обратный процесс. На уровне 6 также происходит шифрация и сжатие данных.

Сеансовый уровень (Session Layer) 5 устанавливает сеанс связи двух конечных узлов (компьютеров), определяет, какой компьютер является передатчиком, а какой приемником, задает для передающей стороны время передачи.

Транспортный уровень (Transport Layer) 4 делит большое сообщение узла источника информации на части, при этом добавляет заголовок и формирует сегменты определенного объема, а короткие сообщения может объединять в один сегмент. В узле назначения происходит обратный процесс. В заголовке сегмента задаются номера порта источника и назначения, которые адресуют службы верхнего прикладного уровня для обработки данного сегмента. Кроме того, транспортный уровень обеспечивает надежную доставку пакетов. При обнаружении потерь и ошибок на этом уровне формируется запрос повторной передачи, при этом используется протокол TCP . Когда необходимость проверки правильности доставленного сообщения отсутствует, то используется более простой и быстрый протокол дейтаграмм пользователя ( User Datagram Protocol – UDP ).

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

Канальный уровень (Data Link) 2 формирует из пакетов кадры данных (frames). На этом уровне задаются физические адреса устройства-отправителя и устройства-получателя данных. Например, физический адрес устройства может быть прописан в ПЗУ сетевой карты компьютера. На этом же уровне к передаваемым данным добавляется контрольная сумма , определяемая с помощью алгоритма циклического кода . На приемной стороне по контрольной сумме определяют и по возможности исправляют ошибки.

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

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

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


Рис. 1.7.

На сетевом уровне сегмент инкапсулируется в пакет данных, заголовок (header ) которого содержит, кроме прочего, сетевые (логические) адреса отправителя информации (источника) – Source Address (SA ) и получателя (назначения) – Destination Address (DA ). В данном курсе – это IP -адреса.

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

Название информационных единиц на каждом уровне, их размер и другие параметры инкапсуляции задаются согласно протоколу единиц данных ( Protocol Data Unit – PDU ). Итак, на трех верхних уровнях – это сообщение (Data) , на Транспортном уровне 4 – сегмент (Segment) , на Сетевом уровне 3 – пакет (Packet) , на Канальном уровне 2 – кадр (Frame) , на Физическом Уровне 1 – последовательность бит .

Помимо семиуровневой OSI модели на практике применяется четырехуровневая модель TCP / IP ( рис. 1.8).


Рис. 1.8.

Прикладной уровень модели TCP / IP по названию совпадает с названием модели OSI , но по функциям гораздо шире, поскольку охватывает три верхних сетенезависимых уровня (прикладной, представительский и сеансовый). Транспортный уровень обеих моделей и по названию, и по функциям одинаков. Сетевой уровень модели OSI соответствует межсетевому (Internet ) уровню модели TCP / IP , а два нижних уровня (канальный и физический) представлены объединенным уровнем доступа к сети (Network Access ).


Рис. 1.9.

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

Краткие итоги

  1. Телекоммуникационная сеть образуется совокупностью абонентов и узлов связи, соединенных линиями (каналами) связи.
  2. Различают сети: с коммутацией каналов , когда телекоммуникационные узлы выполняют функции коммутаторов , и с коммутацией пакетов (сообщений), когда телекоммуникационные узлы выполняют функции маршрутизаторов.
  3. Для создания маршрута в разветвленной сети необходимо задавать адреса источника и получателя сообщения . Различают физические и логические адреса .
  4. Сети передачи данных с коммутацией пакетов подразделяются на локальные и глобальные.
  5. Сети технологии IP являются дейтаграммными, когда отсутствует предварительное соединение конечных узлов и нет подтверждения приема сообщения.
  6. Высокую надежность обеспечивает

Для облегчения понимания работы всех сетевых устройств, перечисленных в статье Сетевые устройства , касательно уровней сетевой эталонной модели OSI, Я сделал схематичные рисунки с небольшими комментариями.

Для начала вспомним уровни эталонной сетевой модели OSI и инкапсулирование данных.

Посмотрите, как происходит передача данных между двумя соединенными компьютерами. Заодно Я выделю работу сетевой карты на компьютерах, т.к. именно она является сетевым устройством, а компьютер – в принципе нет. (Все картинки кликабельны - для увеличения картинки кликните по ней.)


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

Повторитель. Концентратор.

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


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

Сетевой мост. Коммутатор.

Сетевой мост и коммутатор тоже работают на одном уровне (канальном) и изображаются они соответственно одинаково.


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

Маршрутизатор.


Как Вы видите, маршрутизатор (или роутер) – это устройство третьего уровня. Вот как примерно роутер функционирует: На порт поступает сигнал, и роутер распознаёт его. Распознанный сигнал (биты) формируют фреймы (кадры). Сверяется контрольная сумма в трейлере и MAC-адрес получателя. Если все проверки прошли успешно, фреймы формируют пакет. На третьем уровне маршрутизатор исследует заголовок пакета. В нем присутствует IP адрес пункта назначения (получателя). На основе IP-адреса и собственной таблицы маршрутизации роутер выбирает наилучший путь следования пакеты к получателю. Выбрав путь, роутер инкапсулирует пакет в фреймы, а затем в биты и отправляет их в виде сигналов на соответствующий порт (выбранный в таблице маршрутизации).

Заключение

В заключении Я объединил все устройства в одной картинке.


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