Продолжение преобразования адресов

Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Как вы помните, ранее на шаге 2 исходящий IP-пакет был поставлен в очередь. Теперь с использованием обновленной ARP-таблицы выполняется преобразование IPадреса в Ethernet-адрес, после чего Ethernet-кадр передается по сети. Полностью порядок преобразования адресов выглядит так:

  1. По сети передается широковещательный ARP-запрос.
  2. Исходящий IP-пакет ставится в очередь.
  3. Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.
  4. Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, постав ленного в очередь, используется ARP-таблица.
  5. Ethernet-кадр передается по сети Ethernet.

Короче говоря, если с помощью ARP-таблицы не удается сразу осуществить преобразование адресов, то IP-пакет ставится в очередь, а необходимая для преобразования информация получается с помощью запросов и ответов протокола ARP, после чего IP-пакет передается по назначению.

Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу. Протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.

Некоторые реализации IP и ARP не ставят в очередь IP-пакеты на то время, пока они ждут ARP-ответов. Вместо этого IP-пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через UDP. Такое восстановление выполняется с помощью таймаутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARP-таблицы.

Следует отметить, что каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса.

Ядро операционной системы UNIX

Основным признаком этих систем является использование понятия уровня выполнения (run level) — одного из возможных режимов работы системы. Каждый уровень выполнения обозначается номером (от 0 до 6), часть номеров зарезервирована за стандартными уровнями выполнения. В любой момент времени система может находиться на одном из уровней выполнения — изменение режима работы производится с помощью вызова init с параметром, указывающим номер уровня выполнения, на который следует перейти.

Уровень 0

останов системы (halt) — работа системы должна быть прекращена;

Уровень 1

однопользовательский режим работы — система инициализирует минимум служб и даёт единственному пользователю (как правило, суперпользователю) без проведения аутентификации командную строку. Как правило, этот режим используется для восстановления системы;

Уровень 2

многопользовательский режим — пользователи могут работать на разных терминалах, вход в систему с процессом аутентификации;

Уровень 3

многопользовательский сетевой режим — в многопользовательский режим, в котором осуществляется настройка сети и запускаются различные сетевые службы;

Уровень 4

не имеет стандартного толкования и практически не используется;

Уровень 5

запуск графической подсистемы — в дополнение к уровню 3 производится также старт графической подсистемы X11, регистрация в системе осуществляется также в графическом режиме;

Уровень 6

перезагрузка системы — при включении этого режима останавливаются все запущенные программы и производится перезагрузка.

Таким образом, каждый переход на каждый уровень выполнения подразумевает выполнение определённого набора процедур инициализации и и определённый набор системных служб, которые должны выполняться на данном уровне. Конкретный список таких процедур и служб может быть задан администратором системы. Стартовые скрипты для каждого из уровней выполнения располагаются в каталоге /etc/rc.d.

На практике, в серверных системах обычно при старте системы используется 3-й уровень выполнения, в домашних — 5-й.

Наши рекомендации