ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

网络基础入门:从分层模型到IP、网关与排障实战

网络基础入门:从分层模型到IP、网关与排障实战

前阵子一个朋友问我:“网络基础到底该从哪学起?想补,但一翻开教材就被各种协议、术语劝退。”这个感受我太熟悉了。这些年我接触过不少做开发、运维,甚至就是计算机专业刚入门的同学,很多人不是不努力,而是被过早地拽进细节里:一会儿七层模型,一会儿IP分片,一会儿路由协议,还没建立整体框架先晕了。其实网络基础知识真正的地基就那么几块:网络怎么分层、数据怎么封装、地址怎么分配、设备怎么转发、故障怎么排查。只要把这几条主线打通,后面再看任何协议细节,都只是往框架里填充而已。这篇是网络基础系列的第一篇,我从这几条主线出发,把最核心的坐标系搭起来。适合零基础学习者,也适合想系统梳理一遍的同学。

1. 网络的本质与基础架构认知

1.1 网络不是一根线:节点与链路

很多新手会把“网络”理解成一根电话线或者光纤,好像数据就是顺着这根线爬到服务器上去的。这个画面其实错得离谱。网络更像快递物流系统:每个设备是一个节点,节点之间靠光纤、网线、Wi-Fi信号这些链路连接,而设备之间传递的,是一个个叫“数据包”的小包裹。

数据从一个节点出发,可能经过好几跳,也就是多个中间设备,才最终到达目的地。每跳之间都有独立的选择路径逻辑。这种“存储转发”的方式叫分组交换,它解决了两个关键问题:一是线路不需要专属于一个连接,多路数据可以共享链路;二是某条链路断了,数据可以换路走。这就是为什么你家的光猫或者路由器断了一次网,恢复后数据照样能通,因为路径选择是动态的。

1.2 局域网与广域网的分工

按覆盖范围,网络可以分为局域网和广域网,可以简单理解为一栋楼和一座城市的区别。

局域网(LAN)覆盖的范围小,通常是一户家庭、一间办公室或者一栋楼。它的特点是速度快、自治性强,你自己决定怎么接、怎么配。广域网(WAN)则跨越比较大的地理范围,比如两个城市之间的网络,通常由运营商提供线路和设备。你在家上网,本质上是先接入局域网,再通过运营商提供的出口线路进入广域网,最后到达目标服务器。

这个区分很重要。排查网络问题的时候,第一步就要判断是局域网故障还是广域网故障。比如访问不了某个网站,但你和其他同事互相之间拷文件、访问内网服务都正常,那问题大概率出在广域网这一段,而不是你家路由器坏了。架构视角一旦清晰,排查方向就不会乱。

1.3 家庭网络中的“盒子和线”

拿常见的家庭宽带来说,设备链路通常是这样:光猫负责把运营商的光信号转换成电信号,然后一根网线接到无线路由器的WAN口;路由器再把内网地址分给所有设备,同时把家里设备的流量统一送出去。电脑、手机连接的其实都是这个路由器创造的内部局域网。

很多人不知道光猫和路由器是两个设备,或者把两者混为一谈。实际上光猫只负责信号转换和接入认证,路由功能才是决定你家内部设备能不能互相访问、能不能自动获取IP的核心。现在的运营商光猫通常自带路由功能,但性能一般,所以才有很多人买了独立路由器,再把光猫改成桥接模式。后面我会专门讲桥接模式,这里你只要先记住:光猫管接入,路由器管分发。

2. 网络的层次模型:为什么非要分层

2.1 从寄快递看分层思想

在我刚学网络的时候,也觉得分层是个很抽象的东西。后来发现用寄快递类比就很好懂:你寄一个包裹,不需要自己造盒子、印面单、叫货车,你只负责把东西装进箱子、写好收件人信息;快递公司内部会自动分段处理,运输、中转、派送;最后收件人拿到包裹,拆开就行。

网络分层干的是同一件事:把复杂的数据通信拆成若干界限清晰的环节,每一层只关心自己负责的部分,下层为上层服务,上层不用管下层的具体实现。这样最大的好处是灵活——比如传输层不用管底层用的是光纤还是卫星,也不用管底层协议是乙太网还是其他什么,只要服务接口不变就能正常工作。

2.2 OSI七层模型:给网络立法律

OSI七层模型是国际标准化组织搞出来的理论参考模型,从下到上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

坦白说,实际网络并没有完全按七层来落地,最常见的说法是“OSI七层模型是法律,TCP/IP四层模型才是现实”。但你仍然必须学七层模型,因为它是业界通用的沟通语言。“二层交换机”“三层路由”“七层负载均衡”这些说法里的二、三、七,指的就是OSI模型的层号。面试、文档、设备参数里都会用到,不懂就等于听不懂别人说话。

2.3 记住TCP/IP四层模型就够了

日常用得最多的是TCP/IP四层模型:网络接口层、网络层、传输层、应用层。它比七层模型更接地气。

  • 网络接口层:对应以太网、Wi-Fi,负责在同一链路内传输数据帧。
  • 网络层:核心协议是IP,负责跨网络寻址和路由选择。
  • 传输层:核心协议是TCP和UDP,负责端到端通信,也就是谁能收到、收得对不对。
  • 应用层:HTTP、DNS、文件传输协议这些,负责把网络能力包装成我们能用的服务。

把四层模型记熟,你再看Nginx配置、数据库连接、容器网络这些问题,思路会通顺很多。很多排障思路都是按照层来走的:链路层通不通、网络层丢不丢包、传输层握手成功没有、应用层返回有没有报错。

2.4 数据封装与解封装:穿上和脱掉“马甲”

数据从一台机器发到另一台机器,不是整体直接丢过去,而是每经过一层就套一层头。

举个例子:应用层产生一个HTTP请求,传到传输层时,系统给这段数据加上TCP头,里面写入源端口和目标端口,变成“段”;传到网络层时,再在段前面加上IP头,写入源IP和目标IP,变成“包”;到了链路层,包再被塞进数据帧里,加上MAC地址头和尾部,变成“帧”;最后转换成物理信号发出去。接收端则反过来,一层一层拆掉头部,最后把数据交给对应进程。

理解封装是看懂命令输出的前提。比如ping工具看到的TTL值,就是IP头里用于防止数据包无限循环的字段,每经过一个路由节点就减1。如果你执行ping时发现TTL是64,说明目标设备离你并不远;如果是某个更小的数字,说明中间跳数比较多。没有封装概念,这种细节很容易被你忽略。

3. 网络通信的三大件:IP、掩码、网关

3.1 IP地址:每个设备的唯一门牌号

IP地址是设备在网络中的逻辑地址,类似门牌号。在同一个局域网内,每台设备的IP必须是唯一的,否则会冲突。IPv4地址是32位二进制数,为了方便记忆,写成十进制点分的形式,例如192.168.1.35。

IP地址由网络位和主机位组成。网络位标识你这个设备在哪个网段,主机位标识你在该网段里的具体编号。比如192.168.1.35和192.168.1.88,如果它们的前三组数字都相同,很可能就在同一个网段,可以直接通信;如果前两组不同,像192.168.1.35和10.0.0.35,那基本就是完全不同的两个网络。

需要注意的是,家里局域网一般用的是私有地址,常见的是192.168.x.x、10.x.x.x、172.16.x.x到172.31.x.x这些保留段。私有地址不能在公网上直接路由,所以数据出外网时,需要由路由器完成网络地址转换,把私有地址替换成运营商分配的公网地址。这就是为什么你在家里看到的IP往往都是192.168开头,而别人访问你网站看到的是另一套地址。

3.2 子网掩码:哪部分是“小区号”?

子网掩码用来区分IP地址里的网络位和主机位。掩码为255的位对应网络位,掩码为0的位对应主机位。最常见的掩码是255.255.255.0,即/24,表示前24位是网络位,后8位是主机位。

举个例子:IP地址是192.168.1.35,掩码是255.255.255.0。把IP和掩码做按位与运算,你会得到192.168.1.0,这就是这个网段的编号,也叫网络地址。这个网段里主机位不能全为0,因为0表示网络本身;也不能全为1,因为192.168.1.255是广播地址,用于向网段内所有人喊话。所以可用地址范围是192.168.1.1到192.168.1.254,共254个。

新手最容易犯错的就是认为“两台电脑IP在同一段就能通信”。严格说是“网络位相同”才能直接通信。假设A电脑是192.168.1.35/24,B电脑是192.168.1.88/25,虽然肉眼看着前三位一样,但B的掩码画出的网段是192.168.1.0到192.168.1.127,A属于这个范围,而C,比如192.168.1.200/25,就在另一个网段,不能直接通信。这就是为什么要学会看掩码,而不是只看IP。

3.3 默认网关:出门必须经过的大门

网关的角色可以理解为“小区的出入口”。只要目标IP和源IP不在同一个网段,数据就必须先发给默认网关,由网关帮助转发出去。

家用网络里,默认网关通常就是路由器的LAN口地址,常见的是192.168.1.1,也可能是192.168.1.254这类。手机上查看Wi-Fi详情,里面会有一个“网关”或“路由器”字段,填的就是它。如果电脑里没配网关,或者配成了错误的IP,你会发现访问自己家内部的其他设备正常,但一访问互联网就超时。因为数据包不知道该找谁带它出去。

排查思路里,“ping网关”是关键一步。网关通了,说明本机到局域网出口没问题;网关不通,检查网线、无线连接和路由器LAN口状态,基本就把范围缩到局域网内部了。

3.4 DNS:网络世界的通讯录

人记IP地址很难,所以有了域名,比如example.com。但网络设备最终要的仍然是IP地址。DNS就是把域名解析成IP的服务,可以理解成通讯录或者总机接线员。

访问一个网站,系统会先查本地DNS缓存,没命中就向配置的DNS服务器发起请求,拿到目标IP后再开始真正的数据通信。这也是为什么DNS出问题时,表现是“浏览器打不开网页,但打开聊天软件或者看视频又能正常收数据”——因为很多应用直连IP或者已经缓存了IP,而浏览器每次要解析新域名。

排查DNS问题,最常用的命令是nslookup。它可以把域名解析结果打出来,你能清楚看到对应的是哪个IP、解析花费了多少时间。有时候改了域名解析记录,本地却迟迟生效,多半是运营商会话缓存或者本地缓存的问题,这个时候清缓存比干等更有效。

3.5 DHCP:自动发门牌的管家

手动给每台设备配IP、掩码、网关、DNS,不仅繁琐,而且很容易出错。于是有了DHCP动态主机配置协议。你的路由器默认开启DHCP服务,设备接入网络后,发送地址请求,路由器自动分配一个可用的IP,同时把网关、DNS一并发给设备。

我用DHCP有一点实践心得:小型网络里尽量保留一段静态地址给打印机、服务器这些需要固定的设备,比如192.168.1.100到192.168.1.150之间静态绑定,其余地址段留给普通设备自动获取。这样既能保证关键设备地址不变,又避免IP冲突。很多人图省事全走DHCP,结果某个设备重启后IP变了,内网访问直接失败,排查半天还找不到原因。

4. 常见网络设备与组网选型

4.1 集线器、交换机、路由器分别干什么

老教材爱把这三种设备摆在一起对比,因为它们确实是网络设备里最典型的三类。

集线器是最老的一类,工作在物理层,信号发进来就往所有端口广播,效率低,冲突还多,现在基本被淘汰了。交换机工作在数据链路层,它会学习端口相连设备的MAC地址,只把数据发往目标端口所在的那个端口,而不是盲目广播,局域网内互通全靠它。路由器工作在网络层,负责在不同网段之间选择转发路径,是局域网和外部世界的桥梁。

家用无线路由器其实是个组合设备:内部包含交换功能,提供LAN口互连,又包含路由功能,做NAT上网,还包含接入点功能,提供Wi-Fi信号。所以你在配置面板里看到各种页面,其实是在同时配置不同类型的设备能力。

4.2 家用组网的配置要点

自己家里搭网络其实不用追求复杂,理清链路比设备更贵更重要。标准接法是:光猫出口网线接路由器WAN口,路由器LAN口再接一个交换机,如果需要更多有线设备,就把设备接到交换机上;Wi-Fi设备连无线信号。

配置上值得关注的是频段选择。2.4GHz频段穿墙能力强,但干扰源多、带宽小;5GHz频段速度快、干扰少,但穿墙差、覆盖短。现在的路由器多半双频合一,手机会自动切换,但在大户型里,我仍然建议把两个频段分开命名,主动选择连接5GHz,因为自动切换经常不智能,感知到信号弱的时候,连接已经卡了好几分钟。

Mesh组网解决的是大户型覆盖问题,原理是多个节点协同组成一个整体网络,漫游时终端在不同节点间切换,不掉线。一个节点不够用的时候再加一个节点,比买一台超高档路由器的性价比更高。注意Mesh节点尽量用网线回程,也就是节点之间用网线相连,无线回程会占用一部分无线带宽,速率上吃亏。

4.3 网线选择的那些坑

别小看网线,它是物理层最容易出问题的地方。家用推荐超五类或六类网线,足以支撑千兆速率。看网线是否支持千兆,最快的方法是看水晶头里八根金属针是否都有切刀,如果只有四根,那基本是百兆线,跑不满千兆。

八九年前组网的时候,我发现个别房间网速只有100兆,检查半天发现是墙里预埋的网线质量差,水晶头接的时候只压了1、2、3、6四根线。这四根线只能提供百兆速率,千兆需要八根线全部正常工作。所以在装修布线、或者自己压网线的时候,一定要求八芯全通。质检方法也不难,用网线测试仪一个一个测,或者直接插到路由器上,看连接速率显示是1000Mbps还是100Mbps。

另外,网线弯曲半径和抗拉扯能力比很多人想的更重要。走线时留足余量,不要弯成死角,不要踩压,时间长了线皮破损、性能下降都是隐患。

5. 动手排查:命令行下的网络诊断实战

5.1 四个最常用的命令

命令行是网络排障的基本工具,不用装任何第三方软件。你需要记住的是这四个:ping、ipconfig、tracert、nslookup。

  • ping:发一个连通性测试包,检查目标能不能到达,顺便看延迟和丢包情况。
  • ipconfig:查看本机IP配置,包含地址、掩码、网关、DNS。
  • tracert:跟踪数据包到达目标经过的路径,可以看到每一跳的延迟。
  • nslookup:解析域名,查看域名对应IP和解析过程返回的服务器信息。

这四个命令覆盖了从本机、到局域网、再到广域网的完整链路。遇到任何网络问题,我建议你先别慌,从容地按这个顺序敲一遍,基本能定位出问题层次。

5.2 完整排查流程:从本机到外网

假设现在遇到的问题是“浏览器打不开某网站”。我的排查顺序是固定的:

第一步,ping 127.0.0.1。这是本机环回地址,用来确认本机的协议栈是否正常。如果这一步都不通,问题出在操作系统网络栈,需要重新检查网卡驱动或者系统配置。

第二步,ping 默认网关,比如192.168.1.1。网关通了,说明本机到路由器之间的局域网链路是好的;不通,就要看Wi-Fi、网线、路由器状态了。

第三步,ping 一个外网IP,比如运营商DNS的IP地址。这里不解析域名,直接访问IP。通了说明本机出去的路由和运营商链路没问题;不通,问题可能出在路由器NAT转发、运营商连接或者光猫上。

第四步,ping 网站的域名,比如example.com。上一步通,这一步不通,说明是DNS解析问题。再用nslookup example.com确认域名能不能被正确解析。

这套顺序的价值在于,它一层一层切割故障范围,每次能排除一整层,不会让你像无头苍蝇一样乱试。

5.3 常见输出信息怎么看

很多人执行命令没问题,但看到输出就发懵。拿ping来说,你要重点关注几个值:time是延迟,数字越低越好;丢包率是重要指标,局域网里丢包率应为0%,有丢包基本说明链路不稳;TTL则能粗略判断目标系统类型和经过的中转数量,但没有一个固定标准,只能作为参考。

tracert输出里,每一行代表一跳,包含节点地址和对应的三次延迟。你平时看tracert,要留意的是“延迟断层”——如果某个节点之后延迟突然大幅上升,往往说明数据从你所在的网络段进入了对端网络,或者经过了一个比较繁忙的中转设备。当然节点回应慢,并不一定代表真正路径拥堵,因为有些路由器故意不回应,这是正常的。

ipconfig输出里,重点是IPv4地址、子网掩码、默认网关、DNS服务器这几项。如果你发现IP地址是169.254开头的,说明设备没有成功从DHCP拿到地址,多半是服务器没开、网线没接好或者服务异常,这种地址无法正常上网,排查方向集中在局域网接入。

6. 新手常见误区与经验总结

6.1 五个高频误区

第一个误区,把网速慢直接等同于路由器坏或者被蹭网。实际上网速慢的主力原因经常是Wi-Fi信号干扰、光猫性能差、运营商线路不稳定。先ping一下网关和外网对比延迟,比盲目重启设备更有效。

第二个误区,以为Wi-Fi满格就等于信号质量好。信号强度只是链路的一部分,干扰、频宽、终端协商速率都会影响实际体验。旁边邻居开一堆无线网络,你的信号再满也会卡。

第三个误区,网速100兆和1000兆分不清。这里有个现实经验:很多人买的套餐是千兆,测试下载只有几百兆,就觉得自己被坑了。其实还要看网线、光猫、路由器端口是否都支持千兆,以及测速服务器是否给力。所有环节全部达标,才能达到标称速率。

第四个误区,把所有内容都留在路由器默认配置上。不少家用路由器默认的DNS是自动获取的,有时候会因为运营商DNS出问题,导致部分网站解析失败。这种情况下可以试着把DNS改成公共DNS,通常能解决。

第五个误区,认为IP冲突只发生在手动配置时。DHCP配置不合理也可能导致冲突,尤其是你手动给某个设备设了固定地址,却没有在DHCP地址池里排除它。设备一多,冲突是必然的。

6.2 给初学者的一点建议

学网络基础,性价比最高的做法是搭一个能动手的实验环境,哪怕只有一台路由器、两台电脑也行。你可以做这些事:手动设置静态IP,看看不设网关时跨网段是否不通;从地址池外手动分配IP,触发冲突;打开路由器后台,关掉DHCP再观察设备获取地址的情况。这些动作看起来很简单,但是亲手操作一遍,比背十遍课本都管用。

我个人目前在家里的实验环境,就是一台普通路由器和一台刷了开源系统的软路由并联,分别扮演不同角色。折腾的最初阶段确实踩了不少坑,但正是那些报错和排查过程,让我把IP、掩码、网关这些基础概念彻底揉碎了吸收掉。比如有一次我发现两台设备不能互访,反复检查IP和掩码都没问题,最后发现是交换机的VLAN默认配置不一致,这让我回过去把链路层的知识重新看了一遍。

网络基础和别的技术不一样,它几乎是纯结构化的知识。只要框架搭起来,后续学VLAN、学路由协议、学抓包分析,都是在填空。先掌握这篇里的分层概念、三大件和排查顺序,就已经超过了不少“久病成医”的老用户。这也是网络基础系列的第一篇,后面的文章我打算聊聊交换与VLAN、更深入的路由与抓包实战,最近实践里攒了不少案例,到时候一并整理出来。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进