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

Но цель этой статьи -- не философские рассуждения о методологии обучения. Мне хотелось бы представить вниманию начинающих сетевиков тообщее и главное, от которого, как от печки, можно танцевать к самым навороченным частным лавочкам. Понимая семиуровневую модель 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 разновсякие -- ну это уже дело техники:)




Разработана эта модель была в далеком 1984 году Международной организацией по стандартизации (International Standard Organization, ISO), и в оригинале называется Open Systems Interconnection, OSI.
Модель взаимодействия открытых систем (по факту - модель сетевого взаимодействия) является стандартом для проектирования сетевых коммуникаций и предполагает уровневый подход к построению сетей.
Каждый уровень модели обслуживает различные этапы процесса взаимодействия. Посредством деления на уровни сетевая модель OSI упрощает совместную работу оборудования и программного обеспечения. Модель OSI разделяет сетевые функции на семь уровней: прикладной, уровень представления, сессионный, транспортный, сетевой, канальный и физический.


  • Физический уровень (Physical layer) - определяет способ физического соединения компьютеров в сети. Функциями средств, относящихся к данному уровню, являются побитовое преобразование цифровых данных в сигналы, передаваемые по физической среде (например, по кабелю), а также собственно передача сигналов.
  • Канальный уровень (Data Link layer) - отвечает за организацию передачи данных между абонентами через физический уровень, поэтому на данном уровне предусмотрены средства адресации, позволяющие однозначно идентифицировать отправителя и получателя во всем множестве абонентов, подключенных к обще линии связи. В функции данного уровня также входит упорядочивание передачи с целью параллельного использования одной линии связи несколькими парами абонентов. Кроме того, средства канального уровня обеспечивают проверку ошибок, которые могут возникать при передаче данных физическим уровнем.
  • Сетевой уровень (Network layer) - обеспечивает доставку данных между компьютерами сети, представляющей собой объединение различных физических сетей. Данный уровень предполагает наличие средств логической адресации, позволяющих однозначно идентифицировать компьютер в объединенной сети. Одной из главных функций, выполняемых средствами данного уровня, является целенаправленная передача данных конкретному получателю.
  • Транспортный уровень (Transport layer) - реализует передачу данных между двумя программами, функционирующими на разных компьютерах, обеспечивая при этом отсутствие потерь и дублирования информации, которые могут возникать в результате ошибок передачи нижних уровней. В случае, если данные, передаваемые через транспортный уровень, подвергаются фрагментации, то средства данного уровня гарантируют сборку фрагментов в правильном порядке.
  • Сессионный (или сеансовый) уровень (Session layer) - позволяет двум программам поддерживать продолжительное взаимодействие по сети, называемое сессией (session) или сеансом. Этот уровень управляет установлением сеанса, обменом информацией и завершением сеанса. Он также отвечает за идентификацию, позволяя тем самым только определенным абонентам принимать участие в сеансе, и обеспечивает работу служб безопасности с целью упорядочивания доступа к информации сессии.
  • Уровень представления (Presentation layer) - осуществляет промежуточное преобразование данных исходящего сообщения в общий формат, который предусмотрен средствами нижних уровней, а также обратное преобразование входящих данных из общего формата в формат, понятный получающей программе.
  • Прикладной уровень (Application layer) - предоставляет высокоуровневые функции сетевого взаимодействия, такие, как передача файлов, отправка сообщений по электронной почте и т.п.

Модель OSI простым языком


Модель OSI – это аббревиатура от английского Open System Interconnection, то есть модель взаимодействия открытых систем. Под открытыми системами можно понимать сетевое оборудование (компьютеры с сетевыми картами, коммутаторы, маршрутизаторы).
Сетевая модель OSI представляет собой схему работы (или план действий по обмену данными) для сетевых устройств. Также OSI играет роль в создании новых сетевых протоколов, так как служит эталоном взаимодействия.
OSI состоит из 7 блоков (уровней). Каждый блок выполняет свою уникальную роль в сетевом взаимодействии различных сетевых устройств.
7 уровней модели OSI: 1 - Физический, 2 - Канальный, 3 - Сетевой, 4 - Транспортный, 5 - Сеансовый, 6 - Представления, 7 - Приложений.
На каждом уровне модели есть собственный набор сетевых протоколов (стандартов передачи данных), с помощью которых устройства в сети обмениваются данными.
Запомните, чем сложнее сетевое устройство, тем больше возможностей оно предоставляет, но и больше уровней занимает, и как следствие – медленней работает.

Сетевые модели. Часть 1. OSI.


Определенно начинать лучше с теории, и затем, плавно, переходить к практике. Поэтому сначала рассмотрим сетевую модель (теоретическая модель), а затем приоткроем занавес на то, как теоретическая сетевая модель вписывается в сетевую инфраструктуру (на сетевое оборудование, компьютеры пользователей, кабели, радиоволны и т.д.).
Итак, сетевая модель - это модель взаимодействия сетевых протоколов. А протоколы в свою очередь, это стандарты, которые определяют каким образом, будут обмениваться данными различные программы.
Поясню на примере: открывая любую страничку в интернете, сервер (где находится открываемая страничка) пересылает в Ваш браузер данные (гипертекстовый документ) по протоколу HTTP. Благодаря протоколу HTTP Ваш браузер, получая данные с сервера, знает, как их требуется обработать, и успешно обрабатывает их, показывая Вам запрашиваемую страничку.
Если Вы еще не в курсе что из себя представляет страничка в интернете, то объясню в двух словах: любой текст на веб-страничке заключен в специальные теги, которые указывают браузеру какой размер текста использовать, его цвет, расположение на странице (слева, справа или по центру). Это касается не только текста, но и картинок, форм, активных элементов и вообще всего контента, т.е. того, что есть на страничке. Браузер, обнаруживая теги, действует согласно их предписанию, и показывает Вам обработанные данные, которые заключены в эти теги. Вы и сами можете увидеть теги этой странички (и этот текст между тегами), для этого зайдите в меню вашего браузера и выберите - просмотр исходного кода.
Не будем сильно отвлекаться, "Сетевая модель" нужная тема для тех, кто хочет стать специалистом. Эта статья состоит из 3х частей и для Вас, Я постарался написать не скучно, понятливо и коротко. Для получения подробностей, или получения дополнительного разъяснения отпишитесь в комментариях внизу страницы, и я непременно помогу Вам.
Мы, как и в Сетевой Академии Cisco рассмотрим две сетевые модели: модель OSI и модель TCP/IP (иногда её называют DOD), а заодно и сравним их.

Эталонная сетевая модель OSI


OSI расшифровывается как Open System Interconnection. На русском языке это звучит следующим образом: Сетевая модель взаимодействия открытых систем (эталонная модель). Эту модель можно смело назвать стандартом. Именно этой модели придерживаются производители сетевых устройств, когда разрабатывают новые продукты.
Сетевая модель OSI состоит из 7 уровней, причем принято начинать отсчёт с нижнего.
Перечислим их:
7. Прикладной уровень (application layer)
6. Представительский уровень или уровень представления (presentation layer)
5. Сеансовый уровень (session layer)
4. Транспортный уровень (transport layer)
3. Сетевой уровень (network layer)
2. Канальный уровень (data link layer)
1. Физический уровень (physical layer)

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

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


Прикладной уровень или уровень приложений(application layer) – это самый верхний уровень модели. Он осуществляет связь пользовательских приложений с сетью. Эти приложения нам всем знакомы: просмотр веб-страниц (HTTP), передача и приём почты (SMTP, POP3), приём и получение файлов (FTP, TFTP), удаленный доступ (Telnet) и т.д.

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


Представительский уровень или уровень представления данных (presentation layer) – он преобразует данные в соответствующий формат. На примере понять проще: те картинки (все изображения) которые вы видите на экране, передаются при пересылке файла в виде маленьких порций единиц и ноликов (битов). Так вот, когда Вы отправляете своему другу фотографию по электронной почте, протокол Прикладного уровня SMTP отправляет фотографию на нижний уровень, т.е. на уровень Представления. Где Ваша фотка преобразуется в удобный вид данных для более низких уровней, например в биты (единицы и нолики).
Именно таким же образом, когда Ваш друг начнет получать Ваше фото, ему оно будет поступать в виде все тех же единиц и нулей, и именно уровень Представления преобразует биты в полноценное фото, например JPEG.
Вот так и работает этот уровень с протоколами (стандартами) изображений (JPEG, GIF, PNG, TIFF), кодировок (ASCII, EBDIC), музыки и видео (MPEG) и т.д.

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


Сеансовый уровень или уровень сессий(session layer) – как видно из названия, он организует сеанс связи между компьютерами. Хорошим примером будут служить аудио и видеоконференции, на этом уровне устанавливается, каким кодеком будет кодироваться сигнал, причем этот кодек должен присутствовать на обеих машинах. Еще примером может служить протокол SMPP (Short message peer-to-peer protocol), с помощью него отправляются хорошо известные нам СМСки и USSD запросы. И последний пример: PAP (Password Authentication Protocol) – это старенький протокол для отправки имени пользователя и пароля на сервер без шифрования.
Больше про сеансовый уровень ничего не скажу, иначе углубимся в скучные особенности протоколов. А если они (особенности) Вас интересуют, пишите письма мне или оставляйте сообщение в комментариях с просьбой раскрыть тему более подробно, и новая статья не заставит себя долго ждать;)

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


Транспортный уровень (transport layer) – этот уровень обеспечивает надёжность передачи данных от отправителя к получателю. На самом деле всё очень просто, например вы общаетесь с помощью веб-камеры со своим другом или преподавателем. Нужна ли здесь надежная доставка каждого бита переданного изображения? Конечно нет, если потеряется несколько битов из потокового видео Вы даже этого не заметите, даже картинка не изменится (м.б. изменится цвет одного пикселя из 900000 пикселей, который промелькнет со скоростью 24 кадра в секунду).
А теперь приведем такой пример: Вам друг пересылает (например, через почту) в архиве важную информацию или программу. Вы скачиваете себе на компьютер этот архив. Вот здесь надёжность нужна 100%, т.к. если пару бит при закачке архива потеряются – Вы не сможете затем его разархивировать, т.е. извлечь необходимые данные. Или представьте себе отправку пароля на сервер, и в пути один бит потерялся – пароль уже потеряет свой вид и значение изменится.
Таким образом, когда мы смотрим видеоролики в интернете, иногда мы видим некоторые артефакты, задержки, шумы и т.п. А когда мы читаем текст с веб-страницы – потеря (или скжение) букв не допустима, и когда скачиваем программы – тоже все проходит без ошибок.
На этом уровне я выделю два протокола: UDP и TCP. UDP протокол (User Datagram Protocol) передает данные без установления соединения, не подтверждает доставку данных и не делает повторы. TCP протокол (Transmission Control Protocol), который перед передачей устанавливает соединение, подтверждает доставку данных, при необходимости делает повтор, гарантирует целостность и правильную последовательность загружаемых данных.
Следовательно, для музыки, видео, видеоконференций и звонков используем UDP (передаем данные без проверки и без задержек), а для текста, программ, паролей, архивов и т.п. – TCP (передача данных с подтверждением о получении, затрачивается больше времени).

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


Сетевой уровень (network layer) – этот уровень определяет путь, по которому данные будут переданы. И, между прочим, это третий уровень Сетевой модели OSI, а ведь существуют такие устройства, которые как раз и называют устройствами третьего уровня – маршрутизаторы.
Все мы слышали об IP-адресе, вот это и осуществляет протокол IP (Internet Protocol). IP-адрес – это логический адрес в сети.
На этом уровне достаточно много протоколов и все эти протоколы мы разберем более подробно позже, в отдельных статьях и на примерах. Сейчас же только перечислю несколько популярных.
Как об IP-адресе все слышали и о команде ping – это работает протокол ICMP.
Те самые маршрутизаторы (с которыми мы и будет работать в дальнейшем) используют протоколы этого уровня для маршрутизации пакетов (RIP, EIGRP, OSPF).
Вся вторая часть курса CCNA (Exploration 2) о маршрутизации.

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


Канальный уровень (data link layer) – он нам нужен для взаимодействия сетей на физическом уровне. Наверное, все слышали о MAC-адресе, вот он является физическим адресом. Устройства канального уровня – коммутаторы, концентраторы и т.п.
IEEE (Institute of Electrical and Electronics Engineers - Институт инженеров по электротехнике и электронике) определяет канальный уровень двумя подуровнями: LLC и MAC.
LLC – управление логическим каналом (Logical Link Control), создан для взаимодействия с верхним уровнем.
MAC – управление доступом к передающей среде (Media Access Control), создан для взаимодействия с нижним уровнем.
Объясню на примере: в Вашем компьютере (ноутбуке, коммуникаторе) имеется сетевая карта (или какой-то другой адаптер), так вот для взаимодействия с ней (с картой) существует драйвер. Драйвер – это некоторая программа - верхний подуровень канального уровня, через которую как раз и можно связаться с нижними уровнями, а точнее с микропроцессором (железо) – нижний подуровень канального уровня.
Типичных представителей на этом уровне много. PPP (Point-to-Point) – это протокол для связи двух компьютеров напрямую. FDDI (Fiber Distributed Data Interface) – стандарт передаёт данные на расстояние до 200 километров. CDP (Cisco Discovery Protocol) – это проприетарный (собственный) протокол принадлежащий компании Cisco Systems, с помощью него можно обнаружить соседние устройства и получить информацию об этих устройствах.
Вся третья часть курса CCNA (Exploration 3) об устройствах второго уровня.

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


Физический уровень (physical layer) – самый нижний уровень, непосредственно осуществляющий передачу потока данных. Протоколы нам всем хорошо известны: Bluetooth, IRDA (Инфракрасная связь), медные провода (витая пара, телефонная линия), Wi-Fi, и т.д.
Подробности и спецификации ждите в следующих статьях и в курсе CCNA. Вся первая часть курса CCNA (Exploration 1) посвящена модели OSI.

Заключение


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

После недолгих размышлений решил поместить сюда статью с сайта Сетевых заморочек . Чтобы всё лежало в одном месте.

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

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


Разделение функций с помощью сетевой модели


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


Взаимодействие между уровнями сетевой модели OSI


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


Работа не некоторых уровнях сетевой модели OSI


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


Общение двух систем с позиции модели OSI


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


Демонстрация принципа инкапсуляции


Модель OSI подразделяет все функции, выполняемые при взаимодействии систем на 7 уровней: Физический(Physical) - 1, Канальный(Data link) -2, Сетевой(network) – 3, Транспортный(transport) – 4, Сеансовый(Session) -5, Представительский(Presentation) -6 и Прикладной (Application) - 7.


Уровни модели взаимодействия открытых систем


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

Прикладной уровень является точкой, через которую приложения общаются с сетью (точка входа в модель OSI). С помощью данного уровня модели OSI выполняется следующие задачи: управление сетью, управление занятостью системы, управление передачей файлов, идентификация пользователей по их паролям. Примерами протоколов данного уровня являются: HTTP, SMTP, RDP и д.р. Очень часто протоколы прикладного уровня выполняют одновременно функции протоколов представительского и сеансового уровней.


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


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


Протоколы данного уровня сетевой модели OSI отвечают за передачу данных от одной системы другой. На данном уровне большие блоки данных разделяются на более мелкие блоки, пригодные для обработки сетевым уровнем (очень мелкие блоки данных объединяются в более крупные), данные блоки соответствующим образом маркируются для их последующего восстановления на принимающей стороне. Так же при использовании соответствующих протоколов данный уровень способен обеспечить контроль доставки пакетов сетевого уровня. Блок данных, которым оперируют данный уровень обычно называется сегментом. Примерами протоколов данного уровня являются: TCP, UDP, SPX, ATP и д.р.


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


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


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


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

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


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


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



Таблица состоит из двух колонок, на первоначальном этапе нас интересует лишь правая. Читать таблицу будем снизу вверх (а как иначе:)). На самом деле это не моя прихоть, а делаю так для удобства усвоения информации - от простого к сложному. Поехали!


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



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


1) Физический (phisical) - к нему относится так называемая "среда передачи данных", т.е. провода, оптический кабель, радиоволна (в случае безпроводных соединений) и подобные. Например, если ваш компьютер подключен к интернету по кабелю, то за качество передачи данных на первом, физическом уровне, отвечают провода, контакты на конце провода, контакты разъёма сетевой карты вашего компьютера, а также внутренние электрические схемы на платах компьютера. У сетевых инженеров есть понятие "проблема с физикой" - это означает, что специалист усмотрел виновником "непередачи" данных устройство физического уровня, например где-то оборван сетевой кабель, или низкий уровень сигнала.


2) Канальный (datalink) - тут уже намного интереснее. Для понимания канального уровня нам придётся сначала усвоить понятие MAC-адреса, поскольку именно он будет главным действующим лицом в этой главе:). MAC-адрес ещё называют "физическим адресом", "аппаратным адресом". Представляет он собой набор из 12-и символов в шестнадцатиричной системе исчисления, разделённые на 6 октетов тире или двоеточием, например 08:00:27:b4:88:c1. Нужен он для однозначной идентификации сетевого устройства в сети. Теоритически, MAC-адрес является глобально уникальным, т.е. нигде в мире такого адреса быть не может и он "зашивается" в сетевое устройство на стадии производства. Однако, есть несложные способы его сменить на произвольный, да к тому же некоторые недобросовестные и малоизвестные производители не гнушаются тем, что клепают например, партию из 5000 сетевых карт с ровно одним и тем же MAC`ом. Соответственно, если как минимум два таких "брата-акробата" появятся в одной локальной сети, начнутся конфликты и проблемы.


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


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


Итак, IP-адрес - если не вдаваться в детали, то это некий набор 12 цифр в десятеричной ("обычной") системе исчисления, разделённые на 4 октета, разделённых точкой, который присваиватеся сетевому устройству при подключении к сети. Тут нужно немного углубиться: например, многим известен адрес из ряда 192.168.1.23. Вполне очевидно, что тут никак не 12 цифр. Однако, если написать адрес в полном формате, всё становится на свои места - 192.168.001.023. Ещё глубже копать не будем на данном этапе, поскольку IP-адресация - это отдельная тема для рассказа и показа.


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


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


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


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


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


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


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


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


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


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


На схеме ниже это будет видно более наглядно:


Модель состоит из 7-ми уровней, расположенных друг над другом. Уровни взаимодействуют друг с другом (по «вертикали») посредством интерфейсов, и могут взаимодействовать с параллельным уровнем другой системы (по «горизонтали») с помощью протоколов. Каждый уровень может взаимодействовать только со своими соседями и выполнять отведённые только ему функции. Подробнее можно посмотреть на рисунке.

Прикладной (Приложений) уровень (англ. Application layer )

Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления . Пример: POP3, FTP.

Представительский (Уровень представления) (англ. Presentation layer )

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

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

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

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

Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT - формат изображений, применяемый для передачи графики QuickDraw между программами для компьютеров Macintosh и PowerPC. Другим форматом представлений является тэгированный формат файлов изображений JPEG.

Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов MPEG, используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и Session layer )

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

Транспортный уровень (англ. Transport layer )

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

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

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

Сетевой уровень (англ. Network layer )

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

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

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

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

Канальный уровень (англ. Data Link layer )

Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные он упаковывает во фреймы , проверяет на целостность, если нужно исправляет ошибки (посылает повторный запрос поврежденного кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня - MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.

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

Физический уровень (англ. Physical layer )

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

Источники

  • Александр Филимонов Построение мультисервисных сетей Ethernet, bhv, 2007 ISBN 978-5-9775-0007-4
  • Руководство по технологиям объединенных сетей //cisco systems , 4-е издание, Вильямс 2005 ISBN 584590787X

Wikimedia Foundation . 2010 .

Смотреть что такое "Модель OSI" в других словарях:

    Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к… … Википедия

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

    Open Systems Interconnection Basic Reference Model базовая эталонная модель взаимодействия открытых систем абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень… … Словарь бизнес-терминов

    - (Модель TCP/IP) (англ. Department of Defense Министерство обороны США) модель сетевого взаимодействия, разработанная Министерством обороны США, практической реализацией которой является стек протоколов TCP/IP. Содержание 1 Уровни … Википедия

    ATP Название: Apple Talk Protocol Уровень (по модели OSI): Транспортный Семейство: TCP/IP Создан в: 2002 г. Порт/ID: 33/IP Назначение протокола: Аналог UDP с контролем плотности трафика Спецификация: RFC 4340 Основные реализац … Википедия

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

Общие сведения

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

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

Итак, сколько уровней в сетевой модели OSI и какие они?

  1. Физический.
  2. Канальный.
  3. Сетевой.
  4. Транспортный.
  5. Сеансовый.
  6. Представительский.
  7. Прикладной.

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

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

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

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

Протоколы, которые здесь задействованы: провод (витая пара, оптика, телефонный кабель и другие), среды беспроводной передачи данных (к примеру, Bluetooth или Wi-Fi) и так далее.

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

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

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

Подразделяется на два подуровня:

  1. LLC — управляет логическим каналом.
  2. MAC — работа с доступом непосредственно к физической среде.

Для облегчения понимания разберем следующий пример.

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

Протоколы используются следующие: PPP (связность двух ПК прямым образом), FDDI (передача данных на расстояние менее двухсот километров), CDP (собственный протокол компании Cisco, используемый для обнаружения и получения информации о соседних сетевых устройствах).

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

Это уровень модели OSI, отвечающий за маршруты, по которым идет передача данных. Устройства, которые работают на этой ступени, называются маршрутизаторами. Данные на этом уровне передаются пакетами. На канальном уровне устройство определялось при помощи физического адреса (MAC), а на сетевом начинают фигурировать IP-адреса — логический адрес какого-либо устройства сети, интерфейса.

Рассмотрим функции сетевого уровня модели OSI.

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

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

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

Рассмотрим список протоколов сетевого уровня модели OSI. Это упомянутый раньше IP, который входит в стек TCP/IP, ICMP (отвечает за передачу управляющих и сервисных данных), IGMP (групповая передача данных, мультикаст), BGP (осуществление динамической маршрутизации) и многие другие.

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

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

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

Этот уровень работает с целыми блоками данных.

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

Можно выделить два основных протокола, которые работают на этом уровне: TCP и UDP.

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

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

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

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

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

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

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

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

Протоколы данного уровня: стандарты изображений (GIF, BMP, PNG, JPG), кодировки (ASCII и др.), видео- и аудиозаписи (MPEG, MP3) и т. д.

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

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

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

Стеки протоколов

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

Такие связки называются стеками протоколов.

Опираясь на сетевую модель OSI, стеки протоколов условно делят на три группы:

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

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

Заключение

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

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

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