Как транспортный уровень получает исходный IP-адрес из пакета дейтаграммы? - PullRequest
5 голосов
/ 06 декабря 2011

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

1 Ответ

0 голосов
/ 06 декабря 2011

Простой ответ - транспортный уровень не получает IP-адрес из пакета дейтаграммы.

Когда датаграмма отправляется из источника в пункт назначения, вот простые шаги по тому, как работает IP при перемещении дейтаграммы:

  • Приложение верхнего уровня отправляет пакет вСетевой уровень.
  • Расчет данных вместе с контрольной суммой.
  • IP-заголовок и датаграмма построены.
  • Маршрутизация через шлюзы.
  • Каждый IP-уровень шлюза выполняет контрольную сумму.Если контрольная сумма не совпадает, датаграмма будет сброшена, и сообщение об ошибке будет отправлено обратно на отправляющее устройство.Попутно, если TTL уменьшится до 0, результат будет тот же.И путь маршрутизации адреса получателя будет определяться при каждой остановке при прохождении дейтаграммы по сети.
  • Датаграмма попадает на сетевой уровень назначения.
  • Выполнено вычисление контрольной суммы.
  • IP-заголовок удален.
  • Сообщение передается приложению верхнего уровня.

EDIT

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

Например, приложение A предоставляет службу UDP на определенном порту X. Затем, когда приложение A запускается, оно пытается выполнить привязкук порту X. Если он не может подключиться к нему из-за того, что порт используется, операционная система выдаст ошибку, которую затем должно обработать приложение.Также в архитектуре OSI каждый уровень полагается на уровень ниже его для фактической передачи данных, добавляя или предоставляя определенные функциональные возможности для его собственной предназначенной цели.

Согласно RFC

Псевдозаголовок, концептуально префиксированный к заголовку UDP, содержит адрес источника, адрес назначения, протокол и длину UDP.Эта информация обеспечивает защиту от ошибочно доставленных дейтаграмм.Эта процедура контрольной суммы такая же, как и в TCP.

Для получения более подробной информации об особенностях, пожалуйста, ознакомьтесь с RFC Протокол пользовательских дейтаграмм

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...