Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Как работает протокол TCP/IP?

#сеть #tcp_ip


Привет.

Вопрос по сетям (стек протоколов TCP/IP). Если человек вводит url-адрес в строку
адреса в браузере и жмет энтэр, то:


Браузер смотрит, а есть ли на компе в таблице соответствия доменных имен логическим
адресам данное доменное имя. Например, его нет в таблице и отправляется DNS-пакет-запрос
на DNS-сервер подсети... потом приходит ответ.
Айпи адрес получателя теперь известен и начинается установка соединения по протоколу
TCP - трехкратное рукопожатие.


...

Мне не понятно, ГДЕ все эти правила записаны (где эта последовательность действий
задана) - "посмотри, есть ли соответствие "доменное имя - айпи" на компе, если нет,
отправь, днс-запрос серверу днс, жди ответ, потом устанавливай соединение по протоколу
айпи, котом пакеты лови (хттп и тсп-пакеты) и посылай подтверждение о получении, закрывай
соединение"? Это какой-то протокол? Везде пишут про ОПИСАННУЮ ВЫШЕ последовательность
действий, но мне не понятно КАКАЯ ПРОГРАММА ЭТО ВСЕ ДЕЛАЕТ И ГДЕ ЭТО "ЗАШИТО".
    


Ответы

Ответ 1



Работа с сетью - это одна из частей многоуровневой системы ввода/вывода в операционной системе. Если вникать глубже, когда вы инициализируете запрос к устройству, этот запрос обслуживает диспетчер ввода-вывода, который передаст его куда нужно, и вернет в процесс данные, которые нужны от устройства. Во всех современных сетях используется так называемый стек протоколов для наслоения различных протоколов друг на друга. На каждом уровне решаются разные вопросы. Например, на самом нижнем уровне протоколы определяют, как сообщить в потоке битов, где начинаются и где заканчиваются пакеты. На более высоком уровне протоколы занимаются прокладыванием маршрутов для пакетов по сложным сетям от источника к месту назначения. И на еще более высоком уровне они обеспечивают надлежащую доставку всех пакетов в многопакетном сообщении в нужном порядке. Пользовательский процесс генерирует сообщение и выдает системный вызов для его отправки по предварительно установленному TCP-соединению. Стек протоколов, находящийся в ядре, добавляет в начало сообщения TCP-заголовок, а затем IP-заголовок. Затем сообщение поступает к драйверу сети Ethernet, который добавляет Ethernet-заголовок, направляющий пакет к маршрутизатору в сети Ethernet. После чего этот маршрутизатор внедряет пакет в Интернет. Чтобы установить соединение с удаленным хостом (или хотя бы отправить ему дейтаграмму), необходимо знать его IP-адрес. Поскольку оперировать списками с 32-битными адресами людям неудобно, была изобретена система под названием DNS (Domain Name System — система доменных имен), представляющая собой базу данных, которая отображает ASCII-имена хостов на их IP-адреса. Браузер запрашивает у DNS IP-адрес, соответствующий имени DNS в ответ выдает IP Браузер устанавливает TCP-соединение с портом 80 на хосте с IP-адресом Затем он отправляет запрос на файл index.html Сервер отправляет файл index.html Отображение файла TCP-соединение разрывается. Естественно, установление соединения, запрос IP по имени происходит через API операционной системы, операционная система пересылает ваш запрос DNS службе, которая сканирует файл hosts, и если там есть запись - выдает ее, иначе обращается к серверу или собственному кешу. Рекомендую Вам почитать "Современные операционные системы" Э. Таненбаум., книга большая, но знаний от нее получите по архитектуре и работе операционной системы массу.

Комментариев нет:

Отправить комментарий