Problema al leer TCP/IP ilustrado

Forgive my silly question.
I'm not quite understand what these mean.If anyone can explain it explicit.Thanks a lot.

Why does the TFTP client keep retransmitting its request when the ICMP messages are being ?returned? An element of network programming is occurring in which BSD systems don't notify user processes using UDP of ICMP messages that are received for that socket unless the process has issued a connect on that socket. The standard BSD TFTP client does not issue the connect, so it never receives the ICMP error notification.

TCP/IP illustrated Volume 1 Charter 6.5

preguntado el 28 de agosto de 12 a las 09:08

Please provide the volume, chapter, and page reference. -

2 Respuestas

The ICMP messages aren't returned to the application unless it has issued a connect(), which it hasn't, so it doesn't know about them.

Respondido 29 ago 12, 03:08

@ZhangYuan I don't see the relevance. How does it affect your question, or my answer? - user207421

Maybe the text will help me to clarify my question texto - yuan

@ZhangYuan Are you asking a conceptual question here? If so it's been answered. Or are you asking about a situation you are actually experiencing? and if so, what? - user207421

What does issued a connect mean? If I type the command connect in TFTP client,does this mean issued a connect? If so, why ICMP messages aren't returned to the application?Sorry for my silly question. - yuan

@ZhangYuan 'Issued a connect' means 'called connect()'. I have no idea what happens inside TFTP. You would have to read the source code. - user207421

Normalmente ICMP protocol is used for troubleshooting purpose, actually on most operating systems when you connect to a closed port on the server, the server will reply with ICMP message type port unreachable.

Respondido 28 ago 12, 19:08

Thanks,Maybe my question is not explicit.I'm not understand these below An element of network programming is occurring in which BSD systems don't notify user processes using UDP of ICMP messages that are received for that socket unless the process has issued a connect on that socket It would be better if you can explain it. - yuan

Completely incorrect. There are no network operations involved in a UDP connect, so there is nothing for the server to reply to. The ICMP message you refer to occurs when you envío to a non-open port, and it is only reported to the application if it has done a UDP connect, which is what Stevens is saying here. - user207421

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.