Recentemente stavo risolvendo un meta-problema di connettività di rete, in quanto sapevo che una determinata destinazione era raggiungibile, ma non sono stato in grado di dimostrarlo traceroute
perché il percorso è diventato freddo dopo un certo numero di salti. Dato che l'ultimo hop osservato era appena a monte del nodo di interesse, ho annusato il traffico, aspettandomi di confermare che le sonde lo stavano raggiungendo e di sapere quale regola di filtro li stava bloccando. Abbastanza sicuro, ho imparato che le sonde erano datagrammi UDP destinati a una porta alta (e variabile) che avevo, ovviamente, bloccato al traffico in entrata.
Questo mi sorprende, perché ho supposto che tutte le traceroute
sonde sarebbero state impostate su ICMP, poiché le risposte sono ICMP. Ho svolto un sondaggio sulla documentazione e ho scoperto che implementazioni diverse fanno scelte diverse e alcune non consentono all'utente di effettuare una selezione non predefinita.
L'abstract del metodo della sonda Traceroute e l'inferenza del percorso IP in avanti supporta la mia intuizione che le sonde ICMP riusciranno più spesso a raggiungere la destinazione.
Consentire diversi metodi di sondaggio sembra un'ottima idea, ma il default di qualcosa di diverso da ICMP sembra una cattiva idea. Qualcuno potrebbe descrivere la logica alla base del perché è meglio usare UDP di default?