NB-IoT:它是如何工作的? 第 3 部分:SCEF – 访问运营商服务的单一窗口

在文章中“NB-IoT:它是如何工作的? 第2部分”,在谈到NB-IoT网络分组核心的架构时,我们提到了新的SCEF节点的出现。 我们在第三部分解释它是什么以及为什么需要它?

NB-IoT:它是如何工作的? 第 3 部分:SCEF – 访问运营商服务的单一窗口

在创建M2M服务时,应用程序开发人员面临以下问题:

  • 如何识别设备;
  • 使用什么验证和认证算法;
  • 选择哪种传输协议与设备交互;
  • 如何可靠地将数据传送到设备;
  • 如何组织和建立与他们交换数据的规则;
  • 如何在线监控和获取有关其状况的信息;
  • 如何同时将数据传送到一组设备;
  • 如何同时从一台设备向多个客户端发送数据;
  • 如何统一访问其他运营商服务来管理您的设备。

为了解决这些问题,有必要创建专有的技术“重型”解决方案,这会导致劳动力成本增加和服务上市时间增加。 这就是新的 SCEF 节点可以发挥作用的地方。

根据3GPP的定义,SCEF(服务能力暴露功能)是3GPP架构中的一个全新组件,其功能是通过API安全地暴露3GPP网络接口提供的服务和能力。

简而言之,SCEF 是网络和应用服务器 (AS) 之间的中介,是访问运营商服务的单一窗口,用于通过直观、标准化的 API 接口管理 NB-IoT 网络中的 M2M 设备。

SCEF 隐藏了运营商网络的复杂性,允许应用程序开发人员抽象出复杂的、特定于设备的机制来与设备交互。

通过将网络协议转换为应用程序开发人员熟悉的 API,SCEF API 有助于创建新服务并缩短上市时间。 新节点还包括识别/验证移动设备的功能,定义设备和AS之间的数据交换规则,消除应用程序开发人员自己实现这些功能的需要,将这些功能转移到运营商的肩上。

SCEF 涵盖了应用服务器的身份验证和授权、维护 UE 移动性、数据传输和设备触发、访问附加服务和运营商网络功能所需的接口。

对于 AS,有一个 T8 接口,即 3GPP 标准化的 API (HTTP/JSON)。 所有接口(T8 除外)均基于 DIAMETER 协议运行(图 1)。

NB-IoT:它是如何工作的? 第 3 部分:SCEF – 访问运营商服务的单一窗口

T6a——SCEF和MME之间的接口。 用于移动/会话管理程序、非 IP 数据传输、监控事件的提供以及接收有关事件的报告。

S6t – SCEF 和 HSS 之间的接口。 需要进行订户身份验证、应用程序服务器授权、获取外部 ID 和 IMSI/MSISDN 的组合、配置监控事件并接收有关事件的报告。

S6m/T4 – 从 SCEF 到 HSS 和 SMS-C 的接口(3GPP 定义了 MTC-IWF 节点,用于 NB-IoT 网络中的设备触发和 SMS 传输。但是,在所有实现中,该节点的功能都集成到SCEF,所以为了简化电路,我们不再单独考虑)。 用于获取发送短信以及与短信中心交互的路由信息​​。

T8 – SCEF 与应用程序服务器交互的 API 接口。 控制命令和流量都通过该接口传输。

*实际上接口还有很多,这里只列出最基本的接口。 3GPP 23.682(4.3.2 参考点列表)中给出了完整的列表。

SCEF的主要功能和服务如下:

  • 将 SIM 卡标识符 (IMSI) 链接到外部 ID;
  • 非 IP 流量传输(Non-IP Data Delivery,NIDD);
  • 使用外部组ID进行组操作;
  • 支持带确认的数据传输模式;
  • 缓冲 MO(移动发起)和 MT(移动终止)数据;
  • 设备和应用服务器的认证和授权;
  • 多个 AS 同时使用来自一个 UE 的数据;
  • 支持特殊的UE状态监控功能(MONTE – 监控事件);
  • 设备触发;
  • 提供非IP数据漫游。

AS和SCEF之间交互的基本原理是基于所谓的方案。 订阅。 如果特定 UE 需要访问任何 SCEF 服务,则应用服务器需要通过向所请求服务的特定 API 发送命令来创建订阅,并接收唯一标识符作为响应。 此后,在该服务的框架内所有进一步的动作以及与UE的通信都将使用该标识符进行。

外部ID:通用设备标识符

通过 SCEF 工作时,AS 和设备之间的交互方案最重要的变化之一是通用标识符的出现。 现在,应用服务器的设备标识符不再是传统 2G/3G/LTE 网络中的电话号码 (MSISDN) 或 IP 地址,而是变为“外部 ID”。 它是由标准以应用程序开发人员熟悉的格式定义的“ @ ”

开发者不再需要实现设备认证算法;网络完全接管了这个功能。 外部 ID 与 IMSI 绑定,开发人员可以确保在访问特定外部 ID 时,它与特定 SIM 卡进行交互。 当使用 SIM 芯片时,当外部 ID 唯一标识特定设备时,您将获得完全唯一的情况!

此外,多个外部 ID 可以链接到一个 IMSI - 当外部 ID 唯一标识负责特定设备上的特定服务的特定应用程序时,会出现更有趣的情况。

还会出现组标识符 - 外部组 ID,其中包括一组单独的外部 ID。 现在,通过向 SCEF 发出一个请求,AS 可以启动组操作 - 向联合在单个逻辑组中的多个设备发送数据或控制命令。

由于对于 AS 开发人员来说,无法瞬时过渡到新的设备标识符,SCEF 留下了通过标准号码 - MSISDN 与 UE 进行 AS 通信的可能性。

非 IP 流量的传输(非 IP 数据传输,NIDD)

在NB-IoT中,作为小量数据传输机制优化的一部分,除了已经存在的PDN类型,如IPv4、IPv6和IPv4v6之外,还出现了另一种类型——非IP。 在这种情况下,设备(UE)没有被分配IP地址并且数据在不使用IP协议的情况下被传输。 此类连接的流量可以通过两种方式路由:经典 - MME -> SGW -> PGW,然后通过 PtP 隧道到达 AS(图 2)或使用 SCEF(图 3)。

NB-IoT:它是如何工作的? 第 3 部分:SCEF – 访问运营商服务的单一窗口

与 IP 流量相比,经典方​​法没有提供任何特殊优势,除了由于缺少 IP 标头而减小了传输数据包的大小之外。 SCEF 的使用开辟了许多新的可能性,并显着简化了与设备交互的过程。

通过 SCEF 传输数据时,与传统 IP 流量相比,出现两个非常重要的优势:


通过外部 ID 将 MT 流量传送到设备

为了向经典IP设备发送消息,AS必须知道其IP地址。 这里出现了一个问题:由于设备在注册时通常会收到一个“灰色”IP地址,因此它通过NAT节点与位于互联网上的应用服务器进行通信,在NAT节点中灰色地址被转换为白色。 灰色和白色 IP 地址的组合会持续有限的时间,具体取决于 NAT 设置。 平均而言,对于 TCP 或 UDP - 不超过五分钟。 也就是说,如果 5 分钟内没有与该设备进行数据交换,则连接将断开,并且该设备将无法再通过发起与 AS 的会话的白色地址进行访问。 有几种解决方案:

1.使用心跳。 建立连接后,设备必须每隔几分钟与 AS 交换数据包,从而防止 NAT 转换关闭。 但这里不能谈论任何能源效率。

2. 如有必要,每次检查 AS 上设备的包的可用性 - 向上行链路发送消息。

3. 创建私有 APN (VRF),其中应用程序服务器和设备将位于同一子网中,并为设备分配静态 IP 地址。 它会起作用,但当我们谈论由数千、数万台设备组成的舰队时,这几乎是不可能的。

4. 最后,最合适的选项:使用 IPv6;它不需要 NAT,因为 IPv6 地址可以直接从 Internet 访问。 然而,即使在这种情况下,当设备重新注册时,它将收到一个新的 IPv6 地址,并且将无法再使用之前的地址进行访问。

因此,有必要向服务器发送一些带有设备标识符的初始化数据包,以便报告设备的新IP地址。 然后等待AS发来的确认包,这也影响能效。

这些方法非常适合 2G/3G/LTE 设备,这些设备对自主性没有严格的要求,因此对通话时间和流量没有限制。 这些方法由于能耗较高,不适合 NB-IoT。

SCEF解决了这个问题:由于AS的唯一设备标识符是外部ID,因此AS只需向SCEF发送针对特定外部ID的数据包,其余的由SCEF处理。 如果设备处于 PSM 或 eDRX 省电模式,数据将在设备可用时进行缓冲和传送。 如果设备可用于流量,数据将立即传送。 对于管理团队来说也是如此。

在任何时候,AS都可以向UE召回缓冲的消息或者用新消息替换它。

当从UE向AS发送MO数据时,也可以使用缓冲机制。 如果 SCEF 无法立即将数据传送到 AS,例如,如果 AS 服务器正在进行维护工作,这些数据包将被缓冲并保证在 AS 可用时立即传送。

如上所述,AS 对特定服务和 UE 的访问(NIDD 是一项服务)由 SCEF 侧的规则和策略进行管理,这允许多个 AS 同时使用来自一个 UE 的数据的独特可能性。 那些。 如果多个AS订阅了一个UE,那么SCEF收到来自UE的数据后,会将其发送给所有订阅的AS。 这非常适合一组专用设备的创建者在多个客户端之间共享数据的情况。 例如,通过创建在 NB-IoT 上运行的气象站网络,您可以同时将气象站的数据出售给许多服务。

保证消息传递机制

可靠数据服务是一种保证 MO 和 MT 消息传送的机制,无需在协议级别使用专门的算法,例如 TCP 中的握手。 它的工作原理是在 UE 和 SCEF 之间交换消息时在消息的服务部分中包含一个特殊标志。 传输流量时是否启动该机制由AS决定。

如果该机制被激活,则当UE需要保证MO流量的传送时,UE在数据包的开销部分中包含特殊标志。 当收到这样的分组时,SCEF用确认来响应UE。 如果UE没有收到确认分组,则将重新发送发往SCEF的分组。 MT 流量也会发生同样的情况。

设备监控(监控事件 - MONTE)

如上所述,SCEF功能尤其包括用于监视UE的状态的功能,即所谓的。 设备监控。 如果新的标识符和数据传输机制是对现有程序的优化(尽管非常认真),那么 MONTE 就是 2G/3G/LTE 网络中不可用的全新功能。 MONTE允许AS监控设备参数,例如连接状态、通信可用性、位置、漫游状态等。 稍后我们将更详细地讨论每一个。

如果需要激活某个设备或一组设备的任何监控事件,AS通过向SCEF发送相应的API MONTE命令来订阅相应的服务,该命令包括外部Id或外部组ID、AS标识符、监控等参数AS 希望接收的报告类型、数量。 如果 AS 被授权执行请求,SCEF 将根据类型将事件提供给 HSS 或 MME(图 4)。 当事件发生时,MME或HSS生成报告给SCEF,SCEF将其发送给AS。

除“某个地理区域中存在的 UE 数量”之外的所有事件的配置均通过 HSS 进行。 “IMSI-IMEI 关联的更改”和“漫游状态”两个事件直接在 HSS 上跟踪,其余事件将由 HSS 在 MME 上配置。
事件可以是一次性的,也可以是周期性的,并由其类型决定。

NB-IoT:它是如何工作的? 第 3 部分:SCEF – 访问运营商服务的单一窗口

发送有关事件的报告(报告)是由跟踪事件的节点直接向 SCEF 执行的(图 5)。

NB-IoT:它是如何工作的? 第 3 部分:SCEF – 访问运营商服务的单一窗口

重点: 监控事件既可以应用于通过SCEF连接的非IP设备,也可以应用于通过MME-SGW-PGW以经典方式传输数据的IP设备。

让我们仔细看看每个监控事件:

失去连接 — 通知 AS UE 不再可用于数据流量或信令。 当 MME 上 UE 的“移动可达性定时器”到期时,该事件发生。 在这种类型的监视请求中,AS 可以指示其“最大检测时间”值 - 如果在此期间 UE 没有显示任何活动,则 AS 将被通知 UE 不可用,并指示原因。 如果 UE 因任何原因被网络强制移除,也会发生该事件。

* 为了让网络知道设备仍然可用,它会定期启动更新过程 - 跟踪区域更新 (TAU)。 此过程的频率由网络使用定时器 T3412 或(在 PSM 的情况下为 T3412_extended)来设置,其值在 Attach 过程或下一个 TAU 期间传输到设备。 移动可达性计时器通常比 T3412 长几分钟。 如果UE在“移动可达性定时器”超时之前尚未进行TAU,则网络认为其不再可达。

UE可达性 – 指示 UE 何时可用于 DL 流量或 SMS。 当 UE 变得可用于寻呼(对于处于 eDRX 模式的 UE)或当 UE 进入 ECM-CONNECTED 模式(对于处于 PSM 或 eDRX 模式的 UE)时,即发生这种情况。 进行 TAU 或发送上行数据包。

位置报告 – 这种类型的监视事件允许AS查询UE的位置。 可以请求当前位置(Current Location)或最后已知位置(Last Known Location,由设备上次进行 TAU 或传输流量的小区 ID 确定),这与 PSM 或 eDRX 节能中的设备相关模式。 对于“当前位置”,AS可以请求重复回复,每次设备位置发生变化时MME都会通知AS。

IMSI-IMEI关联变更 – 当该事件被激活时,SCEF开始监控IMSI(SIM卡标识符)和IMEI(设备标识符)组合的变化。 当事件发生时,通知AS。 可用于在计划的更换工作期间自动将外部 ID 重新绑定到设备,或用作设备被盗的标识符。

漫游状态 – AS 使用这种类型的监视来确定 UE 是在归属网络中还是在漫游伙伴的网络中。 可选地,可以发送设备注册的运营商的PLMN(公共陆地移动网络)。

通讯失败 — 此类监控根据从无线接入网络(S1-AP 协议)接收到的连接丢失原因(释放原因代码),向 AS 通知与设备通信失败的情况。 此事件可以帮助确定通信失败的原因 - 由于网络问题,例如,当 eNodeb 过载(无线电资源不可用)或由于设备本身故障(与 UE 的无线电连接丢失)。

DDN 故障后的可用性 – 该事件通知 AS 该设备在通信失败后变得可用。 当需要向设备传输数据,但之前的尝试没有成功,因为 UE 没有响应来自网络的通知(寻呼)并且数据没有传递时可以使用。 如果 UE 已请求这种类型的监视,则一旦设备进行传入通信、进行 TAU 或向上行链路发送数据,AS 将被通知该设备已变得可用。 由于DDN(下行链路数据通知)过程在MME和S/P-GW之间工作,因此这种类型的监视仅适用于IP设备。

PDN 连接状态 – 当设备状态发生变化(PDN 连接状态)时通知 AS - 连接(PDN 激活)或断开连接(PDN 删除)。 AS 可以使用它来发起与 UE 的通信,反之亦然,以了解不再可能进行通信。 这种类型的监控适用于 IP 和非 IP 设备。

某个地理区域中存在的 UE 数量 – AS 使用这种类型的监视来确定特定地理区域中的 UE 数量。

设备触发)

在 2G/3G 网络中,网络中的注册过程分为两个阶段:首先,设备向 SGSN 注册(附着过程),然后,如有必要,它激活 PDP 上下文 - 与分组网关 (GGSN) 的连接来传输数据。 在3G网络中,这两个过程依次发生,即设备没有等待需要传输数据的时刻,而是在连接过程完成后立即激活PDP。 在LTE中,这两个过程合二为一,即在附着时,设备立即请求激活经由eNodeB到MME-SGW-PGW的PDN连接(类似于2G/3G中的PDP)。

NB-IoT将连接方式定义为“attach without PDN”,即UE在不建立PDN连接的情况下进行附着。 此时无法传输流量,只能接收或发送短信。 为了向此类设备发送命令以激活 PDN 并连接到 AS,开发了“设备触发”功能。

当从AS接收到连接此类UE的命令时,SCEF发起通过SMS中心向设备发送控制SMS。 当接收到 SMS 时,设备激活 PDN 并连接到 AS 以接收进一步的指令或传输数据。

有时您的 SCEF 设备订阅可能会过期。 是的,订阅有自己的生命周期,由运营商设置或与AS商定。 到期后,PDN 将在 MME 上停用,并且设备将变得对 AS 不可用。 在这种情况下,“设备触发”功能也会有所帮助。 当收到来自AS的新数据时,SCEF将找出设备连接状态并通过SMS通道发送数据。

结论

当然,SCEF的功能不仅限于上述服务,而且还在不断发展和扩展。 目前,SCEF 已经标准化了十多项服务。 现在我们只涉及了开发人员需要的主要功能;其余的我们将在以后的文章中讨论。

问题立即出现:如何获得对这个“奇迹”节点的测试访问,以对可能的情况进行初步测试和调试? 一切都很简单。 任何开发者都可以向 [电子邮件保护],其中足以表明连接的目的、可能情况的描述以及通信的联系信息。

直到我们再次见面!

作者:

  • 融合解决方案和多媒体服务部高级专家谢尔盖·诺维科夫 萨诺夫,
  • 融合解决方案和多媒体服务部门专家 Alexey Lapshin 阿斯拉什



来源: habr.com

添加评论