Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 4:

Протокол Интернет версии 4

Модуль обработки

Модуль обработки – центральный в совокупности модулей IP (алгоритм рис. 4.20). Обрабатывающий модуль получает дейтаграмму от интерфейса или от модуля, дополняющего заголовок. В обоих случаях их обрабатывают одинаково. Дейтаграмма должна быть обработана и маршрутизирована независимо от того, откуда она прибыла.

Алгоритм модуля обработки

Рис. 4.20. Алгоритм модуля обработки

Модуль обработки сначала осуществляет проверку, чтобы определить, является дейтаграмма пакетом тестовой обратной связи с адресом конечного пункта 127.X.Y.Z или пакетом, который достиг своего конечного пункта. В любом случае, пакет посылают модулю реассемблирования.

Если модуль – это маршрутизатор, он уменьшает поле времени жизни (TTL — time to live) на единицу. Если значение поля меньше или равно нулю, дейтаграмма отклоняется и посылается сообщение системы управления Интернета (ICMP) на начальную станцию. Если значение TTL после уменьшения больше чем нуль, обрабатывающий модуль посылает дейтаграмму к модулю-маршрутизатору.

Очереди

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

Таблица маршрутизации

Таблица маршрутизации используется модулем маршрутизации для определения адреса следующего участка пакета.

Модуль маршрутизации

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

Модуль фрагментации

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

Алгоритм модуля фрагментации

увеличить изображение
Рис. 4.21. Алгоритм модуля фрагментации

Таблица MTU (Maximum Transferred Unit) используется модулем фрагментации, чтобы найти максимальную передаваемую единицу в конкретном интерфейсе.

Модуль фрагментации обращается к таблице MTU, чтобы найти MTU для заданного интерфейса. Если длина дейтаграммы больше чем MTU, модуль фрагментации фрагментирует дейтаграмму, добавляя заголовок к каждому фрагменту, и посылает их в ARP(Address Resolution Protocol) - для определения адреса и доставки.

Таблица реассемблирования

Таблица реассемблирования используется модулем реассемблирования. В нашем пакетировании таблица реассемблирования имеет пять полей: состояние, адрес источника, IP-дейтаграммы, отсчет времени, ID-дейтаграммы и фрагменты (рис. 4.22).

Таблица реассемблирования

Рис. 4.22. Таблица реассемблирования

Значение поля состояние может быть одним из двух: FREE (СВОБОДНО) или IN_USE (в использовании). Поле IP-адреса определяет IP-адреса источника дейтаграммы и все фрагменты, принадлежащие этой дейтаграмме. Отсчет времени – заранее определенное количество времени, в которое каждый фрагмент должен прибыть. В заключение определим: поле "фрагменты" — это указатель списка связи фрагментов.

Модуль реассемблирования

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

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

Задача модуля реассемблирования — найти дейтаграмму, которой принадлежат по порядку все фрагменты одной и той же дейтаграммы, и реассемблировать все фрагменты, когда они все прибудут. Если истекает установленный отсчет времени и некоторый фрагмент не соответствует порядку следования, модуль отклоняет фрагмент.

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????