Size: a a a

2020 April 18

m

magras in pro.cxx
Chris Calvin
У вас немного неверное представление о работе сетевых интерфейсов
Я себя экспертом не считаю, но мои представления о сетевом стэке совпадают с тем что Вячеслав описывал. Поэтому мне интересно где они не верны.
источник

M

Max in pro.cxx
Vyacheslav Olkhovchenkov
как на (условно) 80 порту слушал так на нем и создается соединение
Давате в терминах беркли-сокетов, для определённости. Как происходит подключение, когда торчит наружу только один порт.
1. Создаётся сокет на этом порту
2. Дёргается listen
3. Дергается accept, который блокируется до появления клиента. Когда клиент появился, этот accept возвращает сокет, на котором слушать.
Ты утверждаешь, что socket1 == socket3?
источник

s

shkgod in pro.cxx
привет парни, кто может за деньги мне скомпилить прогу с гитхаба? оплачу на биток
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
нет, но какое это отношение имеет к портам?
источник

CC

Chris Calvin in pro.cxx
magras
Я себя экспертом не считаю, но мои представления о сетевом стэке совпадают с тем что Вячеслав описывал. Поэтому мне интересно где они не верны.
Снова описали выше. Сделаю поправку:
Есть сокет который занимается обслуживанием TCP хендшейков, он принимает решение о том, следует ли системе принимать соединение, если да тогда выделяется "обслуживающий" файловый дескриптор который и будет обслуживать с стороны текущей машины дальнейшие коммуникации
источник

CC

Chris Calvin in pro.cxx
Vyacheslav Olkhovchenkov
нет, но какое это отношение имеет к портам?
Сокеты биндятся к портам
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
а волга впадает в каспийское море.
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
только какое отношение и далее по тексту?
источник

M

Max in pro.cxx
Vyacheslav Olkhovchenkov
только какое отношение и далее по тексту?
разговор потому что о бинде.
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
ну о бинде и что?
источник

m

magras in pro.cxx
Chris Calvin
Снова описали выше. Сделаю поправку:
Есть сокет который занимается обслуживанием TCP хендшейков, он принимает решение о том, следует ли системе принимать соединение, если да тогда выделяется "обслуживающий" файловый дескриптор который и будет обслуживать с стороны текущей машины дальнейшие коммуникации
Это не отменяет факта, что активное соединение описывается src/dst ip + src/dst port.
источник

CC

Chris Calvin in pro.cxx
magras
Это не отменяет факта, что активное соединение описывается src/dst ip + src/dst port.
Да
источник

M

Max in pro.cxx
Vyacheslav Olkhovchenkov
ну о бинде и что?
то что bind с тем же портом вернёт EADDRINUSE по-умолчанию
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
создаем socket1, bindим на 3.4.5.6:80, приходит клиент с адеса 1.2.3.4:5678 на 3.4.5.6:80, мы его акцептим, у нас будет сокет 1.2.3.4:5678<->3.4.5.6:80
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
нахуя тебе еще один бинд?!
источник

M

Max in pro.cxx
Vyacheslav Olkhovchenkov
нахуя тебе еще один бинд?!
Как мы и говорили, им проверяется занятость порта.
источник

M

Max in pro.cxx
нахера такой подход— я не знаю.
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
следующий accept на socket1 для клиент 1.2.3.7:5678 вернет socket4 1.2.3.7:5678<->3.4.5.6:80
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
так не проверяй.
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
одного бинда в самом начале на всех хватит.
источник