С Новым годом! Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
1

Как различные программы работают со стеком TCP/IP одновременно?

22.11.2020, 17:51. Показов 1337. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.

Допустим, Wireshark и браузер работают одновременно. Как возможно, что эти программы обращаются к стеку TCP/IP за одними и теми же данными одновременно и при этом не возникает ошибки (например, когда данные прочитаны браузером быстрее, чем Wireshark'ом, и часть данных уже удалена из буфера ядра)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2020, 17:51
Ответы с готовыми решениями:

MS visual c++ (не работают различные программы)
Вообщем не работают различные программы #include <iostream> using namespace std; int main() ...

как работают одновременно два счетчика в цикле
помогите найти информацию, о том, как работают два счетчика в цикле!! например тут: (во всем...

Две звуковые карты работают одновременно, как их разделить
Здраствуйте. Есть звуковая встроенная в материнку и на передней панели. Обе realtek hd....

Не работают основные операции со стеком чисел
помогите исправить ошибки вот код // stack.cpp : Defines the entry point for the console...

8
Администратор
Эксперт .NET
17705 / 13832 / 5313
Регистрация: 17.03.2014
Сообщений: 28,343
Записей в блоге: 1
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
Администратор
Эксперт .NET
17705 / 13832 / 5313
Регистрация: 17.03.2014
Сообщений: 28,343
Записей в блоге: 1
22.11.2020, 21:54 4
mikello, можно считать что да.
1
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
29.11.2020, 05:29  [ТС] 5
OwenGlendower, здравствуйте)

И значит браузер никак не сможет прочитать данные быстрее Wireshark.
А почему не может возникнуть следующая ситуация (учитывая многозадачность ОС и переключение между программами):

1.браузер (отправил запрос)
2.Wireshark (перехватил запрос и отправил данные дальше)
1.браузер(получил ответ быстрее Wireshark)
2.Wireshark

Или, например:

1.браузер (отправил запрос и данные были отправлены в сеть, до Wireshark)
2. Wireshark
0
Эксперт .NET
17792 / 12943 / 3381
Регистрация: 17.09.2011
Сообщений: 21,226
29.11.2020, 08:23 6
mikello, вы знакомы с сетевой моделью OSI?
Браузер работает в самом высоком слое - седьмом, а Wireshark - начиная со второго.
Браузер не может получить данные раньше Wireshark по той же причине, по которой он не может их получить раньше сетевой карты.
0
Администратор
Эксперт .NET
17705 / 13832 / 5313
Регистрация: 17.03.2014
Сообщений: 28,343
Записей в блоге: 1
29.11.2020, 10:33 7
mikello, можно считать что да.
Цитата Сообщение от mikello Посмотреть сообщение
А почему не может возникнуть следующая ситуация (учитывая многозадачность ОС и переключение между программами):
Потому что на этом уровне нет никакой многозадачности. Действия выполняются последовательно. Сетевая карта ⟷ Wireshark ⟷ браузер.
0
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 818
29.11.2020, 17:28  [ТС] 8
kolorotur,

вы знакомы с сетевой моделью OSI?
Знаком. И не отрицаю, что "Браузер работает в самом высоком слое - седьмом, а Wireshark - начиная со второго."

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

1. За квант времени браузер отправил запрос -> Данные ушли в стек, дошли до 1 уровня и были отправлены в сеть
2. За второй квант времени Wireshark обращается к драйверу и ничего не считывает
0
Администратор
Эксперт .NET
17705 / 13832 / 5313
Регистрация: 17.03.2014
Сообщений: 28,343
Записей в блоге: 1
29.11.2020, 17:55 9
mikello, потому что Wireshark устанавливает свой драйвер с помощью которого он может перехватывать траффик. А на уровне драйверов нет многозадачности.
1
29.11.2020, 17:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2020, 17:55
Помогаю со студенческими работами здесь

После создания html элементов с js - все они работают вметсе одновременно а не как отдельные
Выходит так, что я пытаюсь сделать 2 (хотя на деле их там будет очень много) контейнеров внутри...

Не работают getch() и cin в двух разных потоках на ввод одновременно/Как снизить нагрузку на процессор?
Код: #include <iostream> #include <cstdlib> #include <conio.h> #include <thread> // g++...

Несколько tcp подключений одновременно
Здравствуйте. Вопрос не столько по qt, сколько по принципу программирования в-целом. Допустим...

Как с помощью программы на C++ изобразить различные графики и фигуры?
Собсно,как с помощью программы на с++ изобразить различные графики и фигуры?

Console.Readline() - считать несколько значений одновременно и в различные переменные
преподаватель дал задание с помощью функции console.readline() сделать следущее: вводится строка,...

Передача нескольких файлов через TCP одновременно
Как передавать несколько файлов через TCP одновременно, я пока что вижу только один вариант...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru