android - 在 LTE 中为安卓应用程序配置 QCI

标签 android lte

LTE 支持以 QCI 为代表的各种 QoS 级别。例如我们有用于 VOIP 通话的 QCI 2、用于视频通话的 4、用于在线游戏的 3 等。android 应用程序在连接到网络时将如何表达其 QOS 要求?我假设基于应用类别,网络需要根据用户输入创建具有相应 QCI 的承载。

我理解对于像IMS这样的应用程序,由于我们连接到IMS服务器(可能由网络本身维护),网络有可能检测并创建带有QCI 1的承载。但对于其他应用程序,我认为UE/移动手机需要注明其QCI要求吗?谁能解释一下这在 LTE 中是如何工作的。

http://4g-lte-world.blogspot.com/2013/01/quality-of-service-qos-in-lte.html

最佳答案

How will android applications express their QOS requirements when they connect to the network ?

通常,他们不会。

如果有人有不同的经历,我会很感兴趣。

即使 Android API 允许您请求特定的 QoS(我不知道这是否可能),移动运营商也不太可能接受您的请求,除非您有一些特殊协议(protocol)。

手机和网络之间有两种类型的承载(又名流量隧道):

  • 默认承担者
  • 专用承载器

您的流量将流经的载体将决定 QoS。

默认承载

此隧道是拥有您的 IP 地址的隧道,并且至少在您连接到 LTE 时建立了一个。
更多这种类型的隧道意味着您有更多的 IP 地址。
每个隧道都映射到您的设备请求的接入点名称 (APN)。 每个APN代表一个不同的网络,就像一个独立的局域网; 一些 APN 可以访问互联网,另一些可以访问运营商的 VOIP 网络,还有一些 APN 是运营商保留 MMS 服务器的网络。
我希望你能明白。

此类承载允许的QCI为5到9,运营商知道您有权访问哪个APN。 这里的QOS通常是在承载建立时分配的,根据APN和数据计划,将应用于通过这个隧道的所有数据,直到你断开连接。

如果您是一家非常大的企业(有人使用 Apple/iphone 吗?),您可能会要求运营商提供您的专用 APN,并且您的设备将对通过该网络的流量进行一些特殊处理。

简而言之,这不是 App 请求某些特定 QOS 的好地方。

专用承载

这是一条连接到默认承载的隧道。
它充当对其附加的默认承载上执行的流量的过滤器。
对于与默认承载过滤器 (ip/port/port-range/protocol) 匹配的流量,将应用与默认承载之一不同的 QOS。事实上,这是使 QCI 介于 1 和 4 之间的唯一方法。
您可能有多个不同的专用承载附加到您的默认承载,并且网络能够根据请求动态分配和删除它们。 由于它们非常耗费资源,因此运营商倾向于在数量和持续时间上限制专用承载的使用。

触发分配专用承载的方式有4种:

  • 静态配置:无论如何,运营商都会在您每次连接时分配承载。这在实践中从未用于专用承载。
  • 设备请求:电话主动请求具有某些特定特征的专用承载。运营商倾向于丢弃这种类型的请求,他们更愿意由他们自己决定何时激活它们。
  • Traffic Detection triggered:运营商以某种方式监控您的流量,如果检测到某种特定模式(基于 ip/port/protocol/whatever 或这些的组合),专用承载可能分配。
  • 应用程序功能请求:这就是 IMS 发生的情况; 当您开始通话时,SIP 服务器会通知接线员正在进行的通话,接线员会为您分配一个带有 QCI 1 的专用承载。

在每种情况下,请求都将由称为 PCRF 的节点进行评估。该节点是网络检查您是否拥有特定 QoS 和/或专用承载的权利的地方。

如果此处没有与您的应用程序、流量类型、订阅或设备匹配的特定规则,您的应用程序永远不会有 1 到 4 之间的 QCI

TLDR

您需要一个在 QoS 策略方面非常宽松的运营商

您需要与运营商达成某种协议(protocol)。

关于android - 在 LTE 中为安卓应用程序配置 QCI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35592999/

相关文章:

android - Android M 中同时连接时获取 LTE 和 WiFi 的 IP 地址

android - 如何获取android系统默认家庭应用程序的名称

android - 确定设备是否支持 VoLTE

ios - 网络在 LTE 上时可达性测试失败

android - 我一次可以观察多少个 Stateflow?

android - 2G/3G/4G网络强制

android - Chrome for Android 缺少 SVG 首字母支持的解决方法

java - 将 Android Studio 更新到 fox 2020.3.1 后主题插件不起作用

android - 如何在方法中注入(inject)依赖项?