当前位置: 首页 > news >正文

关于宽带网络下公网地址的理解

网络分析

登录不同公网节点,使用 netstat -anp|grep tcp|grep ssh 显示本地的公网地址,可以看到多个不同的地址

使用 ip.cn 查询本地的公网地址

通过 ip138 查看本地的公网地址

将以上地址进行去重,得到 5 个公网地址,以下 143 以及 116 网段的两个地址是不同的,如果通过更广泛的测试,应该能拿到更多的公网地址

而且随着时间以及访问目标地址的变化,这里显示的本地公网地址也可能会发生变化

这里也有一个比较明显的 120.228 网段,也就是说一个区域应该是为数不多的几个固定的网段,但一个具体的请求可能会根据链路优化选择不同的 ip 出口

119.39.114.xxx
120.228.143.xxx
120.228.143.xxx
120.228.116.xxx
120.228.116.xxx

事实上,为了负载均衡和优化网络流量,运营商部署了​​多出口(Multi-homed)架构,每个地区运营商都分配了多组庞大的公网地址,提供给下面的宽带用户接入使用

本地网络通过 NAT 转化为运营商的网络,运营商再通过 NAT 转化为公网地址,也就是 CGN(Carrier-Grade NAT),运营商级网络地址转换,总体结构如下

就单个公网 ip 地址,端口只有 65536 个,剔除保留的端口,差不多在 64000 左右,通过四元组/五元组单个公网地址理论可以支持更多的连接

在运营商环境中,CGN 的一个公网 IP 地址通常服务大量的内部用户,为了确保公平性和防止端口资源耗尽,运营商也会对单个/宽带用户限制连接数

一台手机/电脑连接数通常在数百到数千不等,如下是 win10 下资源监视器中显示的连接数,显示的连接数大概在两百左右

因此通过连接数估计,运营商的单个公网 ip 地址同时能对接的家庭用户数(不含企业用户)应该在几百个左右(这里指的是单个用户的所有连接都走同一个公网 ip 出口)

手机移动网络的数据流,也和家庭网络的数据流类似,手机通过接入基站使用移动互联网,但是基站并不负责分配手机接入公网的 ip 地址

应用场景

基于现代网络的融合技术,手机的移动数据以及 PC 的网络数据最终会融合到骨干网上,手机的公网 ip 地址是在接入互联网的时候分配

来考虑一种场景,手机的 app 业务开发中(比如微信应用)怎么检测多个用户登录的是否为同一个网络?这里的同一网络泛指的是同一个宽带网络

手机 app 可以拿到的信息

1、wifi名称

2、内网地址

3、网关地址

4、公网地址

5、基于 traceroute 拿到整个链路的地址

最简单的,可以通过 Bonjour/mDNS (多播 DNS) 技术进行服务发现,设备在本地网络上进行广播和查找特定服务(例如,查找 微信群聊服务AirPlay 服务

由于路由器的默认的隔离状态,以及广播域被分割,除非特别配置,这种广播和查找在下面这种路由架构中就会失败,这里 路由C 对应家庭宽带出口

通过前面的了解,手机连接 wifi 接入互联网,单个宽带接入的公网 ip 可能是多个,但是同一个时间单个应用使用的是固定的 ip 地址

由于公网地址的共享特性,公网地址不能成为唯一的条件;内网地址和网关逻辑相同,相同网关的概率会更高一点,大部分用户的网关都是 192.168.1.1 这种

但是 wifi 名称相同的概率应该比较低,因此:公网地址 + 相同 wifi 名 可以判断两台手机是否处于相同网络,如果前面路由器不同了,这里 wifi 应该也是不同的

基于 traceroute 的逻辑,可以拿到整条链路上的所有节点,因此这是判断两台手机的 app 应用是相同内网的最有力证据

即便中间节点路由器全部丢弃 icmp 协议报文,应用依旧可以通过切换为 tcp 的 traceroute 来获取链路上的所有节点

在 iOS 开发中,开发者通过使用 apple 提供的官方 api 框架,可以实现 traceroute 或本地网络发现等功能,在安卓上权限比 iphone 宽松多就更简单了

http://www.dtcms.com/a/529241.html

相关文章:

  • 【面经】2025年软件测试面试题,精选100 道(附答案)
  • 网站风格优势网页设计哪里好
  • 案例研究_CVE-2018-1000517
  • 内存补丁技术:破解与防护的终极对决
  • 20251019状压DP总结
  • 西部数码网站管理助手v3.0产品设计ppt案例
  • 【2073】三角形面积
  • Datawhale秋训营-“大运河杯”数据开发应用创新大赛
  • 7(内存管理)(上)(了解)
  • 成都个人建网站ps软件下载电脑版免费怎么下载
  • 解析常见的限流算法
  • 潼南区做网站的公司中国医院建设协会网站
  • 夸克 × 大模型:从“搜索工具”到“智能体”的演化逻辑
  • 网站正在建设中色综合网页程序开发工具
  • 个人怎么开网上超市福州百度seo
  • 笔试强训(八)
  • 山西品牌网站建设成品网站源码68w68游戏
  • Linux内核进程管理子系统有什么第六十八回 —— 进程主结构详解(64)
  • 做网站需要商标注册吗阿里巴巴怎么做企业网站
  • 做视频网站需要哪些技术指标wordpress可以放视频吗
  • 动态库的使用-openssl
  • Maven 项目和 Maven Web 项目的异同点
  • Maven整理
  • 关于OpenAI CLIP的综合技术报告:架构、对比预训练与多模态影响
  • 网上服装商城网站代码软件开发 网站建设
  • 保洁网站模板闲置物品交易网站怎么做
  • 11月更新|流程节点新增数据变更+发起流程
  • 【Swift】LeetCode 189. 轮转数组
  • 聊城网站托管网络舆情处置方案
  • C#的operator运算符定义