Size: a a a

2020 April 02

p

polunin.ai in rust_offtopic
Пакеты передаются побитово последовательно
источник

СД

Стас Донцов... in rust_offtopic
polunin.ai
На один физический разъем у тебя придет один пакет в один момент времени
т.е. у меня последовательно на один физический разъем будут приходить сначала 1500 байтиков одного пакета, потом 1500 байтиков другого пакета и так далее, последовательно, пакет за пакетом
источник

p

polunin.ai in rust_offtopic
Стас Донцов
т.е. у меня последовательно на один физический разъем будут приходить сначала 1500 байтиков одного пакета, потом 1500 байтиков другого пакета и так далее, последовательно, пакет за пакетом
Да. То что данные придут в правильном порядке гарантируется сетью (коммутатором который тебе передает байтики и твоей сетевой картой)
источник

СД

Стас Донцов... in rust_offtopic
polunin.ai
В один момент времени T сколько придет, зависит от количества проводов в кабеле
т.е. тут ты мне рассказывал про такое Т, в период которого последовательно придет N пакетов, т.е. там не минимальное какое-то Т по типу наносекунды (или какое там самое маленькое), а какое-то Т которое настолько большое, что за его время придет несколько пакетов?
источник

r

red75prime in rust_offtopic
Стас Донцов
т.е. из кабеля в момент T у меня может прийти одновремненно N байтиков из N пакетов, да?
В 1000BASE-T на физическом уровне одномоментно может прийти только 8 бит.
источник

СД

Стас Донцов... in rust_offtopic
red75prime
В 1000BASE-T на физическом уровне одномоментно может прийти только 8 бит.
потому что там 8 жил?
источник

r

red75prime in rust_offtopic
2 пары жил и 5 уровней напряжения
источник

СД

Стас Донцов... in rust_offtopic
red75prime
2 пары жил и 5 уровней напряжения
2 пары это разве не 100 base?
источник

r

red75prime in rust_offtopic
Да в  100BASE-TX тоже 2 пары используются, но по-другому
источник

p

polunin.ai in rust_offtopic
red75prime
Да в  100BASE-TX тоже 2 пары используются, но по-другому
Ты сисадмин?
источник

СД

Стас Донцов... in rust_offtopic
так, тогда кому из вас мне верить @p0lunin red75prime? У меня желание простое: я хочу понять как правильно конструировать многопоточное сетевое приложение. Я считаю, что приложение надо конструировать так, что если у меня физически приходит сразу N потоков данных (например в 1000base N будет равно 8) то и я должен как-то стараться это все укладывать в свои N потоков обработки, а не делать из 8 потоков например один и где-то в буфер складывать все что мне параллельно приходит на физ порт: т.е. как-то параллельность удерживать и дальше, в своем коде
источник

r

red75prime in rust_offtopic
Скучаю, читаю про eudev и поглядываю в википедию
источник

С

Сергей in rust_offtopic
Эти все рассуждения про кабели - очень поверхностные. Если ты не спускается на уровень сетевой карты, то по временному интервалу всё равно упираешься в "такт" работы ОС, а не в стандарт Ethernet
источник

p

polunin.ai in rust_offtopic
Стас Донцов
так, тогда кому из вас мне верить @p0lunin red75prime? У меня желание простое: я хочу понять как правильно конструировать многопоточное сетевое приложение. Я считаю, что приложение надо конструировать так, что если у меня физически приходит сразу N потоков данных (например в 1000base N будет равно 8) то и я должен как-то стараться это все укладывать в свои N потоков обработки, а не делать из 8 потоков например один и где-то в буфер складывать все что мне параллельно приходит на физ порт: т.е. как-то параллельность удерживать и дальше, в своем коде
У тебя все данные складываются в буфер сначала. А потом из буфера уже контроллер IO передает по требованию данные в оперативную память по шине.
источник

p

polunin.ai in rust_offtopic
Ну и я сомневаюсь что ты будешь не успевать получать данные из сети
источник

p

polunin.ai in rust_offtopic
В общем, ориентироваться нужно не на количество проводов в кабеле
источник

p

polunin.ai in rust_offtopic
Если у тебя слишком много данных, то принимаешь их одним потоком, там же пусть будет балансировщик нагрузки. И он пусть распределяет данные между одинаковыми интсансами приложения.
источник

С

Сергей in rust_offtopic
Между 💯BaseT и юзерспейс приложением ещё десяток слоёв из драйверов, протоколов и очередей
источник

С

Сергей in rust_offtopic
И вы их все как-то выкинули из рассуждений )
источник

p

polunin.ai in rust_offtopic
Сергей
И вы их все как-то выкинули из рассуждений )
XY проблема же
источник