Нормативные документы rfc стек протоколов tcp ip

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) является основой глобальной сети Интернет, что обеспечило ему широкую популярность. Его гибкость и возможности маршрутизации трафика позволяют использовать его в сетях различного масштаба (начиная небольшой локальной сетью и заканчивая глобальной корпоративной сетью).
Стек протоколов TCP/IP представляет собой набор сетевых протоколов, регламентирующих все стороны процесса взаимодействия сетевых устройств. Этот стек протоколов основан на открытых спецификациях. Благодаря этому реализации данного стека протокола различными производителями совместимы между собой. В частности, реализация TCP/IP, предложенная Microsoft в рамках семейства операционных систем Windows, позволяет осуществлять взаимодействие с системами, находящимися под управлением ОС, созданных не фирмой Microsoft (например, UNIX).

Можно выделить следующие достоинства стека протоколов TCP/IP:

  • в рамках стека реализована стандартизованная схема маршрутизации, являющаяся наиболее полным и доступным общепринятым механизмом маршрутизации сетевого трафика. Практически все современные операционные системы поддерживают TCP/IP (даже Novell признала первенство стека протоколов TCP/IP и реализовала его поддержку в своем семействе операционных систем NetWare). Практически все корпоративные сети строятся с использованием стека TCP/IP;
  • технология объединения разнородных систем. В рамках стека TCP/IP доступно множество стандартных утилит для организации взаимодействия и передачи данных между разнородными системами, включая протокол передачи файлов FTP и протокол эмуляции терминала (Telnet). Некоторые стандартные утилиты поставляются непосредственно с Windows Server 2003;
  • технология, позволяющая подключать сеть или одиночный компьютер к глобальной сети Интернет. Поскольку Интернет функционирует на базе стека протоколов TCP/IP, поддержка компьютером этого стека является одним из обязательных требований при подключении его к этой сети. Реализованный в рамках стека протокол РРР, протокол туннелирования РРТР и архитектура Windows Sockets обеспечивают необходимую основу для организации подключения к Интернету и использования всех его служб;
  • основа для организации устойчивого, масштабируемого, межплатформенного, клиент-серверного взаимодействия. В TCP/IP поддерживается интерфейс Windows Sockets, который является реализацией в среде Windows широко распространенного интерфейса Berkeley Sockets, используемого для создания сетевых приложений.

Реализация стека протоколов TCP/IP в Windows Server 2003

В Windows Server 2003 реализована поддержка основных протоколов стека TCP/IP, включая протокол управления передачей (TCP), протокол Интернета (IP), протокол пользовательских датаграмм (UDP), протокол разрешения адресов (ARP), протокол управляющих сообщений Интернета (1СМР), а также протокол управлениями группами Интернет (IGMP). Реализация стека протоколов TCP/IP включает в себя базовые утилиты TCP/IP, в том числе Finger, Ftp, Lpr, Rep, Rexec, Rsh, Telnet и Tftp. Эти утилиты позволяют пользователям, работающим в Windows Server 2003, использовать ресурсы и взаимодействовать с компьютерами под управлением операционных систем сторонних производителей (например, операционные системы семейства UNIX). В распоряжении администратора имеется также целый ряд диагностических утилит TCP/IP, включая Arp, Hostname, Ipconfig, Lpq, Nbtstat, Netstat, Ping, Route и Tracert. Системные администраторы могут использовать эти утилиты, чтобы обнаружить и решить проблемы работы с сетями TCP/IP.

В Windows Server 2003 протокол TCP/IP устанавливается по умолчанию и не может быть удален или переустановлен. Если возникает необходимость сбросить установки TCP/IP, то следует использовать утилиту командной строки Netsh.exe.

Следует заметить, что разработанные в ходе развития стека TCP/IP спецификации охватывают различные стороны сетевого взаимодействия. Не все они реализованы в рамках стека протоколов TCP/IP, предложенного Microsoft в Windows Server 2003. Реализация стека протоколов TCP/IP в Windows Server 2003 имеет следующие характерные особенности:

  • поддержка окна передачи большого размера. Эта возможность улучшает производительность TCP/IP в случае, когда передается большое количество данных или не требуется передача подтверждения при связи между двумя компьютерами в течение длительного периода времени. В случае взаимодействия на базе протокола TCP окно (максимальное число пакетов, переданных в виде непрерывного потока до первого пакета подтверждения) обычно имеет фиксированный размер и устанавливается в начале сеанса связи между принимающим и передающим компьютерами. С поддержкой больших окон фактический размер окна может быть динамически вычислен повторно и соответственно увеличен в течение более длинных сеансов. Это позволяет передать большее количество пакетов данных за один раз и увеличивает эффективную полосу пропускания;
  • размер окна передачи устанавливается локальным сетевым адаптером. Данная возможность позволяет устанавливать размер окна передачи сетевым адаптером в соответствии с имеющейся пропускной способностью сети. Например, в ситуации, когда компьютер подключен к Интернету посредством модемного соединения, размер окна передачи будет значительно меньше, чем в случае соединения с локальной вычислительной сетью. Применительно к серверу удаленного доступа описываемая возможность позволяет уменьшить размер очереди пакетов и, как следствие, увеличить эффективность устанавливаемых соединений;
  • выборочные подтверждения. Эта возможность позволяет сетям быстро восстанавливать свою работоспособность после возникновения сетевых конфликтов или временного сбоя в физической среде. Получатель может выборочно подтверждать или требовать повторную передачу у отправителя только для тех пакетов, которые были опущены или повреждены во время передачи данных. В предыдущих реализациях TCP/IP, если компьютер-получатель не смог получить одиночный TCP-пакет, отправитель был вынужден повторно передавать не только поврежденный или отсутствующий пакет, но и всю последовательность пакетов, идущую после неподтвержденного пакета. С новой возможностью будут повторно посланы только действительно поврежденные или пропущенные пакеты. Это приводит к передаче меньшего количества пакетов, т. е. к лучшему использованию сети;
  • лучшая оценка времени кругового пути (Round Trip Time, RTF). Эта возможность повышает эффективность стека протоколов TCP/IP, позволяя точно оценивать время, затрачиваемое на путешествие пакета туда и обратно (RTT) между двумя хостами сети. (RTT - количество времени, которое требуется для кругового прохождения пакета между отправителем и получателем по установленному TCP-соединению.) Повышение точности оценки RTT позволяет установить более точное значение тайм-аута, до истечения которого компьютеры не будут перезапрашивать пакет. Лучшая синхронизация приводит к повышению эффективности работы в сетях с большими значениями RTT (например, в глобальных сетях), покрывающих большие расстояния (нередко целые континенты), или при использовании TCP/IP в беспроводных или спутниковых каналах;
  • поддержка протокола IPv6. Протокол IPv6 представляет собой новую версию протокола IP (старая версия протокола получила название IPv4). Новая версия протокола позволяет преодолеть ограничения и недостатки, характерные для протокола IPv4;
  • поддержка механизмов маршрутизации. Реализация стека протоколов TCP/IP в Windows Server 2003 включает в себя механизмы маршрутизации. Благодаря этому компьютер под управлением Windows Server 2003 может выступать в качестве маршрутизатора, соединяя между собой две или более подсетей;
  • возможность назначения одного IP-адреса нескольким сетевым адаптерам (создание так называемого подключения типа "сетевой мост", network media bridge). Например, компьютер может иметь два сетевых подключения (одно посредством модема с телефонной линией, а второе посредством сетевого адаптера к беспроводной сети). При этом другие компьютеры, подключаясь по телефонной линии к данному компьютеру, могут через мост осуществлять взаимодействие с компьютерами, подключенными к беспроводной сети;
  • встроенный брандмауэр. Непосредственно на уровне операционной системы реализован простейший брандмауэр подключений к Интернету (Internet Connection Firewall, ICF). Встроенный брандмауэр представляет собой службу, осуществляющую фильтрацию информации, поступающей
  • из глобальной сети Интернет. Служба пропускает только разрешенные администратором типы пакетов и отбрасывает все остальные;
  • поддержка служб просмотра сети (browser service), позволяющая осуществлять поиск ресурсов в сложных IP-сетях.

Помимо транспортных протоколов, задача которых сводится исключительно к организации сетевого взаимодействия, в Windows Sewer 2003 реализован целый ряд служб, без которых на сегодняшний день трудно представить сетевую инфраструктуру современного предприятия:

  • службы Интернета (Internet Information Services, IIS);
  • служба DHCP для автоматического конфигурирования TCP/IP;
  • служба WINS (Windows Internet Name Service) для разрешения NetBIOS-имен в IP-адреса;
  • служба доменных имен (Domain Name Service, DNS) для разрешения доменных имен в IP-адреса;
  • службы печати для доступа через TCP/IP к принтерам, подключенным к UNIX-системам, или к принтерам, подключенным непосредственно к сети;
  • агент простого протокола управления сетью (Simple Network Management Protocol, SNMP). Протокол SNMP был разработан как средство реализации централизованного управления разнообразными сетевыми устройствами посредством специализированного программного обеспечения (например, Sun Net Manager или HP Open View);
  • серверное программное обеспечение для простых сетевых протоколов, включая генератор символов (Chargen), Daytime, Discard, Echo и Quote of The Day. Эти протоколы позволяют компьютеру под управлением Windows Server 2003 отвечать на запросы других систем, поддерживающих эти протоколы.

Реализация стека протоколов TCP/IP в Windows Server 2003 не включает полный набор утилит TCP/IP или серверных служб (которые традиционно называются демонами, daemons). Тем не менее, существует множество прикладных программ и утилит такого рода, совместимых с реализацией TCP/IP производства Microsoft из состава Windows Server 2003, - как свободно распространяемых, так и сторонних производителей.

Архитектура стека протоколов TCP/IP в Windows Server 2003
Рис. 12.5 позволяет получить представление об архитектуре стека протоколов. TCP/IP, реализованного в рамках операционной системы Windows Server 2003. Условно можно выделить четыре уровня данной реализации.

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

Рис. 12.5. Архитектура стека протоколов TCP/IP в Windows Server 2003

  • Уровень прикладных интерфейсов. Прикладные интерфейсы представляют собой стандартизированные точки доступа к сетевым компонентам операционной системы. Операционной системой Windows Sewer 2003 поддерживается целый ряд разнообразных прикладных интерфейсов (NetBIOS, WNET/WinNET, Windows Socket, RFC). Прикладные интерфейсы взаимодействуют с транспортными протоколами через интерфейс транспортного драйвера (Transport Driver Interface, TDI).
  • Реализация транспортных механизмов. На этом уровне функционируют транспортные протоколы, отвечающие за упаковку сетевых запросов к приложениям в соответствующие форматы и отправку этих запросов на соответствующий сетевой адаптер посредством интерфейса сетевых драйверов (Network Driver Interface Specifications, NDIS).
  • Интерфейс сетевых драйверов. Интерфейс сетевых драйверов позволяет использовать несколько сетевых протоколов поверх разнообразных типов сред и сетевых адаптеров. Благодаря этому интерфейсу множество протоколов могут совместно использовать один сетевой адаптер.

В Windows Server 2003 реализована спецификация NDIS 5.1. Ниже перечислены характерные особенности данной версии этого интерфейса.

  • Поддержка данных, передаваемых вне полосы пропускания (используется в широкополосной передаче).
  • Расширение для средств Wireless WAN.
  • Высокоскоростные передача и прием пакетов (что приводит к значительному повышению производительности).
  • Расширение для средств высокоскоростных портов инфракрасной передачи IrDA.
  • Автоматическое определение среды (это требуется для получения эмблемы "Разработано для Windows" в соответствии с руководством по построению аппаратных средств спецификации РС"98).
  • Фильтрация пакетов (предотвращает монопольный захват процессора утилитой Сетевой монитор (Network Monitor)).
  • Многочисленные новые системные функции интерфейса NDIS (требуются для двоичной совместимости мини-порта Windows 95 и Windows NT).
  • Управление питанием NDIS (требуется для сетевого управления питанием и включения компьютера через сеть).
  • Поддержка технологии Plug and Play.
  • Поддержка инструментария управления Windows (Windows Management Instrumentation, WMI), что обеспечивает создание совместимых с WBEM (Управление предприятием на основе технологии Web) средств управления аппаратурой мини-портов ND1S и связанных с ними адаптеров.
  • Поддержка единого формата INF для всех операционных систем Windows. Новый формат INF основан на формате 1NF, принятом в Windows 95.
  • Механизмы разгрузки процессора для служебных процессов типа расчета контрольной суммы пакетов протоколов TCP и UDP, а также для быстрой пересылки пакетов.
  • Расширение для средств широковещания (необходимо для широковещательных служб в Windows).
  • Поддержка механизмов установления логического соединения (требуется для сетей ATM и ADSL, а также для работы WDM-CSA (Windows Driver Model-Connection Streaming Architecture) - модели драйвера потоковой архитектуры соединения для Windows поверх всех сред с установлением логического соединения).
  • Поддержка для реализации служб качества обслуживания (Quality of Service, QoS).
  • Поддержка промежуточных драйверов (требуется для широковещания PC, виртуальных ЛВС, планирования пакетов для QoS и для поддержки сетевых устройств IEEE-1394).

Интерфейс Windows Socket 2

Интерфейс Windows Socket 2 (достаточно часто можно встретить другое название - WinSock 2) представляет собой реализованный в Windows интерфейс сокетов, разработанный в Университете Беркли. Данный интерфейс выступает в качестве связующего звена между приложениями и транспортным механизмом. Формат сокета зависит от протокола. Применительно к TCP/IP сокет представляет собой комбинацию информации об адресе хоста и номере порта. Для каждого сокета эта комбинация является уникальной.
Обеспечивая полную совместимость с предыдущей версией, Windows Socket 2 расширяет первоначальную реализацию интерфейса. Его характеризуют:

  • улучшенная эффективность работы;
  • дополнительная поддержка разрешения имен;
  • параллельный доступ к нескольким сетевым транспортам;
  • поддержка процедур управления качеством обслуживания (QoS);
  • поддержка многоточечного и многоадресного вещания.

В дополнение к поддержке доступа к нескольким сетевым транспортам и механизмам разрешения имен, по сравнению со спецификацией WinSock 1.1, изменилась и архитектура Windows Sockets 2, которая теперь включает два основных уровня: уровень динамических библиотек (DLL), обеспечивающих интерфейс Windows Sockets API, и уровень поставщиков услуг, располагающихся ниже библиотек API и взаимодействующих с ними через интерфейс поставщика услуг (Service Provider Interface, SPI). Описание Windows Sockets 2 включает три отдельных спецификации: описание Windows Sockets 2 API, описание Windows Sockets 2 SPI и приложение (Appendix), определяющие особенности протокола транспортного уровня.
DLL-библиотека Windows Sockets 2 (WS2-32.DLL) включает все API, используемые разработчиками приложений. Она включает существующий Windows Sockets 1.1 API, а также новый API для расширенных средств обмена данными и API обобщенной службы имен. Многие поставщики теперь предлагают параллельный доступ к их собственным транспортам, создавая DLL-библиотеку поставщика услуг, соответствующую спецификации Windows Sockets 2 SPI. Это означает, что можно разработать приложение, обращающееся через новый прикладной интерфейс, например, к TCP/IP и IPX/SPX одновременно.
Интерфейс поставщика услуг позволяет обращаться к нескольким службам разрешения имен (Name Resolution Services) через единый API. Поскольку производители поставляют программные модули уровня поставщика услуг для DNS, для службы каталогов NetWare (NDS) и Х.500 все их функции разрешения имен будут доступны через API пространства имен Windows Sockets 2.


Протокол IPv6

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

  • Ограниченное адресное пространство. Стремительный рост Интернета выявил одно из самых ощутимых ограничений - нехватку IP-адресов. По оценкам специалистов, заложенное в рамках архитектуры протокола IPv4 количество IP-адресов приблизительно равно количеству хостов Интернета. Уже в ближайшем будущем все доступные IP-адреса будут задействованы. Для дальнейшего развития Интернета необходимо предложить и задействовать новый способ адресации хостов.
  • Сложность конфигурации. Версия протокола IPv4 предусматривает только два способа определения конфигурации протокола: ручная настройка либо использование службы автоматической конфигурации хостов DHCP. В случае большого количества хостов возникает потребность в механизме конфигурации хостов, требующем минимального участия со стороны администратора.
  • Недостаточная защищенность. При взаимодействии хостов через открытые сети (какой является, например, Интернет) данные передаются в открытом виде. Существуют различные механизмы защиты сетевого трафика на разных уровнях OSI модели. Специалистами был разработан протокол шифрования данных на сетевом уровне, получивший название протокола IP Security (IPSec). Однако использование этого протокола носит опциональный характер.
  • Отсутствие механизмов управления качеством обслуживания (Quality of Service, QoS). Развитие информационных технологий предъявляет жесткие требования к сетевому транспорту (особенно при передаче потоковых данных - таких, например, как голос и изображение). Хотя имеются механизмы, позволяющие управлять качеством обслуживания и в рамках протокола IPv4, существующий формат заголовка IP-пакета имеет ограниченную функциональность.

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

  • Новый формат заголовка IP-пакета. В новой версии протокола IP существенным образом был переработан формат заголовка пакета с целью повышения эффективности его обработки сетевыми устройствами. Следует заметить, что заголовок 1Ру6-пакета не совместим обратно с заголовком IРv4-пакета. Поэтому в случае использования в сети обеих версий протоколов сетевое устройство (такое, например, как маршрутизатор) должно поддерживать обе версии протокола.
  • Увеличенное адресное пространство. Протокол IPv4 использует 32-битные адреса. В протоколе IPv6 используются 128-битные IP-адреса (что составляет 2128 возможных адресов). Имеющееся количество IP-адресов достаточно как для построения открытых сетей, так и для реализации корпоративных сетей. Благодаря этому, в частности, отпадает необходимость в механизмах трансляции адресов (NAT).
  • Иерархическая инфраструктура адресации и маршрутизации. Схема адресации, используемая в IPv6, позволяет упростить процесс построения таблиц маршрутиазции, используемых маршрутизаторами для определения пути доставки пакета.
  • Новый механизм конфигурации хостов. Протокол IPv6 поддерживает как традиционные способы конфигурации хостов (ручной и с использованием DHCP), так и новые способы конфигурации, не требующие участия DHCP-сервера. В последнем случае хост может определить собственную конфигурацию, основываясь на информации о настройках ближайшего маршрутизатора, либо использовать конфигурацию по умолчанию.
  • Встроенный механизм обеспечения безопасности. Поддержка протокола IPSec является одним из обязательных условий функционирования протокола IPv6.
  • Улучшенная поддержка механизмов управления качеством сервиса. Новый формат заголовка изначально ориентирован на работу механизмов управления качеством обслуживания (QoS).
  • Новый протокол взаимодействия с соседними хостами. Протокол обнаружения соседних хостов (Neighbor Discovery Protocol) представляет собой набор ICMP-сообщений, который регламентирует процесс взаимодействия хоста с его соседями. Этот протокол соответственно заменяет протоколы ARP, ICMPv4 Router Protocol и ICMPv4 Redirect.

Применительно к реализации IPv6 в Windows Server 2003 следует заметить, что данная версия протокола поддерживается разнообразными службами TCP/IP. В частности, служба DNS может быть использована для регистрации хостами своих доменных имен и, в последующем, для разрешения этих имен в соответствующие 1Ру6-адреса.

Протокол IP Security

Протокол IP Security (или как его еще называют - IPSec) разработан с целью реализации защищенного обмена данными по протоколу IP. При этом протокол IPSec позволяет администратору решить следующие задачи обеспечения безопасности:

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

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

  • Создание защищенного заголовка IP-пакета (Authentication Header, АН). Данный уровень предполагает защиту заголовка передаваемого пакета. В случае использования только этого уровня собственно данные пакета передаются в открытом, незащищенном виде. Тем не менее, данный уровень наиболее оптимален в ситуации, когда конфиденциальность передаваемых данных не является критически важной. Уровень обеспечения безопасности АН позволяет гарантировать целостность данных, подтверждение подлинности их происхождения, а также защиту от повторений.
  • Инкапсуляция содержимого пакета (Encapsulated Security Payload, ESP). На этом уровне реализуется защита содержимого пакета путем его шифрования. На уровне обеспечения безопасности ESP гарантируется конфиденциальность передаваемых данных, их целостность, подлинность их происхождения, а также защита от повторения.

В основе работы этого протокола лежит сразу несколько криптографических алгоритмов:

  • системы шифрования с симметричным ключом шифрования (алгоритм DES);
  • системы шифрования с открытым ключом;
  • алгоритм открытого распределения ключей;
  • алгоритмы хэширования (MD5).
  • IP-адрес хоста. Каждый хост в среде TCP/IP должен иметь уникальный IP-адрес. Если хост имеет несколько сетевых соединений, для каждого из них (в том числе и использующих телефонные линии и подключенных к серверу удаленного доступа) должен быть выделен свой IP-адрес. Этот адрес может быть статически назначен администратором или выделен динамически службой DHCP.
  • Определение метода разрешения символических имен. Windows Server 2003 поддерживает четыре способа разрешения символических имен в IP-адреса: службу доменных имен (Domain Name System, DNS), службу интернет-имен Windows (Windows Internet Name System, WINS), широковещательное разрешение имен и разрешение имен с помощью файлов HOSTS и LMHOSTS.

Отдельно следует рассмотреть методы разрешения имен в. ситуации, когда клиент подключается к серверу удаленного доступа. В этом случае клиент может использовать для разрешения имен те же серверы имен WINS и DNS, что назначены серверу удаленного доступа. Разумеется, параметры стека протоколов TCP/IP и телефонного подключения хоста могут отменить эти настройки по умолчанию.
В небольших сетях, где IP-адреса изменяются крайне редко или не изменяются вообще, сетевые подключения могут использовать файлы HOSTS или LMHOSTS для разрешения имен. Поскольку эти файлы размещены на локальном диске, не требуется передавать запрос на разрешение имен серверу WINS или серверу DNS и ждать ответ на этот запрос через телефонное подключение. Как следствие, сокращается время, необходимое для подключения к требуемому ресурсу.

TCP/IP представлено целым семейством протоколов, среди которых находятся протоколы UDP и TCP. В этом разделе описывается стек протоколов TCP/IP, а также протоколы UDP и TCP.

Протокол TCP обеспечивает прозрачный обмен данными между конечными системами, используя нижележащие службы сетевого уровня (Network layer) для перемещения пакетов между двумя системами, между которыми установлена связь. TCP является примером протокола транспортного уровня (Transport layer). IP — протоколом сетевого уровня.

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

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

Функции UDP

Протокол UDP является расширением раннего набора IP протоколов.

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

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

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

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

Транспортный уровень выполняет следующие задачи:

  • Адресация точки сервиса . Компьютеры часто выполняют несколько программ в одно и то же время. По этой причине доставка "источник - пункт назначения" означает доставку не только от одного компьютера до следующего, но также и от заданного процесса (функционирующей программы) на одном компьютере к заданному процессу (функционирующей программе) на другом. Поэтому заголовок транспортного уровня должен включать тип адреса, называемый адрес сервисной точки (или адрес порта). Сетевой уровень доставляет каждый пакет на корректный адрес компьютера; транспортный уровень доставляет полное сообщение к корректному процессу на этом компьютере.
  • Сегментация и повторная сборка . Сообщение разделено на транспортируемые сегменты, каждый сегмент содержит порядковый номер. Эти номера дают возможность транспортному уровню после достижения пункта назначения правильно повторно собрать сообщение и заменять пакеты, которые были потеряны в передаче.
  • Управление подключением . Транспортный уровень может быть ориентирован на работу без установления соединения ( connectionless transfer) или ориентирован на подключение ( connection-oriented transfer) - дейтаграммный режим. Транспортный уровень без установления соединения (по предварительно установленному виртуальному соединению) обрабатывает каждый сегмент как независимый пакет и поставляет его транспортному уровню в машине пункта назначения. Ориентированный на подключение транспортный уровень сначала перед поставкой пакетов устанавливает соединение с транспортным уровнем в компьютере пункта назначения. После того как все данные переданы, подключение заканчивается.

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

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

Уровень сеанса (Session Layer SL) - сетевой контроллер диалога. Он устанавливает, поддерживает и синхронизирует взаимодействие между связывающимися системами.

При помощи сеансового уровня ( Session Layer ) организуется диалог между сторонами, фиксируется, какая из сторон является инициатором, какая из сторон активна и каким образом завершается диалог.

Задачи сеансового уровня следующие:

  • Управление диалогом . Сеансовый уровень дает возможность двум системам вступать в диалог. Он позволяет обмен сообщениями между двумя процессами. При этом возможны режимы: либо полудуплексный (один путь одновременно), либо дуплексный (два пути одновременно). Например, диалог между терминалом и универсальной ЭВМ может быть полудуплексным.
  • Синхронизация . Сеансовый уровень позволяет процессу добавлять контрольные точки (точки синхронизации) в поток данных. Например, если система посылает файл из 2 000 страниц, желательно вставить контрольные точки после каждых 100 страниц, чтобы гарантировать, что каждый модуль со 100 страницами получен и опознается независимо. В этом случае, если случается нарушение в течение передачи страницы 523, единственная страница, которую требуется и которая будет снова послана после системного восстановления - страница 501 (первая страница пятой сотни)

Уровень представления (Presentation Layer) занимается формой предоставления информации нижележащим уровням, например, перекодировкой или шифрованием информации.

Задачи уровня представления следующие:

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

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

Примеры услуг, оказываемых прикладным уровнем:

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

Стек протоколов Интернета

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


Рис. 1.3.

ARP Address Resolution Protocol Протокол нахождения адреса
ATM Asynchronous Transfer Mode Режим асинхронной передачи
BGP Border Gateway Protocol Протокол пограничной маршрутизации
DNS Domain Name System Система доменных имен
Ethernet Ethernet Network Сеть Ethernet
FDDI Fiber Distributed Data Interface Волоконно-оптический распределенный интерфейс данных
HTTP Hyper Text Transfer Protocol Протокол передачи гипертекста
FTP File transfer Protocol Протокол передачи файлов
ICMP Internet Control Message Protocol Протокол управляющих сообщений
IGMP Internet Group Management Protocol Протокол управления группами (пользователей) в Интернете
IP Internet Protocol Межсетевой протокол
NFS Network File System Протокол сетевого доступа к файловым системам
OSPF Open Shortest Path First Открытый протокол предпочтения кратчайшего канала
PDH Plesiochronous Digital Hierarchy Плезиохронная цифровая иерархия
PPP Point-to- Point Protocol Протокол связи "точка-точка"

Семинар.

Мы будем Вам очень благодарны! Спасибо!

Если Вам понравился данный материал, пожалуйста, поделитесь им с друзьями.

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

Протоколы локальных сетей должны обладать следующими основными характеристиками:

· обеспечивать надежность сетевых каналов;

· обладать высоким быстродействием;

· обрабатывать исходные и целевые адреса узлов;

· соответствовать сетевым стандартам

Наиболее популярными являются стеки: TCP/IP, IPX/SPX, NetBEUI. Эти стеки на нижних уровнях – физическом и канальном модели OSI – используют одни и те же протоколы Ethernet, Token Ring, FDDI и др. На верхних уровнях все стеки работают по своим собственным протоколам. Эти протоколы, не соответствуют уровням модели OSI, так как она появилась уже как результат обобщения уже существующих и реально используемых стеков.

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

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

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



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

· Transmission Control Protocol (TCP);

· User Datagram Protocol (UDP);

· Internet Protocol (IP).

Каждый коммуникационный протокол оперирует некоторой порцией передаваемых данных - блоком данных. В протоколе TCP принято называть блоки кадрами, в UDP – датаграммами, в IP – пакетами. Часто пакет называют также датаграммой, характеризуя таким образом блок данных, содержащий маршрутную информацию. Датаграммами оперируют протоколы без установления соединений, такие как IP и UDP. Потоком называют данные, поступающие от приложений на транспортный уровень TCP или UDP. Протокол TCP разбивает поступающий файл на пакеты.

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

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

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

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

Протокол IP реализует следующие базовые функции: передача данных, адресация, маршрутизация и динамическая фрагментация пакетов. Для правильной доставки пакета используется специальная система адресации. Передающий и принимающий компьютеры в сети идентифицируются с помощью логических IP-адресов. Адресная информация пакета позволяет определять маршрут движения. Протокол может передавать пакеты в сетях разных типов, которые используют пакеты разной длины. Например, пакет Ethernet может иметь длину от 64 до 1526 байтов, а пакет FDDI – до 4472 байтов. Полная длина IP-пакета может достигать 65535 байтов. Пакет содержит заголовок и данные. Заголовок IP-пакета содержит ряд полей. Среди них следующие: адреса источника и приемника, общая длина пакета в байтах, включающая заголовок и данные, транспортный протокол (TCP или UDP), время жизни, которое задается во избежания непрерывной циркуляции в некоторой сети. По истечении указанного времени пакет уничтожается.

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

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

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

Протокол OSPF вычисляет маршруты в IP-сетях, сохраняя при этом другие протоколы обмена маршрутной информацией.

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

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

Следующий уровень стека протоколов (уровень II) является основным. На этом уровне функционируют протокол управления передачей TCP и протокол дейтаграмм пользователя UDP.

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

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

Различные сетевые приложения, установленные на одном компьютере, могут одновременно получать или отправлять сообщения. Для того чтобы их разделять, в протоколах транспортного уровня используют порты. Наиболее распространенные приложения используют предопределенные порты. Так, например, службе удаленного доступа к файлам FTP соответствует порт 21, службе telnet – 23, SMTP – 25, HTTP - 80. Назначение номеров портов известным прикладным процессам осуществляется централизованно, для менее распространенных служб - локально. Номер порта в совокупности с номером сети и номером конечного узла однозначно определяют прикладной процесс в сети. Этот набор идентифицирующих параметров носит название сокета (socket) .

Верхний уровень (уровень I ) называется прикладным. На этом уровне действуют протоколы передачи файлов FTP, эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Интернет, протокол передачи гипертекста HTTP и другие.

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

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

Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Изначально протокол SNMP был разработан для удаленного контроля и управления маршрутизаторами Интернет. Позднее SNMP стали применять и для управления любым коммуникационным оборудованием – концентраторами, коммутаторами, сетевыми адаптерами и т.п. Проблема управления в протоколе SNMP разделяется на две задачи.

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

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

Пакет TCP/IP включает некоторые утилиты, предназначенные для просмотра параметров конфигурации протокола и устранения неполадок. К числу наиболее рапространенных утилит относятся следующие: ping, ARP и RARP, netstat, nbstat, утилиты конфигурирования IP: ipconfig, winipcfg, config, ifconfig, утилиты отслеживания маршрута: traceroute, tracert, iptrace. Все утилиты запускаются в командной строке, предназначены для использования в операционных системах Windows, UNIX / Linux.

Утилита ping используется для проверки соединения IP. Ее можно запускать как с доменным именем в качестве параметра, так с цифровым. Эта утилита посылает на принимающий компьютер эхо-запрос ICMP. Получив его, принимающий компьютер передает обратно эхо-ответ ICMP, что подтверждает наличие соединения. С помощью утилиты ping можно найти IP - адрес компьютера по его имени. Если в командной строке ввести команду ping microsoft.com, то на экран будет выведен адрес хоста: 207.46.130.108.

Утилита – nslookup – возвращает IP-адрес компьютера с заданным именем по цифровому адресу. С помощью утилиты ARP в одноименном протоколе можно просматривать и модифицировать отображение IP-адресов на MAC – адреса. Утилита netstаt позволяет получить статистику сети, связанную с активными в данный момент соединениями. Полученные данные используются для устранения неполадок в соединении TCP/IP. Команду можно использовать со следующим опциями: а – просмотр всех соединений и активных портов, е – просмотр статистика в Ethernet, р – вывод информации о выбранном протоколе (для Windows), r – просмотр таблицы маршрутизации и др. Конфигурационную информацию можно вывести в зависимости от операционной системы Windows или UNIX с помощью команд ipconfig и ifconfig соответственно. Эти утилиты возвращают информацию о текущих IP-адресе и MAC-адресе, о маске подсети, адрес сервера DNS, данные DHCP и др. Утилиты tracert и traceroute используются для отслеживания маршрута, по которому пакеты проходят от передающего компьютера к принимающему. Первая команда предназначена для Windows, вторая – для UNIX. Результат отслеживания содержит имена и IP- адреса компьютеров или маршрутизаторов, через которые прошел пакет.

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

Развитием архитектуры Интернета и протоколов в модели TCP/IP занимается открытое международное сообщество проектировщиков IETF .

История

Стек протоколов TCP/IP был создан на основе NCP (Network Control Protocol) группой разработчиков под руководством Винтона Серфа в 1972 году. В июле 1976 года Винт Серф и Боб Кан впервые продемонстрировали передачу данных с использованием TCP по трём различным сетям. Пакет прошел по следующему маршруту: Сан-Франциско - Лондон - Университет Южной Калифорнии. К концу своего путешествия пакет проделал 150 тысяч км, не потеряв ни одного бита. В 1978 году Серф, Джон Постел и Дэнни Кохэн решили выделить в TCP две отдельные функции: TCP и IP (англ. Internet Protocol , межсетевой протокол). TCP был ответственен за разбивку сообщения на датаграммы (англ. datagram ) и соединение их в конечном пункте отправки. IP отвечал за передачу (с контролем получения) отдельных датаграмм. Вот так родился современный протокол Интернета. А 1 января 1983 года ARPANET перешла на новый протокол. Этот день принято считать официальной датой рождения Интернета.

Уровни стека TCP/IP

Стек протоколов TCP/IP включает в себя четыре уровня :

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

Распределение протоколов по уровням модели TCP/IP
Прикладной
(Application layer)
напр., HTTP , RTSP , FTP , DNS
Транспортный

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

Сетевой (межсетевой) уровень

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

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

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

Сравнение с моделью OSI

Три верхних уровня в модели OSI, то есть уровень приложения, уровень представления и уровень сеанса, отдельно не различаются в модели TCP/IP , которая имеет только прикладной уровень над транспортным уровнем. Хотя некоторые чистые приложения протокола OSI, такие как X.400 , также объединяют их, нет требования, чтобы стек протокола TCP/IP должен накладывать монолитную архитектуру над транспортным уровнем. Например, протокол NFS-приложений работает через протокол представления данных External Data Representation (XDR), который, в свою очередь, работает по протоколу Remote Procedure Call (RPC). RPC обеспечивает надежную передачу данных, поэтому он может безопасно использовать транспорт UDP с максимальным усилием.

Различные авторы интерпретировали модель TCP/IP по-разному и не согласны с тем, что уровень связи или вся модель TCP/IP охватывает проблемы уровня OSI уровня 1 (физический уровень) или предполагается, что аппаратный уровень ниже уровня канала.

Несколько авторов попытались включить слои 1 и 2 модели OSI в модель TCP/IP, поскольку они обычно упоминаются в современных стандартах (например, IEEE и ITU). Это часто приводит к модели с пятью слоями, где уровень связи или уровень доступа к сети разделяются на слои 1 и 2 модели OSI.

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

Например, считается, что уровни сеанса и представления пакета OSI включены в прикладной уровень пакета TCP/IP. Функциональность уровня сеанса можно найти в протоколах, таких как HTTP и SMTP , и более очевидна в таких протоколах, как Telnet и протокол инициации сеанса (SIP). Функциональность уровня сеанса также реализована с нумерацией портов протоколов TCP и UDP, которые охватывают транспортный уровень в наборе TCP/IP. Функции уровня представления реализуются в приложениях TCP/IP со стандартом MIME при обмене данными.

Конфликты очевидны также в оригинальной модели OSI, ISO 7498, когда не рассматриваются приложения к этой модели, например, ISO 7498/4 Management Framework или ISO 8648 Internal Organization of the Network layer (IONL). Когда рассматриваются документы IONL и Management Framework, ICMP и IGMP определяются как протоколы управления уровнем для сетевого уровня. Аналогичным образом IONL предоставляет структуру для «зависимых от подсетей объектов конвергенции», таких как ARP и RARP.

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

К тому же, модель OSI не использует дополнительный уровень - «Internetworking» - между канальным и сетевым уровнями. Примером спорного протокола может быть ARP или STP .

Вот как традиционно протоколы TCP/IP вписываются в модель OSI:

Распределение протоколов по уровням модели OSI
TCP/IP OSI
7 Прикладной Прикладной напр., HTTP , SMTP , SNMP , FTP , Telnet , SSH , SCP , SMB , NFS , RTSP , BGP
6 Представления напр., XDR , AFP , TLS , SSL
5 Сеансовый напр., ISO 8327 / CCITT X.225, RPC , NetBIOS , PPTP , L2TP , ASP
4 Транспортный Транспортный напр., TCP , UDP , SCTP , SPX , ATP , DCCP , GRE
3 Сетевой Сетевой напр., , ICMP , IGMP , CLNP , OSPF , RIP , IPX , DDP , ARP
2 Канальный Канальный напр., Ethernet , Token ring , HDLC , PPP , X.25 , Frame relay , ISDN , ATM , SPB , MPLS
1 Физический напр., электрические провода , радиосвязь , волоконно-оптические провода , инфракрасное излучение

Обычно в стеке TCP/IP верхние 3 уровня модели OSI (прикладной , представления и сеансовый) объединяют в один - прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению.

Описание модели TCP/IP в технической литературе

Примечания

  1. Модели OSI и TCP/IP . База знаний osLogic.ru
  2. Сетевые модели TCP/IP и OSI . Cisco Learning
  3. Васильев А. А. , Телина И. С. , Избачков Ю. С. , Петров В. Н. Информационные системы: Учебник для вузов. - СПб. : Питер, 2010. - 544 с. - ISBN 978-5-49807-158-9 .
  4. Эндрю Кровчик, Винод Кумар, Номан Лагари и др. .NET сетевое программирование для профессионалов / пер. с англ. В. Стрельцов. - М. : Лори, 2005. - 400 с. - ISBN 1-86100-735-3 . - ISBN 5-85582-170-2 .