Что такое записи в IP-таблице ядра?

В этой таблице есть две записи. По моему пониманию сначала используется для всего исходящего трафика (локальный адрес моего модема - 192.168.1.1), а часть ОС, которая отвечает за сетевое взаимодействие, просто передает пакет модему, который отправляет его интернет-провайдеру и т. Д. Но я не уверен, для чего нужна вторая запись. Сначала я думал, что он используется для входящего трафика, но адрес назначения кажется неправильным, поскольку локальный адрес хоста - 192.168.1.3 в соответствии с ifconfig

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

Ifconfig:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:592510 errors:0 dropped:0 overruns:0 frame:0
          TX packets:398904 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 

Итак, я ошибаюсь в отношении первой записи? Что является целью второго?

1 голос | спросил not joe 27 SunEurope/Moscow2015-12-27T20:46:43+03:00Europe/Moscow12bEurope/MoscowSun, 27 Dec 2015 20:46:43 +0300 2015, 20:46:43

2 ответа


2

Первая запись с адресом 0.0.0.0 с маской 0.0.0.0 означает, что любые пакеты IPv4, которые не соответствуют никаким другим записям, будут отправляться на шлюз 192.168.1.1.

Вторая запись 192.168.1.0 с маской 255.255.255.0 означает, что любые пакеты IPv4 с диапазоном 192.168.1.0/24 будут отправляться по той же ссылке, что и этот хост.

Другими словами, любые пакеты, предназначенные для локальной сети, будут использовать ARP (или кеш ARP) для создания фрейма для локальной сети. Любые другие пакеты будут ARP (или использовать кеш ARP) для MAC-адреса шлюза для сборки фрейма.

ответил Ron Maupin 27 SunEurope/Moscow2015-12-27T20:53:41+03:00Europe/Moscow12bEurope/MoscowSun, 27 Dec 2015 20:53:41 +0300 2015, 20:53:41
4

Что route -n (или netstat -rn ) показывает, что вам нужна небольшая интерпретация - «шлюз» 0.0.0.0 означает, что следующий прыжок для любого пакета, отправленного в эту подсеть, фактический хост назначения, а не маршрутизатор. Если «шлюз» не является 0.0.0.0, тогда все пакеты, предназначенные для этой подсети, будут фактически отправлены на MAC-адрес шлюза (который затем обработает их пересылку следующего перехода). Итак, в вашем случае ваша таблица маршрутизации имеет маршрут для локально присоединенного сегмента, а затем маршрут для «всего остального».

Общий поток пересылки IP-пакетов с любого хоста показан в этой блок-схеме:

 Host IP Packet Flow

Общий смысл этого заключается в том, что хост (в сети или Wi-Fi) в конечном счете пытается найти MAC-адрес для отправки этого пакета, и таблица маршрутизации поможет ему решить (либо MAC фактического хоста назначения, если он находится в том же сегменте или MAC-адрес маршрутизатора для этого сегмента).

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

ответил Nick Bastin 28 MonEurope/Moscow2015-12-28T00:32:51+03:00Europe/Moscow12bEurope/MoscowMon, 28 Dec 2015 00:32:51 +0300 2015, 00:32:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132