Добавил:
Я за два дня прошел весь курс ТВиМС Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базовый курс по компьютерным сетям (2019).docx
Скачиваний:
9
Добавлен:
20.06.2025
Размер:
6 Мб
Скачать
☆

Структура ip заголовка (l3 Header)

для передачи между канальными средами

Появляется IP адресация!

Поля:

  1. Версия - какая версия IP протокола v4 или v6

  2. IHL - размер заголовка (многие поля плавающие в L3)

  3. Тип обслуживания - для механизма очередей, в какой очерёдности посылать пакет (при большой нагрузке можем сказать насколько важный пакет для передачи)

  4. Длина пакета - какого размера весь пакет, включая пользовательские данные.

  5. Время жизни (TTL) - для того чтобы предотвратить петли маршрутизации. Мы задаём определённое количество жизней (255 обычно) проходя через каждый роутер отнимается “одна жизнь”. В итоге через 255 роутеров, пакет удалится. Это необходимо, чтобы не было блуждающих в сети пакетов.

  6. Протокол - для какого вышестоящего протокола пакет (для UDP или TCP);

  7. Контрольная сумма заголовка - считается чек сумма от полей (не проверяется целостность данных!!), только целостность заголовка.

  8. Опции - редко используется, дописывается для специфических устройств (например - система контроля дверных замков);

  9. Смещение - добивает 00 к полю Опции.

  10. Данные - наши данные.

Идентификатор, Флаги и Смещение фрагмента - используются когда мы не можем передать данные одним пакетом, и разбиваем его на несколько пакетов.

Например, разбили наши данные на 4 части, то:

  • Идентификатор - пишется единый для всех 4х ID.

  • Флаги - указано что пакет фрагментированный а не единый. В последнем фрагменте также стоит флаг что он последний.

  • Смещение фрагмента - нумерация пакета, какой пакет по счёту.

Структура udp заголовка (l4 Header)

Осуществляет разделение трафика приложений.

Мы хотим поиграть в игру Delta Force по сети через UDP, для этого:

  1. Отправляем запрос, генерируя случайный порт источника (например 2000),

  2. Порт назначения указываем = 35.

  3. Сервер игры принимает на 35 порту данные,

  4. Меняет местами порт источника и порт назначения и отвечает на 2000 порт.

Контрольная сумма - если не сходится, пакет отбрасывается (удаляется). Такое допустимо при отправке аудио или видео сигнала. Но недопустимо при передаче например электронной почты.

UDP просто отправляет данные, без установки сессии, ему не важно данные дойдут или нет.

Структура tcp заголовка

Функции:

  1. Выполняет функцию контроля доставки. Если контрольная сумма не сходится, то данные запрашиваются еще раз.

  2. Механизм сборки пакета в правильной последовательности (при разбивке данных на разные пакеты). Наши пакеты могут прийти не в правильной последовательности, TCP всё равно соберёт всё верно.

  3. Установление сессии путем трёхэтапного рукопожатия.

  4. Пори источника - случайный.

  5. Порт назначения - обычно конкретный, исходя из сервисов.

  6. Порядковый номер - рассмотрим позже

  7. Номер подтверждения - рассмотрим позже

  8. Длина заголовка - определяет сколько бит заголовок, сколько бит данные.

  9. Флаги - для установления сессии

  10. Размер окна - число, говорящее на какое число пакетов отправлять подтверждение о получении пакетов. Размер этого числа зависит от качества работы сети, постепенно увеличивается, если потери встречаются очень редко.

  11. Контрольная сумма - математ. операция от всех полей и данных для контроля целостности.

  12. Указатель важности - уровень важности данного пакета.

  13. Опции - у TCP есть масса дополнений и расширений, взаимодействие с которыми происходит через это поле.

Процесс установления TCP сессии:

  1. Генерируется случайный порт источника;

  2. Порт назначения всегда определен, например 80 порт, если мы стучимся к веб-серверу;

  3. В поле порядковый номер генерируется случайное число;

  4. Устанавливается флаг SYN (флаг желания установки сессии);

Данные отправляются, доходят до сервера;

  1. Сервер меняет местами порт источника и порт назначения;

  2. Порядковый номер - генерируется любое число;

  3. Номер подтверждения, прибавляет 1 к порядковому номеру, который пришел;

  4. К флагу SYN добавляется флаг ACK

Отправляет данные клиенту;

  1. Клиент меняет местами порт источника и порт назначения;

  2. Номер подтверждения, прибавляет 1 к порядковому номеру, который пришел;

  3. Оставляет только флаг ACK

Данные отправляются, доходят до сервера;

Установка сессии завершена! У нас произошло трехэтапное рукопожатие (3-way handshake).

Когда сессия установлена, поля Порядковый номер и Номер подтверждения используются по другому. В Порядковом номере указывается номер пакета, в номере подтверждения указываются номера пакетов которые уже были получены стороной отправления.

Подробно рассмотрим поле данные, для каждого из уровней.

  1. На канальном уровне данными является: Заголовок IP + другие данные;

  2. Данными для заголовка IP будет: Заголовок TCP с данными;

  3. Данными для заголовка TCP будет: например протокол http с пользовательскими данными (например, с html кодом);

Всё это дело называется ”Инкапсуляция данных”

Соседние файлы в предмете Информационная безопасность автоматизированных систем