经过3.1节的初步体会,读者也许会问:终端(UE)的数据是如何到达我的计算机上的呢?本节将给出初步解释。
1.预备知识:云服务器、云服务器转发软件、用户服务器
讨论的场景是:期望终端(UE)通过信息邮局(MPO)上行的数据可以存储到自己正在使用的本地计算机上,并可在本地计算机进行相关处理与应用。这里把自己的计算机称为用户服务器(US),通常就是用户的计算机。
由NB-IoT通信模型可知,终端(UE)通常无法直接把数据发送到您的计算机上,这是因为大多数情况下您的计算机没有固定IP地址。但是,在以太网通信中,要想相互传送信息,必须知道对方的 IP 地址。因此,要把终端(UE)数据发送到自己的计算机上,就需要一个具有固定IP地址的计算机来负责中转,该计算机被称为云服务器。
定义3.1 云服务器 (Cloud Server,CS):是NB-IoT中信息邮局(MPO)的一个抽象,其特征是具有固定的IP地址。
定义 3.2 云服务器转发软件: 运行于云服务器上的负责数据转发的软件称为云服务器转发软件(Cloud Server Forwarding Software,CSFS),也称为云平台转发程序。
要把终端(UE)数据发送到自己的计算机上,终端(UE)首先通过安装在通信铁塔上的基站向云服务器 CS 发送数据,要想将这个数据发送到您的计算机上,则该计算机还必须与云服务器CS连接,因此与云服务器CS连接的计算机具有特殊含义,为了叙述方便,我们把通过互联网连接到云服务器CS上的计算机称为用户服务器。
定义3.3 用户服务器 (User Server,US):是互联网上的任意一台计算机,其目标是获取终端(UE)的数据,并且下发用户指令实现对终端(UE)的控制等功能。
NB-IoT的通信必须先由终端(UE)发起,用户服务器US在接收到云服务器CS转发的数据后,必须在终端(UE)与云服务器CS通信建立的规定时间内下发相应的用户指令。
2.理解基于云服务器转发软件的NB-IoT通信流程
有了这些准备后,接下来介绍基于云服务器转发软件情况下,终端(UE)数据发送到用户服务器US的通信过程。图3-4给出了基于云服务器转发软件CSFS的通信流程。
图3-4 基于云服务器转发软件CSFS的通信流程
设云服务器CS的IP地址为IPg(如116.62.63.164),面向终端(UE)的端口号为PORTz (如38978),面向用户服务器US的端口号为PORTy(如38979),通信流程如下:
(1)用户服务器US与云服务器CS的连接。用户服务器US上要运行网上光盘提供的用户服务器US程序(如“..\04-Soft\02-HCI\01-US-Monitor\bin\Debug\AHL-IoT.exe”),与云服务器CS进行网络连接,并告知云服务器CS哪些终端(UE)需要它提供数据转发服务,即给云服务器CS提供需要服务的终端IMSI。
(2)终端(UE)发送数据给云服务器CS。终端(UE)会根据云服务器CS的IP地址IPg,及云服务器面向终端(UE)的端口号PORTz,通过基站与云服务器CS建立连接,并将数据发送给云服务器CS。
(3)云服务器CS转发数据至用户服务器US。云服务器CS接收到来自终端(UE)的数据后,会解析出该终端(UE)的IMSI ,并通过该IMSI号查找到在步骤(1)中提供同样IMSI的用户服务器US。找到这些用户服务器US之后,云服务器CS将把终端(UE)发送来的数据原封不动地发送给用户服务器US。
(4)用户服务器US接收来自云服务器CS的数据。用户服务器US有一个专门负责侦听云服务器 CS 是否发送过来数据的线程,当侦听到有数据发送回来时,将把这些数据进行解析,并进行处理。
(5)类似的流程可以理解用户服务器US发送数据给终端(UE)的过程。用户服务器US 同样先把数据发送给云服务器 CS,然后云服务器 CS 根据发来的一帧数据中所包含的IMSI找到需要转发的终端(UE),并把数据原封不动地发送给终端(UE)。