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



ВВЕДЕНИЕ

 

В данной выпускной квалификационной работе приведены и рассмотрены наиболее распространенные и популярные сетевые протоколы и стандарты на сегодняшний день. В работе сравниваются две модели: эталонная семиуровневая модель ISO/OSI и четырехуровневая модель Microsoft TCP/IP, и выявляются их преимущества и недостатки.

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

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

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

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

На наш взгляд, личный вклад автора, заключается в следующем:

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

 

1. ЭТАЛОННАЯ СЕМИУРОВНЕВАЯ МОДЕЛЬ OSI

 

В начале 80-х годов международная  организация по стандартам ISO (International Standardization Organization) признала необходимость создания модели сети, на основе которой поставщики оборудования телекоммуникаций могли создавать взаимодействующие друг с другом сети. В 1984 году такой стандарт был выпущен под названием "Эталонная модель взаимодействия открытых систем" или базовая модель связи открытых систем (Open System Interconnect - OSI) или OSI/ISO.

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

Рисунок 1. Эталонная модель OSI

 

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

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

 

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

 

Модель OSI можно разделить на две различных модели, как показано на рис.2.

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

Рисунок 2. Схема взаимодействия компьютеров в базовой эталонной  модели OSI

 

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

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

В горизонтальной модели двум программам требуется общий протокол для  обмена данными. В вертикальной модели соседние уровни обмениваются данными с использованием интерфейсов прикладных программ API (Application Programming Interface).[2]

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

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

 

Рисунок 3. Формирование пакета каждого уровня семиуровневой  модели.

 

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

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

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

Рассматриваемая модель определяет взаимодействие открытых систем разных производителей в одной сети. Поэтому она выполняет  для них координирующие действия по:

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

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

 

 

1.2. Описание уровней эталонной модели OSI

 

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

 

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

 

Прикладной уровень обеспечивает прикладным процессам средства доступа  к области взаимодействия, является верхним (седьмым) уровнем и непосредственно примыкает к прикладным процессам. В действительности прикладной уровень – это набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например с помощью протокола электронной почты. Специальные элементы прикладного сервиса обеспечивают сервис для конкретных прикладных программ, таких как программы пересылки файлов и эмуляции терминалов. Если, например программе необходимо переслать файлы, то обязательно будет использован протокол передачи, доступа и управления файлами FTAM (File Transfer, Access, and Management). В модели OSI прикладная программа, которой нужно выполнить конкретную задачу (например, обновить базу данных на компьютере), посылает конкретные данные в виде дейтаграммы7 на прикладной уровень. Одна из основных задач этого уровня - определить, как следует обрабатывать запрос прикладной программы, другими словами, какой вид должен принять данный запрос.

Единица данных, которой оперирует  прикладной уровень, обычно называется сообщением (message).[4]

Прикладной уровень выполняет  следующие функции:

    1. Описание форм и методов взаимодействия прикладных процессов.
    2. Выполнение различных видов работ.
    3. передача файлов;
    4. управление заданиями;
    5. управление системой и т.д.
    6. Идентификация пользователей по их паролям, адресам, электронным подписям;
    7. Определение функционирующих абонентов и возможности доступа к новым прикладным процессам;
    8. Определение достаточности имеющихся ресурсов;
    9. Организация запросов на соединение с другими прикладными процессами;
    10. Передача заявок представительскому уровню на необходимые методы описания информации;
    11. Выбор процедур планируемого диалога процессов;
    12. Управление данными, которыми обмениваются прикладные процессы и синхронизация взаимодействия прикладных процессов;
    13. Определение качества обслуживания (время доставки блоков данных, допустимой частоты ошибок);
    14. Соглашение об исправлении ошибок и определении достоверности данных;
    15. Согласование ограничений, накладываемых на синтаксис (наборы символов, структура данных).

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

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

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

К числу наиболее распространенных протоколов относятся:

  • HTTP (HyperText Transfer Protocol - «протокол передачи гипертекста») - Стандартный протокол Internet, позволяющий распространять информацию по интернету.
  • Gopher - сетевой протокол распределённого поиска и передачи документов, бывший широко распространённым в Интернете до изобретения Всемирной паутины (World Wide Web). Протокол предназначался для предоставления доступа к документам в Интернет, но имел меньше возможностей чем WWW и впоследствии был полностью замещён им.
  • Telnet (Teletype Network) - сетевой протокол для удалённого доступа к компьютеру с помощью командного интерпретатора. Аналогичное название имеют утилиты для работы с протоколом.
  • DNS (Domain Name System - система доменных имён) - это система, позволяющая преобразовывать символьные имена доменов в IP-адреса и наоборот.
  • SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты) - это сетевой протокол, предназначенный для передачи электронной почты. [5]
  • CMIP (Common Management Information Protocol - Протокол общей управляющей информации) - стандарт управления сетью для сетей OSI. Он определяет некоторые функции, отсутствующие в SNMP и SNMPv2. В силу своей сложности CMIP имеет гораздо меньшее распространение и привлекает гораздо меньший интерес, нежели SNMP, но иногда его использование обязательно.
  • FTP (File Transfer Protocol - протокол передачи файлов) - сетевой протокол, предназначенный для передачи файлов в компьютерных сетях.
  • SSH (Secure Shell) - сетевой протокол, позволяющий производить удалённое управление компьютером и передачу файлов. Сходен по функциональности с протоколом Telnet и rlogin, однако использует алгоритмы шифрования передаваемой информации.
  • IRC (англ. Internet Relay Chat - ретранслируемый интернет-чат) - сервисная система, при помощи которой можно общаться через сеть Интернет с другими людьми в режиме реального времени.
  • NNTP (Network News Transfer Protocol) - сетевой протокол, используемый для обмена сообщениями в группах новостей.
  • SNTP (Simple Network Time Protocol) - протокол синхронизации времени по компьютерной сети. Является упрощённой реализацией протокола NTP. Используется во встраиваемых системах и устройствах, не требующих высокой точности.
  • SIP (Session Initiation Protocol - протокол установления сессии) - протокол прикладного уровня, разработанный и предлагаемый стандарт на способ установки, изменения и завершения пользовательского сеанса, включающего мультимедийные элементы, такие как видео или голос, мгновенные сообщения, он-лайн игры и виртуальную реальность.
  • IMAP (Internet Message Access Protocol) - интернет-протокол для доступа к электронной почте. Предоставляет пользователю богатые возможности для работы с почтовыми ящиками, находящимися на центральном сервере.
  • POP3 (Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - это сетевой протокол, используемый MUA(Mail User Agent) для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP.
  • MFTP (Multisource File Transfer Protocol) — сетевой протокол передачи файлов. В MFTP один и тот же файл запрашивается одновременно у нескольких источников, позволяя добиться более эффективного использования пропускной способности канала и снизить последствия пропадания источников.
  • Mobile IP - интернет-протокол для мобильной связи, он предоставляет возможность подключения как к корпоративным интранет-сетям, так и к Интернету.
  • SNMP (Simple Network Management Protocol - простой протокол управления сетью) - протокол для администрирования, который посылает сообщения о состоянии сети и подключенных к ней устройств.[6]

 

1.2.2. Уровень представления данных (Presentation layer)

 

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

Этот уровень обеспечивает то, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. В случаях необходимости уровень представления в момент передачи информации выполняет преобразование форматов данных в некоторый общий формат представления, а в момент приема, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. Такая ситуация может возникнуть в ЛВС с неоднотипными компьютерами (IBM PC и Macintosh), которым необходимо обмениваться данными. Так, в полях баз данных информация должна быть представлена в виде букв и цифр, а зачастую и в виде графического изображения. Обрабатывать же эти данные нужно, например, как числа с плавающей запятой.[7]

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

Представительный уровень выполняет  следующие основные функции:

    1. Генерация запросов на установление сеансов взаимодействия прикладных процессов.
    2. Согласование представления данных между прикладными процессами.
    3. Реализация форм представления данных.
    4. Представление графического материала (чертежей, рисунков, схем).
    5. Засекречивание данных.
    6. Передача запросов на прекращение сеансов.

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

Пример некоторых протоколов уровня:

  • ASN.1 (Abstract Syntax Notation One) – В области телекоммуникаций и компьютерных сетей, язык для описания абстрактного синтаксиса данных (ASN.1), используемый OSI – это стандарт записи, описывающий структуры данных для представления, кодирования, передачи, и декодирование данных.
  • XDR (External Data Representation) – стандарт передачи данных в Интернете, используемая в различных RFC для описания типов.
  • XML-RPC (Extensible Markup Language Remote Procedure Call – XML-вызов удалённых процедур) – основанный на XML стандарт (протокол) вызова удалённых процедур, является прародителем SOAP, отличается исключительной простотой применения. XML-RPC, как и любой другой интерфейс RPC, определяет набор стандартных типов данных и команд, которые программист может использовать для доступа к функциональности другой программы, находящейся на другом компьютере в сети.

Так же сюда входят и протоколы  HTTP, SMTP, Telnet, FTP, SNMP.[8]

 

1.2.3. Сеансовый уровень (Session layer)

 

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

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

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

На сеансовом уровне определяется, какой будет передача между двумя  прикладными процессами:

  • полудуплексной (процессы будут передавать и принимать данные по очереди);
  • дуплексной (процессы будут передавать данные, и принимать их одновременно).

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

Сеансовый уровень обеспечивает выполнение следующих функций:

  1. Установление и завершение на сеансовом уровне соединения между взаимодействующими системами.
  2. Выполнение нормального и срочного обмена данными между прикладными процессами.
  3. Управление взаимодействием прикладных процессов.
  4. Синхронизация сеансовых соединений.
  5. Извещение прикладных процессов об исключительных ситуациях.
  6. Установление в прикладном процессе меток, позволяющих после отказа либо ошибки восстановить его выполнение от ближайшей метки.
  7. Прерывание в нужных случаях прикладного процесса и его корректное возобновление.
  8. Прекращение сеанса без потери данных.
  9. Передача особых сообщений о ходе проведения сеанса.

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

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

  • RPC (Remote Procedure Call) - протокол вызова удаленных процедур (запуска процессов на удаленном компьютере). То есть позволяет удаленным прикладным программам связываться друг с другом простым и эффективным способом.
  • TLS (Transport Layer Security) - криптографический протокол, обеспечивающий безопасную передачу данных между узлами в сети Интернет.
  • WSP - (Wireless Session Protocol) - протокол, основная задача которого поддерживать неразрывным сеанс связи в течение длительных интервалов ожидания ответа, которые могут возникнуть при выборе SMS в качестве носителя или применении удаленного шлюза. Кроме того, WSP предусматривает использование push-технологий, т.е. доставку «незапрошенного» содержания.
  • SSL (Secure Sockets Layer - протокол защищённых сокетов10) - криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером. SSL изначально разработан компанией Netscape Communications, в настоящее время принят IETF как стандарт.[10]

 

1.2.4. Транспортный уровень (Transport Layer)

 

Транспортный уровень предназначен для передачи пакетов через коммуникационную сеть. На транспортном уровне пакеты разбиваются  на блоки.

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

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

В функции транспортного уровня входят:

  1. Управление передачей по сети и обеспечение целостности блоков данных.
  2. Обнаружение ошибок, частичная их ликвидация и сообщение о неисправленных ошибках.
  3. Восстановление передачи после отказов и неисправностей.
  4. Укрупнение или разделение блоков данных.
  5. Предоставление приоритетов при передаче блоков (нормальная или срочная).
  6. Подтверждение передачи.
  7. Ликвидация блоков при тупиковых ситуациях в сети.

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

Наиболее распространенные протоколы  транспортного уровня включают в  себя:

  • TCP (Transmission Control Protocol) - один из основных сетевых протоколов Internet, предназначенный для управления передачей данных стека TCP/IP;
  • UDP (User Datagram Protocol - протокол пользовательских дейтаграмм) - сетевой, пользовательский протокол для передачи данных в сетях IP. Он является одним из самых простых протоколов транспортного уровня модели OSI.;
  • NCP (NetWare Core Protocol) базовый протокол сетей NetWare;
  • SPX (Sequenced Packet eXchange) упорядоченный обмен пакетами стека Novell;
  • NetBEUI (NetBIOS Extended User Interface) - расширенный интерфейс датаграммной передачи NetBIOS. Комбинированный протокол L3/L4, используемый как механизм передачи для NetBIOS на основе широковещательных рассылок. Единственным способом маршрутизации, разрешённым при использовании этого протокола, является использование исходной маршрутизации сети Token ring.

 

1.2.5. Сетевой уровень (Network Layer)

 

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

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

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

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

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

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

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

Сетевой уровень выполняет функции:

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

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

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