Транспортный уровень (TCP и UDP) считывает / проверяет заголовки IP (исходный IP, IP назначения и т. Д.) - PullRequest
0 голосов
/ 17 февраля 2012

Все мы знаем, что сокет TCP идентифицируется с помощью записи из четырех кортежей: src ip, Dest Ip, порт src Dest Port

TCP выполняет работу по мультиплексированию и демультиплексированию данных от / к различным процессам, запущенным на хосте.

В случае демультиплексирования IP-адрес получателя присутствует только в заголовках IP. Почему Dest IP читается транспортным уровнем (TCP)?

Пожалуйста, объясните, я очень запутался?

1 Ответ

2 голосов
/ 17 февраля 2012

То, что в этом контексте называется TCP, в действительности TCP/IP, как в TCP через IP (UDP/IP - то же самое).Фактически, [TC | UD] P и IP экстремально переплетаются кодовым образом во всех основных текущих реализациях сокетов.

Сам сокет работает от уровня IP вверх, таким образом, он имеет информацию об IP-адресе назначения, только протокол сокетаОбработчик специализирует это на TCP.Поэтому, вызывая

socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)

(или его эквиваленты на других языках), вы создадите сокет IP (первый параметр), который использует TCP (третий параметр).Это означает, что сокет содержит информацию об IP, а также информацию о TCP

...