宽带会话数测试
前言
对网络不太了解的同学,对于“会话数”可能不是很清楚。所以,我先讲一下什么是会话数,为什么会影响网络质量。
会话
在计算机网络当中,每建立一个新的连接,都是建立一个会话的过程。连接基于TCP和UDP两种协议,前者是可靠的,后者是不可靠的。但不管哪一种连接,都会占用端口。例如,常用的FTP协议会建立数据连接和控制连接,所以FTP会占用两个端口。访问某些网站和使用一些应用,由于各方面的需求也会建立多条连接。
NAT网络地址转换
在IPv4协议出现的时候,很显然没有考虑到计算机的数量会如此庞大,远远超过了IPv4地址的总量。为此,为了解决每台计算机的通信需要,NAT被发明出来。在IPv4地址当中,主要分为三大类:公网地址、私网地址还有广播地址(全为0或255),公网地址不可重复使用,私网地址可重复使用。所以,目前运营商的使用就是一个公网地址下面挂上多个私网地址,或者私网地址下面在挂私网地址(NAT+NAT)。
那么,既然多个计算机使用单个公网地址为什么不会冲突呢?因为一个地址有65535个端口,可以建立65535个会话,将这些端口分给不同私网地址,每个计算机使用其中一部分即可。
会话数限制
正如IPv4一样,每个公网IP的会话数不是无穷大的。所以,运营商为了最大效益,每台计算机使用的会话数是有限制的。会话数限制的多少,取决于运输是否良心、手中的资源多不多、当地用的人多不多。
有人或许经历过这种情况,一开始小区人不多的时候,网络很流畅。后来,小区人越来越多,网络开始变得卡顿,但是测试速度却没有问题。这时候百度,很多人说上行不行,但其实不是,而是使用的人多了,会话数人均就少了。
那么,一个家庭的宽带会话数多少合理呢?这个取决于使用人数和使用用途,以一家三口为例:正常2000个端口基本够用,轻度BT和百度网盘均没有问题。如果是过年回家,家里面一下子来五六个人,那么就不够用了,平均一个人才300条左右,而且有些软件偷偷PCDN,就更加不够用了。这就是为什么专线和家宽以及公司宽带的不同地方,除了是否有公网、链路质量等,还有会话数的限制!
未来能够解决吗?
当然能解决,运营商的会话数限制最主要的原因是NAT。随着IPv6的普及,去NAT逐步推进。尽管目前IPv6存在着某些不足,但是依然是未来主力。目前,推进IPv6存在动力不足,主要是IPv6普及之后,人均公网(家里面的每台设备都有公网),互联网进入真正意义上的互联时代,去中心化越来越明显。与之带来的是网络安全问题,网络管控加大难度以及运营商的赚钱造成一部分影响。
如果能够完全普及IPv6,用户将没有会话数限制,运营商设备不用进行NAT转换,IPv6更加快速、高效和可靠。对于我们用户IPv6可以解除上行带宽限制、外网访问限制。对于视频、音乐、下载服务来说,不用担心服务器负载过大,直接PCDN,下载速度更快,体验更好。同时,远程办公、远程NAS、个人网站、个人游戏将会变得更加容易。
操作步骤
本次测试是基于C/S架构,本地需要准备一台客户机。由于我只是搞网络的,所以没有搞什么APP,网站直接测试之类的东西。我尽量简化测试难度。
测试器材:Windows系统PC机一台、VMware 17 Pro、Rocky-linux虚拟机镜像、MobaXterm。
如果您动手能力强可以进行如下操作搭建服务器!
第一步,注册华为云账号,充5块钱就够了。

第二步,进入控制台,选择就近位置机房,例如我在广州,选择“华南-广州”。

第三步,创建一台弹性云服务器。选择“按需付费”。

实例业务类型选择“通用计算型”,硬件选择2vCPUs,4GiB内存。

操作系统选择Rocky-linux 8.5!

系统盘默认参数,即通用性SSD、40GiB容量

网络设置默认参数

重点!!!,一定要购买公网IP。采用带宽计费、大小5Mbit/s、勾选“随实例释放”。

密码,自己设置,我这里提供一个通用的“Huawei@123”。

同意!购买即可

这里提醒一下,我已经将测试系统打包成镜像,这里可以管我要,共享给你。

等待其创建完成!

第四步,搭建服务进程。MobaXterm,先通过SSH连接服务器!会话、SSH,连接主机填公网IP地址,用户名root。

进入如图所示界面代表连接成功!

执行以下命令,#号表示注释不用复制,” · “也不要复制:
· yum install git #安装git管理器
· git clone https://github.com/yedf/handy.git #拉取项目
· yum install make gcc-c++ -y #安装gcc编译工具
· cd handy/ #切换工作目录
· ./build_config #建立
· make && make install #编译项目
· ./10m/10m-svr 40000 50000 1 50001 #启动服务,端口40000-50000共1万个,一个进程,控制端口50001。

出现这种情况换一组端口,或者减少端口数目。

服务正常启动
第五步搭建客户端,查看IP地址使用MobaXterm进行SSH连接。


连接成功后同样执行以下命令:
执行以下命令,#号表示注释不用复制,” · “也不要复制:
· yum install git #安装git管理器
· git clone https://github.com/yedf/handy.git #拉取项目
· yum install make gcc-c++ -y #安装gcc编译工具
· cd handy/ #切换工作目录
· ./build_config #建立
· make && make install #编译项目
最后执行:./10m/10m-cli 139.9.93.36 50000 60000 10000 100 1 3 64 60001 #启动 1 进程在 100 秒内发起 10000 连接,远程端口 50000 到 60000 ,每 3 秒发送心跳包 64 字节。
最后连接数量保持在785,表示目前最大允许有785个连接。建议关掉所有设备,分不同时段进行测试,例如高峰时期和低峰时期。

服务器信息

总结
服务器我已经搭建好了,你们只需要搭建好客户端即可!
项目源地址
· https://www.heu.ee/1128.html
· https://github.com/yedf2/handy
服务器我运行一天,大约12块钱。大家可以测试连接。VMware和Rocky-linux的虚拟机镜像,我会上传到百度网盘,在评论区。
Comments NOTHING