Назад | Перейти на главную страницу

NAT: как может работать клиент-сервер?

Допустим, у 2 пользователей есть 2 разных провайдера за NAT. Как может работать мессенджер MSN, если они за нат?

Спасибо

MSN использовать центральный сервер для обмена сообщениями:

Сеанс MSN Messenger включает подключение к «серверу уведомлений» (или «NS»), который предоставляет службу присутствия. Сервер уведомлений позволяет вам подключаться к «серверам коммутатора» («SB»), которые предоставляют услугу обмена мгновенными сообщениями.

Коммутатор обрабатывает сеансы обмена мгновенными сообщениями между участниками. Другими словами, каждый человек в чате MSN соответствует подключению к сеансу общего коммутатора. Находиться в двух разговорах одновременно - значит подключаться сразу к двум серверам коммутатора. Беседы с прямым подключением между участниками не используются в MSN Messenger, а коммутатор действует как прокси-сервер между вами и теми, с кем вы общаетесь.

Вы не можете отправить файл за NAT.

Вы можете получать файлы, но не отправлять их. Назначение соответствующего порта (6891) не улучшит ситуацию. Причина в том, что IP-адреса передаются как данные в сообщениях, которыми обмениваются при установке прямого соединения для передачи файлов от пользователя к пользователю. Если вы предлагаете файл для загрузки, частный адрес вашего компьютера отправляется получателю в сообщениях о настройке подключения, и последующая (входящая) попытка подключения завершается неудачей. При получении файла соединение для передачи файлов является исходящим и, следовательно, NAT не создает проблем.

Вызван центральный сервер: оба клиента обмениваются данными с серверами MSN, которые затем пересылают сообщения клиентам, которые изначально были подключены к серверу ранее.

NAT представляет собой проблему только тогда, когда пользователь хочет получить соединение, но все клиенты инициируют соединение при входе на сервер MSN со своими учетными записями, и это соединение остается открытым и используется для пересылки сообщений.