• на длительное время растянувшаяся процедура принятия стандарта;
• его «оторванность» от реалий;
• наличие большого числа уровней трудно для реализации и приводит к потере производительности;
• широчайшее распространение протокола TCP/IP и нежелание потребителей отказываться от него.
В результате, спецификации OSI сегодня – это, в основном, страницы в учебнике, в реальной жизни они не применяются.
Модель сетевого взаимодействия TCP/IP
Архитектура семейства протоколов TCP/IP (Transmission Control Protocol / Internet Protocol, протокол управления передачей / интернет-протокол) основана на представлении, что коммуникационная инфраструктура содержит три вида объектов: процессы, хосты и сети.
Основываясь на этих трех объектах, разработчики выбрали четырехуровневую модель:
1. Уровень сетевого интерфейса (Network interface layer).
2. Уровень межсетевого интерфейса – интернета [1] (Internet layer).
3. Транспортный уровень (Host-to-host Layer).
4. Уровень приложений/процессов (Application/process layer).
Сопоставление сетевых моделей OSI и TCP/IP
Нетрудно заметить, что модель TCP/IP отличается от модели OSI. В табл. 3.4 показано соответствие модели TCP/IP и модели OSI.
Таблица 3.4. Соответствие модели TCP/IP и модели OSI
Как видно из таблицы, уровень сетевого интерфейса сетевой модели TCP/IP соответствует сразу двум уровням сетевой модели OSI, а уровень приложений сетевой модели TCP/IP – трем уровням сетевой модели OSI.
Сетевые протоколы
В этом разделе мы рассмотрим различные сетевые протоколы, используемые в современной компьютерной индустрии.
Семейство протоколов TCP/IP
Семейство протоколов TCP/IP включает следующие протоколы:
• межсетевой протокол (Internet Protocol – IP, протокол интернета) – соответствует уровню интернет-модели TCP/IP. Отвечает за передачу данных с одного хоста на другой;
• межсетевой протокол управления сообщениями (Internet Control Message Protocol, ICMP) – отвечает за низкоуровневую поддержку протокола IP, включая подтверждение получения сообщения, сообщения об ошибках и многое другое;
• протокол преобразования адресов (Address Resolution Protocol, ARP) – выполняет преобразование логических сетевых адресов в аппаратные МАС-адреса (Media Access Control). Соответствует уровню сетевого интерфейса;
• протокол пользовательских датаграмм (User Datagram Protocol, UDP) – обеспечивает пересылку данных без проверки с помощью протокола IP;
• протокол управления передачей (Transmission Control Protocol, TCP) – обеспечивает пересылку данных (с созданием сессии и проверкой передачи данных) с помощью протокола IP;
• множество протоколов уровня приложений (FTP, Telnet, IMAP, SMTP и др.).
Схема протоколов семейства TCP/IP представлена в табл. 3.5.
Таблица 3.5. Схема семейства протоколов TCP/IP
Протоколы межсетевого уровня (интернет)
Протоколы межсетевого уровня (интернет) являются базовыми протоколами в семействе протоколов TCP/IP. Это протоколы TCP/IP, ARP/RARP и ICMP.
Протокол IP
Первоначальный стандарт IP разработан в конце 1970-х годов и не был рассчитан на огромное количество хостов, которое сейчас находится в Интернете. Поэтому в настоящее время утвержден новый стандарт IP (в литературе часто старый стандарт встречается как IPv4, а новый – как IPv6). Однако массового применения он пока не нашел из-за огромного количества программных и аппаратных средств, не способных работать с IPv6, поэтому мы здесь будем рассматривать, в основном, протокол IPv4.
Формат пакета IPv4
Пакет IP состоит из заголовка и поля данных. Заголовок пакета имеет следующие поля:
• поле Номер версии (VERS) указывает версию протокола IP. Сейчас повсеместно используется версия 4 и готовится переход на версию 6;
• поле Длина заголовка (HLEN) пакета IP. Занимает 4 бита и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байтов в поле Резерв (IP OPTIONS);
• поле Тип сервиса (SERVICE TYPE) занимает 1 байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (PRECEDENCE). Приоритет может иметь значения от 0 (нормальный пакет) до 7 (пакет управляющей информации). Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит Т – для максимизации пропускной способности, а бит R – для максимизации надежности доставки;