7
jichaodeiMac:~ jichaoyang$ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            openwrt.lan        UGSc           10        0     en0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              2       54     lo0
169.254            link#4             UCS             1        0     en0
192.168.1          link#4             UCS             2        0     en0
192.168.1.1/32     link#4             UCS             2        0     en0
openwrt.lan        46:94:fc:63:fc:7   UHLWIir        11     3610     en0   1200
192.168.1.125/32   link#4             UCS             2        0     en0
jichaodeimac.lan   d0:50:99:14:b7:a3  UHLWIi          1        1     lo0
yangjicdeiphone.la link#4             UHLWIi          1        0     en0
224.0.0            link#4             UmCS            1        0     en0
255.255.255.255/32 link#4             UCS             1        0     en0

Что означает link#4 в таблице?

3 ответа3

11

Выражение link#x , где x - некоторая цифра, используется для указания того, что соответствующий адрес является адресом на link-level address , .ie , адресом, который работает только в сети, к которой физически подключен хост.

Таким образом, эти адреса не используются для доступа к узлам за пределами вашей локальной сети или, в техническом жаргоне, они не маршрутизируются: как только пакеты с этими адресами достигают шлюза (соединение между двумя или более различными сетями), шлюз отбрасывает их. Из этого также следует, что эти адреса не нуждаются в каком-либо шлюзе, поскольку они даже не должны уклоняться в другую сеть.

Адреса канального уровня относятся к так называемому канальному уровню, который представляет собой сочетание концепций OSI Layer 1 (физический) и OSI Layer 2 (Data Link Layer). Несколько полезных протоколов работают на уровне канального уровня, например, ARP, OSPF, PPP, MAC (включая Ethernet).

По сути, на уровне Link-Layer вам не нужна маршрутизация, потому что пакеты, предназначенные для других хостов, отправляются по проводам для прослушивания любым человеком; все узлы физического соединения получают пакет, те, кому он не адресован, отбрасывают его, в то время как только истинный адресат хранит его для чтения.

Реальная маршрутизация использует преимущества уровня 2, инкапсулируя пакет, предназначенный для удаленного хоста, в пакет уровня 2, предназначенный для маршрутизатора, который разворачивает его из инкапсуляции уровня 2, проверяет, что он предназначен для другой сети, перемещает его в внешний интерфейс и отправляет его снова в виде пакета уровня 2 во внешней локальной сети, предназначенной для маршрутизатора следующего перехода. И так далее.

2

ссылка № 4 означает, что диапазон ip находится в локальном сегменте, и маршрутизация не требуется. если запись не была диапазоном ips, netstat -r показывает mac-адрес этого одиночного ip-адреса. Во всех других случаях он покажет ip (или имя хоста) маршрутизатора, которому он мог бы отправить пакет.

0

Относительно вашего второго вопроса. Есть ли способ узнать, какая ссылка интерфейса № 4 обозначает? можно использовать команду netstat с ключом -i (состояние интерфейсов). [Примечание: я предпочитаю, чтобы netstat не разрешал IP-адреса, поэтому в дополнение к переключателю интересов я обычно включаю -n ]. Таким образом, пример (частичный) вывод будет:

][ netstat -ni 
Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs  Coll
lo0   16384 <Link#1>                       2030140     0  2030140     0     0
lo0   16384 127           127.0.0.1        2030140     -  2030140     -     -
lo0   16384 ::1/128       ::1              2030140     -  2030140     -     -

В этом примере Link#1 связана с петлевым интерфейсом lo0 , который работает в сети 127 (семейство AF_NET - IP4) с адресом 127.0.0.1 и в сети ::1/128 (семейство AF_NET6 - IP6) с адрес ::1 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .