57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
|
|
1 | |
Как различные программы работают со стеком TCP/IP одновременно?22.11.2020, 17:51. Показов 1337. Ответов 8
Метки нет (Все метки)
Добрый день.
Допустим, Wireshark и браузер работают одновременно. Как возможно, что эти программы обращаются к стеку TCP/IP за одними и теми же данными одновременно и при этом не возникает ошибки (например, когда данные прочитаны браузером быстрее, чем Wireshark'ом, и часть данных уже удалена из буфера ядра)?
0
|
22.11.2020, 17:51 | |
Ответы с готовыми решениями:
8
MS visual c++ (не работают различные программы) как работают одновременно два счетчика в цикле Две звуковые карты работают одновременно, как их разделить Не работают основные операции со стеком чисел |
Администратор
|
|
22.11.2020, 19:19 | 2 |
mikello, Wireshark по идее работает на уровне драйвера сетевой карты. Он получает данные из сети, сохраняет их к себе и передает их дальше чтобы ОС уже передала их приложению. Соответственно никакой одновременной работы со стеком здесь нет. Они работают последовательно. Причем браузер даже не знает что кто-то находится перед ним в цепочке передачи/получения данных. И значит браузер никак не сможет прочитать данные быстрее Wireshark.
1
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
|
|
22.11.2020, 19:52 [ТС] | 3 |
OwenGlendower, спасибо) А блокировщик рекламы(например, в виде расширения для браузера) и браузер работают тоже последовательно?
0
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
|
|
29.11.2020, 05:29 [ТС] | 5 |
OwenGlendower, здравствуйте)
1.браузер (отправил запрос) 2.Wireshark (перехватил запрос и отправил данные дальше) 1.браузер(получил ответ быстрее Wireshark) 2.Wireshark Или, например: 1.браузер (отправил запрос и данные были отправлены в сеть, до Wireshark) 2. Wireshark
0
|
17792 / 12943 / 3381
Регистрация: 17.09.2011
Сообщений: 21,226
|
|
29.11.2020, 08:23 | 6 |
mikello, вы знакомы с сетевой моделью OSI?
Браузер работает в самом высоком слое - седьмом, а Wireshark - начиная со второго. Браузер не может получить данные раньше Wireshark по той же причине, по которой он не может их получить раньше сетевой карты.
0
|
Администратор
|
|
29.11.2020, 10:33 | 7 |
mikello, можно считать что да.
Потому что на этом уровне нет никакой многозадачности. Действия выполняются последовательно. Сетевая карта ⟷ Wireshark ⟷ браузер.
0
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
|
|
29.11.2020, 17:28 [ТС] | 8 |
kolorotur,
Я не понимаю, почему за время переключения между программами, данные отправленные с 7 уровня не могут дойти до сети, минуя Wireshark (минуя - т.к. Wireshark не обращался за это время к драйверу): 1. За квант времени браузер отправил запрос -> Данные ушли в стек, дошли до 1 уровня и были отправлены в сеть 2. За второй квант времени Wireshark обращается к драйверу и ничего не считывает
0
|
Администратор
|
|
29.11.2020, 17:55 | 9 |
mikello, потому что Wireshark устанавливает свой драйвер с помощью которого он может перехватывать траффик. А на уровне драйверов нет многозадачности.
1
|
29.11.2020, 17:55 | |
29.11.2020, 17:55 | |
Помогаю со студенческими работами здесь
9
После создания html элементов с js - все они работают вметсе одновременно а не как отдельные Не работают getch() и cin в двух разных потоках на ввод одновременно/Как снизить нагрузку на процессор? Несколько tcp подключений одновременно Как с помощью программы на C++ изобразить различные графики и фигуры? Console.Readline() - считать несколько значений одновременно и в различные переменные Передача нескольких файлов через TCP одновременно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |