Интерфейс
Цель
Таблица маршрутизации
Правила маршрутизации в модуле IP
Для отправляемых IP-пакетов, поступающих от модулей верхнего уровня, модуль IP должен определить способ доставки - прямой или косвенный - и выбрать сетевой интерфейс. Этот выбор делается на основании результатов поиска в таблице маршрутов.
Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модуль IP должен решить, нужно ли ретранслировать IP-пакет по другой сети или передать его на верхний уровень. Если модуль IP решит, что IP-пакет должен быть ретранслирован (forward), то дальнейшая работа с ним осуществляется также, как с отправляемыми IP-пакетами.
Входящий IP-пакет никогда не ретранслируется через тот же сетевой интерфейс, через который он был принят.
Решение о маршрутизации принимается до того, как IP-пакет передается сетевому драйверу, и до того, как происходит обращение к ARP-таблице.
Как модуль IP узнает, какой именно сетевой интерфейс нужно использовать для отправления IP-пакета? Модуль IP осуществляет поиск в таблице маршрутов. Ключом поиска служит номер IP-сети, выделенный из IP-адреса места назначения IP-пакета.
Таблица маршрутов содержит по одной строке для каждого маршрута. Основными столбцами таблицы маршрутов являются номер сети, флаг прямой или косвенной маршрутизации, IP-адрес шлюза и номер сетевого интерфейса. Эта таблица используется модулем IP при обработке каждого отправляемого IP-пакета.
В большинстве систем таблица маршрутов может быть изменена с помощью команды "route". Содержание таблицы маршрутов определяется администратором сети.
Протокол TCP обязан обеспечить надежный сервис для коммуникаций между процессами в многосетевой системе (другими словами - главной целью протокола TCP является обеспечение надежного, безопасного сервиса для логических цепей или соединений между парами процессов).
Протокол TCP взаимодействует с одной стороны с прикладной программой, а с другой - с протоколом более низкого уровня, таким как протокол IP.
Интерфейс между прикладным процессом (программой) и протоколом TCP состоит из набора вызовов, которые похожи на вызовы операционной системы, предоставляемые прикладному процессу для управления файлами. Например, в этом случае имеются вызовы для открытия и закрытия соединений, для отправки и получения данных на установленных соединениях. Предполагается также, что протокол TCP сможет асинхронно взаимодействовать с прикладными программами.
Интерфейс между протоколом TCP и протоколами более низкого уровня за дан в значительно меньшей степени, за исключением того, что должен существовать некий механизм, с помощью которого эти два уровня могут асинхронно обмениваться информацией друг с другом. Обычно полагают, что протокол нижнего уровня задает данный интерфейс.
Протокол должен иметь возможности для работы в следующих областях:
базовая передача данных
достоверность
управление потоком
разделение каналов
работа с соединениями
приоритет и безопасность