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

Мельников Д. А. - Организация и обеспечение безопасности информационно-технологических сетей и систем - 2012

.pdf
Скачиваний:
729
Добавлен:
15.07.2016
Размер:
20.96 Mб
Скачать

182

Глава 12. Протокол IP шестой версии

ресом того интерфейса, на который поступил этот «бракован­ ный» 1Р-пакет;

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

Вычисление проверочной суммы сообщения. Проверочная сумма вычисляется по битовой последовательности, включающей всё 1СМРу6-сообщение, начинающееся с поля «Тип 1СМРу6-сообщения», и предварительно добавленный «псевдозаголовок», состоящий из от­ дельных полей 1Ру6-заголовка. «Псевдозаголовок» также содержит поле «Следующий заголовок» со значением «58». (Примечание. Вклю­ чение «псевдозаголовка» в последовательность для вычисления про­ верочной суммы 1СМРу6-сообщения является новшеством по сравне­ нию с 1Ру4-стандартом.) Перед вычислением проверочной суммы са­ мо поле «Проверочная сумма» заполняется нулями.

Правила обработки сообщений. Прикладные программные 1СМРу6-модули должны выполнять следующие требования при об­ работке 1СМРу6-сообщений (RFC-1122):

оесли принято 1СМРу6-сообщение об ошибке неизвестного ти­ па, то тогда необходимо его передать на более высокий уро­ вень Internet-архитектуры;

весли принято информационное 1СМРу6-сообщение неизвест­ ного типа, то тогда необходимо его «молча» уничтожить;

вкаждое 1СМРу6-сообщение об ошибке (тип сообщения <128) содержит такую часть «бракованного» 1Ру6-пакета (пакета, со­ держащего ошибку), которая не превышает минимальный до­ пустимый размер передаваемого 1Ру6-пакета;

вв тех случаях, когда от протокола сетевого уровня (1Р-уровня) требуется доставка 1СМРу6-сообщения об ошибке на более вы­ сокий уровень для его обработки, то тогда тип протокола бо­ лее высокого уровня «извлекается» из оригинального пакета (включенного в тело 1СМРу6-сообщения об ошибке) и исполь­ зуется для выбора необходимого процесса более высокого уровня для устранения ошибки.

оЕсли оригинальный пакет имеет большое число заголовков расширения, то тогда возможна ситуация, при которой в 1СМРу6-сообщении не будет представлен протокол более вы­ сокого уровня, вследствие сокращения размера оригинального пакета с целью недопущения превышения максимального разрешенного размера передаваемого 1Ру6-пакета. В таком

раздел II.

183

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

оне допускается передача 1СМРу6-сообщения об ошибке в ре­ зультате приема:

-1СМРу6-сообщения об ошибке;

-1Ру6-пакета с групповым адресом (тогда существуют два ис­ ключения из этих правил:

S сообщение о слишком большом пакете позволяет опреде­ лить маршрут передачи 1Ру6-пакета с групповым адресом;

S сообщение о параметрической проблеме, значение «2» в поле «Тип кодирования» указывает на не известный тип до­ полнительной 1Ру6-функции, поле которой («Тип дополни­ тельной функции») содержит два старших бита «10»);

-пакета, который был передан с групповым адресом, но для протокола канального уровня (порядок действий определен в п.5.2);

-пакета, который был передан с широковещательным адре­ сом, но в интересах протокола канального уровня (порядок действий определен в п.5.2);

-пакета, содержащего адрес источника, который не одно­ значно определяет IP-узел, передавший сообщение (напри­ мер, неопределенный 1Ру6-адрес, групповой 1Ру6-адрес или адрес, известный отправителю 1СМРу6-сообщения, но яв­ ляющийся произвольным 1Ру6-адресом;

вв целях ограничения затрат (связанных с использованием пропу­ скной способности системы и доставкой данных) на передачу 1СМРу6-сообщений об ошибках IP-узел должен ограничивать частоту их трансляции. Такая ситуация может возникнуть в том случае, когда источник, передающий последовательность оши­ бочных пакетов, не обращает внимание на ответные ICMPv6сообщения об ошибках. Существует несколько способов реали­ зации функции ограничения частоты трансляции, например:

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

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

184

Глава 12. Протокол IP шестой версии

 

 

1 5

1 6

31

«Тип 1СМРу6-сообщения» «Ти п код и ров ани я»

 

«П р о в ер о ч н ая сум м а»

« Н е и с п о л ь з у е т с я » В этом суб п ол е р а з м е щ а е тс я пр ин ятое ош и б о чн о е со о б щ е н и е (л иб о его ч асть )

П ри этом сум м арны й р а зм е р д ан н о го Ю М Р у б -с о о б щ е н и я не д о л ж ен пр евы ш ать м аксим ал ьны й разреш ен ны й р азм е р 1Р у6-пакета___________________

Рис. 12.25. Формат 1СМРу6-сообщения

«Узел назначения не достижим»

Параметры ограничения (например, «Т» и «F» из приведен­ ных выше примеров) должны быть обязательно установлены в каж­ дом IP-узле, причем должен быть предусмотрен «режим по умолча­ нию» (например, «Т=1сек», «нет=0сек» или «F=2%», «нет=0%»).

1СМРу6-сообщения об ошибках. Сообщение «Узел назначения не достижим». На рис.12.25 представлен формат сообщения «Узел на­ значения не достижим».

Поле «Адрес получателя» 1Ро6-заголовка пакета. Он копируется из поля «Адрес отправителя» 1Ру6-заголовка принятого ошибочного пакета.

Поле «Тип 1СМРо6-сообщения» 1СМРо6-сообщения. Это поле со­ держит значение «1».

Поле «Тип кодирования» 1СМРо6-сообщения. Это поле может со­ держать следующие значения:

«О» - маршрут для этого адреса получателя не известен; «1» - связь с этим адресатом административно запрещена; «2» - это значение не определено; «3» - адрес назначения не достижим; «4» - порт назначения не достижим.

Поле «Не используется» 1СМРу6-сообщения. Это поле не исполь­ зуется при всех значениях поля «Тип кодирования». Оно должно заполняться нулями отправителем и игнорироваться получателем.

Применение 1СМ Ро6-сообщения «Узел назначения не достижим».

Целесообразно, чтобы это сообщение формировалось мар­ шрутизатором или программным 1Ру6-модулем, реализующим про­ токол сетевого уровня и размещенным в оригинальном 1Р-узле. Данное сообщение направляется в ответ на принятый пакет, кото­ рый не может быть доставлен по указанному в нем адресу получа­ теля по каким-либо причинам отличным от состояния перегрузки. (1СМРу6-сообщение не должно формироваться, если пакет был уничтожен вследствие состояния перегрузки.)

раздел II.

185

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

Если причиной отказа от дальнейшей ретрансляции пакета является административный запрет (например, сетевой фильтр), то тогда в поле «Тип кодирования» устанавливается значение «1».

Если существует какая-либо другая причина для отказа от даль­ нейшей ретрансляции пакета (например, невозможность отображения 1Ру6-адреса получателя в соответствующий канальный адрес или оп­ ределенного рода канально-ориентированная проблема), то тогда в поле «Тип кодирования» устанавливается значение «3».

Целесообразно, чтобы IP-узел-получатель передавал ответное 1СМРу6-сообгцение «Узел назначения не достижим» со значением «4» в поле «Тип кодирования», если он получил пакет, для которого протокол транспортного уровня (например, UDP) не обнаружен, или если такой транспортный протокол не имеет других средств для информирования передающей стороны.

уведомление протокола выш ележащ его уровня

IP-узел, который получил 1СМРу6-сообщение «Узел назначе­ ния не достижим», должен уведомить протокольный процесс выше­ лежащего уровня.

Сообщение «Размер IP-пакета слишком большой». На рис. 12.26 пред­ ставлен формат сообщения «Размер IP-пакета слишком большой».

Поле «Адрес получателя» IPv6-заголовка пакета. Он копируется из поля «Адрес отправителя» 1Ру6-заголовка принятого ошибочного пакета.

Поле «Тип 1СМРо6-сообщения» ICMPve-сообщения. Это поле со­ держит значение «2».

0

7

8

15

16

31

«Тип ЮМРуб-сообщения»

«Тип код и ров ани я»

 

«П р о в ер о ч н ая сум м а»

 

«М акси м ал ь ны й р азреш ен ны й р азм е р IP -п а ке та д л я п е р ед ачи »

 

В этом суб п ол е р а зм е щ а е тс я

пр ин ятое ош и б о чн о е со о б щ е н и е (либо его часть).

j

При этом сум м арны й р азм е р д ан н о го Ю М Р у б -с о о б щ е н и я не д о л ж е н пр евы ш ать

I

______________ м аксим альны й

разр еш ен ны й р азм е р 1Р у6-пакета________

Рис. 12.26. Формат 1СМРу6-сообщения «Размер IP-пакета слишком большой»

186

Глава 12. Протокол IP шестой версии

Поле «Тип кодирования» ICMPv6-сообщения. Это поле содержит значение «О», которое устанавливает отправитель, а само поле игно­ рируется получателем.

Поле «Максимальный разрешенный размер IP-пакета для передачи» 1СМРо6-сообщения. В этом поле содержится значение максимального разрешенного размера IP-пакета для передачи через следующий ретрансляционный интервал.

Применение ICM Pv6-со общения «Размер IP -пакета слишком большой»

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

Передача 1СМРу6-сообщения «Размер IP-пакета слишком большой» разрешена лишь в одном случае - при ответе на приня­ тый IP-пакет, содержащий групповой 1СМРу6-адрес назначения или групповой/широковещательный адрес канального уровня.

уведомление протокола выш ележагцего уровня

IP-узел, который получил 1СМРу6-сообщение «Размер IPпакета слишком большой», должен передать его протокольному процессу вышележащего уровня.

Сообщение «Превышение времени». На рис. 12.27 представлен формат сообщения «Превышение времени».

Поле «Адрес получателя» 1Ро6-заголовка пакета. Оно копируется из поля «Адрес отправителя» 1Ру6-заголовка принятого ошибочного пакета.

Поле «Тип ICMPv6-сообщения» 1СМРу6-сообщения. Это поле со­ держит значение «3».

Поле «Тип кодирования» 1СМРуб-сообщения. Это поле может со­ держать следующие значения:

«О» - при доставке IP-пакета превышено разрешенное число ретрансляционных участков;

«1» - превышено время повторной сборки фрагментов.

Поле «Тип кодирования» 1СМРоб-сообщения. Это поле может со­ держать следующие значения:

Раздел II.

187

Применение ICM Pv6-со общения «Превышение времени»

Если маршрутизатор принял IP-пакет, в котором поле 1Р-за- головка «Максимальное число ретрансляционных участков» содер­ жит значение ноль или сам маршрутизатор «обнуляет» это поле, то он должен уничтожить этот принятый IP-пакет и передать ICMPv6сообщение «Размер IP-пакета слишком большой» (со значением «О» в поле «Тип кодирования») источнику этого ошибочного IP-пакета. Это означает, что имел место «петлевой маршрут» или максимальное количество ретрансляционных участков слишком мало.

0

7

8

 

15

16

31

«Тип ICMPve-сообщения»

 

«Тип код ирования»

 

« П р о в ер о ч н ая сум м а»

 

 

 

« Н е

и с п о л ь з у е т с я »

В этом суб п ол е р а зм

е щ а е тс я пр ин ятое

ош и б о чн о е со о б щ е н и е (л иб о его часть ).

При этом сум м арны й

р азм е р д ан н о го 1

С М Р у6 -сооб щ ен ия не д о л ж е н превы ш ать

м аксим альны й разреш ен ны й р азм е р 1Р у6-пакета

Рис. 12.27. Формат 1СМРу6-сообщения «Превышение времени»

уведомление протокола выгиележащ его уровня

IP-узел, который получил 1СМРу6-сообщение «Превышение времени», должен передать его протокольному процессу вышеле­ жащего уровня.

Сообщение «Параметрическая проблема». На рис. 12.28 представ­ лен формат сообщения «Параметрическая проблема».

Поле «Адрес получателя» IPv6-заголовка пакета. Он копируется из поля «Адрес отправителя» 1Ру6-заголовка принятого ошибочного пакета.

Поле «Тип 1СМРу6-сообщения» ICMPv6-сообщения. Это поле со­ держит значение «4».

0

7

8

15

16

31

«Тип ЮМРуб-сообщения»

«Ти п код и ров ани я»

 

« П р о в ер о ч н ая сум м а»

 

 

« У к а з а т е л ь »

 

В этом суб п ол е р а зм е щ а е тс я

пр ин ятое о ш и б о чн о е со о б щ е н и е (л иб о его часть ).

 

При этом сум м арны й р а зм е р д а н н о го Ю М Р у б -с о о б щ е н и я не д о л ж е н превы ш ать

 

 

м аксим альны й разр еш ен н ы й р а зм е р 1Р у6-пакета

Рис. 12.28. Формат 1СМРу6-сообщения «Параметрическая проблема»

188

Глава 12. Протокол IP шестой версии

Поле «Тип кодирования» 1СМРо6-сообщения. Это поле может со­ держать следующие значения:

«О» - обнаружено ошибочное поле заголовка; «1» - обнаружен неопределенный тип поля «Следующий заго­

ловок»; «2» - обнаружена неопределенная дополнительная 1Ру6-функция.

Поле «Указатель» ЮМРуб-сообщения. Определяет номер октета внутри ошибочного пакета (место в пакете), где обнаружена ошиб­ ка. Указатель будет размещаться в конце 1СМРу6-пакета, если ошибка находится за пределами той части сообщения, которая не превышает максимальный разрешенный размер 1СМРу6-сообщения об ошибке.

Применение ICM Pv6-со общения «Параметрическая проблема»

Если 1Ру6-узел, обрабатывающий пакет, найдет в нем проблем­ ную ошибку, связанную с корректностью поля в 1Ру6-заголовке или заголовке расширения, которая не позволяет ему завершить обработку пакета, то тогда узел должен уничтожить принятый ошибочный пакет. Также целесообразно, передать 1СМРу6-сообщение «Параметрическая проблема» по адресу источника ошибочного пакета, указав в нем тип и место обнаруженной параметрической проблемы.

Указатель определяет октет оригинального заголовка пакета, где была вскрыта ошибка. Например, 1СМРу6-сообщение «Парамет­ рическая проблема» со значениями «4» в поле «Тип ICMPv6сообщения», «1» в поле «Тип кодирования» и «40» в поле «Указатель» будет означать, что 1Ру6-заголовок расширения, следующий за IPv6заголовком, оригинального пакета содержит неопределенное значе­ ние в поле «Следующий заголовок».

0

15

16

 

31

 

«Тип ICMPv6-

 

« П р о в ер о ч н ая сум м а»

 

 

«Ти п код и ров ани я»

 

 

 

сообщения»

 

 

 

 

«И д е н ти ф и ка то р »

 

«П ос л е д о вате л ь ны й но м ер»

|

 

Д а н н ы е

 

 

 

Рис. 12.29. Формат 1СМРу6-сообщения «Эхо-пакет - запрос»

уведомление протокола выш ележащ его уровня

IP-узел, который получил 1СМРу6-сообщение «Параметриче­ ская проблема», должен уведомить протокольный процесс вышеле­ жащего уровня.

Информационные 1СМРу6-сообщения. Сообщение «Эхо-пакет - запрос». На рис. 12.29 представлен формат сообщения «Эхо-пакет - запрос».

Раздел II.

189

Поле «Адрес получателя» 1Ро6-заголовка пакета. Любой допусти­ мый 1Ру6-адрес.

Поле «Тип ЮМРов-сообщения» 1СМРо6-сообщения. Это поле со­ держит значение «128».

Поле «Тип кодирования» 1СМРо6-сообщения. Это поле содержит значение «О».

Поле «Идентификатор» 1СМРо6-сообщения. Это поле позволяет различать 1СМРу6-сообщения «Эхо-пакет - запрос» и «Эхо-пакет - ответ». Это поле может заполняться нулями.

Поле «Последовательный номер» 1СМРо6-сообщения. Это поле по­ зволяет различать 1СМРу6-сообщения «Эхо-пакет - запрос» и «Эхопакет - ответ». Это поле может заполняться нулями.

Поле «Данные» 1СМРо6-сообщения. Это поле содержит произ­ вольные данные (любое число октетов, включая ноль октетов).

Применение ICM Pv6-со общения «Эхо-пакет - запрос»

Каждый 1Ру6-узел должен выполнять функцию ответов на «Эхо-пакеты - запросы» путем передачи «Эхо-пакетов - ответов». Также целесообразно, чтобы 1Ру6-узлы имели специализированный прикладной интерфейс для передачи «Эхо-пакетов - запросов» и приема «Эхо-пакетов - ответов» (в диагностических целях).

уведомление протокола выш ележащ его уровня

IP-узел, который получил 1СМРу6-сообщение «Эхо-пакет - за­ прос», может его передать протокольному процессу вышележащего уровня, осуществляющему обработку таких сообщений.

Сообщение «Эхо-пакет - ответ». На рис.12.30 представлен фор­ мат сообщения «Эхо-пакет - ответ».

Поле «Адрес получателя» 1Ро6-заголовка пакета. Он копируется из поля «Адрес отправителя» 1Ру6-заголовка принятого пакета «Эхопакет - запрос».

Поле «Тип 1СМРо6-сообщения» 1СМРо6-сообщения. Это поле со­ держит значение «129».

Поле «Тип кодирования» ICMPv6-сообщения. Это поле содержит значение «О».

0

 

15

16

31

«Тип ЮМРуб-сообщения»

«Тип код и ров ани я»

 

«П р о в ер о ч н ая сум м а»

[

« И д ен ти ф и като р »

 

«П ос л е д о вате л ь ны й но м ер»

 

 

Д а н н ы е

 

 

Рис. 12.30. Формат ГСМРуб-сообщения «Эхо-пакет - ответ»

190

Глава 12. Протокол IP шестой версии

Поле «Идентификатор» 1СМРо6-сообщения. Это поле копируется из 1СМРу6-сообщения «Эхо-пакет - запрос».

Поле «Последовательный номер» 1СМРо6-сообщения. Это поле ко­ пируется из 1СМРу6-сообщения «Эхо-пакет - запрос».

Поле «Данные» ICMPv6-сообщения. Это поле содержит данные из

1СМРу6-сообщения «Эхо-пакет - запрос».

Применение ICMPv6-со общения «Эхо-пакет - ответ »

Каждый 1Ру6-узел должен выполнять функцию ответов на «Эхо-пакеты - запросы» путем передачи «Эхо-пакетов - ответов». Также целесообразно, чтобы 1Ру6-узлы имели специализированный прикладной интерфейс для передачи «Эхо-пакетов - запросов» и приема «Эхо-пакетов - ответов» (в диагностических целях). Адрес источника в «Эхо-пакете - ответе», направленном в ответ на «Эхопакет - запрос» с уникальным адресом, должен быть таким же, как и адрес получателя в принятом «Эхо-пакете - запросе».

Целесообразно, чтобы «Эхо-пакет - ответ» направлялся в ответ на принятый «Эхо-пакет - запрос», который содержал групповой адрес. В этом случае адрес источника в «Эхо-пакете - ответе» должен быть адрес интерфейса, на который поступил «Эхо-пакет - запрос» с групповым адресом (т.е. адрес того интерфейса, который «обслу­ живает» пакеты с групповыми адресами).

Поле «Данные» в принятом «Эхо-пакете - запросе» должно передаваться полностью и без каких-либо изменений в ответном 1СМРу6-сообгцении «Эхо-пакет - ответ».

уведомление протокола выш ележащ его уровня

IP-узел, который получил 1СМРу6-сообщение «Эхо-пакет - от­ вет», должен передать его протокольному процессу, который был источником «Эхо-пакета - запроса». Оно также может быть переда­ но протокольному процессу, который не был источником «Эхопакета - запроса».

Глава 13. Протоколы транспортного уровня TCP и UDP

Получателем сообщения является прикладная задача (процесс). Процессы изменяются динамически: они могут создаваться и уничто­ жаться; более того, при установке связи с некоторым процессом нельзя быть уверенным в том, что во время работы он не будет прерван или уничтожен (например, вследствие перезагрузки 1Р-узла).

Модель процесса представлена на рис. 1.2. Ввод данных, необ­ ходимых процессу, и вывод данных производятся через логические (программно организованные) точки - порты. Процесс как объект представляется совокупностью портов, через которые он взаимодей­ ствует с другими процессами сети.

Любое обращение к процессу в удалённом IP-узле осуществля­ ется с помощью адреса, состоящего из двух частей: IP-адреса, иден­ тифицирующего IP-узел, и номера порта, идентифицирующего процесс.

Все прикладные и служебные (сетевые) системы можно услов­ но разделить на две большие группы: известные всем (well-known) и прочие. К известным прикладным и служебным системам относятся те, которые получили повсеместное распространение. Для них су­ ществуют заранее определенные порты, закрепленные в стандартах Internet. Это так называемые хорошо известные номера (well-known numbers). Выделением номеров для заранее определенных портов (RFC-1700) занимается организация IANA (Internet Assigned Num­ bers Authority).

При написании собственного приложения в рамках локальной задачи можно выбрать любой порт (за исключением зарезервиро­ ванных) и, зная его номер, обмениваться информацией по сети. Ес­ тественно, что локальность задачи в данном случае подразумевает ограниченность ее распространения среди компьютеров в рамках Internet.

В Internet «заранее договариваются» о полном адресе локаль­ ного приложения путем распространения информации об именах (IP-адресах) компьютеров, поддерживающих данное приложение, и номерах портов (фактически об именах задач), зарезервированных для этого приложения.

Определение получателя - одна из главных задач транспортных протоколов в Internet. В семействе TCP/IP таких протоколов два.