Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сети и телекоммуникации

.pdf
Скачиваний:
257
Добавлен:
05.06.2015
Размер:
13.44 Mб
Скачать

531

Термин «входящее TTL-время» (incoming TTL) помеченного пакета опре-

деляет значение в TTL-поле самой верхней записи набора маркеров в момент получения пакета.

Термин «исходящее TTL-время» (outgoing TTL) помеченного пакета оп-

ределяет значение, которое должно быть больше:

a)входящего TTL-времени, уменьшенного на единицу;

b)нуля.

Независимые от протоколов правила. Если значение исходящего TTL-

времени помеченного пакета равно нулю, то, либо помеченный пакет не дол-

жен больше никуда доставляться, либо из такого пакета должен быть удалѐн набор маркеров, а сам пакет должен доставляться как не помеченный. Время жизни пакета в сети определяется его предельным значением.

В зависимости от значения маркера в записи набора маркеров пакет мо-

жет быть просто уничтожен, либо может быть направлен на сетевой уровень для его последующей обработки (например, для формирования ICMP-сооб-

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

щего TTL-времени.

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

вершенно неважно, какое значение содержится в TTL-поле любой записи набо-

ра маркеров, если она не расположена на самом верху набора маркеров.

Зависимые от IP-протокола правила. Введѐм обозначение «IP/TTL-

поле». Значение этого поля должно быть равно значению, которое содержится в

TTL-поле заголовка IPv4-пакета или в поле «Hop Limit» (максимальное число РУ, RFC-2460) заголовка IPv6-пакета (в зависимости от того, какая версия IP-

протокола используется).

532

Когда IP-пакет маркируется впервые, тогда значение в TTL-поле записи набора маркеров должно быть равно значению IP/TTL-поля. (Если значение

IP/TTL-поля следует уменьшить на единицу, как часть обработки IP-пакета, то подразумевается, что это уже было сделано.)

Если маркер «удаляется», и в результате набор маркеров остаѐтся пустым,

то значение IP/TTL-поля должно быть заменено на значение исходящего TTL-

времени, как было рассмотрено выше. В IPv4-протоколе это потребует измене-

ния контрольной проверочной суммы IPv4-заголовка пакета.

Это указывает на то, что могут возникнуть ситуации, в которых сетевая администрация предпочитает уменьшать на единицу значение в TTL-поле заго-

ловка IPv4-пакета, как это осуществляется в сетевом MPLS-сегменте, вместо уменьшения значения в TTL-поле заголовка IPv4-пакета на число РУ LSP-

маршрута, в границах сетевого сегмента.

Трансляция между узлами, реализующими различные типы процедуры повторного обрамления. Иногда LSR-маршрутизатор может получить поме-

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

ATM/LSR-коммутатора (LC/ATM-интерфейс, RFC-30353), и может понадобить-

ся передать такой пакет по сквозному соединению канального уровня (PPP-

протокол), либо через ЛВС. Тогда входящий пакет не будет обработан с ис-

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

В таком случае, значение входящего TTL-времени определяется с помо-

щью процедур, используемых при доставке помеченных пакетов, например, с

помощью ATM/LSR-коммутаторов. А обработка TTL-поля осуществляется, как было описано ранее.

3MPLS using LDP and ATM VC switching. Стандарт, устанавливающий правила использования ATM-коммутаторов в качестве LSR-маршрутизатора.

533

Иногда LSR-маршрутизатор может получить помеченный пакет, который,

например, был передан по сквозному соединению канального уровня (PPP-

протокол), либо через ЛВС, и может понадобиться передать такой пакет, ска-

жем, на входной интерфейс ATM/LSR-коммутатора.

Тогда входящий пакет будет обработан с использованием процедуры по-

вторного обрамления, устанавливаемой данным стандартом, в то время как ис-

ходящий пакет будет не обработан с использованием такой процедуры. В таком случае, процедура доставки значения исходящего TTL-времени определяется процедурами, используемыми при доставке помеченных пакетов, например, с

помощью ATM/LSR-коммутаторов.

Фрагментация и определение маршрута с минимальным MTU-значением

Если возможно принять немаркированный IP-пакет, обладающий разме-

ром, превышающим разрешѐнное допустимое значение, и который следует транслировать дальше, то, по аналогии, можно принять маркированный IP-

пакет, обладающий размером, также превышающим разрешѐнное допустимое значение, и который также следует транслировать дальше.

Кроме того, можно получить пакет (маркированный или нет), который при отправке имел размер, не превышающий разрешѐнное допустимое значе-

ние для передачи по линии связи, но который стал намного длиннее благодаря одному или нескольким дополнительным маркерам, вставленным в набор мар-

керов. В MPLS-системах размер пакетов может увеличиваться за счѐт встав-

ленных дополнительных маркеров. Таким образом, если получен помеченный пакет, который был обрамлѐн в кадр (frame) канального уровня с полем полез-

ной нагрузки (payload), имеющим длину 1500 байт, то после вставки дополни-

тельного маркера понадобиться отправить кадр канального уровня с полем по-

лезной нагрузки, имеющим длину 1504 байта.

Вообще IPv4-узлы, которые не используют процедуру поиска маршрута с минимальным MTU-значением (path MTU discovery, RFC-1191, далее — MTU-

534

маршрут), транслируют IP-пакеты, которые содержат не более 576 байт. Так как в большинстве Internet-сетей используется процедура поиска MTU-марш-

рута, то в своѐм большинстве современные линии связи позволяют передавать кадры канального уровня с 1500-байтовой полезной нагрузкой, и поэтому веро-

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

ченных, чрезвычайна мала.

Некоторые IP-узлы, которые не используют процедуру поиска MTU-

маршрута, формируют IP-пакеты, включающие 1500 байт, пока IP-адреса от-

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

роваться.

К сожалению, некоторые IP-узлы формируют IP-пакеты, включающие

1500 байт, пока IP-адреса отправителя и получателя имеют один и тот же опре-

делѐнный номер сети. В таких случаях существует риск фрагментации, особен-

но когда такие IP-пакеты маркируются. (Даже при таких условиях, фрагмента-

ция не возможна до тех пор, пока IP-пакет должен транслироваться через ЛВС

«Ethernet» (некоторой разновидности) в период между начальным маркирова-

нием и удалением последнего маркера.)

В дальнейшем используются следующие термины, касающиеся канально-

го уровня Internet-архитектуры:

поле полезной нагрузки кадра (frame payload). Кадр канального уровня включает заголовок канального уровня и концевик (например, MAC-

заголовок, PPP-заголовок, поле проверочной суммы кадра и др.). Когда кадр переносит не помеченный IP-пакет, то поле полезной нагрузки пере-

носит только этот IP-пакет. Когда кадр переносит помеченный IP-пакет,

то поле полезной нагрузки включает записи набора маркеров и этот IP-

пакет;

стандартный максимальный размер поля полезной нагрузки кадра (conventional maximum frame payload size). Этот размер допускается стандар-

535

тами передачи по линиям/каналам связи (например, для ЛВС «Ethernet»

этот размер составляет 1500 байт);

реальный (действительный) максимальный размер поля полезной нагруз-

ки кадра (true maximum frame payload size). Это максимальный размер по-

ля полезной нагрузки, который может быть передан и получен через под-

ключѐнный к каналу передачи данных физический интерфейс сетевого программно-аппаратного комплекса. В ЛВС «Ethernet» и стандарта 802.3

считается, что реальный максимальный размер поля полезной нагрузки кадра на 4…8 байт больше, чем стандартный максимальный размер поля

(если не используются заголовки стандартов 802.1Q и 802.1p, и если ком-

мутатор или мост не могут ничего добавить, когда кадр транслируется на свой следующий РУ). Например, считается, что большая часть современ-

ного Ethernet-оборудования способна корректно передавать и принимать кадры, содержащие в поле полезной нагрузки 1504 байта или даже 1508

байт, по крайней мере, до тех пор, пока Ethernet-заголовок не содержит полей, предусмотренных стандартами 802.1Q и 802.1p.

В сквозных PPP-соединениях канального уровня реальный максимальный размер поля полезной нагрузки кадра практически неограничен;

эффективный максимальный размер поля полезной нагрузки кадра для помеченных IP-пакетов (effective maximum frame payload size for labeled packets). Это, либо стандартный, либо реальный максимальный размер поля полезной нагрузки кадра, в зависимости от технических параметров оборудования передачи данных по каналу связи или от длины используе-

мого заголовка канального уровня;

впервые помеченный IP-пакет (initially labeled IP datagram). Предполо-

жим, что некоторый LSR-маршрутизатор получил непомеченный IP-

пакет, и что этот LSR-маршрутизатор перед отправкой IP-пакета вставля-

ет в него маркер. Такой IP-пакет именуется впервые помеченным IP-

пакетом в этом LSR-маршрутизаторе;

536

ранее помеченный IP-пакет (previously labeled IP datagram). Это IP-пакет,

который был помечен до того, как поступил на вход некоторого LSR-мар-

шрутизатора.

Максимальный размер впервые помеченного IP-пакета

Каждый LSR-маршрутизатор, который способен:

a)принимать не помеченный IP-пакет;

b)добавлять набор маркеров в IP-пакет;

c)доставлять итоговый помеченный IP-пакет,

должен поддерживать конфигурационный параметр (параметр настройки), из-

вестный как «максимальный размер впервые помеченного IP-пакета» (maximum initially labeled IP datagram size), который может иметь не отрицательное значе-

ние.

Если этот параметр настройки имеет нулевое значение, то это не имеет никакого эффекта.

Если этот параметр настройки имеет положительное значение, то он ис-

пользуется следующим образом. Если:

a)получен не помеченный IP-пакет;

b)в заголовке этого IP-пакета бит «DF4» (Don't Fragment) имеет нулевое значение («можно фрагментировать»);

и

c)этот IP-пакет необходимо пометить, прежде чем он будет отправлен;

d)размер IP-пакета (перед маркированием) превышает значение этого пара-

метра;

то

a)IP-пакет должен быть поделѐн на фрагменты, причѐм длина каждого фрагмента не должна превышать значение этого параметра;

4 Этот бит расположен в поле «Индикатор «Ещѐ данные» заголовка IPv4-пакета (RFC-791), которое включает три бита (первый бит всегда нулевой; второй бит: 0 — «можно фрагментировать», 1 — «не фрагментировать»; третий бит: 0 — далее нет фрагментов, 1 — далее следует фрагмент).

537

b)каждый фрагмент должен быть помечен ещѐ до его отправки.

Например, если параметр настройки имеет значение 1488, то любой не

помеченный IP-пакет, длиной более 1488 байт, должен быть фрагментирован ещѐ до его маркирования. Каждый фрагмент можно будет транслировать по

1500-байтовому каналу передачи данных (т.е., использовать кадр, у которого длина поля полезной нагрузки составляет 1500 байт) без последствий, даже ес-

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

Другими словами, установка этого параметра в ненулевое значение по-

зволяет исключить фрагментацию ранее помеченных IP-пакетов, но это может привести, в некотором смысле, к ненужной фрагментации впервые маркируе-

мых IP-пакетов.

Следует заметить, что установка этого параметра не даѐт эффекта при об-

работке IP-пакетов, в которых бит «DF» имеет значение «1» («не фрагментиро-

вать»). Следовательно, при установке этого параметра результат процедуры по-

иска MTU-маршрута остаѐтся неизменным.

Если размер помеченного IP-пакета слишком большой

Помеченный IP-пакет, размер которого превышает стандартный макси-

мальный размер поля полезной нагрузки кадра, передаваемого по определѐн-

ному каналу передачи данных, может считаться «слишком большим» (too big).

Помеченный IP-пакет, размер которого превышает реальный максималь-

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

Помеченный IP-пакет, размер которого не является «слишком большим»,

должен транслироваться без фрагментирования.

Обработка помеченных IPv4-пакетов, которые являются «слишком большими»

538

Если помеченный IPv4-пакет является слишком большим, а бит «DF» в

IP-заголовке имеет значение «0» («можно фрагментировать»), то LSR-маршру-

тизатор может по-умолчанию удалить этот IPv4-пакет.

Следует заметить, что уничтожение таких пакетов является весьма вос-

требованной процедурой, если только в каждом LSR-маршрутизаторе сети, ко-

торый способен добавлять набор маркеров в помеченный IP-пакет, установлено не нулевое значение максимального размера впервые помеченного IP-пакета.

Если LSR-маршрутизатор принял решение не уничтожать помеченный

IPv4-пакет, являющийся слишком большим, или если в этом пакете бит «DF»

имеет значение «1», то он обязан выполнить следующую процедуру (алгоритм):

1.очистить записи набора маркеров до получения IPv4-пакета;

2.пусть N будет числом (количество) байт в наборе маркеров (т.е., число записей в наборе маркеров кратное 4);

3.если в заголовке IPv4-пакета бит «DF» имеет значение «0» («можно фрагментировать»), то:

a.фрагментировать IPv4-пакет, и при этом каждый фрагмент должен иметь длину, по крайней мере, на N байт меньше, чем эффективный максимальный размер поля полезной нагрузки кадра;

b.в начало каждого фрагмента поместить один и тот же заголовок с мар-

кером (набором маркеров), который мог бы присутствовать в ориги-

нальном IPv4-пакете, не нуждающемся во фрагментации;

c.транслировать фрагменты;

4.если в заголовке IPv4-пакета бит «DF» имеет значение «1» («не фрагмен-

тировать»), то:

a.IPv4-пакет не должен транслироваться далее;

b.сформировать ICMP-сообщение «Узел-получатель не достижим» (destination unreachable):

539

i.в поле «Код ошибки» заголовка этого ICMP-сообщения установить значение «4» (требуется фрагментация, и установка бита «DF», fragmentation required and DF set);

ii.в поле «MTU-значение следующего РУ» (next-hop MTU, RFC-1191)

заголовка этого ICMP-сообщения установить значение, равное раз-

нице между значением эффективного максимального размера поля полезной нагрузки кадра и значением N;

c.если возможно, то передать это ICMP-сообщение «Узел-получатель не достижим» отправителю уничтоженного IPv4-пакета.

Обработка помеченных IPv6-пакетов, которые являются «слишком большими»

При обработке помеченного IPv6-пакета, являющегося слишком большим,

LSR-маршрутизатор обязан выполнить следующую процедуру (алгоритм):

1.очистить записи набора маркеров до получения IPv6-пакета;

2.пусть N будет числом (количество) байт в наборе маркеров (т.е., число записей в наборе маркеров кратное 4);

3.если IPv6-пакет содержит более 1280 байт (не включая записи набора маркеров), или если IPv6-пакет не содержит заголовок расширения

«Фрагментация», то:

a. сформировать ICMP-сообщение «Сообщение слишком большое» (too

big message), и установить в поле «MTU-значение следующего РУ» за-

головка этого ICMP-сообщения значение, равное разнице между значе-

нием эффективного максимального размера поля полезной нагрузки кадра и значением N;

b.если возможно, то передать это ICMP-сообщение «Сообщение слиш-

ком большое» отправителю уничтоженного IPv6-пакета;

c.удалить помеченный IPv6-пакет;

540

4.если IPv6-пакет содержит не более 1280 байт, или если IPv6-пакет содер-

жит заголовок расширения «Фрагментация», то:

a.фрагментировать IPv6-пакет, и при этом каждый фрагмент должен иметь длину, по крайней мере, на N байт меньше, чем эффективный максимальный размер поля полезной нагрузки кадра;

b.в начало каждого фрагмента поместить один и тот же заголовок с мар-

кером (набором маркеров), который мог бы присутствовать в ориги-

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

c.транслировать фрагменты.

Повторная сборка фрагментов будет проведена в узле-получателе.

Последствия, вызванные процедурой поиска MTU-маршрута

Рассмотренные выше процедуры обработки IP-пакетов, содержащих бит

«DF» со значением «1», но являющихся «слишком большими», влияют на про-

цедуры поиска MTU-маршрута (RFC-1191). IP-узлы, которые применяют эти процедуры, будут устанавливать MTU-маршрут, в котором MTU-значение дос-

таточно мало, что позволит вставить в IP-пакет n маркеров, и при этом не воз-

никнет необходимости в процедуре фрагментации (где n — число маркеров, ко-

торые фактически вставлены в пакет, доставляемому по выбранному маршру-

ту).

Другими словами, для IP-пакетов, переданных IP-узлами, которые при-

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

(Кроме того, IP-пакеты, переданные IP-узлами, которые применяют процедуру поиска MTU-маршрута, как правило, содержат бит «DF» со значением «1», и

поэтому, в любом случае, никогда не будут фрагментироваться.)

Следует заметить, что процедура поиска MTU-маршрута будет «рабо-

тать» корректно, если только в точке, в которой необходимо провести фрагмен-