网络基础扫盲:子网掩码、网关、端口、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把它换算成二进制text255.255.255.0 ↓ 11111111 . 11111111 . 11111111 . 00000000规律子网掩码的二进制里1表示网络位0表示主机位1必须是连续的0也必须是连续的1.4 把IP地址和子网掩码放在一起看举个例子IP地址192.168.1.101子网掩码255.255.255.0第一步把两个都转成二进制textIP地址 11000000 . 10101000 . 00000001 . 01100101 子网掩码 11111111 . 11111111 . 11111111 . 00000000第二步子网掩码为1的部分是网络位为0的部分是主机位text网络位前24位 → 192.168.1 主机位后8位 → 101第三步得出网络号网络号 IP地址的二进制的网络位部分主机位全部填0text网络号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同一个局域网电脑A192.168.1.101/24 → 网络号192.168.1.0电脑B192.168.1.200/24 → 网络号192.168.1.0结论同一个局域网可以直接通信例子2不同局域网电脑A192.168.1.101/24 → 网络号192.168.1.0电脑C192.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约65534255.255.255.0/24254255.255.255.128/25126255.255.255.192/2662255.255.255.224/2730255.255.255.240/2814255.255.255.248/296255.255.255.252/302为什么/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可用IP192.168.1.255广播地址不能用1.7 怎么查看自己的子网掩码Windowscmdipconfig找到“子网掩码”一行。Mac/Linuxbashifconfig或baship 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第一步判断目标在不在同一网络你的IP192.168.1.101/24网络号192.168.1.0百度IP110.242.68.66网络号不同结论不同网络需要经过网关第二步找网关的MAC地址电脑检查ARP缓存有没有192.168.1.1对应的MAC地址如果没有发送ARP请求广播“谁有192.168.1.1的MAC地址”网关回复“我的MAC地址是00:11:22:33:44:55”第三步把数据包发给网关数据包里写源IP192.168.1.101目标IP110.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 怎么查看网关Windowscmdipconfig找到“默认网关”一行。Mac/Linuxbashroute -n或bashnetstat -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/21FTP文件传输22SSH安全远程登录Linux/网络设备23Telnet远程登录明文不安全25SMTP发送邮件53DNS域名解析67/68DHCP自动获取IP地址80HTTP普通网页访问110POP3接收邮件旧143IMAP接收邮件新443HTTPS加密网页访问3306MySQLMySQL数据库3389RDPWindows远程桌面5432PostgreSQLPostgreSQL数据库6379RedisRedis缓存数据库8080HTTP代理备用网页端口常用于Tomcat等3.5 端口是怎么分配的服务端知名端口需要固定。例如一个Web服务器需要把80端口和443端口固定对外开放这样才能让外面的人通过http://网站地址访问客户端动态端口是临时分配的。例如你的浏览器访问百度操作系统给它分配一个临时端口比如54321百度返回数据时目标端口就是54321浏览器关闭后这个端口就被释放了3.6 怎么查看端口占用Windowscmdnetstat -an查看所有端口连接状态。cmdnetstat -an | findstr 80查看特定端口如80。Mac/Linuxbashnetstat -an | grep LISTEN查看正在监听的端口。bashlsof -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:5E00-1A-2B-3C-4D-5E001A.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地址Windowscmdipconfig /all找到“物理地址”一行。Mac/Linuxbashifconfig找到“ether”一行。4.7 新手常见误区误区正确理解MAC地址是全球唯一理论上是的但可以手动修改MAC欺骗MAC地址不能改软件层面可以修改但烧录在硬件里的原值改不了有了IP就不需要MAC局域网内通信必须依赖MAC地址MAC地址可以路由不能路由器只转发IP包MAC地址只在同一网段有效五、VLAN5.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 10Trunk口举例两个交换机之间的连接口设置为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 10192.168.10.0/24研发部VLAN 20192.168.20.0/24销售部VLAN 30192.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 -anMAC地址网卡的“出厂身份证”局域网内唯一标识ipconfig /all / ifconfigVLAN在同一台交换机上切出多个隔离的网络减少广播、隔离安全域show vlan交换机命令七、一个完整的例子串起来把你的电脑192.168.1.101/24网关192.168.1.1访问百度110.242.68.66的过程用这五个概念串起来步骤发生的事情涉及的概念1检查目标IP和子网掩码判断百度不在同一网络子网掩码2决定把数据发给默认网关网关3发送ARP请求找网关的MAC地址MAC地址、ARP4封装数据帧目标MAC是网关的MACMAC地址5网关收到数据解封装查路由表网关6网关做NAT转换把源IP换成公网IPNAT本文未展开7数据发到互联网百度返回回复——8网关收到回复还原目标IP——9网关查ARP表找到你的MAC地址发给你MAC地址10你的浏览器收到数据浏览器用的是动态端口端口如果是企业网络在交换机层面还会涉及VLAN你的电脑接在交换机的某个Access口属于VLAN 10网关路由器的接口是Trunk口允许VLAN 10通过八、写在最后这五个概念是网络知识的基础也是很多人刚接触网络时最困惑的地方。概念核心要点子网掩码划分网络边界告诉设备“你在哪个小区”网关跨网络的出口告诉设备“怎么走出小区”端口找到正确的程序告诉设备“快递送到哪一户”MAC地址局域网内的物理标识告诉交换机“数据给谁”VLAN逻辑隔离网络告诉交换机“哪些人在一个办公室”理解了它们你就有了阅读更深入网络知识的基础。