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