Протокол Интернет версии 4
Основным протоколом сетевого уровня является протокол Интернета ( IP ), которым пользуется IP — модуль для коммутации (перемещения) пакета с одного интерфейса на другой.
Протокол Интернета ( Internet Protocol — IP ) — это механизм передачи, используемый протоколами TCP / IP .
IP -протокол передачи дейтаграмм, не обеспечивающий надежность и не ориентированный на соединение, обслуживает передачу с наилучшими из возможных показателей (наилучшими намерениями — best effort ), но без гарантий. Термин с наилучшими из возможных показателей означает, что IP не гарантирует никаких показателей, не проводит проверку ошибок или отслеживание качества передачи информации. При таком принципе сетевые ресурсы выделяются по возможности. IP предполагает ненадежность основных уровней и осуществляет передачу информации к оконечному пункту без всяких гарантий. Если надежность является важной, IP может сочетаться с надежными протоколами, такими как TCP .
IP также протокол без установления соединения. Он передает пакет коммутируемой сети, используя метод дейтаграмм. Это означает, что каждая дейтаграмма обрабатывается независимо, и каждая дейтаграмма следует разными маршрутами к конечному пункту. Поэтому дейтаграммы, переданные одним и тем же источником к одному и тому же оконечному пункту, могут поступать не по порядку, также некоторые из них могут быть потеряны или искажены во время передачи. IP полагается на протокол более высокого уровня для того, чтобы решить все эти проблемы.
Дейтаграмма
Протокол Интернета версии 4 ( Internet Protocol , IPv4) решает две базовые функции: адресацию и фрагментацию. Маршрутизацию пакета модуль IP осуществляет по адресу, расположенному в заголовке пакета. Там же имеется информация о способе фрагментации / сборки дейтаграмм, если максимальная длина сетевого пакета ( Maximum Transfer Unit – MTU ) отличается от значения MTU , принятого на адресуемом интерфейсе.
Пакеты на уровне IP называются дейтаграммами. Рис. 4.1 а а показывает формат IP -дейтаграммы.
Дейтаграмма — пакет переменной длины (рис. 4.1 а) состоит из двух частей: заголовка и данных. Заголовок имеет от 20 до 60 байт длины и содержит существенную информацию для маршрутизации и доставки. Обыкновенно в TCP / IP заголовок содержит в себе четыре секции. Краткое описание каждого поля заголовка дано ниже.
- Версия (VER). Это поле из 4 бит определяет версию протокола IP: в настоящее время это версия 4 — IPv4 (двоичный код 0100 ). Однако версия 6 может полностью заменить версию 4 через несколько лет. Поле VER показывает программному обеспечению IP, функционирующему в обрабатывающем компьютере, что дейтаграмма имеет формат версии 4. Все поля должны интерпретироваться, как определено в четвертой версии протокола. Если компьютер использует некоторую другую версию IP, дейтаграмма отклоняется, но не интерпретируется некорректно.
- Длина заголовка (HLEN – Header Length). Это поле из 4 бит определяет полную длину дейтаграммного заголовка в 4-байтовых словах. Оно необходимо, потому что длина заголовка является переменной
- Различные услуги (прежний тип сервиса). IETF недавно изменил интерпретацию и имя этого поля на 8 бит. Это поле прежде называлось типом сервиса ( Service Type – TS), теперь оно называется различными услугами (DS – Differentiated Service ). Обе интерпретации показаны на рис. 4.2 а Рассмотрим каждую из них.
- Тип сервиса (Type of Service – TOS), показан на рис. 4.2 а. В этой интерпретации первые 3 бита называются битами категории срочности (приоритета). Следующие 4 бита называются битами типа услуги, и последний бит не используется.
- Биты категории срочности (Precedence) — подполе из 3 бит в пределах от 0 ( 000 в двоичном представлении) до 7 ( 111 в двоичном представлении). Поле категории срочности определяет приоритет дейтаграммы при перегрузках. Если маршрутизатор перегружен и должен удалить некоторые дейтаграммы, то первыми будут удалены дейтаграммы с самой низкой категорией срочности. Некоторые дейтаграммы в Интернете более важны, чем другие. Например, дейтаграмма, используемая для управления сетью, намного более срочная и важная, чем дейтаграмма, содержащая дополнительную информацию для группы. В настоящее время подполе категории срочности не используется. Это, как ожидается, будет функционировать в будущих версиях.
- Биты типа обслуживания – это подполе из 4 бит, при этом каждый бит имеет специальное значение. Хотя бит может иметь значение либо 0, либо 1, но в каждой дейтаграмме один и только один бит может иметь значение 1. Образцы битов и их интерпретация даны в табл. 4.1. С таким набором, где только один бит может принять значение 1, мы можем получить пять различных услуг.
Биты типа обслуживания | Описание |
---|---|
0000 | Нормально (по умолчанию) |
0001 | Минимизация стоимости |
0010 | Максимизация надежности |
0100 | Максимизация пропускной способности |
1000 | Минимизация задержки |
Прикладные программы могут запросить специальный тип услуг. Тогда биты типа обслуживания устанавливаются по умолчанию. Значения по умолчанию для некоторых приложений показаны в табл. 4.2.
Протокол | Биты обслуживания | Описание |
---|---|---|
ICMP | 0000 | Нормально |
BOOTP | 0000 | Нормально |
NNTP | 0001 | Минимизация стоимости |
IGP | 0010 | Максимизация надежности |
SNMP | 0010 | Максимизация надежности |
TELNET | 1000 | Минимизация задержки |
FTP (данные) | 0100 | Минимизация задержки |
FTP (управление) | 1000 | Минимизация задержки |
TFTP | 1000 | Максимизация пропускной способности |
SMTP (команда) | 1000 | Минимизация задержки |
DNS (UDP-запрос) | 0100 | Нормально |
DNS (TCP-запрос) | 000 | Нормально |
DNS (Зона) | 0100 | Максимизация пропускной способности |
Из приведенных выше таблиц ясно, что интерактивные действия, такие как запрос, требуют немедленного внимания, а действия, запрашивающие немедленный отклик, требуют минимальной задержки. Те действия, которые связаны с передачей большого объема данных, требуют максимальной пропускной способности по всему соединению. Действия по управлению нуждаются в максимальной надежности. Основные действия нуждаются в минимальной стоимости.
- Когда 3 самых правых бита — нулевые, 3 крайних левых бита интерпретируются так же, как биты категории срочности при интерпретации типа сервиса. Другими словами, это совместимо со старой интерпретацией.
- Когда 2 самых правых бита — не все нули, 6 битов определяют 64 услуги, основанные на назначении приоритета с помощью Интернета или местных полномочий согласно табл. 4.3. Первая категория содержит 32 типа сервиса; вторая и третья содержит 16 типов каждая. Первая категория (числа 0, 2, 4, . 62) назначает полномочия Интернета (IETF — Internet Task Force ). Вторая категория (3, 7, 11, 15, . 63) может использоваться местными организациями. Третья категория (1, 5, 9, . 61) является временной и может применяться для экспериментальных целей. Обратите внимание, что числа не непрерывны. Если бы они были непрерывны, то первая категория расположилась бы от 0 до 31, вторая от 32 до 47, и третья от 48 до 63. Это было бы несовместимо с интерпретацией бит типа услуг, потому что XXX000(включает 0, 8, 16, 24, 32, 40, 48 и 56) попадал бы во все три категории. Вместо этого, при этом методе назначения все эти услуги принадлежат категории 1. Эти назначения еще нельзя считать окончательными.
Категория | Кодовая комбинация | Назначенные полномочия |
---|---|---|
1 | XXXX0 | Интернет |
2 | XXX11 | Местные |
3 | XXX01 | Временные и экспериментальные |
Продолжим рассмотрение полей IP-дейтаграммы.
Так как длина поля — 16 битов, полная длина дейтаграммы IP ограничена 65 535 (2 16 – 1) байтами, из которых 20-60 байтов являются заголовком, а остальные — данные верхнего уровня.
Хотя размер 65 535 байтов мог бы казаться большим, размер дейтаграммы IP может увеличиться в ближайшем будущем, поскольку основные технологии позволяют даже большую производительность (большую пропускную способность).
Когда мы обсудим в следующем разделе фрагментацию, мы увидим, что некоторые физические сети не способны инкапсулировать в своих кадрах дейтаграмму 65 535 байтов.
Чтобы пройти через эти сети, дейтаграмма должна быть фрагментирована. Когда устройство обработки информации или коммутатор (маршрутизатор или хост) получает кадр, он отбрасывает этот заголовок и окончание, оставляя дейтаграмму. Почему в формат включают дополнительное поле, которое не является необходимым? Во многих случаях мы действительно не нуждаемся в этом поле. Однако есть случаи, в которых дейтаграмма — не единственная вещь, которая инкапсулирована в кадр; она может быть дополнена заполнением. Например, протокол локальной сети на основе протокола Ethernet имеет минимальное и максимальное ограничение на размер данных, которые могут быть инкапсулированы в кадре (46-1500 байтов). Если размер дейтаграммы IP меньше чем 46 байтов, будет добавляться некоторое заполнение, чтобы выполнить это требование, и в этом случае, когда устройство извлечет дейтаграмму, оно должно проверить полное поле длины, чтобы определить, какая информация является действительно данными и какая — заполнением (рис. 4.3).
Протокол ip
Протокол IP является протоколом сетевого уровня стека протоколов TCP/IP. Функции протокола IP определены следующим образом: “Протокол IP обеспечивает передачу блоков данных, называемых дейтаграммами, от отправителя к получателям, где отправители и получатели являются компьютерами, идентифицируемыми адресами фиксированной длины (IP-адресами). Протокол IP обеспечивает при необходимости также фрагментацию и сборку дейтаграмм для передачи данных через сети с малым размером пакетов”. Вместо термина дейтаграмма мы далее будем употреблять термин пакет, как и договаривались ранее.
Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных. Протокол IP обрабатывает каждый пакет как независимую единицу, не имеющую связи ни с какими другими пакетами в Интернет. После того, как пакет отправляется в сеть, его дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если пакет не может быть доставлен, он уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу специальное ICMP-сообщение о причине сбоя.
Гарантию правильной передачи данных могут предоставлять протоколы вышестоящих уровней (например, протокол TCP транспортного уровня), которые имеют для этого необходимые механизмы.
Одна из основных задач, решаемых протоколом IP, — маршрутизация пакетов, т.е. определение пути следования пакета от одного узла сети к другому на основании адреса получателя.
Ip- адрес
IP- адрес — это 32-битное двоичное число.
Принята десятичная нотация адресов. Каждый из 4 байтов адреса представляется эквивалентным десятичным числом. Числа разделяются точками. Так для IP-адреса
11010100 11000001 00100000 00000100
IP-адрес может быть форматирован или 5 классическими способами (классы A, B C, D, E) или маской переменной длины (бесклассова адресация).