前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5G网络终端是如何得到IP地址的

5G网络终端是如何得到IP地址的

原创
作者头像
IP数据云
发布2022-10-17 13:39:01
1.7K0
发布2022-10-17 13:39:01
举报
文章被收录于专栏:IP归属地查询IP归属地查询

5G网络中最基本的功能就是手机上网业务,为了实现手机上网,手机必须有一个IP地址,那么5G网络是如何给手机分配IP地址的呢?

蓝色简约风疫情速报公众号首图.png
蓝色简约风疫情速报公众号首图.png

一般来说,有下面4种方式:

1、在5G核心网中配置IP地址池,手机通过信令与核心网交互得到一个动态的IP地址,这个IP地址在手机不需要的时候,可以释放,这样,网络侧可以分配给其他手机继续使用。

2、通过DHCP方式来实现,就是手机与部署在网络中的DHCP服务器交互,得到一个IP地址,每次交互得到的IP地址是不同的。

3、通过外部的RADIUS 服务器得到地址,就是5G核心网与RADIUS服务器交互,得到IP地址后,再通过信令通知到手机。RADIUS可以分配动态地址或者静态地址。

4、通过UDM签约方式来实现,这个时候,就是采用静态地址方式,就是给某个手机分配固定的IP地址,用于特殊目的才会使用静态地址。

在实际部署中,方式一是最常用的,也是最简单的。

如果某个终端必须采用静态地址,则可以采用方式3与方式4。这种情况下,终端用户与IP地址是绑定的。

方式1与方式2都是分配动态地址,就是IP地址与终端用户不是绑定的。

检测5G网络的具体实现:使用TelephonyManager的监听方法

private fun getNetworkType(){ val tManager = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager

tManager.listen(object : PhoneStateListener() { @RequiresApi(Build.VERSION_CODES.R)

override fun onDisplayInfoChanged(telephonyDisplayInfo: TelephonyDisplayInfo) { if (ActivityCompat.checkSelfPermission(this@Android11Test2Activity, android.Manifest.permission.READ_PHONE_STATE) != android.content.pm.PackageManager.PERMISSION_GRANTED) { return

}

super.onDisplayInfoChanged(telephonyDisplayInfo)

when(telephonyDisplayInfo.networkType) { TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO -> showToast("高级专业版 LTE (5Ge)")

TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA -> showToast("NR (5G) - 5G Sub-6 网络")

TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE -> showToast("5G+/5G UW - 5G mmWave 网络")

else -> showToast("other")

}

}

}, PhoneStateListener.LISTEN_DISPLAY_INFO_CHANGED)

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档