2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 TCP - порты.
Сообщение21.03.2020, 23:13 
Здравствуйте. Недавно разбирал пример создания socket-ов клиента и сервера на языке python. В связи с этим возник вопрос: что происходит при создании сокета и прослушивании порта на уровне операционной системы, и затем на аппаратном уровне? Как, собственно, двоичная информация, поступающая после преобразования аналогового сигнала, пришедшего с роутера, в компьютер, в дальнейшем распределяется между tcp-портами?
P.S. Если что, у меня есть представление о модели OSI, протоколах ip/tcp, ethernet. Мне скорее не очень понятен переход между данными уровнями абстракций.

 
 
 
 Re: TCP - порты.
Сообщение21.03.2020, 23:16 
Аватара пользователя
optimden в сообщении #1446131 писал(а):
Как, собственно, двоичная информация, поступающая после преобразования аналогового сигнала, пришедшего с роутера, в компьютер, в дальнейшем распределяется между tcp-портами?
В TCP/IP пакете есть же не только информация о IP получателя, но и информация о порте назначения.

 
 
 
 Re: TCP - порты.
Сообщение21.03.2020, 23:32 
Dan B-Yallay в сообщении #1446132 писал(а):
В TCP/IP пакете есть же не только информация о IP получателя, но и информация о порте назначения

Безусловно. И это я понимаю, но опять же, на уровне абстракции. ОС выделяет каждой программе соответствующий порт, на котором она может открыть tcp-соединение.
Мне не особо понятно, что представляет собой этот порт на уровне ОС и на уровне железа компьютера.

 
 
 
 Re: TCP - порты.
Сообщение21.03.2020, 23:49 
Аватара пользователя
optimden в сообщении #1446136 писал(а):
Мне не особо понятно, что представляет собой этот порт на уровне ОС и на уровне железа компьютера.
На уровне железа вообще нет такого понятия, как порт. Там только физические сигналы.
На уровне ОС порт - это скорей всего нечто вроде виртуальной директории, куда процесс/приложение пишет инфу к отправке или откуда считывает направленную ему инфу. Тут я уже не совсем копенгаген, поэтому предлагаю подождать более осведомлённых участников или же почитать соответствующую литературу.

 
 
 
 Re: TCP - порты.
Сообщение22.03.2020, 00:06 
optimden в сообщении #1446136 писал(а):
Мне не особо понятно, что представляет собой этот порт на уровне ОС и на уровне железа компьютера.


Считайте служебным полем в IP протоколе. Помимо IP-адреса мы посылаем ещё два байта — номер порта. А ОС просто передаёт пакет тому приложению, которое слушает данный порт.

 
 
 
 Re: TCP - порты.
Сообщение22.03.2020, 00:19 
optimden в сообщении #1446136 писал(а):
Мне не особо понятно, что представляет собой этот порт на уровне ОС и на уровне железа компьютера.

Уровень железа это ethernet-пакет, фрейм, MAC-адрес, и никаких "портов", вы же писали что
optimden в сообщении #1446131 писал(а):
eсть представление о модели OSI, протоколах ip/tcp, ethernet

 
 
 
 Re: TCP - порты.
Сообщение22.03.2020, 01:07 
wrest в сообщении #1446145 писал(а):
Уровень железа это ethernet-пакет, фрейм, MAC-адрес, и никаких "портов", вы же писали что

Да, согласен, написал лишнее.
Пробелы в понимании скорее касательно того, что происходит с информацией начиная с схемотехнического уровня и заканчивая высокоуровневым языком программирования. Но я уже нашел литературу на эту тему.

 
 
 
 Re: TCP - порты.
Сообщение22.03.2020, 08:41 
Посмотрите https://eater.net/inet, там все эти структуры понятно объясняются.

 
 
 
 Re: TCP - порты.
Сообщение22.03.2020, 12:18 
kotenok gav в сообщении #1446188 писал(а):
Посмотрите https://eater.net/inet
, там все эти структуры понятно объясняются.

Благодарю, кажется довольно наглядные объяснения.

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group