【发布时间】:2021-01-25 19:45:04
【问题描述】:
我有一个关于使用我们的家庭节点B (HNB) 在 MS 和我们开发的网络核心系统之间建立稳定的互联网连接 (IuPS_PS) 的问题。
在我们的核心系统中,我们可以看到从 MS 发送到 HNB 以及从 HNB 发送到核心系统的互联网数据包。我在HNB和core之间的接口上附上了wireshark日志的截图。
正如你在这张图片中看到的,用户查询是server.hnb。源 IP(MS IP)是 10.250.0.114,目标 IP 是 172.60.3.154(核心 IP)和 8.8.8.8,我们在 Activate PDP Context Accept 中设置为 DNS 地址(Activate PDP Context Accept 是从核心发送到 HNB 以及从 HNB 发送到 MS 的消息,其中包含一些 Internet 参数,例如 DNS IP、比特率……)。协议为GTP-DNS,堆叠层为DNS / UDP / IP / GTP / UDP / IP。我在以下图片中附加了堆叠的图层:
另外,我们知道要处理 GTP 数据包,需要 GTP 隧道来监听 UDP 端口 2152。为此,我们使用libgtpnl(osmocome 项目)并建立 GTP 隧道,首先,我们有使用以下 libgtpnl 命令创建 GTP 接口:
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(从 HNB 发送到核心的 GTP 隧道配置)。另外,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 数据包是什么问题?
【问题讨论】:
标签: networking mobile gsm tunnel asn1