-2

Я хочу знать, какая информация передается моему сетевому адаптеру, когда я подключаюсь к сети с моим ПК.

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

Я знаю основы стека TCP/IP. Но это теория, я не могу связать "реальность" с теорией.

3 ответа3

3

Ваши вопросы довольно расплывчаты, поэтому трудно дать "ответ". Если вы хотите изучать TCP/IP как программист, вот что называется "Учебник":

http://www.kohala.com/start/tcpipiv1.html

Вот еще одно введение в тему:http://its.psu.edu/training/handouts/GS_TCP-IPandOSIModel.pdf

ответить на часть "как ОС узнает, что делать с входящими пакетами?«(Я упрощаю)

Входящие пакеты являются либо новыми, либо принадлежат существующей связи. Давайте посмотрим на "новые" пакеты: они отправляются на порт назначения (например, входящее FTP-соединение идет на 21/tcp - ищите больше "стандартных" пунктов назначения в /etc/services ). ОС передает все данные для этого порта локальному приложению, которое "прослушивает" этот порт (здесь, демон FTP - посмотрите, кто где прослушивает, с помощью netstat -a ). Если приложение отвечает соответственно, начинается "разговор".

Расширение вопроса в комментарии: где закодирован номер порта? Номера портов источника и назначения находятся в первом октете заголовка сегмента TCP, который обычно передается в виде дейтаграмм IP, которые обычно передаются как полезная нагрузка кадров Ethernet в сети Ethernet.

3

Стив Гибсон и Лео Лапорт выпустили подкаст под названием « Безопасность сейчас!«Они сделали серию на тему" Как работает интернет ", в ней должны быть подробно рассмотрены темы, которые вы хотите узнать.

Я свяжу эпизоды, непосредственно говоря о теме, но я рекомендую пойти и послушать другие эпизоды между теми, что я перечислил (особенно эпизоды вопросов и ответов после каждого связанного эпизода).

3

Короче говоря, сетевой стек, частью которого является TCP, состоит из множества уровней. Это называется сетевой моделью OSI.

http://osilayers.org/

Контроль того, какие данные отправляются туда, где я считаю, находится на уровне 4.

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

Программное обеспечение на уровне 4 поместит пакеты данных в правильные места, как почтальон помещает почту в правильные ящики.

Интерпретация пакетов происходит на разных уровнях модели OSI. Например, TCP на самом деле является протоколом, построенным поверх IP. IP реализуется на сетевом уровне (4). В то время как TCP находится на (более высоком уровне) сеансового уровня 5. TCP фактически построен поверх IP. То же самое верно и для UDP. UDP построен поверх IP.

На самом верху модели OSI находится прикладной уровень. Здесь будут размещаться такие приложения, как FTP и т.д.

Это очень краткое резюме, но я надеюсь, что это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .