网络基础扫盲:子网掩码、网关、端口、MAC地址、VLAN,详细讲清楚(小白同学可以看懂版)
写在前面
如果你刚开始接触网络,可能会被一堆术语搞得头晕:
子网掩码是什么?为什么IP地址后面要跟一个/24?
网关是什么?为什么电脑里要填这个地址?
端口是什么?80、443、22这些数字代表什么?
MAC地址和IP地址有什么区别?
VLAN又是什么东西?
这篇文章把这五个概念一次性讲清楚。不绕弯子,从零开始,每个概念都配有生活化的比喻和实际操作命令,希望可以帮你快速理解。
一、子网掩码
1.1 先理解一个问题
给你一个IP地址:192.168.1.101
光看这个数字,你能回答下面两个问题吗?
这个IP属于哪个网络?
这个网络里还有哪些IP?
答案是:不能。因为IP地址本身不包含网络边界的信息。
子网掩码的作用就是告诉你:这个IP地址里,哪部分是网络号,哪部分是主机号。
1.2 用小区地址来理解
想象一个小区:
| 网络概念 | 生活比喻 |
|---|---|
| IP地址 | 小区地址 + 门牌号 |
| 网络号 | 小区地址(哪条街哪个小区) |
| 主机号 | 楼栋号 + 房间号 |
| 子网掩码 | 告诉你“前几位是小区地址,后几位是门牌号” |
同一个小区里的人可以互相串门(局域网内部通信)。不同小区的人要见面,必须经过外面的马路(网关)。
1.3 子网掩码长什么样
子网掩码和IP地址一样,也是用点分十进制表示。最常见的是:
255.255.255.0
把它换算成二进制:
text
255.255.255.0 ↓ 11111111 . 11111111 . 11111111 . 00000000
规律:
子网掩码的二进制里,1表示网络位,0表示主机位
1必须是连续的,0也必须是连续的
1.4 把IP地址和子网掩码放在一起看
举个例子:
IP地址:192.168.1.101
子网掩码:255.255.255.0
第一步:把两个都转成二进制
text
IP地址: 11000000 . 10101000 . 00000001 . 01100101 子网掩码: 11111111 . 11111111 . 11111111 . 00000000
第二步:子网掩码为1的部分是网络位,为0的部分是主机位
text
网络位:前24位 → 192.168.1 主机位:后8位 → 101
第三步:得出网络号
网络号 = IP地址的二进制的网络位部分,主机位全部填0
text
网络号:11000000.10101000.00000001.00000000 → 192.168.1.0
结论:这个IP所在的是局域网是192.168.1.0/24,可用IP范围是192.168.1.1到192.168.1.254。
1.5 如何判断两个IP是否在同一个局域网
方法:计算两个IP的网络号。如果网络号相同,就在同一个局域网。
例子1(同一个局域网):
电脑A:192.168.1.101/24 → 网络号192.168.1.0
电脑B:192.168.1.200/24 → 网络号192.168.1.0
结论:同一个局域网,可以直接通信
例子2(不同局域网):
电脑A:192.168.1.101/24 → 网络号192.168.1.0
电脑C:192.168.2.101/24 → 网络号192.168.2.0
结论:不同局域网,需要通过网关才能通信
1.6 CIDR表示法
/24是255.255.255.0的简写,意思是“前24位是网络位”。
常见写法:
| 完整写法 | CIDR写法 | 可用IP数 |
|---|---|---|
| 255.0.0.0 | /8 | 约1677万 |
| 255.255.0.0 | /16 | 约65534 |
| 255.255.255.0 | /24 | 254 |
| 255.255.255.128 | /25 | 126 |
| 255.255.255.192 | /26 | 62 |
| 255.255.255.224 | /27 | 30 |
| 255.255.255.240 | /28 | 14 |
| 255.255.255.248 | /29 | 6 |
| 255.255.255.252 | /30 | 2 |
为什么/24有254个可用IP,不是256个?
因为每个网段里有两个特殊IP不能分配给设备:
第一个IP:网络号(主机位全0),表示整个网络本身
最后一个IP:广播地址(主机位全1),用于向网段内所有设备发送消息
以192.168.1.0/24为例:
192.168.1.0:网络号,不能用
192.168.1.1 - 192.168.1.254:可用IP
192.168.1.255:广播地址,不能用
1.7 怎么查看自己的子网掩码
Windows:
cmd
ipconfig
找到“子网掩码”一行。
Mac/Linux:
bash
ifconfig
或
bash
ip addr
找到netmask字段。
1.8 新手常见误区
| 误区 | 正确理解 |
|---|---|
| 子网掩码是固定的 | 可以自定义,只要1是连续的 |
| /24就是255.255.255.0 | 只在IPv4中成立,IPv6的/64含义不同 |
| 子网掩码越大越好 | /8适合大型网络,/24适合小型网络 |
二、网关
2.1 先理解一个问题
你的电脑(192.168.1.101)想访问百度(110.242.68.66)。
百度显然不在192.168.1.x这个局域网里。那么,你的电脑怎么把数据发出去?
答案:通过网关。
2.2 用小区大门来理解
| 网络概念 | 生活比喻 |
|---|---|
| 局域网内部通信 | 在小区里串门,不需要出大门 |
| 访问互联网 | 要去小区外面,必须通过大门 |
| 网关 | 小区的大门 |
网关就是“本网络”和“外部网络”之间的那个出口。
2.3 网关到底是什么设备?
网关通常是一台路由器。
它的工作:
知道哪些IP在局域网内(直接转发到对应设备)
知道哪些IP在局域网外(转发到上级网络)
2.4 默认网关是什么意思
你的电脑里有一张“路由表”,记录着“去哪里该走哪条路”。
| 目标网络 | 下一跳 |
|---|---|
| 192.168.1.0/24 | 直接发送(不经过网关) |
| 0.0.0.0/0(其他所有地址) | 默认网关192.168.1.1 |
默认网关的意思是:如果我不知道该往哪走,就往这里走。
大部分家用网络里,默认网关就是你路由器的IP地址,通常是192.168.1.1或192.168.0.1。
2.5 一次完整的访问过程
你的电脑(192.168.1.101)访问百度(110.242.68.66)
第一步:判断目标在不在同一网络
你的IP:192.168.1.101/24,网络号192.168.1.0
百度IP:110.242.68.66,网络号不同
结论:不同网络,需要经过网关
第二步:找网关的MAC地址
电脑检查ARP缓存:有没有192.168.1.1对应的MAC地址?
如果没有,发送ARP请求广播:“谁有192.168.1.1的MAC地址?”
网关回复:“我的MAC地址是00:11:22:33:44:55”
第三步:把数据包发给网关
数据包里写:源IP=192.168.1.101,目标IP=110.242.68.66
数据帧里写:源MAC=你的MAC,目标MAC=网关的MAC
第四步:网关处理
网关收到数据,看到目标IP是110.242.68.66
网关查询自己的路由表,决定从WAN口发出
网关做NAT转换,把源IP换成自己的公网IP
第五步:数据到达互联网,然后回来
百度收到请求,把回复发给网关的公网IP
网关收到回复,查NAT表,还原目标IP为192.168.1.101
网关查ARP表,找到你的MAC地址,把数据发给你
2.6 怎么查看网关
Windows:
cmd
ipconfig
找到“默认网关”一行。
Mac/Linux:
bash
route -n
或
bash
netstat -rn
找到“Gateway”列,目标为0.0.0.0的那一行。
2.7 新手常见误区
| 误区 | 正确理解 |
|---|---|
| 网关只有一个 | 可以有多个,默认网关是默认使用的那个 |
| 没有网关也能上网 | 只能在局域网内通信,无法访问互联网 |
| 网关就是路由器 | 路由器是最常见的网关设备,但不限于路由器 |
三、端口
3.1 先理解一个问题
数据包通过IP地址找到了你的电脑。
但你的电脑上同时运行着:浏览器、微信、QQ、网易云音乐……
这个数据包应该交给哪个程序?
答案:通过端口。
3.2 用大楼和门牌号来理解
| 网络概念 | 生活比喻 |
|---|---|
| IP地址 | 整栋大楼的地址 |
| 端口 | 大楼里的门牌号 |
| 数据包 | 快递 |
快递员通过“大楼地址”找到这栋楼,通过“门牌号”找到具体是哪一户。
同样的道理:数据包通过“IP地址”找到你的电脑,通过“端口号”找到是哪个程序。
3.3 端口号的范围
端口号是一个16位的数字,范围是0到65535。
| 范围 | 分类 | 说明 |
|---|---|---|
| 0-1023 | 知名端口(系统端口) | 系统保留,给常见服务使用 |
| 1024-49151 | 注册端口 | 给应用程序使用 |
| 49152-65535 | 动态端口(私有端口) | 临时分配,用完就释放 |
3.4 常见的知名端口
| 端口 | 协议 | 用途 |
|---|---|---|
| 20/21 | FTP | 文件传输 |
| 22 | SSH | 安全远程登录(Linux/网络设备) |
| 23 | Telnet | 远程登录(明文,不安全) |
| 25 | SMTP | 发送邮件 |
| 53 | DNS | 域名解析 |
| 67/68 | DHCP | 自动获取IP地址 |
| 80 | HTTP | 普通网页访问 |
| 110 | POP3 | 接收邮件(旧) |
| 143 | IMAP | 接收邮件(新) |
| 443 | HTTPS | 加密网页访问 |
| 3306 | MySQL | MySQL数据库 |
| 3389 | RDP | Windows远程桌面 |
| 5432 | PostgreSQL | PostgreSQL数据库 |
| 6379 | Redis | Redis缓存数据库 |
| 8080 | HTTP代理 | 备用网页端口,常用于Tomcat等 |
3.5 端口是怎么分配的
服务端:知名端口需要固定。
例如:
一个Web服务器,需要把80端口和443端口固定对外开放
这样才能让外面的人通过http://网站地址访问
客户端:动态端口是临时分配的。
例如:
你的浏览器访问百度,操作系统给它分配一个临时端口(比如54321)
百度返回数据时,目标端口就是54321
浏览器关闭后,这个端口就被释放了
3.6 怎么查看端口占用
Windows:
cmd
netstat -an
查看所有端口连接状态。
cmd
netstat -an | findstr "80"
查看特定端口(如80)。
Mac/Linux:
bash
netstat -an | grep LISTEN
查看正在监听的端口。
bash
lsof -i :80
查看哪个程序占用了80端口。
3.7 新手常见误区
| 误区 | 正确理解 |
|---|---|
| 端口是物理接口 | 端口是逻辑概念,不是电脑上的物理插孔 |
| 端口号可以随便用 | 0-1023需要管理员权限,一般应用用1024以上 |
| 一个端口只能一个程序用 | 正确,同一时间一个端口只能被一个程序绑定 |
四、MAC地址
4.1 先理解一个问题
你的电脑和另一台电脑在同一个交换机下面。它们知道对方的IP地址。
但是,交换机不认识IP地址。交换机只认MAC地址。
那么,怎么根据IP地址找到对方的MAC地址?
这个问题引出了ARP协议。但也说明了一件事:MAC地址是局域网通信中真正起作用的地址。
4.2 用身份证来理解
| 网络概念 | 生活比喻 |
|---|---|
| IP地址 | 你的家庭住址(可以搬家) |
| MAC地址 | 你的身份证号码(一辈子不变) |
IP地址是逻辑地址,可以改变。换一个网络,IP就变了。
MAC地址是物理地址,出厂时就烧录在网卡上了,理论上全球唯一,终身不变。
4.3 MAC地址长什么样
MAC地址是48位的,通常写成12位十六进制数。
常见格式:
00:1A:2B:3C:4D:5E
00-1A-2B-3C-4D-5E
001A.2B3C.4D5E
结构:
前24位:厂商编号(OUI),由IEEE分配给网卡厂商
后24位:设备编号,由厂商自己分配
例如:00:1A:2B是某家厂商的编号,只要看到前三位是00:1A:2B,就知道这块网卡是这家厂商生产的。
4.4 IP和MAC的核心区别
| 维度 | IP地址 | MAC地址 |
|---|---|---|
| 作用 | 逻辑定位,能找到你人在哪里 | 物理标识,能确认你是谁 |
| 可变性 | 可以改(手动改或换网络) | 不可改(出厂烧录) |
| 层级 | 网络层(第三层) | 数据链路层(第二层) |
| 通信范围 | 跨网络(整个互联网) | 只在同一个局域网内有效 |
| 分配方式 | 手动配置或DHCP自动分配 | 厂商出厂时烧录 |
4.5 为什么需要MAC地址
同一个局域网内,设备的通信靠的是MAC地址,不是IP地址。
流程是这样的:
你知道对方的IP地址(比如192.168.1.102)
你的电脑发送ARP请求:“谁有192.168.1.102?请告诉我你的MAC地址”
对方的电脑回复:“192.168.1.102是我,我的MAC地址是00:1A:2B:3C:4D:5E”
你的电脑把MAC地址记下来,然后把数据帧发到那个MAC地址
交换机收到数据帧,只看MAC地址,不看IP地址。
4.6 怎么查看MAC地址
Windows:
cmd
ipconfig /all
找到“物理地址”一行。
Mac/Linux:
bash
ifconfig
找到“ether”一行。
4.7 新手常见误区
| 误区 | 正确理解 |
|---|---|
| MAC地址是全球唯一 | 理论上是的,但可以手动修改(MAC欺骗) |
| MAC地址不能改 | 软件层面可以修改,但烧录在硬件里的原值改不了 |
| 有了IP就不需要MAC | 局域网内通信必须依赖MAC地址 |
| MAC地址可以路由 | 不能,路由器只转发IP包,MAC地址只在同一网段有效 |
五、VLAN
5.1 先理解一个问题
假设你有一台48口的交换机。财务部占了10个口,人事部占了10个口,剩下的是其他部门。
你不希望财务部和人事部的人互相看到对方的网络流量。怎么做?
方案一:买两台独立的交换机。财务部一台,人事部一台。(贵,浪费)
方案二:在同一台交换机上做VLAN。财务部在一个VLAN里,人事部在另一个VLAN里。(省钱,灵活)
VLAN就是在同一个物理交换机上,切出多个逻辑隔离的网络。
5.2 用办公楼来理解
| 网络概念 | 生活比喻 |
|---|---|
| 物理交换机 | 一栋办公楼 |
| VLAN | 在办公楼里砌墙,隔成独立的办公室 |
| 不同VLAN不能直接通信 | 不同办公室的人不能直接串门(需要经过走廊,即路由器) |
5.3 为什么需要VLAN
原因一:减少广播域
没有VLAN:所有设备在同一个广播域。广播包(比如ARP请求)会发给所有人。设备越多,广播包越多,网络效率越低。
有VLAN:每个VLAN是一个独立的广播域。广播包只在VLAN内部传播,不影响其他VLAN。
原因二:隔离安全域
财务部和访客网络不应该在同一个广播域里。VLAN可以实现逻辑隔离,而不需要多买交换机。
原因三:简化运维
通过一个交换机就可以实现部门隔离。
例如:
研发部:VLAN 10,网段192.168.10.0/24
销售部:VLAN 20,网段192.168.20.0/24
行政部:VLAN 30,网段192.168.30.0/24
新增员工时,只需要把端口加入到对应VLAN,不需要重新布线。
5.4 交换机端口的两种模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| Access口 | 只属于一个VLAN,不带VLAN标签 | 连接普通电脑、打印机 |
| Trunk口 | 允许多个VLAN通过,带VLAN标签 | 连接交换机、路由器 |
Access口举例:
把交换机的1号口设置为Access模式,VLAN 10
财务部电脑插在1号口,自动进入VLAN 10
Trunk口举例:
两个交换机之间的连接口,设置为Trunk模式
允许VLAN 10和VLAN 20通过
数据包通过时,会打上标签,告诉对方“我是VLAN 10的”
5.5 同一个VLAN内怎么通信
两台电脑在同一个VLAN里,即使插在不同交换机上,也能直接通信(只要交换机之间的Trunk配置正确)。
例如:
交换机A的1号口(VLAN 10)→ 电脑A
交换机B的2号口(VLAN 10)→ 电脑B
交换机A和B之间的Trunk口允许VLAN 10通过
电脑A和电脑B可以互相通信,就像在同一台交换机上一样。
5.6 不同VLAN之间怎么通信
不同VLAN之间不能直接通信。需要经过路由器(或三层交换机)做路由转发。
例如:
VLAN 10(财务部)要访问VLAN 20(人事部)的打印机
数据先从VLAN 10发到路由器
路由器查路由表,发现VLAN 20的网段
路由器把数据转发到VLAN 20
这个过程叫“VLAN间路由”。
5.7 VLAN与子网的关系
通常一个VLAN对应一个子网。
| VLAN | 子网 | 用途 |
|---|---|---|
| VLAN 10 | 192.168.10.0/24 | 研发部 |
| VLAN 20 | 192.168.20.0/24 | 销售部 |
| VLAN 30 | 192.168.30.0/24 | 管理网 |
子网和VLAN一一对应,便于管理和排障。
5.8 小企业和家庭需要VLAN吗
| 场景 | 是否需要 | 说明 |
|---|---|---|
| 家庭(1-10人) | 通常不需要 | 设备少,广播域小,没必要 |
| 小型办公室(10-30人) | 可选 | 如果需要隔离访客WiFi,可以考虑 |
| 中型企业(30-100人) | 需要 | 部门隔离、安全要求 |
| 大型企业(100人以上) | 必须 | 这是基础能力,没有VLAN网络无法管理 |
5.9 新手常见误区
| 误区 | 正确理解 |
|---|---|
| VLAN越多越好 | VLAN太多会增加管理复杂度 |
| 不同VLAN可以自动通信 | 不能,需要路由器转发 |
| 配了VLAN就不怕环路 | VLAN不解决环路问题,需要STP协议 |
| VLAN是安全隔离 | 是的,但不是绝对安全,仍有VLAN跳跃攻击风险 |
六、总结对照表
| 概念 | 一句话解释 | 核心作用 | 怎么查看 |
|---|---|---|---|
| 子网掩码 | 告诉设备“网络号是哪一段,主机号是哪一段” | 划分网络边界 | ipconfig / ifconfig |
| 网关 | 不同网络之间的“大门” | 跨网络通信 | ipconfig / route -n |
| 端口 | 找到“哪个程序” | 区分同一台电脑上的不同服务 | netstat -an |
| MAC地址 | 网卡的“出厂身份证” | 局域网内唯一标识 | ipconfig /all / ifconfig |
| VLAN | 在同一台交换机上切出多个隔离的网络 | 减少广播、隔离安全域 | show vlan(交换机命令) |
七、一个完整的例子串起来
把你的电脑(192.168.1.101/24,网关192.168.1.1)访问百度(110.242.68.66)的过程,用这五个概念串起来:
| 步骤 | 发生的事情 | 涉及的概念 |
|---|---|---|
| 1 | 检查目标IP和子网掩码,判断百度不在同一网络 | 子网掩码 |
| 2 | 决定把数据发给默认网关 | 网关 |
| 3 | 发送ARP请求,找网关的MAC地址 | MAC地址、ARP |
| 4 | 封装数据帧,目标MAC是网关的MAC | MAC地址 |
| 5 | 网关收到数据,解封装,查路由表 | 网关 |
| 6 | 网关做NAT转换,把源IP换成公网IP | (NAT,本文未展开) |
| 7 | 数据发到互联网,百度返回回复 | —— |
| 8 | 网关收到回复,还原目标IP | —— |
| 9 | 网关查ARP表,找到你的MAC地址,发给你 | MAC地址 |
| 10 | 你的浏览器收到数据,浏览器用的是动态端口 | 端口 |
如果是企业网络,在交换机层面还会涉及VLAN:
你的电脑接在交换机的某个Access口,属于VLAN 10
网关(路由器)的接口是Trunk口,允许VLAN 10通过
八、写在最后
这五个概念是网络知识的基础,也是很多人刚接触网络时最困惑的地方。
| 概念 | 核心要点 |
|---|---|
| 子网掩码 | 划分网络边界,告诉设备“你在哪个小区” |
| 网关 | 跨网络的出口,告诉设备“怎么走出小区” |
| 端口 | 找到正确的程序,告诉设备“快递送到哪一户” |
| MAC地址 | 局域网内的物理标识,告诉交换机“数据给谁” |
| VLAN | 逻辑隔离网络,告诉交换机“哪些人在一个办公室” |
理解了它们,你就有了阅读更深入网络知识的基础。
