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

Стек TCP/IP, иногда называемый стеком Интернет, в настоящее время является наиболее популярным и быстро развивающимся стеком протоколов.
Этот стек был разработан по инициативе Министерства обороны США и изначально ориентировался на обеспечение связи разнородных вычислительных сетей.
Поскольку стек протоколов TCP/IP был разработан до появления сетевой модели ISO/OSI, то соответствие его уровней уровням модели OSI носит весьма условный характер, хотя он также имеет многоуровневую структуру.

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

Уровни

модели OSI

Протоколы стека TCP/IP

Уровни TCP/IP

7

FTP, TFTP, SIP, telnet, SMTP, SNMP

I

Уровень прикладных протоколов

6

5

TCP, UDP

II

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

4

3

IP, ICMP, RIP, OSPF

III

Уровень межсетевого взаимодействия

2

He регламентировано, но поддерживаются все популярные стандарты

(Ethernet, PPP, ATM, FR,...)

IV

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

1

Самый нижний уровень стека — уровень сетевых интерфейсов — соответствует физическому и канальному уровням модели OSI.

В стеке TCP/IP этот уровень не регламентирован, но тем не менее реализована поддержка практически всех популярных стандартов физического и канального уровня: Ethernet, Token Ring, FDDI (для локальных сетей) и Х.25/LAP-B, ISDN, SLIP/PPP (для глобальных сетей).

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

Основные протоколы этого уровня:

IP - Internet Protocol — межсетевой протокол, обеспечивает передачу пакетов в сетях.

IP протокол занимается непосредственным продвижением (forwarding) любой информации по IP-сети, если эта информация снабжена соответствующим заголовком IPv4 или IPv6.

Основная информация в заголовке, используемая для маршрутизации пакета - это уникальный IP-адрес, который определяет "КУДА" доставить информацию.

Маршрутизатор, продвигающий IP-пакеты (дейтаграммы) по сети использует:

  1. Оперативную информацию в заголовках поступающих IP-пакетов
  2. Информацию из маршрутных таблиц (Routing Table - RT), которая изначально определяется проектом сети, но в процессе работы динамично изменяется (обновляется) благодаря работе протоколов динамической маршрутизации - RIP, OSPF, EIRGP, BGP и т.п.

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

Уровень II стека TCP/IP обеспечивает функции доставки информации конечным прикладным протоколам, благодаря наличию в заголовках TCP и UDP - поля "ПОРТ", отвечающего за вторую часть адреса - "КОМУ" отдать доставленную информацию.

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

Верхний уровень стека TCP/IP называется прикладным. К протоколам этого уровня относятся такие широко используемые протоколы, как FTP, TELNET, SMTP, SNMP и многие другие.
FTP (File Transfer Protocol) — протокол передачи файлов, ис­пользующий в качестве транспортного протокол с установлением соединений — TCP, что повышает надежность передачи файлов. Протокол, предназначенный для обеспечения передачи и приема файлов между серверами и клиентами.
TFTP (Trivial File Transfer Protocol) — простейший протокол пе­редачи файлов. В отличие от FTP этот протокол базируется на работе с UDP, при этом протокол реализует только передачу файлов.
SNMP (Simple Network Management Protocol) — простой протокол управления сетью, предназначенный для обмена управляющей информацией между менеджером и агентами в процессе мониторинга узлов сети.
Telnet — протокол, обеспечивающий передачу потока байтов между процессами или между процессом и терминалом и обычно использующийся для эмуляции терминала удаленной станции.
SMTP (Simple Mail Transfer Protocol) — простой протокол передачи почты, использующийся для обеспечения передачи электронных почтовых сообщений с применением транспортного протокола TCP.
SIP (Session Initialization ( Initiation) Protocol) — протокол инициализации сессий - основной протокол управления сервисами в сетях NGN/IMS. Более подробную информацию о протоколе SIP и технологии SIP-телефонии - см. в Лекции 13 - Технология SIP-телефонии и в лабораторной работе 3.