我有一个关于使用我们的家庭节点B (HNB) 在 MS 和我们开发的网络核心系统之间建立稳定的互联网连接 (IuPS_PS) 的问题。
在我们的核心系统中,我们可以看到从 MS 发送到 HNB 以及从 HNB 发送到核心系统的互联网数据包。我在 HNB 和核心之间的接口上附上了wireshark 日志的屏幕截图。
正如您在这张图片中看到的,用户查询是server.hnb。源 IP(MS IP)是 10.250.0.114,目标 IP 是 172.60.3.154(核心 IP)和 8.8.8.8,我们在激活 PDP 上下文接受中设置为 DNS 地址(激活 PDP 上下文接受是从核心发送的消息到 HNB 和从 HNB 到 MS,其中包含一些 Internet 参数,例如 DNS IP、比特率……)。协议是GTP-DNS,堆叠层是DNS / UDP / IP / GTP / UDP / IP。我在以下图像中附加了堆叠层:
另外,我们知道要处理 GTP 数据包,需要一个 GTP 隧道来监听 UDP 端口 2152。为此,我们使用libgtpnl(osmocome 项目)并建立一个 GTP 隧道,首先,我们必须创建一个 GTP 接口使用 libgtpnl 的以下命令:
gtp-link add gtp1 --sgsn
其中 gtp1 是接口名称。执行上述命令后,我们使用netstat显示网络连接,结果如下:
一切都很好。最后,我们使用 libgtpnl 的以下命令添加 GTP 隧道:
gtp-tunnel add gtp1 v1 100 1 10.250.0.114 172.60.3.154
其中 v1 是 GTP 版本,100 是RAB-Assignment Request中的 gTP-TEI 字段(从核心发送到 HNB 的 GTP 隧道配置),1 是从RAB-Assignment Response获得的类似字段(从发送的GTP 隧道配置) HNB 到核心)。此外,10.250.0.114 是 MS IP,172.60.3.154 是核心 IP。
在接收到一些从 MS 到核心的数据包并使用netstat后,我们看到Recv-Q(UDP 端口 2152 中准备读取的字节)增加到大于 0 的值,但添加的 GTP 隧道不会读取 GTP 数据包我们已经添加的gtp1接口在wireshark中是空的。我的 GTP 隧道 (gtp1) 中没有插入 GTP 数据包是什么问题?