Я как бы игнорирую ваш первый абзац, который был полезен, потому что похоже, что вы пытались получить более конкретную информацию во втором абзаце. Так что этот абзац - это то, что я отвечу подробно.
Но как это происходит, пока бит строится?
Вы предложили свой ответ со следующим вопросом.
Содержат ли различные слои те данные, которые будут частью последнего бита, в то время как они сами отправляют запросы / данные через Ethernet для сбора соответствующей информации / установления соединений и т.д.?
Да.
Как это работает?
Пользователь сообщил веб-браузеру, что информация требуется с веб-сайта. Когда пользователь вводит этот адрес в адресную строку, сеть еще не задействована; Модель OSI считает, что это уровень OSI Model 7: Application Layer.
Веб-браузер указал, что небезопасная связь в порядке. (Если бы безопасность была необходима, HTTPS был бы сделан. Тем не менее, HTTP будет работать для обеспечения небезопасной связи.) Таким образом, HTTP - это то, как должно происходить взаимодействие (Уровень представления, Уровень 6, все еще обычно обрабатываемый приложением). HTTP не использует EBCDEC; для связи будет использоваться ASCII (еще одна деталь, относящаяся к уровню представления, OSI Model Layer 6.)
Надежное общение должно происходить. Мы будем использовать сеанс, поэтому разговор будет происходить через HTTP-соединение, которое может включать несколько пакетов. Идея такого подключения - это Session Layer (OSI Model Layer 5).
Транспортная связь позволяет нескольким разговорам (таким как множественные одновременные передачи данных) происходить на одном и том же IP-адресе. Когда есть входящие или исходящие данные, эти разговоры отслеживаются с помощью нескольких номеров "портов". Веб-браузер указывает, что он хочет общаться с TCP-портом 80 www.superuser.com. Указание номера порта входит в область Транспортного уровня (OSI MOdel Layer 4).
Приложение (веб-браузер) взаимодействует с «сетевым стеком TCP/IP», который обычно встроен в операционную систему (в наши дни ... во времена Windows 3.1 вам может понадобиться установить "Trumpet Winsock", стек сторонних производителей, либо используйте стек Microsoft, который можно установить вместе с MS Internet Explorer для Win 3.1).
Сетевой стек понимает, что "www.superuser.com" является сетевым именем. Таким образом, используется код резолвера. Это имя не находится в кэше "Resolution Name" ("resolver"), и при попытке найти его в "файле hosts" имя не отображается. Таким образом, DNS-запрос будет отправлен.
Ах, да, в вашем вопросе упоминались "http" и "DNS", поэтому этот ответ становится немного сложнее, если рассматривать как связь DNS, так и связь HTTP. Сначала мы рассмотрим связь с DNS, потому что именно это произойдет до того, как уровень 3 модели OSI будет иметь какое-либо отношение к любому трафику HTTP.
Решатель начинает процесс установления связи DNS. Компьютер получит ответ в виде дейтаграммы DNS (порт UDP 53, транспортный уровень, уровень 4).
DNS-сервер находится на компьютере. Мы будем притворяться, будто это на удаленном компьютере. Так что это будет связано с установлением связи с IP-адресом другого компьютера. Таким образом, будет использоваться IP-пакет (то есть сетевой уровень, уровень модели OSI 3). Ради интереса, скажем, это пакет IPv4 (нет причин, почему бы и нет). (На самом деле, я начал писать это как IPv6 ... Я решил вернуться к IPv4 для более коротких примеров адресов. Но вместо этого можно сделать IPv6.)
Давайте представим, что компьютер - это маршрутизатор. Основываясь на IP-адресе 3-го уровня, мы не хотим идти по маршруту, который отправит трафик наверх в спальню подростка. Мы хотим взять маршрут, который пойдет в Интернет. Этот пакет IPv4 может быть отправлен по беспроводной сети или по проводной сети. Мы решим использовать адрес IPv4, который использует проводную сеть.
Поскольку DNS-сервер находится в другой подсети, нам необходимо отправить трафик на шлюз. Поскольку у меня нет более конкретного маршрута (например, в спальню подростка), я буду использовать "шлюз по умолчанию", который используется всякий раз, когда нет более конкретной доступной опции. Знание того, какой способ отправки трафика является "маршрутизацией", является основной особенностью уровня 3.
Допустим, для этой связи будет использоваться проводная сеть. IP-пакет должен попасть на DNS-сервер (8.8.8.8, уровень 3), но таблица маршрутизации указывает, что такие соединения маршрутизируются через адрес шлюза в 198.51.100.1 (уровень 3). (Кстати, 198.51.100.1 - это не то, что вы должны использовать в реальной сети, но мне разрешено использовать его для этого примера, потому что я следую RFC 5737 разделу 3
Мы можем связаться с 198.51.100.1 с помощью фрейма Ethernet. Кэш ARP (эквивалент IPv4 для NDP IPv6) не содержит подробностей, поэтому нам потребуется кадр ARP WHO-HAS (эквивалентный обнаружению соседа IPv6), чтобы определить, куда должен быть отправлен кадр Ethernet. Это обнаружение соседей отправляет широковещательную рассылку Ethernet на FF-FF-FF-FF-FF-FF (IPv6 может использовать многоадресную рассылку как часть NDP), чтобы выяснить, кто имеет этот Ethernet-адрес. Когда ответ получен, информация попадает в кэш (кэш ARP ... если бы мы использовали IPv6, это был бы кэш NDP).
Теперь мы можем отправить кадр Ethernet в систему по адресу 192.168.0.1. Таким образом, «Сетевой стек TCP/IP» помещает дейтаграмму UDP в IP-пакет, который перейдет на IP-адрес 8.8.8.8, и инкапсулирует его в кадр Ethernet, который идет к 01-23-45-67-89-AB. , Этот кадр Ethernet отправляется на уровне 2.
Сетевой стек TCP/IP отправляет этот кадр Ethernet на уровне 2, обмениваясь данными с драйвером сетевой карты (который может связываться с Ethernet). Однако сетевой стек TCP/IP забывает о битах в этой дейтаграмме UDP. В конце концов, UDP ненадежен. Сетевой стек TCP/IP не выполняется с помощью HTTP-запроса, поскольку "распознаватель" все еще ожидает ответа на основе "исходного" сетевого адреса исходящего пакета UDP. Но сетевой стек TCP/IP не хранит копии битов, которые были ненадежно отправлены в этой дейтаграмме UDP. (Если UDP-датаграмма будет потеряна, я полагаю, что "преобразователь", вероятно, потерпит неудачу, и тогда веб-браузер может решить повторить попытку. В любом случае, часть "повторных попыток" не обрабатывается ненадежной частью заботы о дейтаграмме UDP.)
Драйвер Ethernet висит на пакете достаточно долго, чтобы гарантировать, что пакет не будет поврежден никакими коллизиями Ethernet на уровне модели OSI 1. Как только Ethernet передается без проблем, сетевой драйвер забывает об этом.
Шлюз по умолчанию получает кадр Ethernet. Поскольку это маршрутизатор, он перенаправляет трафик, а это значит, что ему нужно немного посмотреть на IP-пакеты, которые не адресованы ему самому. Я считаю это "беспорядочным". Маршрутизатор проверяет, куда должен идти трафик, и выполняет аналогичный процесс, чтобы передать трафик другому маршрутизатору. Пакет IP модифицируется уменьшением TTL на 1, и маршрутизатор использует уровень 2 для передачи трафика следующему маршрутизатору. Этот процесс повторяется через столько маршрутизаторов, сколько необходимо, и это должно работать нормально, пока уровень TTL не достигнет низкого уровня, и в этом случае ответ ICMP "TTL Exceeded" вернется. Для простоты остальная часть этого примера будет притворяться, что этого не произошло.
Позже, возможно, после многих тысяч миллисекунд, которые занимают миллионы мегагерц процессорного времени, сетевой драйвер (на компьютере с веб-браузером) замечает соединение Ethernet. Этот кадр Ethernet имеет MAC-адрес назначения (OSI Model Layer 2), который принадлежит этому компьютеру с веб-браузером. Кадр имеет поле протокола, которое говорит, что это IP-пакет; в частности, термин «IP-пакет» взят из старого стандарта и означает пакет IPv4 (OSI Model Layer 3). Поскольку адрес назначения соответствует этому компьютеру, компьютеру не нужно проверять, есть ли какое-либо программное обеспечение, работающее в "случайном режиме". Таким образом, сетевой драйвер отправляет его в сетевой стек TCP/IP. Пакет IP в конечном итоге содержит дейтаграмму UDP (уровень модели 4 OSI) от DNS-сервера. Таким образом, сетевой стек TCP/IP проверяет список открытых портов (что можно увидеть, выполнив команду «netstat -na» в Unix или Microsoft Windows). Список открытых портов проверяется на наличие порта "LISTENING", и выясняется, что распознаватель ищет ответ. Таким образом, сетевой стек TCP/IP отправляет эту дейтаграмму UDP в распознаватель.
Теперь, когда распознаватель выяснил, что www.superuser.com - 203.0.113.50 (например, разрешено в разделе 3 RFC 5737), сетевой стек TCP/IP может свободно создавать сегмент TCP, который будет содержать IP-пакет. это идет к 203.0.113.50. Первый IP-пакет разговора на самом деле не содержит какой-либо интересной полезной нагрузки и является лишь частью трехстороннего TCP-рукопожатия. После ответа часть обработки TCP сетевого стека TCP/IP отправит сегмент TCP внутри IP-пакета. Этот процесс очень похож на обработку дейтаграммы UDP, за исключением того, что когда сетевой стек TCP/IP принимает IP-пакет, содержащий сегмент TCP, и отправляет эти пакеты в сетевой драйвер (для обработки кадра Ethernet), TCP/ Стек IP-сети запоминает все содержимое этого TCP-пакета, пока пакет не будет подтвержден в ответном TCP-сегменте. Если пакет TCP будет потерян при передаче, в конечном итоге удаленный конец будет жаловаться или таймер истечения завершится, и пакет TCP/IP отправит другой сегмент TCP с дубликатом существенной полезной нагрузки. Эта попытка "повторить" - вот почему TCP называется "надежным".
На этот раз вместо ожидания дейтаграммы UDP, содержащей трафик DNS, который отправляется в распознаватель, сетевой стек TCP/IP ожидает ответа TCP. Какой-то случайный порт, например порт 12345, используется в качестве "исходного порта" первоначального запроса.
Исходящий сегмент TCP содержит запрос "GET", который является частью HTTP-сообщения, отправляемого веб-браузером.
Теперь давайте перенесемся через обработку IP-пакета (и кадра Ethernet).
После получения запроса веб-сервером веб-сервер отправит данные в веб-браузер. Это может произойти как несколько сегментов TCP. Веб-сервер запоминает содержимое каждого отправляемого им сегмента TCP, пока этот сегмент TCP не будет подтвержден компьютером, на котором запущен веб-браузер.
Когда компьютер с веб-браузером получает информацию от веб-сервера, он замечает кадры Ethernet (уровень 2 OSI), которые содержат IP-пакеты (уровень 3 OSI), которые содержат сегменты TCP (уровень 4 OSI), которые поступают из порта 80 TCP (на веб-браузер) к локальному TCP-порту, который прослушивает (например, 12345, упомянутый ранее). Сетевой стек TCP/IP поймет, что должен перейти в веб-браузер.
Веб-браузер обрабатывает информацию из соединения (уровень 5, сеанс), понимает, что трафик незашифрован (уровень 6, презентация), и не делает адресную строку красной (как если бы возникла проблема с безопасностью HTTPS), Выбор цвета адресной строки - это проблема "пользовательского интерфейса", которая считается частью уровня 7 7-уровневой модели OSI.