Для чего интерфейсный объем (глобален по сравнению со ссылкой) используемый?

Создание большого количества подпроцессов является плохой вещью во внутреннем цикле. Создание того sleep процесс в секунду в порядке. Нет ничего неправильно с

while ! test_condition; do
  sleep 1
done

Если Вы действительно хотите избежать внешнего процесса, Вы не должны сохранять FIFO открытым.

my_tmpdir=$(mktemp -d)
trap 'rm -rf "$my_tmpdir"' 0
mkfifo "$my_tmpdir/f"

while ! test_condition; do
  read -t 1 <>"$my_tmpdir/f"
done
10
04.04.2014, 10:36
2 ответа

Давайте посмотрим на определение области маршрута в Linux :

The scope of a route in Linux is an indicator of the distance to the
destination network.

Host
    A route has host scope when it leads to a destination address on the local host.
Link
    A route has link scope when it leads to a destination address on the local network.
Universe
    A route has universe scope when it leads to addresses more than one hop away.

Итак, если вы измените область действия маршрута, ваш компьютер, вероятно, больше не может подключиться к сети на этом маршруте. Маршрутизатор просто не пересылает пакет, который отправляется в локальную сеть назначения.

Обратите внимание, что область действия не отражает различия между немаршрутизируемыми (частными) и маршрутизируемыми (общедоступными) адресами.

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

6
27.01.2020, 20:02

Объем влияет на выбор адреса источника.

Для соединений / ассоциаций, в которых адрес источника еще не установлен (например, при инициировании TCP-соединения, но не при реакции на входящий пакет), адрес источника будет выбран в зависимости от объема маршрута, по которому пакет собирается. ударить.

Вот почему адреса также имеют атрибут области действия.

Пример, когда не происходит выбора адреса источника: на входящее инициирование TCP-соединения или пакет ping будет дан ответ с перевернутыми IP-адресами (источник → пункт назначения, пункт назначения → источник), в противном случае другой хост не распознает пакет как отвечать.

Пример выбора адреса источника: ping xyz или telnet xyz . Обычные программы не сообщают операционной системе, какой исходный адрес использовать (и это хорошая привычка). ОС должна выбрать один, и она готова сделать это: она проверяет потенциальный исходящий пакет для маршрута, по которому он попадет (обычная маршрутизация использует только адрес назначения, если вы используете расширенную маршрутизацию, у пакета еще не будет адреса источника! ). Результирующая область сокращает выбор до адресов из соответствующей области на исходящем интерфейсе, если таковые имеются.

3
27.01.2020, 20:02

Теги

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