Что я хочу знать, если бы я выполнял что-то вроде 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
.