RFC: 3715
Оригинал: IPsec-Network Address Translation (NAT) Compatibility Requirements
Категория: Информационный
Дата публикации:
Авторы: ,
Перевод: Мельников Дмитрий Анатольевич
  1. NA(P)T-модули не способны обрабатывать исходящий предварительно фрагментированный трафик. Большинство NA(P)T-модулей могут корректно фрагментировать исходящие IP-пакеты в том случае, когда размер IP-пакетов превышает MTU-размер, установленный на выходном интерфейсе. Однако, корректное преобразование исходящих IP-пакетов, которые были предварительно фрагментированы, затруднительно и многие NA(P)T-модули не способны обрабатывать их корректно. Как определено в стандарте RFC-3022, возможна ситуация, при которой два IP-узла могут быть источниками заранее фрагментированных IP-пакетов, поступающих на один и тот же внешний IP-узел, при этом идентификаторы фрагментов могут совпадать. Так как IP-узел, получатель сообщения, «доверяет» значению идентификатора фрагментации и началу фрагмента, необходимым для дальнейшей сборки (дефрагментации) сообщения, то тогда результирующее сообщение может быть не корректным. Отдельные NA(P)T-модули защищены от возможных коллизий, связанных с наличием одинаковых идентификаторов фрагментов, на основе наличия дополнительной процедуры преобразования идентификаторов. Такие коллизий не возникают, если NA(P)T-модули сами реализуют процедуру фрагментации, так как идентификатор фрагмента необходим только для конкретной пары IP-адресов (отправитель/получатель сообщений).

    Так как размер фрагмента может быть меньше чем 68 октетов (RFC-791), то тогда нет гарантии, что первый фрагмент будет содержать весь ТСР-заголовок (то есть целиком). Следовательно, NA(P)T-модуль, осуществляющий повторное вычисление проверочной суммы ТСР-протокола, сможет ее вычислить только в следующем фрагменте. Так как фрагменты могут быть переупорядочены (нарушена их естественная последовательность), в них могут добавляться IP-адреса, которые могут быть даже разделены между фрагментами, NA(P)T-модуль должен первоначально дефрагментировать сообщений и только потом осуществлять процедуру преобразования адресов. Отдельные NA(P)T-модули способны на это.

  2. NA(P)T-модули не способны обрабатывать входящий фрагментированный трафик. Так как только IP-пакет с первым фрагментом сообщения содержит полный IP/UDP/SCTP/TCP-заголовок, NA(P)T-модулю необходимо иметь возможность осуществлять преобразование, основываясь только на IP-адресе отправителя/получателя и идентификаторе фрагмента сообщения. А так как фрагменты могут быть переупорядочены, то тогда идентификатор конкретного фрагмента может быть не известен, если конечно последующие фрагмент поступит раньше начального фрагмента. Кроме этого, заголовки могут также передаваться частями в разных фрагментах. И поэтому NA(P)T-модулю необходимо иметь возможность осуществлять процедуру сборки сообщения, прежде чем закончить процедуру преобразования адресной информации. Отдельные NA(P)T-модули обладают такой функцией.

    Замечание. Что касается NA(P)T-модуля, то для осуществления процедуры трансляции адресной информации ему достаточно иметь IP-адрес отправителя/получателя, и поэтому это не вызывает никаких проблем. Однако, если имеют место части IPsec-или IKE-заголовков, передаваемые в разных фрагментах, то тогда необходима дополнительная функция сборки сообщений.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.