Нужно ли одноранговому узлу связываться и подключаться через разные порты? - PullRequest
0 голосов
/ 19 октября 2019

Основное различие между клиент-серверной и одноранговой сетью заключается в том, что в одноранговой сети каждый узел может выступать в роли как сервера, так и клиента. Предоставляют ли узлы bind() услуги через порт, отличный от запрашиваемого? connect()?

1 Ответ

0 голосов
/ 19 октября 2019

Порты TCP или UDP определены либо на уровне 4 модели OSI, либо на уровне 3 модели TCP / IP, оба определены как «транспортный» уровень. Уровень 5 OSI «уровень сеанса» использует порты, определенные на уровне 4, для создания сокетов и сеансов между взаимодействующими устройствами / программами / и т. Д. В одноранговом приложении естественно использовать один порт как для исходящих, так и для входящих соединений. Хотя эта модель поддерживается протоколом TCP, она не поддерживается API-интерфейсом сокетов - если сокет прослушивает порт p, привязка активного сокета к порту p не будет выполнена. Это ограничение API сокетов, а не «транспортного» уровня, которое ограничивает написание одноранговых приложений на основе TCP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...