Opened 8 years ago
Last modified 7 years ago
#334 closed улучшение
Плохой выбор bind-адреса в режиме "Авто" — at Version 18
Reported by: | alx | Owned by: | san |
---|---|---|---|
Priority: | trivial | Milestone: | 2 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | network |
Cc: | san |
Description (last modified by )
Сейчас при установке "настройки bind-адреса" в значение "Auto" программа bind'ит UDP транспорт на адрес 0.0.0.0. Это один из самых неудачных вариантов, какие только можно придумать.
Предлагаю выбирать в качестве bind-адреса адрес интерфейса, в который указывает маршрут к выбранному серверу.
Change History (18)
follow-up: 4 comment:1 by , 8 years ago
follow-ups: 6 16 comment:3 by , 8 years ago
Owner: | changed from | to
---|---|
Priority: | major → trivial |
Status: | new → assigned |
Type: | баг → улучшение |
Сейчас у меня на ноутбуке два сетевых интерфейса: "Wi-fi" и медный "Eth".
Дефолтный маршрут в вай-фай.
В настройке Авто "программа работает" при подключении к серверу через любой из интерфейсов.
А если программа будет bind-иться на адрес интерфейса из дефолтного маршрута(вай фай), будет ли она работать если к серверу подключена через "Eth"?
Программа выберет адрес "вай-фай", а сервер не сможет отправить пакеты на адрес вай-фай, он про него ничего не знает, он видит только "Eth" и роутинга в сеть "Wi-fi" у него нет.
Вобщем я немного запутан, и пока не уверен что стоить менять bind-адрес по умолчанию.
(тикет пока заберу себе)
comment:4 by , 8 years ago
Replying to san:
А чем конкретно неудачен этот вариант?
В этом варианте невозможно предугадать, какой будет адрес отправителя у отправляемого пакета. Легко можно получить ситуацию, когда на запрос, направленный на один адрес, программа ответит с другого адреса. В результате такой пакет может быть отброшен либо самим получателем, либо даже где-то по дороге, если попадется какой-нибудь statefull firewall, отслеживающий соответствие запросов и ответов.
comment:5 by , 8 years ago
comment:6 by , 8 years ago
Replying to san:
А если программа будет bind-иться на адрес интерфейса из дефолтного маршрута(вай фай), будет ли она работать если к серверу подключена через "Eth"?
Программа выберет адрес "вай-фай", а сервер не сможет отправить пакеты на адрес вай-фай, он про него ничего не знает, он видит только "Eth" и роутинга в сеть "Wi-fi" у него нет.
Вот для таких случаев у нас предусмотрено ручное указание адреса в конфигурации.
follow-up: 9 comment:7 by , 8 years ago
Какие преимущества даёт вариант "Авто" с выбором адреса из дефолтного маршрута, если мы всё-равно не знаем "куда подключен сервер" ?
Кому и в каких случаях пригодится этот вариант?
comment:8 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
r361
Задал bind-адрес 192.168.0.81, совпадающий с IP моего подключения - выдалось следующее сообщение, то есть SIP клиент стла привязан к адресу 192.168.0.81
11:13:42.063 pjsua_core.c SIP UDP socket reachable at 192.168.0.81:6000
11:13:42.063 udp030BBB20 SIP UDP transport started, published address is 192.168.0.81:6000
Для авто применяется адрес используемый SIP-клиентом по умолчанию.
comment:9 by , 8 years ago
Replying to san:
Какие преимущества даёт вариант "Авто" с выбором адреса из дефолтного маршрута,
Преимущество по сравнению с чем? Если с вариантом "ручной", то преимущество в отсутствии необходимости выяснения, какой адрес у компьютера, и ввода этого адреса в настройках.
если мы всё-равно не знаем "куда подключен сервер" ?
? А зачем нам это знать?
Кому и в каких случаях пригодится этот вариант?
Наверное тому, кто не находится в ситуации, подобной описанной тобой в comment:3.
follow-up: 12 comment:10 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
У меня в r361 программа по-прежнему привязывается к адресу 0.0.0.0.
comment:11 by , 8 years ago
Дима, будь внимательней.
- В этом тикете речь о том "Какой bind-адрес устанавливать врежиме авто"
- к тому-же, тикет я забрал себе, для обдумывания
А про неработающую настройку bind-адреса которую ты, кажется, починил - тикет #332
follow-up: 14 comment:12 by , 8 years ago
comment:14 by , 8 years ago
Replying to dimag:
Как вы это узнаёте?
root@voip:~# netstat -ulnp |grep MC04Disp udp 0 0 0.0.0.0:5061 0.0.0.0:* 12432/MC04Dispatche
В каком режиме "Авто" или "Ручная" с прописанным bind-адресом?
Если я жалуюсь на поведение программы в режиме "Авто", то и проверяю ее работу в режиме "Авто".
comment:16 by , 8 years ago
Поэтому и предлагаю тебе быть внимательней
Owner changed from dimag to san
(тикет пока заберу себе)
к тому-же, тикет я забрал себе, для обдумывания
comment:17 by , 8 years ago
У меня появилась мысль: поскольку на момент привязки сокета уже известен адрес сервера, с которым мы будет работать, при выборе адреса привязки вместо дефолтного маршрута будет лучше брать маршрут к серверу.
comment:18 by , 8 years ago
Description: | modified (diff) |
---|
Replying to alx:
А чем конкретно неудачен этот вариант?