☰
网络基础大汇总:从IP、子网、VLAN到DNS排障的实战主线
2026/10/10 2:29:09 网站建设 项目流程

说到“网络基础大汇总”,总有人觉得这就是把七层模型、IP地址、路由器这些名词背一遍。但工作久了你会发现,真正值钱的不是背下协议栈,而是遇到“突然连不上”“延迟忽高忽低”“跨网段访问失败”的时候,能快速判断问题出在哪一层、哪一跳、哪一个配置上。这份汇总就是冲着这个目标来的:把网络最常见的知识点串成一条排障和规划都能用的主线,配合真实项目里验证过的操作细节,给刚入门的人建立框架,给干过一两年的人补上容易被漏掉的盲区。

1. 为什么需要一份网络基础大汇总

1.1 基础不缺,缺的是体系

很多开发者和运维手里都攒了一堆碎片知识:知道IP地址分ABCDE类,知道网关要填路由器地址,但让ta解释一下VLAN和子网掩码是什么关系,就开始含糊了。我自己的体会是,网络基础最大的难点不是某一个概念难懂,而是知识点之间是强耦合的:你配IP时不懂掩码,后面做路由汇总就会算错;你不理解DNS的递归和迭代,排查域名解析慢就只会重启DNS服务。

所以这份汇总的重点不是把百科搬过来,而是把“地址规划—二层转发—三层路由—域名解析—故障排查”这条主链讲透。每一块内容我都会尽量说明“为什么这么做”,而不是只列配置命令。比如为什么私网地址要选10、172.16、192.168这几个段,为什么交换机划分VLAN后网关要放在三层设备上——搞清楚这些,你才能从“照着文档敲”变成“自己会设计”。

1.2 学网络基础之前要绕开的几个坑

第一个坑是死记OSI七层。七层模型的价值在于分层排障,不是让你考试默写。实际用得最多的是“哪一层负责什么、常见故障出现在哪一层”的判断能力。比如网页打不开,要先看DNS解析通不通(应用层往下),再看TCP连接建没建(传输层),然后看ICMP能不能通(网络层),最后看网线链路状态(物理层)。这种思路比记住“表示层是做什么的”有用得多。

第二个坑是过度依赖图形化工具。新手习惯在路由器后台点来点去,却不会用命令行看一眼路由表。图形界面能帮你完成70%的家用配置,但一旦遇到命令行网络设备或不带界面的云主机,你就完全断了手脚。后面第6章我会把最常用的几条命令逐一拆开讲,这些都是可以跟着敲的。

第三个坑是不做记录。网络问题往往是一次性的,今天通了明天又断,如果不记录当时的拓扑、IP和配置变更,排查起来就像大海捞针。我习惯每排一个故障就在笔记里写清“现象—猜测—验证—最终原因”,不到半年,这份记录就会变成你自己的故障字典。

2. 网络模型:七层和四层怎么对应

2.1 协议栈不是考试题,是排障地图

把OSI七层模型和TCP/IP四层模型放在一起看,很多初学的人会晕。实际上你只需要记住一个映射关系:OSI的物理层、数据链路层对应TCP/IP的网络接口层,网络层对应网络层,传输层对应传输层,会话层、表示层、应用层统一对应应用层。真正在报文里能看到的东西,绝大部分集中在数据链路层、网络层、传输层和应用层。

我在排查时最常用的分法是这样:先问“这个包是不是到了对端网卡”,这是物理层和数据链路层的事;再问“路由能不能把包送到目标网段”,这是网络层的事;放到进程通信就是端口和连接状态,这是传输层的事;最后浏览器、DNS、HTTP这些都属于应用层。每一次ping不通、访问超时,套这个顺序就能把范围缩小一大半。

2.2 各层关键协议和实际落点

一层一层来看。物理层就是网线、光模块、Wi-Fi信号,对应设备上的Link灯、接口速率。数据链路层的核心是以太网和MAC地址,交换机在这个层工作,承载的协议主要是ARP(把IP解析成MAC)。网络层的核心是IP和路由,路由器在这里工作,ICMP也属于这一层的辅助协议,ping和traceroute靠的就是它。传输层是TCP和UDP,TCP管可靠连接,UDP管实时传输,端口号在这一层登场。应用层则是HTTP、HTTPS、DNS、DHCP这类你每天都在用的东西。

这里有一个特别容易被忽略的对应:你在本机命令行里看到一条路由,它决定的是“网络层怎么走”;但你打开浏览器输入地址,最先用的是“应用层的DNS”,然后才轮到IP寻址。所以如果DNS配置错了,你用IP能访问、用域名访问不了,问题一定在DNS而不是路由。这就是分层的意义:它不是抽象概念,它就是一张排障地图。

3. 地址规划:IP、子网、CIDR是根

3.1 IPv4地址分类与私有地址

IPv4地址32位,通常写成四个十进制数。最早按首位bit分成A/B/C/D/E类,但现在真正规划时已经很少按分类玩了,大家都是用CIDR(无类别域间路由)来划分。不过你还是要懂私有地址三段:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。它们可以在局域网内随便用,出了公网路由器不认。企业内部一般选10段或172段,家用路由器默认192.168段,原因很简单:大网段容量大、地址好规划,家用没那么多设备,用C类地址最省事。

我见过一个小型办公室的所有设备被塞进192.168.1.0/24,不到3年就满了。后来改成把PC、打印机、监控、访客Wi-Fi分别划分到不同VLAN,每个VLAN一个子网,瞬间清爽。规划时别贪方便全堆一个网段,预留一些以后要扩容的段,比后面重新分配节省太多时间。

3.2 子网掩码和CIDR换算实战

子网掩码的作用是区分网络位和主机位。拿192.168.1.0/24来说,/24的意思是前24位是网络位,换算成掩码就是255.255.255.0,这个网段里可用的主机IP是192.168.1.1到192.168.1.254,其中192.168.1.0是网络地址,192.168.1.255是广播地址。很多人配置时会把255.255.255.0写错成255.255.0.0,结果本应该跨网段通信的两个设备莫名其妙变成了“直连”,这就是掩码不一致导致的。

实际换算里经常要计算“一个/28能容纳几台主机”。公式是2的(32-前缀长度)次方减2,/28就是2的4次方减2等于14。如果前面是/30,那就只有2个可用主机地址,适合做点对点链路。我在配置服务器之间的专线路由时,最常用/30,地址不浪费,下一跳也清楚。

3.3 IPv6基本概念和缩写规则

IPv6地址128位,因为太长所以用冒号分隔成八组十六进制。常见的缩写规则有三条:每组前导的0可以省略;连续的全0组可以用双冒号替代一次;双冒号只能出现一次。举个例子,fe80:0000:0000:0000:0001:0000:0000:000a可以写成fe80::1:0:0:a,但不能写成fe80::1::a,因为双冒号用了两次会产生二义性。

IPv6让地址规划省心很多,但也会带来新坑:很多网卡默认同时有IPv4和IPv6地址,如果DNS返回的是IPv6地址而链路本身不支持v6,就会出现“域名解析正常却连不上”的诡异现象。排查时先看看本机IPv6地址是不是有效,不行就在应用层临时禁用IPv6试试,很多莫名卡顿其实是v6隧道惹的祸。

4. 路由与交换:数据包怎么走到对端

4.1 交换机是门卫,路由器是邮局分拣中心

二层交换机和三层路由器的核心差别是工作层次不同。交换机看MAC地址,把数据帧从收到它的端口转发到目标MAC所在端口;路由器看IP地址,根据路由表决定“去往目标网段应该从哪个接口出去并交给下一跳”。打个比方,交换机就像一个门卫,只认人(MAC),知道每个人住在哪个房间,直接把人带过去;路由器则是邮局分拣中心,它不看具体人,只看收件地址(IP),然后把包裹按片区丢给对应的下一级分拣点。

实际环境里,同一广播域内的通信(比如同网段两台电脑互传文件)只靠交换机就行;跨网段通信必须经过网关路由器。这就解释了一个高频故障:两台电脑IP在同一个网段但掩码配置不一致,导致交换机认为它们属于不同广播域,直接互相不通。这就是基础知识缺失在真实排障里的代价。

4.2 VLAN:把一个物理网切成逻辑网

VLAN解决的是“隔离”和“管理”问题。比如办公室里有财务和开发两个部门,不希望财务的广播包满天飞也不希望互相直接访问,就可以在同一台物理交换机上划分两个VLAN。VLAN之间默认不相通,要想通信必须经过三层接口,也就是所谓的“VLAN间路由”。通常做法是交换机上联到路由器/三层交换机,在路由器接口上配置子接口或者直接给VLAN配IP地址做网关。

配置VLAN时最容易踩的坑是“access口”和“trunk口”搞混。连接终端的口一般用access,带VLAN标签发出去;交换机之间的级联口或交换机和路由器之间的链路用trunk,允许一张物理链路承载多个VLAN。如果某天我接了一台新交换机后,某些VLAN通了、某些不通,第一反应就是看trunk允许的VLAN列表,多半是漏配了。

4.3 静态路由和动态路由怎么选

小型网络通常用静态路由,管理员手工写死“目标网段、掩码、下一跳”,比如去往192.168.20.0/24的流量送到192.168.10.2。优点是开销小、稳定可控,缺点是拓扑一变就要改配置。动态路由协议让设备之间自己交换路由信息,常用的有OSPF、BGP等。OSPF适合企业内部多区域路由,BGP多用于大型网络或运营商之间。

我们自己做实验或维护小公司网络时,优先用静态路由。原因很简单:节点少、路径固定,手写几行路由比配OSPF快得多,排查时看一眼路由表就知道流量怎么走。但如果节点超过十几个、链路有冗余和负载均衡,静态路由就会让你疲于奔命,这时候才值得上动态协议。记住,技术选型永远是为维护场景服务的。

5. DNS:互联网的通讯录

5.1 一次完整域名解析的过程

DNS解析就是你输入域名后,系统先看本地缓存,没有缓存就去请求配置的DNS服务器,也就是递归服务器。如果递归服务器有权威记录的缓存,就直接返回;没有,它就替你去问根服务器、顶级域服务器和权威服务器,最后拿到域名对应的IP。这个过程中“递归”和“迭代”是两个概念:客户端到递归服务器是递归,递归服务器一层层问下来是迭代。

企业内网经常有自定义域名解析需求,比如把某个内部系统域名指向内网服务器。这时如果只在核心DNS上加一条A记录,但客户端却用的公共DNS,就会一直跳到公网去解析,结果访问失败。正确的排查思路是用nslookup手动指定你自己的DNS服务器,看看返回的IP是什么,确认是“解析到了错误IP”还是“根本没解析出来”。

5.2 常见DNS故障与排查手段

最常见的DNS症状是“能用IP访问,不能用域名”。这时候先ping一个公网IP试试,如果通,说明网络链路和路由正常,问题就锁定在域名解析。Windows上直接ipconfig /flushdns清本地缓存,再用nslookup 域名 8.8.8.8这种公共DNS对比,如果公共DNS能解析出自己的DNS解析不出来,那就检查内网DNS服务。

还有一种容易被忽视的情况是HTTP的缓存代理或设备本身缓存了旧IP。比如某天服务器换IP后,老客户机还一直用旧IP访问,你排查半天网络没问题,结果刷新一下DNS缓存立刻就通了。所以“先查缓存”这四个字,值得写进每一个排障手册里。

6. 命令行排障:把基础用起来

6.1 ping:第一脚探路

ping是向目标主机发送ICMP回显请求,用来判断“网络能不能通”。能ping通至少说明IP配置、路由、链路是通的,但ping不通不一定代表服务不可用,因为很多服务器防火墙会丢弃ICMP报文。Windows下ping默认发4个包,Linux会一直发,加-c 4限制数量。观察结果时重点看丢包率和延迟:延迟几十毫秒内正常,连续超过100ms就要留意线路质量。

我见过一个荒唐的案例:运维在服务器上把ICMP关了,然后测试方一口咬定“机器挂了”,因为ping不通。其实SSH一点问题都没有。所以用ping做判断时,一定要先确认目标是否允许ICMP,否则很容易得出错误的结论。

6.2 traceroute:找到卡在哪一跳

Windows命令是tracert,Linux是traceroute。它的原理是发送TTL从1开始递增的UDP/ICMP包,每经过一个路由器TTL减1,减到0时该路由器会返回一个超时消息,于是就能看到路径上的每一跳。分析时如果从某一跳开始全是星号,一种可能是该设备不回ICMP超时,另一种可能是确实不通。

我做跨省访问延迟高的问题时,traceroute直接定位到一个交换节点延迟跳变,后来证实是运营商出口线路拥塞。定位路径的关键点是“对比法”:在另一个网络正常的区域同样traceroute目标,看看是否走到了同一跳、同一延迟。如果不一致,问题就可能出在本端或中间的某个特定节点上。

6.3 netstat和端口状态怎么看

netstat可以用来查监听端口和连接状态。Linux里netstat -tlnp能看到所有监听中的TCP端口及对应进程,Windows用netstat -ano,再配合tasklist找PID。如果你发现某服务明明起来了,但外部总连不上,先本地看这个端口是否监听在0.0.0.0上。如果显示127.0.0.1:8080,说明它只监听回环地址,外部肯定无法访问,这一点在调试本地服务时特别常见。

连接状态里还有个经典问题:大量TIME_WAIT。这是TCP连接正常关闭后主动关闭方会经历的状态,2MSL后才会消失。如果系统出现大量TIME_WAIT,通常说明有高并发的短连接,可以通过开启tcp_tw_reuse等参数来优化。但我要提醒你:不要在没理解原理的情况下随手改内核参数,先确认是连接数满还是TIME_WAIT堆积,再对症处理。

7. 常见问题速查与避坑经验

7.1 高频故障定位速查表

我把这些年常见的网络问题整理成一张速查表,排查时先对着现象定位层面,能省不少时间:

现象可能层面首选排查命令/方法
完全无法访问任何网络物理层/数据链路层看网卡Link灯,ipconfig /all查IP
IP能ping通,域名不行应用层DNSnslookup指定DNS,ipconfig /flushdns
同网段不通二层/掩码/交换机端口检查IP掩码,arp -a看MAC
跨网段不通三层路由route print/router 看路由表
端口连不上传输层/防火墙telnet IP 端口,netstat看监听
网页慢但ping很快应用层/拥塞浏览器F12看请求耗时,traceroute
无线间歇断连物理层信号干扰换信道,看Wi-Fi信噪比

这张表不是放之四海皆准,但能帮你把问题从“感觉什么都可能坏”变成“基本确定是哪一块”。排查的顺序永远是物理层、网络层、传输层、应用层,别一上来就怀疑代码和服务器配置。

7.2 我在网络排障里踩过的几个坑

第一个坑是和同事一起排查时忽略了ARP缓存。某次两台机器换了IP,协议配置都对,但怎么都通信不了,后来发现交换机里还能看到旧MAC地址的ARP表项,只有清掉或者等老化才行。那次之后我养成了习惯:遇到IP和MAC变更,第一时间在相关设备上刷新ARP缓存。

第二个坑是盲目改MTU。当时某台服务器上传大文件总是卡住,网络工程师上来就建议把MTU改成1400,结果问题没解决,反而让普通网页访问变慢。后来测了一遍,原来是防火墙策略对某些分片包不放行,跟MTU无关。改网络参数前一定要先抓到证据,不要靠猜。

第三个坑是忘记看“双向”规则。排查一个双机互访延迟时,只看了一台机器的防火墙入方向,结果问题出在另一台机器的出方向。网络设备的安全策略通常是双向的,入方向和出方向都要检查,很多疑难杂症都是单向规则引起来的。

最后一个很实际的经验:无论如何都要把拓扑图画出来。哪怕只是一个小办公室,画一张网线怎么接、VLAN怎么走、路由指到哪的图,排查时间能缩短一半。这张图不用精美,自己能看懂就行。我后来做任何网络规划和排障,第一件事永远是先画拓扑,再动手配设备。这大概是“网络基础大汇总”里最值得你带走的习惯。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询