|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 16 Sep 2001 17:04:53 To : Aleksey Barabanov Subject : Re: Masquerading -------------------------------------------------------------------------------- Aleksey Barabanov <alekseybb@mtu-net.ru> wrote: AB> "Eugene B. Berdnikov" писал(а): >> >> Aleksey Barabanov <alekseybb@mtu-net.ru> wrote: >> AB> "пересчет чексум" - Это происходит и так и так, если не ошибаюсь. >> >> С чего это вдруг? 8:-) AB> Чего-то вы на меня авторитетом надавили ;(. Простите... (смущенно пряча авторитет) -;) AB> TTL уменьшается, и чексум AB> пересчитывается. Или что-то в RFC поменялось ? Hет, не поменялось, конечно. Hо там есть хитрый трюк, основанный на механике вычисления чексуммы для ip: int ip_decrease_ttl(struct iphdr *iph) { u16 check = iph->check; check = ntohs(check) + 0x0100; if ((check & 0xFF00) == 0) check++; /* carry overflow */ iph->check = htons(check); return --iph->ttl; } И для ECN подобный трюк есть, он даже в стандарте описан. Hо тут все речь об изменении одного байта. А Вы меня озадачили, однако. Признаюсь, тут есть пробел в моем образовании. Hадо будет как-нибудь разобраться, нет ли подобного трюка для целого набора полей (адреса, порты), чтобы по всему пакету чексумму не пересчитывать. -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/5353c0b94129.html, оценка из 5, голосов 10
|