84762

Коммуникационный протокол IPv4

Лекция

Информатика, кибернетика и программирование

Длина заголовка 4 бита задает значение длины заголовка пакета измеренной в 32 битовых 4 байтовых словах. Тип сервиса Туре of Service ToS 8 битовое поле предназначенное для оптимизации транспортной службы содержащее: 3 битовое поле Приоритет принимает 8 значений: от 0 нормальный приоритет...

Русский

2015-03-21

640.04 KB

6 чел.

Лекция 16

4.4.4 Коммуникационный протокол IPv4

Протокол IP специфицирует три основных элемента:

• блок данных - пакет IP, с которым работает протокол;

• механизмы распространения (маршрутизации) пакетов;

• способы обработки конфликтных ситуаций.

Пакет IP состоит из заголовка и блока данных (рис.144,а).

В настоящее время в сети Интернет могут циркулировать IР-пакеты двух версий:

• IР-пакет версии 4 (IPv4);

• IР-пакет версии 6 (IPv6).

Протокол IP обрабатывает и интерпретирует только поля заголовка.

Формат заголовка пакета IPv4 показан на рис.144,б).

Рассмотрим назначения полей заголовка.

Рис. 144

«Номер версии» (4 бита) - используется для указания версии протокола IP, который должен обрабатывать данный пакет. В настоящее время осуществляется постепенный переход от версии 4 к версии 6, и большинство узлов могут обрабатывать пакеты обеих версий. Если это поле содержит значение, отличное от указанных версий протокола, пакет уничтожается.

«Длина заголовка» (4 бита) - задает значение длины заголовка пакета, измеренной в 32-битовых (4-байтовых) словах. Минимальное значение длины (при отсутствии необязательных полей «параметры» и «Наполнение») равно 5, что соответствует заголовку длиной 20 байт. Максимальное значение этого 4-битового поля равно 15, что соответствует заголовку длиной 60 байт. Следовательно, максимальный размер необязательных полей «параметры» и «Наполнение» равен 40 байтам.

«Тип сервиса» (Туре of Service, ToS) 8-битовое поле, предназначенное для оптимизации транспортной службы, содержащее:

• 3-битовое поле «Приоритет» принимает 8 значений: от 0 (нормальный приоритет) до 7 (сетевое управление);

• биты D,T,R задают тип транспортировки, который "запрашивает" пакет; установка этих битов в состояние " 1 " требует:

- D=1 (Delay - задержка) - малой задержки при передаче пакета;

- Т=1 (Throughput — пропускная способность) — высокой пропускной способности;

- R = 1 (Reliability — надежность, достоверность) — высокой надежности;

• 2 резервных бита.

Стандарты, принятые в конце 90-х годов, дали новое название этому полю - байт дифференцированное обслуживание или DS-байт — и переопределили назначение его битов.

Поле «Тип сервиса» не всегда используется маршрутизаторами.

«Общая длина» (16 бит) - задает длину пакета, включая заголовок и данные, измеренную в байтах. Общая длина пакета IP может достигать 65535 байт, однако в большинстве сетей столь большие пакеты не используются.

Протокол IP должен обеспечивать межсетевое взаимодействие между разными сетями, различающимися, в том числе, ограничением на максимальную длину кадра, разрешенным в той или иной физической сети (Maximum Transfer Unit, MTU). Поэтому протокол IP вынужден решать задачу, более свойственную транспортному протоколу, - разбивку больших пакетов на малые и наоборот - их сборку. Это требуется делать в тех случаях, когда на вход некоторой физической сети поступает пакет, превосходящий по длине MTU для данной сети. Такая операция называется фрагментированием (fragmentation) и осуществляется следующим образом.

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

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

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

«Идентификатор пакета» (16 бит) - общий для всех фрагментов идентификатор, указывающий на принадлежность фрагмента к одному большому пакету.

«Флаги» (3 бита) - содержат признаки (биты), связанные с фрагментацией:

• DF (Do not Fragment - не фрагментировать) - значение, равное 1, запрещает маршрутизатору фрагментировать пакет;

• МF (Моrе Fragments - больше фрагментов) - значение, равное 1, означает, что фрагмент является промежуточным;

• один бит зарезервирован.

«Смещение фрагмента» (13 бит) - смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного нефрагментированного пакета. Смещение используется при сборке фрагментов в пакет и должно быть кратно 8 байтам.

«Время жизни» (Тimе То Live, TTL) - 8-битовое поле, содержащее время, измеряемое в секундах, в течение которого пакет может существовать в сети. Хосты и маршрутизаторы, обрабатывающие данный пакет, уменьшают значение этого поля в период обработки и хранения пакета как минимум на 1 плюс время ожидания в очереди. Однако на практике в каждом маршрутизаторе обычно из этого времени просто вычитается 1. Таким образом, время жизни фактически измеряется количеством маршрутизаторов, через которые проходит пакет. Когда время жизни истекает, пакет уничтожается. При этом источник сообщения уведомляется о потере пакета. Наличие конечного времени жизни пакета, равное 255 (8 двоичных разрядов), обеспечивает, в частности, защиту от таких нежелательных событий, как передача пакета по циклическому маршруту, перегрузка сетей.

«Протокол» (8 бит) - указывает протокол вышележащего уровня, которому предназначена информация, содержащаяся в поле данных пакета IP. Например, значение 6 соответствует протоколу ТСР, а значение 17 - протоколу UDP.

«Контрольная сумма заголовка» (16 бит) - используется для контроля целостности только заголовка пакета IP и вычисляется как сумма всех 16-битовых полуслов заголовка в дополнительном коде, преобразованная также в дополнительный код. Таким образом, вычисляемая получателем контрольная сумма заголовка вместе с этим полем должна быть равна нулю. Поскольку некоторые поля заголовка могут изменять свои значения в процессе передачи пакета по сети, контрольная сумма вычисляется и проверяется в каждом маршрутизаторе и в конечном узле.

«IP-адрес источника» (32 бита) - IР-адрес отправителя пакета.

«IP-адрес назначения» (32 бита) - IР-адрес получателя пакета.

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

«Наполнение» - поле переменной длины, необходимое для дополнения заголовка пакета до целого числа 32-битовых слов.

4.4.5 Коммуникационный протокол IPv6

Проблемы, с которыми в начале 90-х годов столкнулись разработчики и пользователи Интернета, базирующегося на протоколах TCP/IP, привели к осознанию необходимости разработки новой версии протокола IP - протокола IPv6, который должен обеспечить достижение следующих целей:

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

• уменьшение таблиц маршрутизации и упрощение протокола для ускорения обработки пакетов маршрутизаторами;

• предоставление гарантий качества транспортных услуг при передаче неоднородного трафика, в частности, при передаче данных реального времени;

• более надёжное обеспечение безопасности - аутентификации и конфиденциальности;

• возможность сосуществования старого и нового протоколов;

• возможность развития протокола в будущем.

Основными особенностями протокола IPv6 являются следующие.

1. Длина IР-адреса увеличена до 16 байт, что предоставляет пользователям практически неограниченное адресное пространство.

2. Упрощена структура заголовка, содержащего всего 7 полей (вместо 13 в протоколе IPv4), что позволяет маршрутизаторам быстрее обрабатывать пакеты, то есть повышает их производительность.

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

4. Улучшена система безопасности.

5. Предусмотрена возможность расширения типов (классов) предоставляемых услуг, которые могут появиться в результате ожидаемого роста мультимедийного трафика.

4.4.5.1 Адресация в IPv6

Необходимость расширения адресного пространства в сетях TCP/IP была одной из основных целей перехода на новую версию протокола IP. Для этого длина IР-адреса была увеличена до 16 байт или 128 бит, что предоставляет пользователям практически бесконечное адресное пространство - более чем  адресов.

В протоколе IPv6 вместо двухуровневой (как в IPv4) иерархии адресов используется четырёхуровневая:

• 3 уровня используются для идентификации сетей;

• 1 уровень используется для идентификации узла сети.

Для записи 16-байтовых адресов используется шестнадцатеричная форма (вместо десятичной формы в протоколе IPv4), причём каждые 4 шестнадцатеричные цифры отделяются друг от друга двоеточием:

АВ25:164:0: Е12В:6:0:С2С4:1234

BDA5::3217:19:0:F084.

Как видно из представленных примеров, при записи адреса допускается ряд упрощений:

• вместо 4-х нулей записывается только один нуль: 0 вместо 0000;

• можно опускать незначащие нули в начале каждого четырёхсимвольного поля адреса: 164 вместо 0164 или 6 вместо 0006;

• если в адресе имеется длинная последовательность нулей, то запись можно сократить, заменив в ней все нули двоеточием, причём двоеточие может употребляться только один раз: CFI8:35::67:5 , что соответствует адресу CFI8:35:0:0:0:0:67:5;

• для сетей, использующих обе версии (IPv4 и IPv6) протокола разрешается использовать традиционную десятичную запись IPv4 в 4-х младших байтах, например : ::ВАС2:192.85.1.6.

В протоколе IPv6 предусмотрено 3 типа IР-адресов (рис.145):

• индивидуальный адрес (uniсаst), определяющий уникальный идентификатор отдельного интерфейса оконечного узла или маршрутизатора;

• групповой адрес (multicast), аналогичный групповому адресу IPv4, идентифицирует группу интерфейсов, относящихся, как правило, к разным узлам;

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

Индивидуальные IР-адреса могут быть трёх типов:

Рис. 145

• глобальный агрегируемый уникальный адрес, являющийся основным подтипом индивидуального адреса, основанный на агрегировании для упрощения маршрутизации;

• адрес обратной петли, играющий ту же роль, что и адрес 127.0.0.1 протокола IPv4 и имеющий вид: 0:0:0:0:0:0:0:1;

• неопределённый адрес, состоящий из одних нулей и являющийся аналогом адреса 0.0.0.0 протокола IPv4.

Структура глобального агрегируемого уникального адреса представлена на рис.146.

Поле FP (Fоrmаt Prefix - префикс формата) определяет формат адреса и для рассматриваемого типа имеет значение 001.

Следующие поля описывают три уровня идентификации сетей:

Рис. 146

• TLA (Top-Level Aggregation - агрегирование верхнего уровня) предназначено для нумерации сетей самых крупных поставщиков услуг; небольшое количество разрядов (13 двоичных разрядов) позволяют ограничить количество таких сетей числом 8196 и, следовательно, ограничить размер таблиц маршрутизации и ускорить работу магистральных маршрутизаторов; следующие 8 разрядов за полем TLA зарезервированы на будущее для его расширения;

• NLA - (Next-Level Aggregation - агрегирование следующего уровня) предназначено для нумерации средних и мелких поставщиков услуг;

• SLA - (Site-Level Aggregation - агрегирование местного уровня) предназначено для нумерации подсетей, находящихся в распоряжении одного администратора, который может формировать адреса, состоящие из идентификатора подсети SLA и идентификатора интерфейса Idlnt, без согласования с поставщиком услуг.

Поле IdInt - идентификатор интерфейса является аналогом номера узла в протоколе IPv4, но в отличие от него содержит физический (локальный) адрес интерфейса (например, МАС-адрес или адрес X.25), а не произвольно назначенный номер узла. В этом случае отпадает необходимость в протоколе ARP и в ручном конфигурировании конечных узлов. Кроме того, теряет смысл использование масок для разделения сетей на подсети, в то время как объединение сетей приобретает особое значение.

Для того чтобы узлы, поддерживающие протокол IPv6, могли передавать пакеты через сеть IPv4, разработан специальный подтип адресов, которые переносят адрес IPv4 в младших 4-х байтах адреса IPv6, а в 12 старших байтах содержат нули (рис.147).

Для передачи пакетов IPv4 через подсети, работающие по протоколу IPv6 предназначен IPv4 - отображённый IРv6-адрес (рис.148), содержащий в первых десяти байтах нули, а в двух последующих байтах - единицы, которые показывают, что данный узел поддерживает только протокол Ipv4.

Рис. 147

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

Рис. 148

Рис. 149

В качестве дополнительных заголовков могут использоваться следующие:

• заголовок маршрутизации, содержащий полный маршрут при маршрутизации от источника;

• заголовок фрагментации, содержащий информацию о фрагментации исходного IР-пакета;

• заголовок аутентификации, содержащий информацию, необходимую для аутентификации конечных узлов и обеспечения целостности содержимого IР-пакетов;

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

• специальные параметры, необходимые для обработки пакетов в процессе передачи по сети;

• параметры получателя, содержащие дополнительную информацию для узла назначения.

Такая структура пакета IPv6 обеспечивает следующие преимущества по сравнению с пакетом IPv4:

• меньше нагрузка на маршрутизаторы, поскольку все дополнительные заголовки обрабатываются только в конечных узлах;

• большая функциональность и открытость для внедрения новых механизмов протокола IP за счёт использования большого количества дополнительных параметров.

Формат основного заголовка IPv6 имеет фиксированную длину 40 байт (рис.150).

Поле «Версия» (4 бита) содержит число 6 для пакета IPv6.

Поле «Приоритет» (4 бита) используется для того, чтобы различать пакеты с разными требованиями к доставке в реальном времени.

Поле «Метка потока» предназначено для установления между отправителем и получателем псевдосоединения с определёнными свойствами и требованиями. Маршрутизаторы, в зависимости от метки потока в заголовке прибывшего пакета, определяют, какого рода особая обработка требуется пакету. С помощью этого поля протокол пытается объединить достоинства дейтаграммного способа передачи пакетов и способа «виртуальный канал».

Поле «Длина полезной нагрузки» указывает, сколько байт содержится в пакете без учета основного заголовка, длиной 40 байт. Аналогичное поле «Полная длина» в IPv4 определяло всю длину пакета с учётом заголовка.

Рис. 150

Поле «Следующий заголовок» указывает, какой из дополнительных заголовков следует за основным. Все дополнительные заголовки содержат такие же поля, которые указывают на последующие заголовки. В последнем заголовке в этом поле указывается протокол транспортного уровня (ТСР или UDP), которому следует передать содержимое пакета.

Поле «Максимальное число транзитных участков (ТУ)» определяет время жизни пакета. Значение поля, устанавливаемое узлом-отправителем, уменьшается на единицу на каждом транзитном участке.

Далее следуют 16-байтные IР-адреса отправителя и получателя.

Сравнение заголовка IPv6 с заголовком IPv4 показывает, что:

• поле «Длина заголовка» исчезло, так как основной заголовок IPv6 имеет фиксированную длину;

• поле «Протокол» отсутствует, поскольку поле «Следующий заголовок» указывает, что следует за последним заголовком (ТСР-сегмент или UDР-пакет);

• удалены поля, относящиеся к фрагментации, так как все узлы, поддерживающие протокол IPv6, должны динамически определять нужный размер дейтаграммы, что делает фрагментацию маловероятной;

• минимальный размер пакета, который должен передаваться в сетях IPv6 без фрагментации, увеличен с 576 до 1 280 байт;

• поле «Контрольная сумма» удалено, так как её подсчёт занимает много времени, что существенно снижает производительность узлов; к тому же всё шире используются надёжные линии связи, например волоконно-оптические.

Таким образом, протокол IPv6 является простым, быстрым и гибким протоколом сетевого уровня с огромным адресным пространством.

4.4.6 Фрагментация

В объединяемых сетях разных технологий допустимая максимальная длина пакетов (Maximum Transfer Unit, МТU) различна и варьируется от 53 байт в АТМ-сетях до 65535 байт в IР-сетях. При объединении таких сетей возникает проблема, связанная необходимостью разбиения большого пакета при его передаче через сеть с меньшей допустимой длиной пакета. Если пакет проходит через последовательность сетей и попадает в сеть, у которой значение МТU оказывается меньше размера пакета, по граничный маршрутизатор разбивает пакет на две или более части.

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

Фрагментация в сетях может быть реализована двумя способами (рис.151):

• прозрачная фрагментация;

• сквозная фрагментация.

Принцип реализации прозрачной фрагментации рассмотрим на примере передачи длинного пакета от узла А к узлу В через две подсети (Ethernet и АТМ) с меньшим значением МТU (рис.152).

Рис. 151

Подсети с разными МТU имеют шлюзы — специализированные маршрутизаторы, предоставляющие интерфейсы для связи с другими сетями. Если на такой шлюз приходит пакет слишком большого размера, он разбивается на фрагменты в соответствии с принятым в данной сети значением MTU. Каждый фрагмент адресуется одному и тому же выходному шлюзу, который восстанавливает из этих фрагментов исходный пакет и, таким образом, прохождение данных через сети (подсети) с маленькими значениями МТU оказывается прозрачным для пользователей.

Рис. 152

Прозрачная фрагментация обладает простотой, но при этом имеет ряд существенных недостатков:

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

• все фрагменты одного пакета должны покидать подсеть через один и то же шлюз, что снижает эффективность маршрутизации;

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

Сквозная фрагментация (рис.153) является альтернативной по отношению к прозрачной фрагментации и состоит в отказе от восстановления пакета из фрагментов в каждой подсети.

Рис. 153

Пакет разбивается на фрагменты сразу же в узле-отправителе А или в шлюзе  сети. Эти фрагменты передаются по сети как самостоятельные пакеты независимо друг от друга и собираются только в конечном шлюзе  или узле-получателе В.

Недостатками такого способа фрагментации являются следующие:

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

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

• необходимо иметь информацию о том, какие значения MTU имеют подсети, через которые проходит путь передачи данных, чтобы задать размер фрагментов.

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

Исходный пакет разбивается на множество элементарных фрагментов одинаковой длины (рис.154,а), кроме последнего, который может быть короче. Фрагменты, формируемые в некоторой подсети и называемые межсетевыми пакетами, могут состоять из нескольких элементарных фрагментов (рис.154,б), число которых определяется значением МТU, принятым для данной подсети. Заголовок таких фрагментов должен содержать (рис.154):

Рис. 154

• номер исходного пакета (ИП);

• номер первого элементарного фрагмента (нумерация начинается с нуля), содержащегося в нём, который В заголовке IР-пакета называется смещением фрагмента (СФ);

• признак конца (ПК) пакета.

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


 

А также другие работы, которые могут Вас заинтересовать

59305. Казкова вікторина 135.5 KB
  Діти: Допоможемо Книгадівчина: Які ви молодці а то мені не впоратись самій. Дівчина –книга сідає на стілець. І під загадкову музику і мікрофон хтось каже: Книга відкривається казка починається Під веселу музику вбігає колобок і співає: Колобок: Я по засіку метений...
59306. Виховна година, присвячена Дню Збройних Сил України 45 KB
  Політичний, економічний, духовний розвиток України можливий за умови гарантування її державного суверенітету, політичної незалежності, збереження територіальної цілісності та недоторканості кордонів.
59307. ТУРНІР МАЙБУТНІХ СІМЕЙ. ВАЛЕОЛОГІЧНИЙ ВЕЧІР 37 KB
  Одружитися зовсім не важко важко бути одруженим. Так Тисячу разів повторюють це признання перед усім білим світом. Це вільна рівноправна спілка жінки та чоловіка укладена з дотриманням порядку та умов установлених законом яка утворює сім’ю і породжує взаємні особисті...
59308. Провідник (Windows Explorer) 61 KB
  Копіювання та переміщення файлів з використанням буфера обміну Знайдіть в папці €œМої документи файли Urok1.doc Urok2.doc Urok3. Тепер з папки €œМої документи перемістіть файл Urok4.
59309. Основні норми української літературної вимови 43 KB
  Виробляти й удосконалювати навики правильної вимови голосних і приголосних звуків та передачі їх на письмі. Ось про те чому замість звукаякий ми чуємо пишемо букву що позначає інший звук чому ь м’який знак а в інших ні; про основні правила вимови й написання букв і йтиметься на сьогоднішньому уроці.
59310. Інтонація та розділові знаки між простими реченнями в складносурядному 38.5 KB
  Які речення називається складносурядним 2. Які смислові зв’язки існують між простими реченнями у складносурядному 3. ЗАВДАННЯ: записити й виразно з інтонацією прочитати речення.
59311. ЕНЕРГІЯ ЗМІН: МОЛОДЬ ВИБИРАЄ ЗДОРОВЯ 59 KB
  Допомогти учням зрозуміти значення всіх складових і факторів здоров’я. Вчити усвідомлювати основну мету здорової людини повноцінне життя як громадянина; можливість кожної особи реалізувати свій творчий і фізичний потенціал успадкований від батьків...
59312. Святий Миколай-найяскравіший приклад добродійництва і милосердя 40.5 KB
  Трошки допоможи мамі бо святий Миколай все бачить і чує. Гануся: Мамо мамо а хто такий святий Миколай Мама: Ой діти то довга історія а я немаю часу розповідати. Жив в однім краю служив Господу Богу і людям єпископ Миколай.