Я только что сделал захват пакетов со своей машины и отфильтровал все UDP-соединения. Я видел определенные соединения, использующие случайным образом сгенерированный порт источника UDP и определенные соединения, использующие тот же порт источника, что и порт назначения UDP.
Я понимаю, что TCP-соединения будут рандомизировать исходный порт, поэтому ответ будет иметь «выделенный» порт для ответа. Но как это работает с UDP?
Ищу авторитетный ответ. Ссылки на RFC (или еще много чего) были бы очень признательны.
Что определяет порт источника UDP?
Спасибо.
Это зависит от приложения. Например, ядро Linux реализовало рандомизацию порта источника UDP, когда порт источника не указан в ядро 2.6.24.
Таким образом, поведение, которое вы видите в некоторых соединениях, должно быть конкретным приложением, указывающим, что исходный порт совпадает с портом назначения, в то время как другие оставляют его на усмотрение ядра.
Эфемерные порты генерируются для пакетов UDP так же, как и для TCP.
http://www.hsc.fr/ressources/articles/win_net_srv/ephem_port_alloc.html