Я написал простой Python скрипт для отправки UDP-сообщения
import socket
HOST = '127.0.0.1'
PORT = 65432
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sent_data = client_socket.sendto(b'hello world sending UDP data',(HOST,PORT))
print ("Sent data = %r"%(sent_data))
Я выполняю скрипт и продолжаю прослушивать Wireshark (нет получателя), я получил следующую трассировку:
![enter image description here](https://i.stack.imgur.com/H3KSM.png)
Мой вопрос заключается в следующем. Цель сообщений ICMP - оповещение о наличии проблем в сети, но UDP не является протоколом, ориентированным на установление соединения, это означает, что он не проверяет, получены ли данные отправителем.
1- Почему сообщения ICMP запускаются?
2- Как отправитель проверяет, получил ли получатель сообщение в случае UDP, есть ли какое-либо подтверждение со стороны получателя?