02-局域网技术与网络互联
学习目标
- [ ] 熟悉局域网相关的概念和数据传输特点;
- [ ] 理解二层交换机和三层交换机的区别;
- [ ] 熟练配置VLAN实现部门间网络隔离;
- [ ] 理解Access端口和Trunk端口的联系和区别;
- [ ] 理解MAC和IP的作用;
- [ ] 理解IP地址分类、子网掩码相关概念;
- [ ] 了解子网划分等相关方法。
局域网技术
范围划分
根据地理覆盖范围和技术特性,计算机网络可划分为
局域网(Local Area Network,LAN);
城域网(Metropolitan Area Network,MAN);
广域网(Wide Area Network,WAN)
三大核心类型。

☆ 局域网(LAN)
局域网是指在某一局部地理范围内(如办公室、教学楼、企业厂区等,通常覆盖范围不超过10公里),将多台计算机、终端设备和网络设备通过通信线路连接而成的封闭网络。
典型应用场景:企业内部办公网络、校园机房网络、家庭无线网络等。
☆ 城域网(MAN)
城域网是覆盖整个城市或城市中某一区域(如高新区、商务区)的网络,地理覆盖范围通常为10-100公里,是连接多个局域网与广域网的中间层级。
典型应用场景:城市政务网、电信运营商的城域骨干网、高校跨校区互联网络等。
☆ 广域网(WAN)
广域网是覆盖范围跨越国家、地区甚至全球的网络,地理覆盖范围超过100公里,是实现远距离数据通信的核心基础设施。
典型应用场景:互联网(全球最大的广域网)、企业跨国分支互联网络、国家间的政务通信网络等。
核心技术
在局域网领域,以太网(Ethernet)是绝对的主流技术,占据了超过90%的局域网市场份额。
以太网技术经过数十年的发展,从最初的10Mbps速率演进到了如今的400Gbps。
以太 “以太”一词源于英文 Ether 或 Aether 的音译。此概念可追溯至古希腊哲学家亚里士多德,他设想了一种存在于月球之上、构成天体神圣领域的第五元素,有别于地球上的水、火、气、土四种元素。 在古希腊思想中,以太常被用来指代青天或上层大气。 19世纪的物理学家(包括牛顿)一直认为,以太是电磁波的传播媒质。
1983年:IEEE 802.3标准确立,定义了10Mbps以太网,采用同轴电缆传输。
1995年:快速以太网(Fast Ethernet)标准出台,速率提升至100Mbps,采用双绞线传输。
1999年:千兆以太网(Gigabit Ethernet)标准发布,速率达1Gbps,支持光纤和双绞线传输。
2002年及以后:10Gbps、40Gbps、100Gbps甚至400Gbps以太网相继商用,满足大数据场景的高速传输需求。
数据传输
以太网中,数据的传输以“帧”为基本单元,完整的以太网帧由前导码、帧起始定界符、目的MAC地址、源MAC地址、类型/长度字段、数据字段、帧校验序列(FCS)7个部分组成。
我们核心介绍以下四个:
- 目的MAC地址(6字节):接收设备的物理地址,用于标识数据的接收方,可分为单播地址(指向单个设备)、组播地址(指向一组设备)和广播地址(指向所有设备,全为“FF”)。
- 源MAC地址(6字节):发送设备的物理地址,用于标识数据的发送方。
- 数据字段(46-1500字节):承载上层协议的数据(如IP数据包),最小长度为46字节(不足时自动填充),最大长度为1500字节(即以太网的MTU值)。
- 帧校验序列(FCS,4字节):采用CRC(循环冗余校验)算法计算得出,用于接收方校验帧在传输过程中是否发生错误,若校验失败则丢弃该帧。

交换机
基本概念
二层交换机是局域网的核心连接设备,工作在OSI参考模型的第二层(数据链路层),其核心功能是根据帧的MAC地址实现数据的快速转发,同时隔离冲突域,提升局域网的通信效率。

核心特性
- 隔离冲突域:集线器属于共享设备,所有端口共享同一传输介质,属于一个冲突域;而二层交换机的每个端口都是一个独立的冲突域,端口间的通信相互隔离,仅当两个设备通过同一端口通信时才可能产生冲突。
- 基于MAC地址转发:交换机通过学习帧的源MAC地址构建MAC地址表,再根据目的MAC地址查询地址表,将数据帧转发到指定端口,避免了集线器的“广播风暴”问题。
- 全双工通信:支持全双工模式,每个端口可同时发送和接收数据,理论上传输速率可翻倍(如1Gbps端口全双工模式下,实际吞吐量可达2Gbps)。
二层交换机 vs 三层交换机
随着交换机技术和路由器技术的发展,除了常见的二层交换机基于MAC地址转发数据,还出现了三层交换机。
后者是基于IP地址转发数据。
<sheet sheet-id="kVrKn4" token="M2pKsW2OOh1kwhtjLDnc1jdIn0u"></sheet>
通俗来说,三层交换机,就是带有路由功能的交换机。
[实验1] 构建小型办公室网络
核心技能
交换机基本操作、MAC地址表学习、广播域特性
学习目标
掌握交换机在局域网中的作用,理解其数据转发原理
操作步骤
实验目的:掌握交换机的接入与数据转发机制,理解MAC地址表的动态学习过程。
步骤1:拓扑搭建
从“Switches”拖拽1台“Cisco 2960-24TT”交换机,3台PC分别命名为PC-行政1、PC-行政2、PC-行政3;选择“Copper Straight-Through”(直通线),连接所有PC的FastEthernet0接口到交换机的FastEthernet0/1-0/3接口


配置每台PC的IP



步骤2:设备初始化
1. 点击交换机→“Config”标签,确认“Hostname”设为“SW-Xingzhengbu”,默认VLAN 1已启用,无需额外配置

步骤3:MAC地址表观察
未通信时查看,右键SW-行政部→“Command Line”,输入“enable”(进入特权模式),再输入“show mac-address-table”,可见仅交换机自身VLAN 1的MAC地址(动态表为空);

触发通信,PC-行政1 ping PC-行政2(192.168.1.3),成功后

再次执行
SW-Xingzhengbu# show mac-address-table注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
步骤4:验证测试
PC-行政1执行“ping 192.168.1.255”(本网段广播地址)

同时打开PC-行政2、3的命令提示符,观察是否均接收“Request”请求(用“arp -a”可查看广播获取的MAC)

总结
1. 交换机核心作用:基于MAC地址表进行“单播转发”,未学习到MAC时会广播;
2. 广播域特性:默认所有端口属于VLAN 1,处于同一广播域,广播包会传遍所有端口;
3. 拓展知识:MAC地址表默认老化时间为300秒,若主机长时间不通信,表项会自动删除,可通过“show mac-address-table aging-time”查看
虚拟局域网VLAN
在传统的局域网环境中,所有设备处于同一个广播域内,随着网络规模扩大,广播风暴、安全隐患及管理效率低等问题愈发突出。

虚拟局域网(VLAN,Virtual Local Area Network)作为一种核心的局域网分段技术,通过逻辑方式将物理上相连的网络划分为多个独立的虚拟网络,从根本上解决了传统局域网的弊端。
什么是广播风暴? 传统局域网中,一台设备发送的广播包会被网络中所有设备接收,当设备数量较多时,大量广播包会占用网络带宽,引发“广播风暴”。
核心价值
VLAN的核心价值在于通过“逻辑隔离”实现网络的安全强化与管理优化。
- 逻辑隔离,抑制广播风暴:VLAN将一个物理的局域网在逻辑上划分为多个独立的广播域,每个VLAN内的广播包仅在本VLAN内部传播,不会扩散到其他VLAN,从根本上限制了广播域的范围,有效抑制广播风暴。
- 强化网络安全,隔离敏感数据:不同VLAN之间默认无法直接通信,需要通过三层设备(如路由器、三层交换机)进行转发并配置访问控制策略。这种隔离特性可有效保护敏感数据所在的网络区域。
- 灵活管理,适配业务变化:VLAN的划分不受物理位置限制,可根据业务部门、用户角色等逻辑维度进行配置。当员工因办公位置调整或岗位变动需要变更网络权限时,无需重新部署物理线路。
划分方式
VLAN的划分可根据不同的逻辑维度进行,常见的划分方式有很多,我们介绍以下两种:
☆ 基于端口的静态划分
基于端口划分VLAN是最常用、最直观的划分方式,由管理员在交换机上手动将特定端口配置到指定VLAN中。
例如:将交换机的端口1-5配置为VLAN 10(办公部门),端口6-10配置为VLAN 20(财务部门),则连接在这些端口上的设备分别属于对应的VLAN。
优点:配置简单、稳定性高、安全性好; 缺点:当设备移动到其他端口时,需重新配置端口的VLAN属性。
适用于设备物理位置相对固定的场景(如企业办公网络)。

☆ 基于MAC地址的动态划分
基于MAC地址划分VLAN是根据设备的物理MAC地址,由交换机自动将设备划分到指定VLAN中。
管理员需提前在交换机中配置“MAC地址-VLAN ID”的对应关系。
当设备接入交换机时,交换机识别其MAC地址后,自动将其所属端口加入对应的VLAN。
优点:设备可自由移动,无需重新配置VLAN; 缺点:需提前收集所有设备的MAC地址,配置工作量大,且MAC地址可伪造,安全性一般。
适用于设备频繁移动的场景(如会议室设备、移动办公设备)。

Access端口
Access端口是交换机上专门用于连接终端设备(如电脑、打印机、IP电话等)的端口类型。
其核心特点是“单VLAN归属”,即一个Access端口只能属于一个VLAN。
且该端口接收和发送的数据帧均携带该VLAN的标识(标签)。
Access 端口是企业、家庭局域网的基础配置,典型场景包括:
- 办公室网络:将财务部门电脑连接的交换机端口设为 Access 模式,归属 VLAN 10;市场部电脑连接的端口归属 VLAN 20,实现部门间 VLAN 隔离。
- 家庭网络:家用交换机的所有端口默认是 Access 模式(归属 VLAN 1),电脑、电视、路由器 WAN 口通过这些端口接入,无需额外配置即可正常通信。
[实验2] Access端口配置单交换机VLAN
实验目的:掌握单交换机内VLAN的创建、Access端口与VLAN的绑定方法,验证同一交换机内不同VLAN的隔离效果
步骤1:拓扑搭建
从“Switches”拖拽1台“Cisco 2960-24TT”交换机(命名SW-部门汇聚);

4台PC分别命名为PC-研发1、PC-研发2、PC-市场1、PC-市场2;




用“Copper Straight-Through”(直通线)连接PC-研发1/2到交换机Fa0/1-0/2,PC-市场1/2到交换机Fa0/3-0/4

步骤2:VLAN创建配置
1. 进入交换机命令行:右键SW-部门汇聚→“Command Line”,输入“enable”(特权模式)→“configure terminal”(全局模式,缩写conf t);
2. 创建研发部VLAN:“vlan 10”→“name RD”(命名为研发部),输入“exit”退回全局模式;
3. 创建市场部VLAN:“vlan 20”→“name Market”(命名为市场部),输入“exit”退回全局模式

步骤3:Access端口配置(绑定VLAN)
1. 配置研发部端口:“interface range fa0/1 - 2”(批量配置Fa0/1和Fa0/2端口)→“switchport mode access”(强制设为Access模式,仅允许单VLAN通行)→“switchport access vlan 10”(将端口划入VLAN10)→“exit”;
Switch-Aggre(config)#interface range fa0/1 - 2
Switch-Aggre(config-if-range)#
Switch-Aggre(config-if-range)#switchport mode access
Switch-Aggre(config-if-range)#
Switch-Aggre(config-if-range)#exit2. 配置市场部端口:“interface range fa0/3 - 4”→“switchport mode access”→“switchport access vlan 20”→“exit”;
Switch-Aggre(config)#interface range fa0/3 - 4
Switch-Aggre(config-if-range)#
Switch-Aggre(config-if-range)#switchport mode access
Switch-Aggre(config-if-range)#
Switch-Aggre(config-if-range)#switchport access vlan 20
Switch-Aggre(config-if-range)#
Switch-Aggre(config-if-range)#exit
3. 保存配置:“write memory”(缩写wr,防止配置丢失)
Switch-Aggre#wr
Building configuration...
[OK]注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
步骤4:验证测试
配置验证:
1. 端口配置检查:“show running-config | include interface Fa0/”,查看Fa0/1-0/4的模式为Access且分别绑定VLAN10/20;

2. VLAN存在性检查:“show vlan brief”,查看VLAN10/20及对应端口

隔离效果测试:
1. 同VLAN测试:PC-研发1 ping PC-研发2(IP设为192.168.10.1/24和192.168.10.2/24),显示“Reply from...”为成功;

2. 不同VLAN测试:PC-研发1 ping PC-市场1(IP设为192.168.10.3/24),显示“Request timed out”为成功隔离;

总结
Access端口仅允许绑定的VLAN流量通过,实现单交换机内部门隔离
Trunk端口
问题背景
在上一章中,我们学习了VLAN(虚拟局域网)。VLAN的主要作用是:
- 逻辑隔离广播域:将一个物理的局域网划分成多个逻辑的、独立的广播域。
- 增强安全性和管理性:限制不同部门(如财务部、销售部)之间的直接通信。
假设一家公司有一台核心交换机和多台接入层交换机。财务部的VLAN 10和销售部的VLAN 20的用户分散在不同的楼层,连接在不同的接入层交换机上。
如果只用普通的链路连接这些交换机,那么跨交换机的财务部员工将无法同属VLAN 10,因为普通的链路只能承载一个VLAN的流量!
思考:
普通端口(Access 端口)只能传输一个 VLAN 的流量。
在跨交换机的VLAN当中通信时,如果只设置一个VLAN转发,那其他的VLAN,该怎么通信呢?
答案就是: Trunk 端口 —— VLAN流量传输中的”多车道高速公路“。
核心概念
Trunk(意思是树干、主干)端口的核心作用,是在同一根网线上传输多个 VLAN(虚拟局域网)的数据包,实现跨交换机之间的 VLAN 通信。

普通端口(Access 端口)只能传输一个 VLAN 的流量。 Trunk(树干)端口相当于 “高速公路”,能同时承载多个 VLAN 的 “车流”,让不同交换机之间的相同 VLAN 设备互通。
工作原理
Trunk 链路之所以能识别不同的 VLAN 流量,其奥秘在于它使用了一种“标签”机制。
1. 打标签:当数据帧从Access端口进入交换机,要通过Trunk端口发送到另一台交换机时,发送方交换机会在原始的以太网帧头中插入一个4字节的标签。这个标签里包含了关键的VLAN ID,用于标识此数据帧属于哪个VLAN。 2. 去标签:当对端交换机从Trunk端口收到带标签的数据帧后,会读取VLAN ID,然后根据目标地址,将其转发到相应的Access端口。在转发之前,交换机会移除这个802.1Q标签,恢复成标准的以太网帧,这样终端设备(如PC)就无法感知标签的存在。
[实验3] Trunk端口配置跨交换机VLAN
连接两台交换机,配置Trunk,确保不同交换机上的相同VLAN成员可以通信。
实验目的:掌握Trunk端口配置方法,实现跨交换机相同VLAN的通信与不同VLAN的隔离,理解Trunk的透传作用。
步骤1:拓扑搭建
在上个实验的拓扑基础上,新增1台“Cisco 2960-24TT”交换机(命名SW-楼层接入),新增2台PC命名为PC-研发3、PC-市场3;


用直通线连接PC-研发3到SW-楼层接入的Fa0/1,PC-市场3到SW-楼层接入的Fa0/2;

用直通线连接SW-部门汇聚的Fa0/24和SW-楼层接入的Fa0/24(用于配置Trunk)

步骤2:基础配置(SW-楼层接入)
1. 参考上个实验步骤,在SW-楼层接入创建VLAN10(R_D)和VLAN20(Market);
Switch> enable
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan 10
Switch(config-vlan)# name rd
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name market
Switch(config-vlan)# exit
2. 配置Access端口:“interface range fa0/1 - 2”→“switchport mode access”
Switch(config)#interface range fa0/1 - 2
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#exit注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
Switch(config)# interface range fa0/1
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)#
Switch(config-if-range)# exit
Switch(config)# interface range fa0/2
Switch(config-if-range)# switchport access vlan 20
Switch(config-if-range)#
Switch(config-if-range)# exit
3. 保存配置:“wr”
Switch(config)#exit
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#wr
Building configuration...
[OK]
Switch#注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
步骤3:Trunk端口配置
1. SW-部门汇聚配置:“conf t”→“interface Fa0/24”→“switchport mode trunk”(强制设为Trunk模式)→“switchport trunk allowed vlan 10,20”(仅透传VLAN10/20,增强安全性)→“exit” →“exit”→“wr”;

2. SW-楼层接入配置:同SW-部门汇聚,将Fa0/24配置为Trunk且仅允许VLAN10/20透传;

步骤4:验证测试
Trunk配置验证:
1. 端口模式检查:“show running-config”,查看两台交换机Fa0/24模式为Trunk;

2. Trunk状态检查:“show interfaces trunk”,查看Fa0/24为Trunk且允许VLAN10/20透传

另外一个交换机,也是这样的,这里省略验证效果。
透传与隔离测试:
1. 跨交换机同VLAN测试:PC-研发1(192.168.10.1)ping PC-研发3(192.168.10.5),显示“Reply from...”为透传成功;

2. 跨交换机不同VLAN测试:PC-研发1 ping PC-市场3(192.168.10.6),显示“Request timed out”为隔离成功;

3. 故障测试:禁用其中一台交换机的Trunk端口,再次ping跨交换机同VLAN主机,显示失败,验证Trunk的透传作用;
Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Switch(config)# interface Fa0/24
Switch(config-if)#
Switch(config-if)# shutdown
Switch(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/24, changed state to administratively down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to down
再次ping跨交换机同VLAN主机,显示失败,验证Trunk的透传作用。

网络层与IP协议
网络层功能
场景思考:我们寄送一个包裹: IP地址 就像是包裹上的 省份、城市、街道名(逻辑地址,是最终目标)。 MAC地址 就像是每个 运输中转站(如机场、分拣中心)的地址(物理地址,是下一站目标)。 网络层 的工作就是 规划整个运送路线,而数据链路层的工作就是在每个中转站根据下一站地址进行分拣和搬运。
网络层(以IP协议为核心)的核心职责就是利用IP地址,实现数据包从源到目的地的端到端传输。
☆ 功能1:逻辑寻址
为每个设备分配一个IP地址,使得数据包能够被定向到目标网络和目标设备。
☆ 功能2:路由选择
这是网络层最核心的功能。路由器(工作在网络层的设备)通过查看数据包的目标IP地址,查询自身的路由表,来决定数据包应该从哪个接口发送出去,以便它能最终到达目的地。
过程就像GPS导航: 你输入终点地址(目标IP),导航系统(路由协议)根据实时路况(网络状态)为你规划出一条最佳路径。
☆ 功能3:分组转发
将传输层下来的数据分割成更小的数据包(分组),并加上IP头部(包含源IP和目标IP),进行传输。
IP和MAC地址
☆ IP地址
IP地址是网络层使用的地址,用于在整个TCP/IP网络中唯一标识一台设备。
它就像是设备的“身份证号”,是逻辑上的、可变的。
简单说: IP地址关心的是“数据包最终要去哪儿”。
☆ MAC地址
以太网上的两台计算机之所以能够交换信息就是因为每个设备都有一块网卡。
并且每块网卡拥有唯一的物理地址(称为MAC地址)和唯一的逻辑地址(称为IP地址)。
MAC地址是由生产厂商烧录好的,一般不能改动,并且全球唯一; IP地址需要绑定在网卡上,并且同一个IP地址不能绑定在多个网卡上。
☆ IP vs MAC
MAC地址和IP地址的区别如下:
1. MAC地址和IP地址结构长度不一样
- MAC地址是 48位 的二进制数, IPv4地址是32位的二进制数,IPv6地址是128位,通常写成8组,每组为四个十六进制数的形式。
- IPv4地址使用"点分十进制"法表示;IPv6地址使用"冒分十六进制"法表示
IPv4地址:192.168.1.1 十进制数
IPv6地址:FE80:0000:0000:0000:AAAA:0000:00C2:0002
MAC地址:00-E1-8C-D8-EC-FE 十六进制
1. MAC地址和IP地址在OSI模型中寻址层不同
1. IP地址应用于OSI第三层,即网络层(IP寻址) 路由 2. MAC地址应用在OSI第二层,即数据链路层 交换机
1. MAC地址和IP地址分配方式不一样
1. MAC地址分为前24位(称为组织唯一标识符,是由[^IEEE]的注册管理机构给厂商分配)和后24位(称为扩展标识符,由厂家自己分配) 2. IP地址是由网络拓扑结构决定分配
IP地址(逻辑地址) 在整个通信过程中保持不变,它指明起点和终点。 MAC地址(物理地址) 在每一段链路上都会改变,它只关心当前这一段路该怎么走。
进制转换
在学习IP地址基础知识之前,我们先要了解一下计算机中的进制转换概念。
计算机的底层在进行数据存储时都是通过二进制的方式进行实现的,那我们日常生活中使用的数字(十进制)如何转换为二进制形式呢?
十进制转换二进制
方式一: 除2求余
除2取余数,倒序排列,不够用0补齐
例如: 25 转换为二进制:
25/2 得12 余数为 1
12/2 得6 余数为0
6/2 得3 余数为0
3/2 得1 余数为1
1/2 得0 余数1
结果倒序: 11001
例如 125 转换为二进制
125 / 2 得 62 余数 1
62 / 2 得 31 余数 0
31/ 2 得 15 余数 1
15 / 2 得 7 余数 1
7 / 2 得 3 余数 1
3 /2 得 1 余数 1
1/ 2 得 0 余数 1
结果: 1111101
例如:162 转换为 二进制是多少呢?
162 / 2 得 81 余数 0
81 / 2 得 40 余数 1
40 / 2 得 20 余数 0
20 / 2 得 10 余数 0
10 / 2 得 5 余数 0
5 / 2 得 2 余数 1
2 / 2 得 1 余数 0
1/ 2 得 0 余数 1
结果:10100010
方式二: 计算器注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
二进制转换十进制
00000001
第1位(如果为1) = 2的0次方 => 1
00000010
第2位(如果为1) = 2的1次方 => 2
00000100
第3位(如果为1) = 2的2次方 => 4
...
00000001 = 1
00000010 = 2
00000100 = 4
00001000 = 8
00010000 = 16
00100000 = 32
01000000 = 64
10000000 = 128
十进制 64 + 32 + 16 + 8 + 4 + 2 + 1 = 十进制 127 = 二进制 01111111
01011010 : 2 + 8 + 16 + 64 = 90 二进制 = 01011010
110110110 : 2^1 + 2^2 + 2^4 + 2^5 + 2^7 + 2^8 = 2 + 4 + 16 + 32 + 128 +256 = 438注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
作业练习
作业1:尝试把以下的IP地址与子网掩码转化为二进制(32位)
IP地址:192.168.1.254
转换为二进制:
192 >> 1100 0000
192/2 = 96 余 0
96/2 = 48 余 0
48/2 = 24 余 0
24/2 = 12 余 0
12/2 = 6 余0
6 / 2 = 3 余 0
3 / 2 = 1 余 1
1 / 2 = 0 余 1
168 >> 1010 1000
168 / 2 = 84 余数 0
84 / 2 = 42 余数 0
42 / 2 = 21 余数 0
21 / 2 = 10 余数 1
10 / 2 = 5 余数 0
5 / 2 = 2 余数1
2 / 2 = 1 余数0
1 / 2 = 0 余数 1
1 >> 0000 0001
254 >> 1111 1110
最终转换为:
192.168.1.254 : 1100 0000.1010 1000.0000 0001.1111 1110
子网掩码:255.255.255.0
转换为:
11111111.11111111.11111111.00000000
作业2: 尝试将以下二进制,转为十进制
11000000 : 2^6 + 2^7 = 192
10101000 : 168
11111110 : 254
11111111 : 255IP子网掩码与IP地址分类
子网掩码
思考:
每个IP地址都分割成网络号和主机号两部分,目的是便于IP地址的寻址操作;那么IP地址的网络号和主机号各是多少位呢?如何确定?
子网掩码特点:
1. 子网掩码不能单独存在,它必须结合IP地址一起使用; 2. 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分;用来判断两个IP是否在同一网络 3. 子网掩码是一个32位的二进制数,用"点分十进制"表示;其对应网络地址的所有位置都为1,对应于主机地址的所有位置都为0。 4. 子网掩码的组成方式:是由连续1+连续的0 组成的
IP地址:192.168.1.254
子网掩码:255.255.255.0
区分取出来, 网络地址 和 主机号?
第一步: 先将IP地址 和 子网掩码转换为二进制
IP地址:192.168.1.254
1100 0000.1010 1000.0000 0001.1111 1110
子网掩码:255.255.255.0
1111 1111.1111 1111.1111 1111.0000 0000
第二步:基于子网掩码特点: 网络地址的所有位置都为1, 对应主机地址所有位置都为0, 同时呢,子网掩码是有连续的1+连续的0组成
通过特点得知:网络位对应的二进制即为
网络地址:
IP: 1100 0000.1010 1000.0000 0001
子网掩码: 1111 1111.1111 1111.1111 1111
转换为十进制为: 192.168.1 网络位注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
IP地址分类
☆ 五大类地址
| 范围(公网地址) | 分类 | 私有IP | 网络类型 | 备注 |
|---|---|---|---|---|
| 0.0.0.0 \~ 127.255.255.255 | A类 | 10.0.0.0 \~ 10.255.255.255 | 大规模 | |
| 128.0.0.0 \~ 191.255.255.255 | B类 | 172.16.0.0 \~ 172.31.255.255 | 中等规模 | |
| 192.0.0.0 \~ 223.255.255.255 | C类 | 小规模 | ||
| 224.0.0.0 \~ 239.255.255.255 | D类 | 组播地址 | ||
| 240.0.0.0 \~ 247.255.255.255 | E类 | 保留 |
快速记忆方法:

IP地址分类详解:
☆ A类地址 0-127

1. A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是"0";
2. 地址的表示范围为:0.0.0.0~127.255.255.255;默认子网掩码为:255.0.0.0或/8;
255.0.0.0=11111111.00000000.00000000.00000000
3. 网络号全为0表示保留不能用;
4. 网络号全为1的IP:127.x.x.x/8表示保留,用于本机回环测试用。
5. 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机.故不能分配。
113.0.0.0
113.255.255.255 该网络的广播地址
综上所述:
1. A类地址可用的网络数为2^7-2=126个;
2. A类地址每个网络能容纳的主机数为2^24-2=16777214(上千万台);
3. A类地址一般分配给规模比较大的网络使用。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
☆ B类地址 128-191

1. B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是"10";
2. 地址范围是128.0.0.0到191.255.255.255;默认子网掩码为:255.255.0.0或/16;
3. 网络号全为0一般表示保留(老版教材),现在可以用;
4. 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机.故不能分配。
综上所述:
1. B类地址可用的网络数为2^14-1=16383个;
2. B类地址每个网络能容纳的主机数为2^16-2=65534(上万台);
3. B类地址一般分配给中型的网络使用。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
☆ C类地址 191-224

1. C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是"110";
2. 地址范围是192.0.0.0到223.255.255.255;默认子网掩码为:255.255.255.0或/24;
3. 网络号全为0表示一般保留(老版教材),现在可以用;
4. 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机.故不能分配。
综上所述:
1. C类地址可用的网络数为2^21-1=2097151个;
2. C类地址每个网络能容纳的主机数为2^8-2=254台;
3. C类地址一般分配给小型的网络使用。
113.0.0.0 A 255.0.0.0
113.1.1.254 A 255.0.0.0 广播:113.255.255.255注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1- 关于A类 B类 C类地址的划分依据: 127 和 192
小于等于127以内的IP, 都是A类地址
大于127,小于192 为B类地址
大于等于192为C类地址
2- 每一个类别,固定的IP开头是多少(二进制表示):
A类: 第一位必须为0
B类: 第一位必须为10
C类: 第一位必须为110
3- 每一个分类,标准的子网掩码是多少?
A类: 255.0.0.0
B类: 255.255.0.0
C类: 255.255.255.0
注意: 在IP中,主机位全为0,表示的该网络的网络地址; 主机位全为1,表示的是该网络的广播地址,代表全部的主机注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
案例实战
案例1 - 根据给定的IP+子网掩码求网络地址
10.2.1.1/8
给定的IP: 10.2.1.1
子网掩码: 255.0.0.0
第一步: 将IP和子网掩码都转换为二进制
10.2.1.1:
0000 1010.0000 0010.0000 0001.0000 0001
255.0.0.0:
1111 1111.0000 0000.0000 0000.0000 0000
第二步: 将子网掩码对应为1的位数和 ip中对应位数拿出来, IP中其余的位置均为0
网络位
0000 1010.0000 0000.0000 0000.0000 0000
|| 转换为10进制
10.0.0.0
结论: 该IP的网络地址为 10.0.0.0注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
IP地址:
10101100.00010000.01100100.00110010
子网掩码:
11111111.11111111.11111110.00000000
计算规则:
相与计算, 子网掩码中每一位和IP地址的每一位进行相与计算, 如果都为1,得1,如果为0或1,得0
计算结果:
10101100.00010000.01100100.00000000
转换为10进制:
172.16.100.0
网络地址:
172.16.100.0注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
IP地址:
11000000.10101000.00001010.11001000
子网掩码:
11111111.11111111.11111111.11100000
网络地址:
11000000.10101000.00001010.11000000
转换为10进制
192.168.10.192
网络地址:
192.168.10.192注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
案例2 - 判断两个IP地址是否处于同一个网段
IP1 => 192.168.1.33/24
IP2 => 192.168.1.200/24
如何判断两个IP是否处于同一个网段呢?答:必须结合子网掩码,使用IP地址的二进制与子网掩码的二进制中的每一位求与,如果两个结果一致,代表在同一个网段。
求与:把IP地址中的二进制的每一位与子网掩码中的二进制的每一位进行AND与操作
如果两位都是0,则结果为0
如果两位都是1,则结果为1
如果一位0,一位为1,则结果为0
IP1网络地址:
网络地址:192.168.1.0IP2网络地址:
网络地址:192.168.1.0结论: 二个IP属于同一网段的(同一网络中的IP)
子网划分
业务背景
想象一下,一个公司划分了一个巨大的IP网段 192.168.0.0/16(包含65534个可用IP地址)。如果所有设备都在同一个大网段里,会带来三个问题:
广播风暴: 任何一台设备发送的广播包(如ARP请求)都会淹没整个大网络,消耗所有设备的带宽和CPU资源;
安全风险: 缺乏边界,任何设备都可以直接监听和访问其他设备,难以实施安全策略。
管理困难: 难以针对不同部门(如财务部、技术部)进行独立的网络管理和故障排查。

核心原理
子网划分的本质是从主机位“借”一些比特位到网络位,从而创建更多的网络,但每个网络可容纳的主机数量会相应减少。
IP地址=网络号+主机号(子网位+主机位)
IP地址=网络位+子网位+主机位
划分方法
IP=网络号+主机号
|
子网位(n)+主机位(m)
n: 需要借用多少个主机位作为子网位,计算公式:2^n >= 需要子网数
m: 子网需要的主机个数, 计算公式: 2^m-2 >= 需要主机个数
计算的合理值: 一般是子网中主机个数和所需要的需求数量的1.5到2倍(经验值)但是在计算过程中, 一般最好能够正好满足即可
假设子网位为n;主机位为m;则子网数为2^n个,主机数为2^m-2个。
子网掩码都是由一串连续的0和连续的1组成。这里可以将n看做后面有多少个1,m看做后面有多少个0。
由于主机位全0表示本网络,全1留作广播地址,减掉2。
子网掩码:网络位为全为1,主机位全为0注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
案例实战
案例1 - 根据子网掩码判断主机数
子网掩码为255.255.255.0时,可以容纳多个台设备?
根据子网掩码,可以得知该ip的前24为均为网络位,仅后八位为主机位 所以主机数量为 2^8 -2 = 254
注意: 主机位全为0和全为1,不使用, 所以需要计算后-2
子网掩码255.255.248.0时,可以最多容纳多少台设备?
根据子网掩码,判断由多少位是网络位, 多少位是主机位: 21个网络位, 11个主机位
11111111.11111111.11111000.00000000
容纳的设备数量: 2^11 -2 = 2046
子网掩码255.255.128.0时,可以最多容纳多少台设备?
根据子网掩码,判断由多少位是网络位, 多少位是主机位:17为网络位, 15为主机位
11111111.11111111.10000000.00000000
容纳的设备数量: 2^15 -2 = 32766注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
案例2 - 根据主机和子网判断子网掩码
有一个B类网络145.38.0.0需要划分为20个能容纳200台主机的子网网络,子网掩码设置多少合适?
2^n=子网数=20
2^m-2=主机数=200
子网掩码=n个连续的1和m个连续的0 11111111.11111111.11111000.00000000
分析:
一个B类得网络地址: 145.38.0.0 默认子网掩码: /16 255.255.0.0
子网掩码转换位二进制:
11111111.11111111.00000000.00000000
共计能容纳多少台服务器: 2^16 = 65,536 -2 = 65534
子网数量: 20个
子网位计算规则: 2^n >= 要求子网络数
2^n >= 20 请问 n至少取值多少呢? 5
表示: 当前需要向主机位借位至少5位
子网掩码:
11111111.11111111.11111000.00000000
子网掩码: 255.255.248.0
可以分配的主机数量:
2^11 -2 = 2046个
通过向右借位5位, 此时可以产生32个不同的子网, 每个子网下可以拥有2046个IP地址
思考点: 请问 这32个子网分别是多少呢?
网络地址:
145.38.0.0 >> 10010001.00100110.00000000.00000000
子网掩码:向右借位 5位
意味着,第17~21位作为子网位, 取值数量范围
00000(000)
11111(000)
一共有几种组合呢? 32种
00000 00001
00010 00011
00100 00101 00110 00111
01000 01001 01010 01011 01100 01101 01110 01111
10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111
转换为10进制: 0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248
得出,每个子网网络地址:
子网掩码统一: 255.255.248.0 /21
32个子网的网络地址:
145.38.0.0
145.38.8.0
145.38.16.0
......
另一种方式:
通过主机位来计算: 至少是200个
计算规则:
2^m -2 >= 200 请问 m至少是多少呢? 8
初始子网掩码从中, 有8位必须作为主机位, 其余可以变更为子网位
11111111.11111111.11111111.00000000
思考:此时子网位相当于相当于借位多少呢? 8位,也就意味这可以有多少个子网呢? 2^8 =256个
子网掩码: 255.255.255.0
网段: 145.38.(0~255).(1~254) 每个网段, 最多可以容纳254个IP地址, 可以产生256个子网络
最终划分: 子网占用8位, 主机位占用8位 这样可以产生256个子网 + 每个子网可以放置254个IP
总结下:
1- 网络位, 无法改变的, 一旦定下来, 此位置不会发生改变, 所以在划为子网核心, 是向主机位借位,从而划分子网
2- 如何借位? 确保二个值 借多少位(N) 主机位数(m)
N如何计算: 2^n >= 需要子网数量 计算出来的N 就是至少需要借位数量 (在网络位后,往右借多少位)
m如何计算: 2^m >= 需要主机数量 计算出来的M 就是至少保证有多少个主机位 (从最后,往左需要多少位)
3- 如何设定一个合适值呢? 划分出来的子网中,能够容纳的主机位数大于规定需要主机位数的1.5~2倍之间
DEMO案例:
有一个C类网络192.38.12.0需要划分为5个能容纳20台的子网网络,子网掩码设置多少合适?
C类地址: 192.38.12.0 子网掩码 /24 255.255.255.0
主机位共计有8位
需求: 划分5个子网, 并且每个子网能容纳20台设备
首先先验证是否可以划分呢?
依据: 计算出来最小的n + 最小的m 必须小于等于主机位,否则就无法分配
最小的n: 2^n >= 5(子网数) n = 3
最小的m: 2^m >= 20(设备数量) m = 5
n + m = 8 正好可以满足,因为当前C类地址, 能操作的主机位数就是8
方式一: 基于子网位(n) 要计算出需要向右借多少主机位作为子网位
2^n >= 5(子网数) n = 3
表示要向右借位3位
子网掩码:
111111111.11111111.11111111.11100000
转换后10进制
255.255.255.224 /27
可以划分出多少个子网呢?2^3 = 8 可以划分为8个子网
每个子网可以容纳多少台设备:2^5-2 = 30 每个子网可以容纳30个设备
方式二: 基于主机位(m)要计算出需要至少占用多少个主机位
2^m >= 20(设备数量) m =5
表示,至少需要5个主机位, 其余的位数可以作为子网位, 也就说子网位可以是有3位
子网掩码:
111111111.11111111.11111111.11100000
转换后10进制
255.255.255.224 /27
可以划分出多少个子网呢?2^3 = 8 可以划分为8个子网
每个子网可以容纳多少台设备:2^5-2 = 30 每个子网可以容纳30个设备
思考: 请问 8个子网的网络地址分别是什么呢?
C类地址网络地址: 192.38.12.0
11000000.00100110.00001100.00000000
目前计算完成后, 子网掩码 255.255.255.224
11111111.11111111.11111111.11100000
子网地址:
11000000.00100110.00001100.000 00000 >> 192.38.12.0
主机地址:
192.38.12.1 ~ 30
广播地址:
192.38.12.31
11000000.00100110.00001100.001 00000 >> 192.38.12.32
主机地址:
192.38.12.33 ~ 62
广播地址:
192.38.12.63
11000000.00100110.00001100.010 00000 >> 192.38.12.64
主机地址:
192.38.12.65 ~ 94
广播地址:
192.38.12.95
11000000.00100110.00001100.011 00000 >> 192.38.12.96
主机地址:
192.38.12.97 ~ 126
广播地址:
192.38.12.127
11000000.00100110.00001100.100 00000 >> 192.38.12.128
主机地址:
192.38.12.129 ~ 158
广播地址:
192.38.12.159
11000000.00100110.00001100.101 00000 >> 192.38.12.160
主机地址:
192.38.12.161 ~ 190
广播地址:
192.38.12.191
11000000.00100110.00001100.110 00000 >> 192.38.12.192
主机地址:
192.38.12.193 ~ 222
广播地址:
192.38.12.223
11000000.00100110.00001100.111 00000 >> 192.38.12.224
主机地址:
192.38.12.225 ~ 254
广播地址:
192.38.12.255注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
课上作业 - 根据IP和子网掩码判断子网数
已知192.168.0.0/255.255.255.128网络,请问最多可以划分几个子网,每个子网范围分别是多少?
思路:
1.根据IP分类和子网掩码判断出向主机号借了几位(子网位)
2.根据所借的子网位数算出子网数和主机IP范围注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
总结
步骤2:基础配置(SW-楼层接入)
1. 参考上个实验步骤,在SW-楼层接入创建VLAN10(R_D)和VLAN20(Market);
Switch> enable
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan 10
Switch(config-vlan)# name rd
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name market
Switch(config-vlan)# exit2. 配置Access端口:“interface range fa0/1 - 2”→“switchport mode access”
Switch(config)#interface range fa0/1 - 2
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#exit注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
Switch(config)# interface range fa0/1
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)#
Switch(config-if-range)# exit
Switch(config)# interface range fa0/2
Switch(config-if-range)# switchport access vlan 20
Switch(config-if-range)#
Switch(config-if-range)# exit3. 保存配置:“wr”
Switch(config)#exit
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#wr
Building configuration...
[OK]
Switch#注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
步骤3:Trunk端口配置
1. SW-部门汇聚配置:“conf t”→“interface Fa0/24”→“switchport mode trunk”(强制设为Trunk模式)→“switchport trunk allowed vlan 10,20”(仅透传VLAN10/20,增强安全性)→“exit” →“exit”→“wr”;
2. SW-楼层接入配置:同SW-部门汇聚,将Fa0/24配置为Trunk且仅允许VLAN10/20透传;
步骤4:验证测试
Trunk配置验证:
1. 端口模式检查:“show running-config”,查看两台交换机Fa0/24模式为Trunk;
2. Trunk状态检查:“show interfaces trunk”,查看Fa0/24为Trunk且允许VLAN10/20透传
另外一个交换机,也是这样的,这里省略验证效果。
透传与隔离测试:
1. 跨交换机同VLAN测试:PC-研发1(192.168.10.1)ping PC-研发3(192.168.10.5),显示“Reply from...”为透传成功;
2. 跨交换机不同VLAN测试:PC-研发1 ping PC-市场3(192.168.10.6),显示“Request timed out”为隔离成功;
3. 故障测试:禁用其中一台交换机的Trunk端口,再次ping跨交换机同VLAN主机,显示失败,验证Trunk的透传作用;
Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Switch(config)# interface Fa0/24
Switch(config-if)#
Switch(config-if)# shutdown
Switch(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/24, changed state to administratively down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to down再次ping跨交换机同VLAN主机,显示失败,验证Trunk的透传作用。
网络层与IP协议
网络层功能
场景思考:我们寄送一个包裹: IP地址 就像是包裹上的 省份、城市、街道名(逻辑地址,是最终目标)。 MAC地址 就像是每个 运输中转站(如机场、分拣中心)的地址(物理地址,是下一站目标)。 网络层 的工作就是 规划整个运送路线,而数据链路层的工作就是在每个中转站根据下一站地址进行分拣和搬运。
网络层(以IP协议为核心)的核心职责就是利用IP地址,实现数据包从源到目的地的端到端传输。
☆ 功能1:逻辑寻址
为每个设备分配一个IP地址,使得数据包能够被定向到目标网络和目标设备。
☆ 功能2:路由选择
这是网络层最核心的功能。路由器(工作在网络层的设备)通过查看数据包的目标IP地址,查询自身的路由表,来决定数据包应该从哪个接口发送出去,以便它能最终到达目的地。
过程就像GPS导航: 你输入终点地址(目标IP),导航系统(路由协议)根据实时路况(网络状态)为你规划出一条最佳路径。