1. 1 История tcpIP
Скачать 340.83 Kb.
|
3 Протокол IPПротокол IP (Internet Protocol) является основным протоколом стека TCP/IP и сетевого уровня (network layer). Основная задача сетевого уровня — доставка данных между устройствами различных сетей, которые соединены произвольным образом, т. е. образуют составную сеть (internetwork). Сети могут быть построены с использованием различных протоколов канального и физического уровня. Таким образом, они используют различные форматы кадров, методы доступа к среде передачи, методы модуляции и кодирования. Для того чтобы соединить такие сети, нужен общий межсетевой уровень, использующий понятный всем нижележащим сетям протокол. Таким протоколом является протокол IP. Успех протокола IP был обусловлен его характеристиками, несмотря на имеющиеся в нем ограничения. Он независим от протоколов нижележащих уровней и обеспечивает универсальную адресацию узлов, которая позволяет выполнять маршрутизацию пакетов данных в составных сетях. Протокол IP является протоколом без установления соединения (connectionless protocol). Это означает, что когда узел А хочет передать данные узлу В, им не надо сначала устанавливать соединение и только после этого получить возможность передачи данных. Протокол IP не использует отправку подтверждений и не гарантирует надежной доставки пакета до адресата. Эта функция выполняется протоколами более высокого уровня. Поэтому его иногда называют best-effort protocol. Может показаться удивительным, почему при имеющихся ограничениях (отсутствии установления соединений, ненадежной доставке) протокол получил широкое распространение. Ответ прост — протокол не снижает производительность сети. Установление соединения, надежная доставка и подтверждения требуют времени, ресурсов устройств и сильно снижают пропускную способность сети за счет передачи большого количества служебных сообщений. Протокол IP выполняет четыре основных функции: адресацию узлов; инкапсуляцию данных; фрагментацию и последующую сборку пакетов; маршрутизацию. Существует две версии протокола IP: IPv4 (IP version 4) и IPv6 (IP version 6). Как вы уже знаете, первой версией протокола IP стала версия 4, документированная в RFC 760 (январь 1980 года). В сентябре 1981 года RFC 760 был заменен RFC 791. Из-за ограниченного адресного пространства IPv4 появилась необходимость в новой версии протокола IP. Ей стала шестая версия протокола — Internet Protocol version 6 (IPv6), которую также иногда называют IP Next Generation или IPng. Протокол IPv6 описан в серии RFC, начиная с RFC 1883. Почему новая версия протокола IP не была названа версией 5? Этот номер версии пропустили, чтобы не путать с экспериментальным протоколом стека TCP/IP, получившим название Internet Stream Protocol, Version 2 (RFC 1190). Предполагалось, что этот протокол станет равноправным IP протоколом сетевого уровня и его пакетам назначили версию 5, чтобы отличать от оригинальных пакетов IPv4. Протокол Internet Stream Protocol не нашел применение, и чтобы не было путаницы, версию 5 протокола IP пропустили. 3.1 Протокол IP версии 4Данные, передаваемые с использованием протокола IPv4, помещаются в сообщения, называемые пакетами или дейтаграммами. Протокол IPv4 использует пакет, который условно можно разделить на заголовок, длиной 20 байт, и данные. Заголовок содержит адресные и управляющие поля, а в поле Данные находится непосредственно информация, которая передается через составную сеть. В отличие от формата некоторых других протоколов, например, Ethernet, пакет IPv4 не содержит следующего за полем Данные поля контрольной суммы всего пакета. Пакет IPv4 состоит из следующих полей: Версия (Version) — для IPv4 значение поля равно 4; Длина заголовка (IHL, Internet Header Length) — указывает на начало блока данных в пакете. Обычно значение для этого поля равно 5; Тип сервиса (ToS, Type of Service) — содержит информацию, требуемую для обеспечения функций качества обслуживания (QoS); Общая длина (TL, Total Length) — общая длина пакета с учетом заголовка и поля данных; Идентификатор пакета (Identification) — используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета; Флаги (Flag) — содержит признаки, связанные с фрагментацией пакета; Смещение фрагмента (Fragment Offset) — значение, определяющее позицию фрагмента в потоке данных; Время жизни (TTL, Time to Live) — максимальное время в секундах, в течение которого пакет может перемещаться по сети. Маршрутизатор при получении пакета каждый раз будет уменьшать это время. Как только оно станет равным 0, пакет будет отброшен; Протокол (Protocol) — указывает, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета; Контрольная сумма (Header Checksum) — рассчитывается по заголовку и позволяет определить целостность заголовка пакета; Адрес источника (Source IP Address) и адрес назначения (Destination IP Address) — указывают отправителя и получателя пакета; Опции (Options) — необязательное поле, может использоваться при отладке работы сети; Данные (Data) — данные передаваемые в пакете: или полное сообщение, полученное от вышележащего уровня, или его фрагмент. Заголовок IPv4, как правило, имеет длину 20 байт. При использовании необязательного поля Опции (Options), длина заголовка может быть увеличена в зависимости от количества опций, но всегда остается кратной 32 битам. |