Главная страница
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?

Здравствуйте, гость ( Вход | Регистрация )

Скрыть объявления

Объявления

Форумы в Telegram - @vladforum С темами, всё как на форуме, только в Telegram!

> Как мессенджеры в смартфонах работают через NAT? (через "серый" IP), (принимают сообщения). Давно задаюсь этим вопросом.
BigМaks
сообщение 26.1.2022, 13:02
Сообщение #1


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Задался вопросом - есть мессенджер (WhatsApp, Viber и т.п.). Как он получает входящее сообщение от собеседника за доли секунды, если у устройства нет IP-адреса? (адрес есть, но это локальный адрес в сети провайдера либо в гостевой WiFi, т.е. "серый" адрес).

Т.е. у смартфона нет "белого" IP-адреса, но сервер WhatsApp/Viber на него сообщение отправляет, и сообщение приходит меньше чем за секунду... Как так?

Каким образом происходит обращение к "клиенту"?
Перейти в начало страницы
 
+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 19)
BigМaks
сообщение 26.1.2022, 13:34
Сообщение #2


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Для примера - у меня есть домашний NAS, но я не могу на него зайти с работы, ибо провайдер даже за деньги не даёт реальный IP. Плюс дома ещё один NAT на WiFi-роутере. Т.е."двойной NAT", первый у провайдера, второй на домашнем роутере. Как мессенджеры (Viber, WhatsApp, Вконтакте и т.п.) обошли это ограничение?
Перейти в начало страницы
 
+Цитировать сообщение
ff_
сообщение 26.1.2022, 13:57
Сообщение #3


Постоянный посетитель

Возраст: 19
Группа: Пользователи 
Сообщений: 203
Регистрация: 6.1.2010
Пользователь №: 70 119
Вставить ник Цитата


Через сервер же. Сообщения пересылаются не клиент-клиент, а клиент сервер-клиент.
Что за провайдер?
Перейти в начало страницы
 
+Цитировать сообщение
BigМaks
сообщение 26.1.2022, 14:02
Сообщение #4


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Цитата(ff_ @ 26.1.2022, 13:57) *
Через сервер же. Сообщения пересылаются не клиент-клиент, а клиент сервер-клиент.
Что за провайдер?

Провайдер в основном МТС или Билайн (телефон двухсимочный). Дома МТС или Ростелеком (два оператора).

Прямого доступа по IP к смартфону нет (TCP-пакеты со смартфона смартфона проходит через несколько NAT, пока дойдут до сервера). Каким образом доставляются сообщения с сервера на клиент (смартфон) за доли секунды? С фото в том числе...

Пока представляю лишь один вариант - каждый мессенджер (а их пять в смартфоне), по 10 раз в секунду обращается к своему серверу с вопросом "а нет ли новых сообщений для Максима?". Это так реально?
Перейти в начало страницы
 
+Цитировать сообщение
Konstantinych
сообщение 26.1.2022, 14:11
Сообщение #5


Постоянный посетитель

Группа: Пользователи 
Сообщений: 14 088
Регистрация: 21.7.2004
Пользователь №: 6 490
Вставить ник Цитата


нафига? есть сервер, к нему конектится менеджер по защищеному каналу. и понему получает инфу, без постоянного опроса.

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

Сообщение отредактировал Konstantinych - 26.1.2022, 14:12
Перейти в начало страницы
 
+Цитировать сообщение
BigМaks
сообщение 26.1.2022, 14:15
Сообщение #6


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Цитата(Konstantinych @ 26.1.2022, 14:11) *
нафига? есть сервер, к нему конектится менеджер по защищеному каналу. и понему получает инфу, без постоянного опроса.

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


Т.е. между сервером WhatsApp (где-то в Америке) или сервером Viber (это вроде Япония) и моим телефоном есть защищённый канал постоянно? Я к домашнему NAS так могу подключаться с работы? (NAS дома за двойным NAT, первый NAT свой на домашнем роутере, второй NAT у провайдера).
Перейти в начало страницы
 
+Цитировать сообщение
Konstantinych
сообщение 26.1.2022, 14:24
Сообщение #7


Постоянный посетитель

Группа: Пользователи 
Сообщений: 14 088
Регистрация: 21.7.2004
Пользователь №: 6 490
Вставить ник Цитата


да.. поднимаешь на стороннем сервере с "белым" ip сервис. вешаешь всех клиентов на него, и все в одной сети.
клиентом может быть: роутер, телефон, комп.

вот уже это обсуждалось

Сообщение отредактировал Konstantinych - 26.1.2022, 14:24
Перейти в начало страницы
 
+Цитировать сообщение
Yrik2002
сообщение 26.1.2022, 14:48
Сообщение #8


*****

Группа: Пользователи 
Сообщений: 23 455
Регистрация: 2.6.2002
Из: vladimir
Пользователь №: 1 385
Вставить ник Цитата


Цитата(BigМaks @ 26.1.2022, 14:15) *
Я к домашнему NAS так могу подключаться с работы?

к синелоджи у меня подключается. Удобно ставить торенты на закачку т.к можно сделать это из любого места.
Перейти в начало страницы
 
+Цитировать сообщение
AlexHard
сообщение 26.1.2022, 16:52
Сообщение #9


Постоянный посетитель

Группа: Пользователи 
Сообщений: 3 266
Регистрация: 1.9.2004
Из: раша
Пользователь №: 6 865
Вставить ник Цитата


Была мысль сделать дома NAS с доступом извне, а потом понял что незачем.


--------------------
ваз..... оно наше все....
Перейти в начало страницы
 
+Цитировать сообщение
сус
сообщение 27.1.2022, 7:36
Сообщение #10


Постоянный посетитель

Возраст: 34
Группа: Пользователи 
Сообщений: 13 583
Регистрация: 6.10.2013
Пользователь №: 91 655
Вставить ник Цитата


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


--------------------
как то так
Перейти в начало страницы
 
+Цитировать сообщение
BigМaks
сообщение 27.1.2022, 8:11
Сообщение #11


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Цитата(сус @ 27.1.2022, 7:36) *
на работе то точно есть белый адрес. можно с него домой порт кинуть. только, если мне память не изменяет, с твоей работой не проканает.

Это да, у нас не прокатит на работе. Плюс, у домашнего провайдера свой NAT (адреса у клиентов "серые").

Вот я и задался вопросом, каким образом например сервер WhatsApp отправляет сообщение на смартфон, находящийся за двумя или тремя NAT. Получается, между сервером и клиентом есть постоянно действующий "туннель"? Или клиент WhatsApp допустим раз в секунду отправляет на сервер запрос "нет ли для меня новых сообщений?", даже в спящем режиме смартфона. А таких клиентов штук пять, помимо WhatsApp (все мессенджеры плюс VK, Instagram и т.д.).

TeamViewer тоже позволяет управлять компами, находящимися хоть за тремя NAT... Вроде в ИТ работаю, но вот это для меня загадка... (я не программист, а так, эникейщик и менеджер, некогда особо в это вникать...)
Перейти в начало страницы
 
+Цитировать сообщение
дон_Ган
сообщение 27.1.2022, 8:50
Сообщение #12


Идущий на...

Возраст: 37
Группа: Пользователи 
Сообщений: 29 227
Регистрация: 3.2.2006
Из: Владимир
Пользователь №: 11 676
Вставить ник Цитата


Цитата(BigМaks @ 26.1.2022, 14:02) *
Задался вопросом - есть мессенджер (WhatsApp, Viber и т.п.). Как он получает входящее сообщение от собеседника за доли секунды, если у устройства нет IP-адреса? (адрес есть, но это локальный адрес в сети провайдера либо в гостевой WiFi, т.е. "серый" адрес).
ты меня конечно извини, но вроде как ты позиционировал себя представителем информационных технологий, а? и не стыдно представителю задавать такие вопросы? ведь для этого вовсе не нужны глубокие знания сетевика-затейника, нужны просто общие понятия из области ит.


--------------------
"А я молодой с первой зарей в даль пошагаю..."
Перейти в начало страницы
 
+Цитировать сообщение
Lione
сообщение 27.1.2022, 8:54
Сообщение #13


consigliere

Группа: Пользователи 
Сообщений: 14 961
Регистрация: 9.11.2010
Пользователь №: 74 749
Вставить ник Цитата


Цитата(AlexHard @ 26.1.2022, 16:52) *
Была мысль сделать дома NAS с доступом извне, а потом понял что незачем.

Поставил себе wd cloud.
Фото/видево хранит, компы сливают из облаков все, таймашинс туда же.
Доступ хоть с телефона, хоть с компа постоянный откуда угодно, зачем? хз ..


--------------------
Так низость голую я прикрываю ... Лохмотьями священных ветхих текстов ... И, сердцем дьявол, выгляжу святым. "Конфликтен дерзок нарциссичен / самовлюблен бестактен зол / а для себя великолепен / и Ганди без пяти минут" - Мелиска (с)
Перейти в начало страницы
 
+Цитировать сообщение
BigМaks
сообщение 27.1.2022, 9:36
Сообщение #14


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Цитата(дон_Ган @ 27.1.2022, 8:50) *
ты меня конечно извини, но вроде как ты позиционировал себя представителем информационных технологий, а? и не стыдно представителю задавать такие вопросы? ведь для этого вовсе не нужны глубокие знания сетевика-затейника, нужны просто общие понятия из области ит.

Для этого общих понятий недостаточно. Нужны глубокие знания всяких сетевых протоколов и наверное опыт разработки приложений под Android/iOs... Это по работе мне не нужно. И тут едва ли кто-то настолько в этом шарит. Вот ты тоже вроде из ИТ, но на мой вопрос так и не ответил...

А вопрос простой - каким образом мессенджер узнаёт о том, что пришло новое сообщение? (находясь за несколькими NAT/PAT). Т.е. прямого обращения (пакета с сообщением) от сервера к "клиенту" по IP быть не может.

Клиент может обратиться к серверу, и потом получить от сервера ответ (как браузеры например загружают страницы), тут количество промежуточных NAT/PAT роли не играет. Отсюда первый пришедший на ум вывод - клиент (WhatsApp, Viber и т.д.) ежесекундно обращается к серверу и запрашивает наличие новых сообщений? (есть сообщение - приходит от сервера, нет сообщений - не приходит...) Или это по другому работает?

Аналогично TeamViewer - он позволяет управлять удалённым компом хоть через 10 NAT. У меня безлимитная лицензия на TeamViewer от работы уже давно. Работодатель оплачивает ежегодно х.з. сколько... (у нас единый договор с TeamViewer
на всю РФ на 80 айтишников в банке, тысяч 20 наверное в год за безлимит с человека). Поддерживаю через TeamViewer десяток точек продаж по Владимиру и области.
Перейти в начало страницы
 
+Цитировать сообщение
сус
сообщение 27.1.2022, 9:53
Сообщение #15


Постоянный посетитель

Возраст: 34
Группа: Пользователи 
Сообщений: 13 583
Регистрация: 6.10.2013
Пользователь №: 91 655
Вставить ник Цитата


в закрытом канале пофиг сколько там nat-ов если только у провайдера какой ни прокол не отключен, но сейчас вроде ни кто таким не страдает.


--------------------
как то так
Перейти в начало страницы
 
+Цитировать сообщение
BigМaks
сообщение 27.1.2022, 10:12
Сообщение #16


Постоянный форумчанин с 2001 года

Возраст: 42
Группа: Модераторы 
Сообщений: 8 618
Регистрация: 12.2.2004
Из: г. Владимир
Пользователь №: 5 197
Вставить ник Цитата


Цитата(сус @ 27.1.2022, 9:53) *
в закрытом канале пофиг сколько там nat-ов если только у провайдера какой ни прокол не отключен, но сейчас вроде ни кто таким не страдает.

Вот. Т.е. между клиентом и сервером есть некий постоянно действующий "канал"? Типа VPN? И пофиг сколько между ними NAT?
Перейти в начало страницы
 
+Цитировать сообщение
сус
сообщение 27.1.2022, 10:24
Сообщение #17


Постоянный посетитель

Возраст: 34
Группа: Пользователи 
Сообщений: 13 583
Регистрация: 6.10.2013
Пользователь №: 91 655
Вставить ник Цитата


да


--------------------
как то так
Перейти в начало страницы
 
+Цитировать сообщение
дон_Ган
сообщение 27.1.2022, 10:30
Сообщение #18


Идущий на...

Возраст: 37
Группа: Пользователи 
Сообщений: 29 227
Регистрация: 3.2.2006
Из: Владимир
Пользователь №: 11 676
Вставить ник Цитата


Цитата(BigМaks @ 27.1.2022, 10:36) *
Для этого общих понятий недостаточно. Нужны глубокие знания всяких сетевых протоколов и наверное опыт разработки приложений под Android/iOs...
нужны только общие знания по функционированию сетей передачи данных. никаких андроидов знать не надо.
Цитата(BigМaks @ 27.1.2022, 10:36) *
И тут едва ли кто-то настолько в этом шарит. Вот ты тоже вроде из ИТ, но на мой вопрос так и не ответил...
ну я вообще-то именно сетевик-затейник. и на твой вопрос тебе давно ответили. если ты не понял, тогда поясню: для взаимодействия точка-точка необходимо чтобы хотя бы одна точка была доступна по запросу извне. реализации могут быть разные: прямая доступность, NAT статический, PAT, UPnP... если обе точки недоступны по запросу извне, то используется внешний ретранслятор запросов, доступный для обеих точек.

так доступно?


--------------------
"А я молодой с первой зарей в даль пошагаю..."
Перейти в начало страницы
 
+Цитировать сообщение
kyish
сообщение 27.1.2022, 12:19
Сообщение #19


Постоянный посетитель

Группа: Пользователи 
Сообщений: 8 220
Регистрация: 10.3.2007
Пользователь №: 16 597
Вставить ник Цитата


Цитата(дон_Ган @ 27.1.2022, 10:30) *
ну я вообще-то именно сетевик-затейник. и на твой вопрос тебе давно ответили. если ты не понял, тогда поясню: для взаимодействия точка-точка необходимо чтобы хотя бы одна точка была доступна по запросу извне. реализации могут быть разные: прямая доступность, NAT статический, PAT, UPnP... если обе точки недоступны по запросу извне, то используется внешний ретранслятор запросов, доступный для обеих точек.

так доступно?

Полагаю, что нет. ТС имеет ввиду как именно клиент получает мгновенное сообщение, а не как подключаются друг к другу.
BigMaks, это программисткие знания. Если хочешь, почитай про сокеты. К примеру вот, простейший пример.
Но мессенджеры используют разные протоколы. И те, кто бьет себя в грудь, крича о шифровании своих переписок, скорее всего поднимают собственные шифрованные тунели. А внутри уже рулят как хотят.
Перейти в начало страницы
 
+Цитировать сообщение
Lynx
сообщение 27.1.2022, 12:52
Сообщение #20


Добрый злюк

Группа: Пользователи 
Сообщений: 2 805
Регистрация: 24.7.2002
Пользователь №: 1 601
Вставить ник Цитата


Цитата(BigМaks @ 26.1.2022, 14:02) *
Каким образом происходит обращение к "клиенту"?


Таким же как и к серверу - разницы нету.
После запуска приложение коннектится к серверу и создается "сессия",
которая позволяет им общаться в двухстороннем режиме, пока эта "сессия" существует.
Таким образом, как уже было упомянуто господином Доном Ганом - что бы установить связь
достаточно, что бы хотя бы одна точка смотрела в сеть (имела белый АйПи).
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V   1 2 >
  Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




RSS       Политика конфиденциальности
Легкая версия