Tuesday, Sep 07th

Last update09:09:00 PM GMT

Вы находитесь на: FreeBSD Сетевые протоколы Процедура пересылки IP-пакетов

Процедура пересылки IP-пакетов

Реализации IPv4 традиционно спроектированы для использования либо хостами, либо маршрутизаторами, а не обоими сразу. То есть система была либо конечной точкой для пакетов (в качестве источника или места назначения), либо маршрутизатором (который пересылает пакеты между хостами в различных сетях, но протоколы вышележащих уровней использует лишь для функций сопровождения).

Традиционные системы хостов не содержат в себе функции пересылки IP пакетов; вместо этого, если они получают IP пакеты, адресованные не им, они просто уничтожают IP пакеты. 4.2BSD была первой распространенной реализацией, которая попыталась предоставить службы как хоста, так и маршрутизатора в обычной работе. У этого подхода есть преимущества и недостатки.

Это означало, что хосты 4.2BSD, соединенные с несколькими сетями, могли служить в качестве маршрутизаторов также, как и в качестве хостов, снижая требования к аппаратному обеспечению выделенных маршрутизаторов. Первые маршрутизаторы были дорогими и не особенно мощными. Альтернативно существование поддержки функции маршрутизатора в обычных хостах увеличивало вероятность того, что ошибки неправильного конфигурирования приводили к проблемам в подключенных сетях. Наиболее серьезная проблема должна была иметь дело с пересылкой широковещательных пакетов из-за неправильного понимания места назначения пакета либо отправителем, либо получателем. В FreeBSD функции маршрутизатора по пересылке IP пакетов по умолчанию отключены. Их можно включить во время работы с помощью системного вызова sysctl. Хосты, не сконфигурированные в качестве маршрутизаторов, никогда не пытаются пересылать пакеты или возвращать сообщения об ошибках в ответ на неправильно направленные IP пакеты.

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

  1. Проверка того, что пересылка разрешена. Если нет, пакет уничтожается.
  2. Проверка того, что адрес назначения разрешает пересылку. Пакеты, предназначенные для сети 0, сети 127 (официальная сеть возвратной петли) или с недопустимыми сетевыми адресами, не могут пересылаться.
  3. Сохранение максимум 64 октетов полученного сообщения на случай, если придется создавать в ответ сообщение об ошибке.
  4. Определение маршрута, который должен использоваться для пересылки пакета.
  5. Если исходящий маршрут использует тот же самый интерфейс, через который пакет был получен, и если хост-отправитель находится в той же самой сети, производится отправка хосту-отправителю сообщения перенаправления ICMP.
  6. Обработка любых обновлений IPSec, которые должны быть сделаны с заголовком IP пакета.
  7. Вызов ipoutput() для отправки пакета на место его назначения или на шлюз следующего транзитного участка.
  8. Если обнаружена ошибка, отправка сообщения ICMP об ошибке на исходный хост.

Многоадресные передачи обрабатываются отдельно от остальных пакетов. Системы могут быть сконфигурированы в качестве групповых маршрутизаторов независимо от других функций маршрутизации. Групповые маршрутизаторы получают все входящие групповые IP пакеты и пересылают эти пакеты локальным получателям и членам групп в других сетях в соответствии с групповым членством и оставшимся числом транзитных участков во входящих пакетах.

электроинструменты интерскол в Электромонтаже
Сейчас 27 гостей онлайн

Реклама на сайте: