游客发表
我亲眼见过一个刚毕业的计算机网同事,把公司内网的络基理网线拔下来插到自己笔记本上,结果整个部门断网十分钟。础知他一脸无辜地说:“我就想试试能不能上网。识整”那一刻我意识到,计算机网很多人对计算机网络的络基理理解,还停留在“能连上WiFi就行”的础知阶段。
网络没那么玄乎。识整它本质上就是计算机网一堆设备互相说话,但得有人定规矩——这就是络基理协议。TCP/IP是础知互联网的通用语言,HTTP是识整网页的专用语法,DNS则是计算机网电话簿。你输入一个网址,络基理背后发生的础知事简单说就是:你的电脑问DNS“baidu.com在哪”,DNS回答“在某某IP”,然后你的电脑通过TCP三次握手跟那个IP建立连接,再发HTTP请求要网页。这套流程每天重复几十亿次,快到你几乎感觉不到。
但“几乎感觉不到”和“完全感觉不到”之间,差着几层关键的东西。物理层是网线、光纤、无线电波,链路层管MAC地址和帧,网络层管IP路由,传输层管端口和可靠性。每一层各干各的,互不干扰。这种分层设计是计算机科学里最优雅的工程决策之一——就像餐厅分前厅和后厨,前厅不用管菜怎么做,后厨不用管客人怎么催。
有个细节很多人忽略:IP地址分公网和私网。你家路由器后面那些设备,全是私网IP(192.168.x.x或10.x.x.x),它们不能直接跟外网通信。路由器干了一件事叫NAT(网络地址转换),把所有内网设备的请求伪装成自己一个公网IP发出去,再把回来的数据分发给内网那台设备。这就是为什么你家里的电脑、手机、电视能同时上网,但运营商只给你一个IP。
这个机制有个副作用——你从外面没法直接连进家里某台设备。除非你配置端口映射,或者用内网穿透工具。很多做智能家居的人卡在这一步,不是设备坏了,是NAT把你堵在门外了。
再说一个实用得多的东西:TCP和UDP的区别。TCP像寄挂号信——要确认对方收到,没收到就重发,所以可靠但慢。UDP像扔飞镖——扔出去就不管了,快但可能丢。视频通话、在线游戏用UDP,因为丢几帧画面无所谓,但延迟高了就卡死。文件下载、网页浏览必须用TCP,因为丢一个字节文件就坏了。选错协议,体验天差地别。
还有个常见误区跟IP地址有关——IPv4总共只有43亿个地址,早就不够用了。现在你手机上网用的其实大多是IPv6,地址多到能分给地球上的每一粒沙子。但很多人没注意自己手机状态栏里的IP是IPv6还是IPv4,因为操作系统帮你处理好了。这种“无感切换”才是网络工程最成功的地方。
最后说个我自己的观察:很多所谓“网络慢”的问题,根子不在带宽,而在延迟和丢包。带宽是公路宽度,延迟是红绿灯等待时间,丢包是路上有坑。你升级千兆宽带,但如果WiFi信号穿了两堵墙,延迟照样飙到200毫秒。这时候换个路由器位置或者用Mesh组网,比花大钱升级宽带管用得多。
网络这东西,你把它当黑盒用也行,但稍微懂一点原理,排查问题、买设备、跟人吵架的时候,底气完全不同。
友情链接