Коммуникационное оборудование

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

Пассивное коммуникационное оборудование — всевозможные соединители, разъемы, терминаторы (заглушки) и т. д. К активным оконечным сетевым устройствам относится сетевая карта (сетевой адаптер) и модем — устройства, соединяющие компьютер с линией связи. К активным промежуточным устройствам (на рис. 10 узлы, обозначенные символом «x») относятся:

o повторители и концентраторы — простейшие устройства для усиления сигнала и образования сетевых топологий «звезда» и «дерево»;

o мосты и коммутаторы — устройства с функциями концентраторов, дополнительно выполняющие коммутацию (соединение) между станцией-источником и станцией-приемником для увеличения эффективной пропускной способности сети;

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

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

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

Модель межсетевого взаимодействия ISO/OSI

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

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

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

Коммуникационное оборудование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Виды сетевых протоколов

Понятие протокола является ключевым при рассмотрении сетевых технологий. Остановимся на нем подробнее.

В модели OSI различается два основных типа протоколов. В протоколах с установлением соединения (connection-oriented network service, CONS) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать протокол, который они будут использовать. После завершения диалога они должны разорвать это соединение.

Вторая группа протоколов — протоколы без предварительного установления соединения (connectionless network service, CLNS). Такие протоколы называются также дейтаграммнымипротоколами. Отправитель просто передает сообщение, когда оно готово. При взаимодействии компьютеров используются как те, так и другие протоколы.

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

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

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

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

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

Высокое качество кабелей локальных сетей послужило причиной отказа от использования в протоколах локальных сетей процедур восстановления искаженных и потерянных кадров. Этих процедур нет ни в протоколах семейства Ethernet, ни у протокола Token Ring, ни у протокола FDDI. В то же время в протоколах глобальных сетей, ориентирующихся на каналы плохого качества, процедурам восстановления кадров всегда уделялось большое внимание. Например, в сетях Х.25 восстановлением кадров занимаются сразу два смежных протокола — LAP-B на канальном уровне и протокол Х.25/3 — на сетевом.

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

Адресация

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

Двумя важными типами адресов являются адреса канального уровня и адреса сетевого уровня.

Адреса канального уровня(называемые также физическими, аппаратными или MAC-адресами), как правило, уникальны для каждого сетевого соединения. У большинства локальных сетей (LAN) адреса канального уровня размещены в схеме интерфейса, т.е. в сетевой карте. Так как большинство компьютерных систем имеют одно физическое сетевое соединение, они имеют только один адрес канального уровня. Маршрутизаторы и шлюзы, соединенные с множеством физических сетей, могут иметь несколько адресов канального уровня — по числу данных сетей. В соответствии с названием, адреса канального уровня являются адресами уровня 2 эталонной модели OSI.

Для MAC-адресов используется 6-байтовое число. Нетрудно прикинуть, что общее количество MAC-адресов около 2 в 14 степени. Это число намного больше количества сетевых карт и портов маршрутизаторов на планете. Поэтому адреса канального уровня уникальны. Первая часть адреса — код фирмы-производителя, вторая часть — индивидуальный номер сетевого устройства, присваиваемый данной фирмой.

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

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

Стек протоколов TCP/IP

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

Стек был разработан по инициативе Министерства обороны США (Department of Defence, DoD) в 1969 году для связи экспериментальной сети 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 приведена на рис. 12. Протоколы TCP/IP делятся на 4 уровня.

Коммуникационное оборудование

Рис. 12 Стек протоколов TCP/IP.

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

Уровень III — это уровень межсетевого взаимодействия, он соответствует 3 уровню модели OSI, который занимается передачей дейтаграмм с использованием различных локальных сетей, территориальных сетей 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) используется для организации сетевого управления. Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлам. Для того чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений — TCP.

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

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

Более детально стек TCP/IP и принципы межсетевого обмена данными описаны в [4].

СЕРВЕРНЫЙ ШКАФ — наводим порядок — #pereezdd


Похожие статьи.

Понравилась статья? Поделиться с друзьями: