Reakce na ICMP port unreachable (IRIX)

Martin Mačok martin.macok at underground.cz
Tue Oct 28 23:07:34 CET 2003


On Tue, Oct 28, 2003 at 06:25:28PM +0100, Jan Kasprzak wrote:

> narazil jsem na zajimavy problem: Je nekde definovano, jak se ma TCP
> stack a/nebo socketove API chovat pri zavolani connect(), na jehoz
> SYN packet druha strana odpovi "ICMP port unreachable"?

Pochybuji, ze v nejake definici socketoveho API budou rozepsany presne
vsechny stavy na urovni stavu nizsich vrstev TCP/IP na urovni
jednotlivych paketu, uz jenom proto, ze by toto API z principu melo
byt na techto protokolech spise nezavisle.

V definici TCP se o protokolu nizsich vrstev taky temer vubec nemluvi,
o protokolu ICMP tam AFAIK neni ani zminka.

> Linux, FreeBSD a Solaris po obdrzeni ICMP port unreachable ihned
> ukonci connect() s ECONNREFUSED, zatimco IRIX 6.5 zda se tu ICMP
> zpravu ignoruje a proces visi uvnitr connect() dal (overil jsem
> tcpdumpem, ze IRIX tu ICMP zpravu vidi).

Povazoval bych to za ignoranci. Odesilajici strana byla informovana
o tom, ze odeslany paket je nedorucitelny a tudiz je uz v tom okamziku
zrejme, ze se spojeni nepodarilo navazat a tedy nema smysl cekat,
jestli jeste nahodou neprijde neco dalsiho. Pokousi se ten Irix
posilat dalsi SYN paket? Pokud ano - je to hned po prijeti ICMP port
unreach nebo az po nejakem timeoutu?

-- 
         Martin Mačok                 http://underground.cz/
   martin.macok at underground.cz        http://Xtrmntr.org/ORBman/




More information about the net mailing list