Процедура создания ViPNet-пакетаПреобразует поступивший открытый IP-пакет в ViPNet-пакет (UDP или IP241). По адресу назначения из ХЭШ-таблицы IP-адресов определяет ID получателя; по ID получателя определяет реальный адрес назначения, ForwardIP – адрес доступа к узлу, порт узла назначения и протокол инкапсуляции. Выполняет NAT для исходного пакета: - Если исходный пакет имеет виртуальный адрес назначения, подменяет в исходном пакете адрес назначения на реальный адрес назначения. - Для заданных протоколов, если исходный пакет в теле содержит IP-адреса (т.е. требуется NAT), не равные адресу источника пакета: o по ХЭШ-таблице IP-адресов и таблице туннелируемых адресов для каждого такого адреса определяет ID соответствующего узла (сначала адрес отыскивается в ХЭШ-таблице IP-адресов, а затем в таблице туннелей). o Если идентификатор для адреса не найден, то для такого адреса назначается ID=0. o Если адрес виртуальный, заменяет его на реальный адрес. Эта функциональность в настоящее время выполняется для протоколов WINS, NetBIOS, DNS, протокола установления связи Netmeeting. Формируется и шифруется ViPNet-пакет (UDP или 241), во внутрь тела которого помещается: - исходный пакет с реальным адресом назначения; - если внутри тела исходного пакета содержатся IP-адреса, то список соответствующих им идентификаторов, располагаемый в порядке, соответствующем расположению адресов; - информация о параметрах доступа к себе через внешние устройства и список собственных IP-адресов, - метка времени, идентификаторы отправителя и получателя, синхропосылка, имитовставка; - если пакет предназначен для туннелируемого ViPNet-узлом назначения хоста, - то признак туннелируемого пакета, - информация о других параметрах в соответствии с Таблицей 3. В качестве адреса и порта назначения в ViPNet-пакете используется адрес доступа к узлу ForwardIP и порт доступа к этому узлу.
Процедура шифрования IP-пакета схематично выглядит следующим образом:
Исходный пакет шифруется, на пакетном ключе, формируемым как свертка ключа связи с адресатом, имеющегося у обеих сторон, и синхропосылки, помещаемой в тело нового пакета. От исходного пакета формируется имитозащитная сигнатура. На приемной стороне пакет считается аутентифицированным, если его удалось расшифровать и проверить имитозащитную сигнатуру на основании данных, помещенных в открытый заголовок.
Формируется новый IP-пакет с новым IP-заголовком, в тело которого помещается зашифрованный исходный пакет, открытый аутентифицирующий заголовок и закрытый служебный заголовок.
|