Подключается ли подключение к локальному хосту в сети?

Что я хочу знать, если бы я выполнял что-то вроде ping localhost, то пакеты были бы перенаправлены операционной системой и перешли непосредственно на порт назначения, или пакеты будут выходить из сети на ближайший маршрутизатор или коммутатор, который затем отскакивает их обратно на ваш компьютер?

Ответ 1

Пакеты не попадут в сеть. Отключите сетевой кабель и попробуйте!

Ответ 2

Любые пакеты, отправленные на IP-адрес, подключенный к локальному интерфейсу, не выводятся из вашего хоста. 127.0.0.1 не является особенным в этом отношении. Оба ping 127.0.0.1 и ping 192.168.1.44 будут передавать и принимать ICMP-пакеты по "сетевому устройству loopback". Вы можете подтвердить это, отсоединив кабель Ethernet и наблюдая за счетчиками TX и RX.

$ /sbin/ifconfig
eth0      Link encap:Ethernet
          inet addr:192.168.1.44  Bcast:192.168.3.255  Mask:255.255.252.0

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          RX packets:992670 errors:0 dropped:0 overruns:0 frame:0
          TX packets:992670 errors:0 dropped:0 overruns:0 carrier:0

Ответ 3

Пакеты будут оставаться на вашем компьютере.

Имя "localhost" является псевдонимом от 127.0.0.1 в файле hosts, если вы редактируете файл hosts (UNIX:/etc/hosts Windows: C:\windows\system32\drivers\etc\hosts) и изменяете localhost для любого другого слова, то вы получите доступ к локальному хосту с помощью этого другого слова.

Адрес 127.0.0.1 является адресом обратной связи, он определен в RFC3330

Ответ 4

Нет, он назвал loopback по какой-то причине. IIRC, пакеты до 127.0.0.1 не разрешены "за пределами" компьютера.

Ответ 5

Нет, пакеты не будут отправляться в сеть.

Ответ 6

Это зависит от разрешения имен. Попробуйте выполнить ping после # echo "69.59.196.211 localhost" > /etc/hosts.