|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Oleg Derevenetz 2:5025/3.4 06 May 2002 21:23:43 To : Eugene B. Berdnikov Subject : windows 2000 rulez forever -------------------------------------------------------------------------------- At 06 May 02 19:04:32, Eugene B. Berdnikov wrote to Oleg Derevenetz: EBB> Oleg Derevenetz <Oleg.Derevenetz@p4.f3.n5025.z2.fidonet.org> wrote: OD>> At 06 May 02 04:41:12, Stepan Koltsov wrote to Oleg Derevenetz: SK>>> NAT не сможет восстановить запись, он не будет знать на какой порт SK>>> ранее отображался исходящий порт соединения. OD>> OD>> Если номер порта вычисляется не случайным, а предсказуемым образом OD>> (например, функцией от src/dst IP и src/dst ports) - то сможет. EBB> ^^^^^^^^^^^^^^^^^^^^^^^^^^ EBB> В этом пространстве имеется около 2^92 комбинаций, а src_port надо EBB> уложить EBB> в 2^16. Выводы насчет практической "предсказуемости" сделайте сами. Разве я где-то написал, что результат должен быть обязательно уникален для любого набора ? Вот навскидку абсолютно тупой пример алгоритма выбора порта: port = shift_with_wrap_to_next_free_port(65535 - (src_ip<<18)>>18 - (dst_ip<<18)>>18 - src_port - dst_port); IP и ports предполагаются в Intel byteorder. Вероятность того, что у src_ip и dst_ip совпадут последние 14 бит адреса и притом совпадут еще и порты, весьма мала. Hа случай совпадения делается сдвиг с wrap around при необходимости номера порта (пропуская привилегированную область). Даже у такого алгоритма есть реальные шансы обеспечить восстановление соединения в случае сброса таблицы. --- QDed beta v1.3 under FreeBSD 4.0-RELEASE * Origin: Взялся за гуж - полезай в кузов... (2:5025/3.4) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/22483cd6bf0c.html, оценка из 5, голосов 10
|