Как приложения Android будут выражать свои требования к QOS при подключении к сети?
Обычно они этого не делают.
Если у кого-то был другой опыт, мне будет очень интересно.
Даже если Android API позволяет вам запрашивать определенный QoS (а я не знаю, возможно ли это), маловероятно, что мобильный оператор примет ваш запрос, если только у вас нет какого-то специального соглашения.
Между мобильным телефоном и сетью существует два типа каналов (т.н. туннелей для вашего трафика):
- носители дефолта
- преданные носители
Канал, через который будет проходить ваш трафик, будет определять QoS.
Носители по умолчанию
Этому туннелю принадлежит ваш IP-адрес, и по крайней мере один из них устанавливается при подключении к LTE.
Большее количество туннелей этого типа означает, что у вас много IP-адресов.
Каждый туннель сопоставляется с Имя точки доступа (APN), запрошенное вашим устройством. Каждая точка доступа представляет отдельную сеть, например отдельную локальную сеть; некоторые APN имеют доступ к Интернету, некоторые другие имеют доступ к сети VOIP оператора, а некоторые другие APN являются сетью, в которой оператор поддерживает серверы MMS.
Надеюсь, вы поняли.
Разрешенные QCI в этом типе носителей от 5 до 9, и оператор знает, на какой APN у вас есть право доступа. QOS здесь обычно назначается во время установления однонаправленного канала в соответствии с APN и планом данных и будет применяться ко всем данным, проходящим через этот туннель, пока вы не отключитесь.
Если вы являетесь очень крупным предприятием (кто-нибудь Apple/iphone?), вы можете попросить операторов выделить вам выделенный APN, и ваши устройства будут иметь специальную обработку трафика, проходящего через эту сеть.
Короче говоря, это не лучшее место, где приложение может запрашивать определенный QOS.
Преданные носители
Это туннель, подключенный к каналу по умолчанию.
Он действует как фильтр трафика, выполняемого на канале по умолчанию, к которому он подключен.
Для трафика, соответствующего фильтру канала по умолчанию (ip/port/port- диапазон/протокол) будет применен QOS, отличный от того, который используется по умолчанию. На самом деле это единственный способ получить QCI от 1 до 4.
У вас может быть несколько разных выделенных каналов-носителей, подключенных к вашему каналу-носителю по умолчанию, и сеть способна динамически выделять и удалять их по запросу. Поскольку они довольно ресурсоемки, операторы, как правило, ограничивают использование выделенных каналов-носителей по количеству и продолжительности.
Существует 4 способа инициировать выделение выделенного несущего канала:
- Статическая конфигурация: оператор выделяет однонаправленный канал каждый раз, когда вы подключаетесь, несмотря ни на что. На практике это никогда не использовалось для выделенного носителя.
- Запрос устройства: телефон активно запрашивает выделенный канал связи с некоторыми специфическими характеристиками. Операторы, как правило, отказываются от такого типа запросов, они предпочитают сами решать, когда их активировать.
- Инициировано обнаружение трафика: оператор каким-то образом отслеживает ваш трафик, и если обнаруживается определенный шаблон (на основе IP/порта/протокола/независимо от того, или их комбинации), может быть выделен выделенный канал.
- Запрос функции приложения: это то, что происходит с IMS; когда вы начинаете вызов, SIP-сервер информирует оператора о текущем вызове, и оператор выделяет вам выделенный канал связи с QCI 1.
В каждом случае запрос будет оцениваться узлом под названием PCRF. Этот узел — это место, где сеть проверяет ваши права на использование определенного QoS и/или выделенных каналов-носителей.
Если здесь нет определенного правила, соответствующего вашему приложению, типу трафика, подписке или устройству, у вас никогда не будет QCI между 1 и 4 для вашего приложения.
TLDR
Вам нужен очень разрешительный оператор с точки зрения политик QoS
or
нужно какое-то соглашение с оператором.
person
Umberto
schedule
24.02.2016