技术分享 一句话解释清楚网卡内部是如何工作的 [复制链接]

xlgsw
三国LV3
技术中心 393 5 2026-3-31 22:01:05
本帖最后由 xlgsw 于 2026-4-1 08:48 编辑

大家都知道,电脑不论是上网、还是访问服务器、还是相互间进行通信。网卡是沟通的桥梁。那么你知道它是如何工作的吗

就拿网吧无盘服务器来说:当客户端连接到服务器后,进行tcp两次握手,握手成功后服务器和网卡就准备通信了

下面就是连接过程

由于无盘客户端也叫无盘工作站没有硬盘,所以它会向服务器请求传送操作系统,这个时候很多人会以为服务器会一次性把操作系统全部传送给这台工作站,这是错误的。服务器不是一次性整个把操作系统传送过去,而是每次发送也就是mtu的数字:1500 比特的数据给这台工作站。当工作站收到1500比特的数据后就等待服务器下一次的1500比特数据传过来

下面是工作站和服务器的对话

工作站:服务器你好,我本地没有硬盘。请传一个操作系统过来。

服务器:1500个比特流传给你了,收到后请答复。我再传1500个数据给你,直到整个操作系统传完

工作站:你他妈就不能一次性全部传给我吗,为什么每次1500、1500的传

服务器说:我要是一次性把整个操作系统传给你,我不做其他事情了。再说了把整个系统一次性传给你,你把网络带宽全部占了别的电脑都和我通信不了。

工作站:你这样1500、1500的传也太慢了。要什么时候才能传的完

服务器说:慢?你知道我一秒钟可以传多少个1500 的比特流吗。就拿千兆网卡来说 1 秒钟我可以传送80多万次的1500 比特数据给你,如果你也是千兆网卡,你1秒钟可以收到80多万个1500的比特数据。换算成速度就是120多兆每秒。百兆就是1秒钟可以发送和接收8万多1500的比特数据。

大家看懂了没有,虽然服务器每次都是很少的数据传给客户机,但是它传送的频率极快服务器千兆网卡的情况下1秒可以传送80多万次  。所以传送也能达到惊人的数据。

当另一个无盘工作站被游戏玩家开机后,这台工作站也像前一个工作站一样向无盘服务器索取文件,服务器这个时候就在80多万个1500的比特数据分担2台电脑的传送量。这样1秒内每台电脑获取的数据就少了,这也就是工作站开机的越多每台工作站单位时间获取的数据就越少的原因。

解决的办法就是 升级网卡和交换机把千兆变成2.5G也就是每秒2.5*80万的传送频率=200多万的传送和接收频率 如果升级成万兆的话就是 80万*10=1秒800多万的传送频率 (在不考虑硬盘拖后腿的情况下)每台工作站单位时间从服务器获取的数据就越多。也就表现的越快。

这样大家应该完全明白网卡的工作原理吧,再也不要以为服务器是一次性传送整个数据给某个客户机,因为不能这么设计。如果服务器一次性传送操作系统给一台工作站,传完后再全速给另一台工作站传全部文件。如果真这样你想想其他工作站在干嘛,在干等,而且和服务器的联系完全中断,因为带宽全部用在全速传送文件了。表现给顾客的感觉就是死机。所以tcp/ip初定的时候就规定不能给客户一次性全部把文件发出去,而是每次以一个数据包1500的比特也就是网卡参数mtu的数值发送。

当你理解了这个原理后。你就很容易理解服务器多网卡汇聚、多网卡分流、交换机端口汇聚的工作过程了


2026-3-31 23:45:40
不对,交换机也很忙。虽然你说的有道理,既然一秒都可以传80万次1500比特流,都80万了还是一秒内完成这些次数,不少了,还是一次性把系统都给客户机传去吧,别一千五一千五的了!哈哈。开玩笑。服务器是很忙,但目前技术直接不到家,不是服务器硬件不行,而是无盘软件被锁了瓶颈,大家考虑到的,都是看得见摸得着的,实际无盘控制,下发接受这些指令都经过软件进行控制的,需要有响应时间,和硬盘调取时间,所以再加上交换机和距离直接的延时远远不如有盘!差距是天壤之别!你可以找一个2.5SATA固态去和服务器u2去比,2.5SATA在各个软件启动进入速度远超服务器u2,这还没说m2,nvme协议了!那直接拉没了影子!有条件,还是一台电脑配固态,不行在家玩,配9100,一秒读写1.3万兆,快的直接不一个级别!服务器带的客户机全是虚拟盘符!虚拟的就是一个障眼法,看似有,实则空虚!客户机你没事可以复制个文件试试!一秒忘个人磁盘里复制一百多兆一秒已经很厉害了!这是服务器100g网卡速率!写到个人磁盘的速度!m2,复制速度起码几个gb一秒。差距不小!别看几十倍的倍率,就像你跑步10迈你努力能跑上,要是叫你跑200迈,你看看你努力能实现吗!二二呼呼的家用车极限也不好到200迈!别看几倍,这直接就是质的超越!
2026-3-31 23:59:35
详细点说,客户机开机,经过内存,CPU,到网卡,经过远距离和盘旋以及打结的网线光纤到交换机,交换机16口经过1号二号的这种总带宽去通知服务器网卡,再经过服务器CPU,无盘软件授权,通过后,再调取服务器固态的系统盘,携带数据经过服务器内存,CPU,网卡,千里迢迢来到数据集散中心进行分配,再一路杀兵斩将,来到自己这个客户机,入第一道防线网卡,经过CPU,内存,来到显卡,展示再屏幕上!是相当庞大的一个工作流程,再结合你说的,一秒完成80万次,那这些流程一秒往返80万次是相当厉害了。但,还是那句话,响应速度确实不行!尤其玩大型3a,还没有单独一个主机放个机械的速度来的实在!直接要命!
2026-4-1 12:05:10
本帖最后由 xlgsw 于 2026-4-1 15:32 编辑
77676962 发表于 2026-3-31 23:59
详细点说,客户机开机,经过内存,CPU,到网卡,经过远距离和盘旋以及打结的网线光纤到交换机,交换机16口 ...

兄弟,你把人带偏了。你又是交换机、又是cpu、又是内存、又是硬盘、又是nvme协议的。

我的主题是网卡,所以其他硬件就没有讲述。并不是说其他硬件不起作用,当然起作用。不是本贴的主题,你非要较真我还说他们底层都是0、和1的二进制,再底层还是电子、电流、电压和电阻在起作用……怎么样,你也一起讲讲呗

下一个贴子我来讲交换机和网卡和多台电脑同时通信它们的真实速度是多少,相信看完会让很多人茅塞顿开
2026-4-1 15:58:09
xlgsw 发表于 2026-4-1 12:05
兄弟,你把人带偏了。你又是交换机、又是cpu、又是内存、又是硬盘、又是nvme协议的。

我的主题是网卡,所 ...

好!出一期吧。拭目以待。凡事经过多道传输的,网卡再快,我发现也没有nvme带一个主机快,到底哪里受影响,你同时也讲讲
2026-4-1 19:26:22
77676962 发表于 2026-4-1 15:58
好!出一期吧。拭目以待。凡事经过多道传输的,网卡再快,我发现也没有nvme带一个主机快,到底哪里受影响 ...

快与慢只是相对的比较,没错nvme协议的硬盘确实要比网卡、ssd硬盘、普通机械硬盘要快很多。


一个Windows 10 的操作系统占用硬盘空间是20G-30多G。那电脑每次开机是不是把这20G-30G都一次性读进内存里面,如果是这样的话那电脑内存32G的都不够。Windows系统的运行机制是用多少读多少而不是一次性全部读进内存。从开机的BIOS界面只要读取1.2G-1.5G的系统文件就能进入win10 桌面,在windows系统里面安装的软件和游戏也是一样,用多少读多少。比如一个几十G的游戏,从运行游戏图标到进入游戏界面往往只需要几十兆、到上百兆的数据流量就行,而在游戏中或需要几十K到几百上千K的数据量就能进行场景的切换(根据游戏厂家设计不同所需要场景切换的数据量也不同),也就是说:不是nvme的硬盘快而是window下的程序包括它自己瞬时突发数据根本就没有那么高,一个SSD硬盘就能满足需要

其实大多数程序只是开始加载的时候数据量多一些,进入界面后需要的数据是很少的,都是每次几十k、几百K、几兆的读、上十兆这种情况都顶天了。那你说玩游戏SSD硬盘和nvme的硬盘在这种场景下还能看出来差别吗。
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 31521 个
  • 话题数: 11516 篇
  • 巅峰数: 6022 人