Как Linux определяет, какой сетевой интерфейс использовать, когда оба подключены к одной сети?
Обратите внимание, что это не вопрос маршрутизации. Я знаком с тем, как это работает. Это, если, скажем, мой ноутбук подключен к моему беспроводному маршрутизатору через мою Ethernet-карту и мою беспроводную карту, или если у меня есть две Ethernet-карты, подключенные к одному маршрутизатору.
По опыту могу сказать, что в моем случае мой ноутбук предпочитает Ethernet-карту (eth0) по беспроводной (eth1 - я знаю, что это не типичное название для беспроводного интерфейса, но это то, что у меня есть), но я был интересно, как это решает это? Если он просто выбирает интерфейс с наименьшим номером, что если два варианта, скажем, eth0 и wlan0?
Редактировать: @Nils указал, что это все еще вопрос маршрутизации, и таблица маршрутизации предоставляет ответ (см. Его ответ). Это все еще оставляет мой первоначальный вопрос, но в другой форме. От чего зависит порядок записей в таблице маршрутизации в Linux? Например, вот моя таблица маршрутизации при подключении к обоим интерфейсам:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Понятно, что eth0 имеет более высокий приоритет в таблице, чем eth1 для мест назначения в локальной сети, но решено ли это в Linux по задержке канала, пропускной способности канала, даже имени интерфейса или как? (Тот же вопрос может возникнуть, почему eth0 является интерфейсом для маршрута по умолчанию.)