Vovik Posted December 27, 2005 Posted December 27, 2005 ситуация следующая: есть сервер на freebsd 6.0. Пытаюсь с него пинговать хост на Win XP. Пакеты до 25000 байт проходят нормально, и сервер получает ответ. Пакеты свыше 25000 байт также проходят (вижу трафик на хосте), но ответа так и не приходит. В обратную сторону - все тоже самое. Сервер не посылает ответ на пинг, хотя icmp пакеты до него доходят. все соединено по Ethernet через неуправляемый микро-свич CNET. Хотя если с хоста пинговать пакетами 65500 внешний шлюз, соединенный по SDSL (SDSL модем воткнут в тотже микросвитч), то все работает и ответы приходят. Кто-нить сталкивался с таким? В чем может быть проблема? Вставить ник Quote
balamutang Posted December 27, 2005 Posted December 27, 2005 ограничение во фре такое... типа секурити... :) все нормально. ping -s 25152 x.x.x.x если точней прокатит. а вот ping -s 25153 x.x.x.x уже не прокатит :) короче цитирую: "переменная net.inet.ip.maxfragsperpacket по умолчанию равна 16. (16*1500=24000). Затрудняюсь сказать, как ещё 1152 байта пролазит, но это не столь важно. Соответственно, если уж очень критично, то исправить это можно командой "sysctl net.inet.ip.maxfragsperpacket=50"" а если точно то количество фрагментов получается не 16, а 17 (отсчет от нуля). соответственно пакет ICMP 25152+8 байт ICMP заголовка = 25160 = 1480 х 17 где 17 количество фрагментов а 1480 - максимальный размер нефрагментируемого пакета IP (1480 + 20 байтов заголовок=1500 размер MTU езернета). типа так. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.