Модель взаимодействия открытых систем. Модель взаимодействия открытых систем (OSI)

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

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

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

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

Прикладной уровень (7-й). На этом уровне пользователь с помощью прикладного программного обеспечения создает документ (сообщение, рисунок и т. д.). Услуги, которые обеспечивает прикладной уровень, поддерживают приложения пользователя. На этом уровне используют протоколы HTTP, FTP, SMTP.

Уровень представления данных (6-й). На компьютерах могут использоваться различные ОС (UNIX, OS/2, Windows и т.д.). Каждая из них имеет свою файловую систему, свои форматы хранения и обработки данных. Задача уровня представления данных заключается в том, чтобы при передаче данных преобразовать их в формат, который может использоваться и на другом компьютере. Этот уровень управляет также сжатием передаваемых данных.

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

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

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

Уровень передачи данных (2-й). Уровень передачи данных (или канальный уровень, или уровень соединения) обеспечивает прием пакетов данных, поступающих с сетевого уровня; подготовку данных к передаче по каналам связи; генерацию стартового сигнала для передачи данных; проверку получаемых данных и исправление ошибок; генерацию сигнала для перевода канала передачи в пассивное состояние при окончании передачи. Эти функции выполняет сетевая карта или модем. Используемые протоколы: HDLC, X.25/3.

Физический уровень (1-й). Его основная задача - управление аппаратурой передачи данных. Этот уровень получает данные от канального уровня и преобразует их в электрические или оптические сигналы. На этом уровне происходит реальная передача данных. Физический уровень устанавливает длительность каждого бита и способ их преобразования в электрические или оптические импульсы, передаваемые по сетевому кабелю. Данные здесь передаются в виде определенных сигналов. Восстановление документа из них произойдет постепенно, при передаче с нижнего на верхний уровень на компьютере получателя. Используемые протоколы: Х-21.

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

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

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

Многоуровневый комплект протоколов, известный как мо­дель взаимодействия открытых систем (OSI - Open Systems Inter­connection), разработан в 1984 году Международной организацией по стандартизации ISO совместно с Сектором стандартизации электросвязи 1TU-T, называвшимся в те времена Международным консультативным комитетом по телеграфии и телефонии (МККТТ), для обеспечения обмена данными между компьютер­ными сетями. Структура модели OSI представлена на рис. 9.1.

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

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


Протокол Х.25 ___ _________ 257

Рис. 9.1. Структура модели OSI

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

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

Уровень 3 (или сетевой уровень) формирует так называемые сетевые услуги, маршрутизацию и коммутацию соединений, обес­печивающие перенос через сеть информации, которой обмениваются


258 Глава 9 ___________________________________

пользователи открытых систем, размещенных в разных (и, в общем случае, несмежных) узлах сети.

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

Уровень 5 (или уровень сеанса) обеспечивает координацию («внутри» каждой связи) взаимодействия между прикладными про­цессами. Примеры возможных режимов взаимодействия, которые поддерживаются уровнем 5: дуплексный, полудуплексный или симплексный диалог.

Уровень 6 (или уровень представления) производит преобра­зование из одной формы в другую синтаксиса транспортируемых данных. Это может быть, например, преобразование ASCII в EBCDIC и обратно.

Уровень 7 (или прикладной уровень) содержит функции, свя­занные с природой прикладных процессов и необходимые для удовлетворения тех требований, которые существенны с точки зре­ния взаимодействия прикладных процессов в системах А и В (рис. 9.1), или, говоря иначе, с точки зрения доступа этих процессов к среде OSI. Так как это самый верхний уровень модели OSI, он не име­ет верхней границы.

Таким образом, функции уровней 1-3 обеспечивают транс­портировку информации из одного пункта территории в другой (возможно, более чем через одно звено, то есть с коммутацией) и потому связаны с отдельными элементами сети связи и с ее внут­ренней структурой. Функции уровней 4-7 относятся только к «сквоз­ной» связи между конечными пользователями и определены таким образом, что они не зависят от внутренней структуры сети.

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


Протокол Х.25 259

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

Итак, логическим объектом уровня N (или логическим N-объ­ектом, или, если из контекста ясно, о чем идет речь, то просто N-объектом) называется множество функций, привлекаемых N-уровнем к обслуживанию конкретной связи между (N+1)-под­системами.

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

В подобных условиях уместно говорить о том, что на каждой фазе взаимодействия между двумя системами имеет место взаи­модействие между подсистемами одного ранга, размещенными в системе А и в системе В. При этом подсистема ранга (N+1) в сис­теме, которая инициирует данную фазу (например, в системе А), должна завязать диалог с подсистемой того же ранга (N+1) в сис­теме, привлекаемой к участию в данной фазе (например, в систе­ме В). (N+1)-подсистема, размещенная в системе В, должна, в свою очередь, поддержать продолжение диалога. Иными словами, долж­на быть организована информационная связь между подсистема­ми одного ранга, размещенными в разных системах (peer-to-peer communication).

При организации и в процессе такой связи подсистема ранга (N+1), находящаяся в системе А, обращается к услугам подсисте­мы ранга N в той же системе А. Логический (N+l)- объект системы


260 Глава 9 __________________________________

А передает к N-объекту своей системы запрос, конечная цель которого состоит в том, чтобы вызвать ответную реакцию логиче­ского (N+ 1)-объекта системы В. На пути к этой цели N-объект сис­темы А обращается к услугам (N-1)-объекта своей системы, тот, в свою очередь, - к услугам (N-2)-объекта и т.д., вплоть до логическо­го объекта уровня 1, который обеспечивает использование физиче­ской среды для передачи битов, несущих запрос от системы А к сис­теме В. Логический объект уровня 1 системы В, приняв эти биты, формирует соответствующую индикацию для логического объекта уровня 2 своей системы, тот сообщает об этом логическому объекту уровня 3 и т.д. «вверх» до тех пор, пока индикация приема запроса не достигнет логического (N+ 1)-объекта системы В.

Далее, в общем случае, происходит обратный процесс. От­клик логического (N+1)-объекта системы В передается к системе А с привлечением услуг N-объекта, затем - (N-1)-объекта и т.д. в системе В, а прием уровнем 1 системы А битов, которые доставили отклик, интерпретируется логическими объектами системы А как подтверждение системой В приема отправленного к ней запроса. Это подтверждение проходит в системе А уже понятным читателю путем «вверх», пока не достигнет отправившего запрос логическо­го (N+l)-o6beKTa.

Сказанное иллюстрирует рис. 9.2, на котором запрос, индика­ция, отклик и подтверждение фигурируют как имена сервисных примитивов.

Взаимодействие между логическими (N)-объектами двух взаимодействующих открытых систем происходит в соответствии с (М)-протоколом. Информация, обмен которой поддерживает (N)-протокол, оформляется в так называемые протокольные блоки дан­ных (N)-PDU (protocol data units).

Для передачи (N)-PDU логический (N) -объект обращается к услугам расположенного ниже (N-1)-уровня и передает к нему свои PDU в составе сервисных блоков данных (N- 1)-SDU (service data units), используя сервисные (N-1)-примитивы. Логический (N-1)-объект одной системы взаимодействует с логическим (N- 1)-объектом дру­гой системы в соответствии с (N-1) -протоколом, вводя содержимое (N-l)-SDU в протокольные блоки данных (N-l)-PDU, то есть до­полняя каждый (N-l)-SDU управляющей информацией протокола (N-l)-PCI (protocol control information). Далее, для передачи (N-1)-PDU происходит обращение к услугам (N-2)-уровня и т.д.

Сказанное иллюстрирует рис. 9.3.


Протокол Х.25 261

Рис. 9.3. Протокольные и сервисные блоки данных

Конец работы -

Эта тема принадлежит разделу:

Протоколы

Глава.. примеры сообщений освобождения сигнального пути.. сообщение le disconnect генерируется когда реше ние освободить сигнальный путь принимает станция в ре зультате..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

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

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

Эталонная модель взаимодействия открытых систем (OSI -– Open Systems Interconnection )

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

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

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

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

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

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

Пакет - группа байтов, передаваемых абонентами сети друг другу.

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

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

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

Обработка сообщений уровнями модели ВОС

Прикладной

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

Сеансовый

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

Канальный

Физический

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

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

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

Преимущества семиуровневой модели.

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

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

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

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

Модель взаимодействия для ЛВС

Для того чтобы учесть требования физической передающей среды, используемой в ЛВС, была произведена некоторая модернизация семиуровневой модели взаимодействия открытых систем для локальных вычислительных сетей. Канальный уровень был разбит на два подуровня. Подуровень LLC (Logical Link Control) обеспечивает управление логическим звеном, т.е. выполняет функции собственно канального уровня. Подуровень MAC (Media Access Control) обеспечивает управление доступом к среде.

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

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

Модель взаимодействия открытых систем OSI (Open System Interconnection) разработана международной организацией по стандартам ISO (Inernational Standarts Organization).

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

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

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

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

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

Теперь рассмотрим работу каждого уровня модели OSI подробнее:

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

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

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

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

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

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

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

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

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

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

ВВЕДЕНИЕ

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

Раздел 2. Уровень сетевого взаимодействия интерфейсов сети

Раздел 3. Стек протокола TCP/IP

ЗАКЛЮЧЕНИЕ

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

В начале 80-х годов - ряд международных организаций по стандартизации - ISO, ITU-T и некоторые другие - разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System interconnection, OSI), или моделью OSI. Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень.

В модели OSI (рис. 1) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

) Уровень представления

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

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

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

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

Раздел 2. Уровень сетевого взаимодействия интерфейсов сети

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

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

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

Основной уровень

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

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

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

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

Прикладной уровень объединяет все службы, предоставляемые системой пользовательским приложениям. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и служб прикладного уровня. Прикладной уровень реализуется программными системами, построенными в архитектуре клиент-сервер, базирующимися на протоколах нижних уровней. В отличие от протоколов остальных трех уровней, протоколы прикладного уровня занимаются деталями конкретного приложения и «не интересуются» способами передачи данных по сети. Этот уровень постоянно расширяется за счет присоединения к старым, прошедшим многолетнюю эксплуатацию сетевым службам типа Telnet, FTP, TFTP, DNS, SNMP сравнительно новых служб таких, например, как протокол передачи гипертекстовой информации HTTP.

Уровень сетевых интерфейсов

Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня - уровня сетевых интерфейсов. Протоколы этого уровня должны обеспечивать интеграцию в составную сеть других сетей, причем задача ставится так: сеть TCP/IP должна иметь средства включения в себя любой другой сети, какую бы внутреннюю технологию передачи данных эта сеть не использовала. Отсюда следует, что этот уровень нельзя определить раз и навсегда. Для каждой технологии, включаемой в составную сеть подсети, должны быть разработаны собственные интерфейсные средства. К таким интерфейсным средствам относятся протоколы инкапсуляции IP-пакетов уровня межсетевого взаимодействия в кадры локальных технологий. Например, документ RFC 1042 определяет способы инкапсуляции IP-пакетов в кадры технологий IEEE 802. Для этих целей должен использоваться заголовок LLC/SNAP, причем в поле Type заголовка SNAP должен быть указан код 0х0800. Только для протокола Ethernet в RFC 1042 сделано исключение - помимо заголовка LLC/SNAP разрешается использовать кадр Ethernet DIX, не имеющий заголовка LLC, зато имеющий поле Type. В сетях Ethernet предпочтительным является инкапсуляция IP-пакета в кадр Ethernet DIX.

Уровень сетевых интерфейсов в протоколах TCP/IP не регламентируется, но он поддерживает все популярные стандарты физического и канального уровней: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений «точка-точка» SLIP и РРР, протоколы территориальных сетей с коммутацией пакетов Х.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии АТМ в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции IP-пакетов в ее кадры (спецификация RFC 1577, определяющая работу IP через сети АТМ, появилась в 1994 году вскоре после принятия основных стандартов этой технологии) .

Раздел 3. Стек протокола TCP/IP

Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.

Стандарты TCP/IP опубликованы в серии документов, названных Request for Comment (RFC). Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения. Стандарты TCP/IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты.

Стек был разработан по инициативе Министерства обороны США (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 объясняется следующими его свойствами:

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

·Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.

·Это метод получения доступа к сети Internet.

·Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet.

·Все современные операционные системы поддерживают стек TCP/IP.

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

·Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

СПИСОК ИСТОЧНИКОВ ИНФОРМАЦИИ

1. Бройдо В.Л. «Вычислительные системы, сети и телекоммуникации»: Учебник для вузов. 2-е изд. - СПб.: Питер, 2006 г.

Олифер В.Г., Олифер Н.А. «Компьютерные сети. Принципы, технологии, протоколы»: изд. 4-ое, Учебник для ВУЗов - Питер, 2010 г.

Таненбаум Э. «Компьютерные сети»: 4-е изд. - СПб.: Питер, 2003 г.