Несколько месяцев назад я задался вопросом, как такая команда ping 1.1.1.1работает в частной сети.
В большинстве частных сетей несколько хостов подключаются к Интернету через маршрутизатор. Для IPv4 маршрутизатор выполняет преобразование сетевых адресов (NAT), переписывая исходный адрес исходного хоста на общедоступный IP-адрес маршрутизатора. Маршрутизатор может найти правильный хост для ответного пакета на основе поля порта пакета , по крайней мере, для таких протоколов, как TCP и UDP. https://devnonsense.com/posts/how-does-linux-nat-a-ping/
Но команда вроде pingне использует TCP или UDP; он использует ICMP, и в этих пакетах нет поля порта. Так как же NAT работает для пакетов ICMP?
Post #510
570