route -n дает:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.20.254 0.0.0.0 UG 0 0 0 eth0
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
ifconfig дает:
eth0 Link encap:Ethernet HWaddr 00:0c:29:f1:76:32
inet addr:192.168.20.10 Bcast:192.168.20.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef1:7632/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6387084 errors:0 dropped:24 overruns:0 frame:0
TX packets:374481 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:712509342 (712.5 MB) TX bytes:37312703 (37.3 MB)
Interrupt:18 Base address:0x2024
Зачем мне здесь 2 маршрута вместо 1? Какой смысл этой строки?
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Мой адрес интерфейса - 192.168.20.X
с маской сети 255.255.255.0
, поэтому, конечно, стек может сказать, как добраться до 192.168.20.Y
, почему у меня что вторая запись в таблице маршрутизации?
Вторая строка является на самом деле точной информацией (как имеющий отношение к маршрутизации), Вы заявили в конфигурации устройства.
не было бы разумно иметь ядро, всегда ищут infos от базы данных устройства для каждого решения по маршрутизации, если мы можем поместить ту информацию в саму таблицу маршрутизации.
Воображают ту же ситуацию на маршрутизаторе с несколькими приложенными сетями. Техника, замеченная здесь, применяется там также и упрощает решения по маршрутизации много (Только одна строка больше в таблице маршрутизации по сравнению с 5 интерфейсами для сканирования).
Это означает, что нет никакого шлюза, должен был достигнуть адресов в этой подсети, как хосты / NICs с этими адресами находятся в Вашей локальной сети а не позади любого маршрутизатора. Кто знает такая запись всегда присутствует кроме, возможно, для некоторых установок point-to-point-tunnel-only, и если Вы добавляете больше адресов к своему NIC, каждая добавленная подсеть должна привести к записи как этот.
Каждая подсеть перечислена в таблице маршрутизации для сбора всей релевантной информации в одном месте для ядра для создания решений по маршрутизации - это просто более эффективно, чем поиск подключенных подсетей путем анализа интерфейсной конфигурации и скорее всего очень важный для больших маршрутизаторов с точки зрения производительности.
Вторая строка от Вашего команда
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
-n маршрута Говорит, что для всех адресов, где первые 3 числа не являются 192.168.20 никакими шлюзами, необходим. 0.0.0.0 не легальный адрес IPv4. Ваш компьютер делает логическое И с местом назначения и генеральной Маской (также известный как Сетевая маска) 255.255.255.0 в этом случае, потому что первые 3 байта 255, первые 3 числа должны соответствовать точно. Поскольку последний байт 0. Последнее число может быть чем-либо.
первая строка от Вашего , который говорит команда
0.0.0.0 192.168.20.254 0.0.0.0 UG 0 0 0 eth0
-n маршрута, использует этот шлюз 192.168.20.254 для всех других IP-адресов. Это - вероятно, адрес Вашего маршрутизатора,