简介:这份PDF面向计算机网络课程的初学者与实验指导教师,聚焦“组建小型以太网”这一基础实验,帮助读者在缺乏完整指导的情况下独立完成从规划拓扑到连通测试的全过程。资源为单一PDF文档,压缩包约241KB,内容以图文步骤和知识点归纳为主,适合打印或对照实操。文档围绕实验环境搭建、主机软硬件配置、TCP/IP协议安装与IP地址设置,以及依据EIA/TIA 568A/568B标准制作直通线与交叉网线等环节展开,并配有拓扑示例与设置截图。读者可借此掌握网卡驱动安装、协议配置、网线压制与连通验证的完整流程,理解局域网中软硬件协同工作的机制,积累排错经验。目前已有147人学习,适合作为课堂实验配套参考或自学网络基础的入门材料。
1. 组建小型以太网:从两根网线到能 ping 通,中间隔着什么
很多人第一次做「计算机网络实验一组建小型以太网」时,以为把两台电脑用网线插到交换机上就该通了,结果 ping 不通、图标带感叹号、互相看不到共享文件夹。这个实验真正要你搞明白的不是「插线」,而是以太网里二层转发、IP 编址、ARP 解析、子网掩码这四件事怎么串起来。它适合刚学计算机网络的学生、要带实验课的助教,也适合工作后发现自己只会调 API、却说不清局域网为什么通的人。下面我按「先讲清原理 → 再给可复现步骤 → 最后说坑」的顺序,把一个小型以太网从零搭到能互相访问,参数怎么设、命令怎么敲、失败看哪里,都落到具体操作上。局域网这个词听着简单,但它是后面 VLAN、路由、抓包分析的地基,这一关糊弄过去,后面全是玄学。
2. 小型以太网的二层与三层:交换机到底在转发什么
2.1 以太网帧、MAC 地址与交换机的转发表
以太网工作在 OSI 的第二层,数据单位叫帧(Frame)。一个标准以太网帧的关键字段是:目的 MAC、源 MAC、类型/长度、数据、FCS 校验。交换机不看 IP,它只看源 MAC 和目的 MAC。当一台主机发出帧,交换机会记录「这个源 MAC 从哪个端口进来的」,写进自己的 MAC 地址表(也叫转发表),然后查目的 MAC 对应哪个端口,只从那个端口转发出去;查不到就向除入口外的所有端口泛洪。
这就是为什么「插上线就能通」在二层是成立的——只要交换机学到了双方的 MAC,转发就是精准的。但注意,二层通不代表三层通。你 ping 的是 IP 地址,中间还要经过 ARP 把 IP 解析成 MAC,这一步失败,二层再健康也白搭。理解这一点,后面排错时你才知道该先看 MAC 表还是先看 IP 配置。
2.2 IP 编址与子网掩码:同一个网段才能直接通信
主机要互相 ping 通,前提是它们判断「对方和我在同一网段」。判断依据是IP 地址 + 子网掩码做与运算。比如 192.168.1.10/24 和 192.168.1.20/24,掩码 255.255.255.0,与运算后网络号都是 192.168.1.0,属于同网段,可以直接二层通信。如果一台是 192.168.1.10/24,另一台是 192.168.2.20/24,主机就认为对方不在本地,会把包发给网关,没有网关就丢包。
实验里最常见的翻车就是:IP 设成了 192.168.1.x,掩码却手滑写成 255.255.0.0,或者两台机器一个 /24 一个 /16,导致判断结果不一致。所以设 IP 时,网段、掩码、网关三样要一起看,不能只改 IP。
2.3 用 ping 和 arp 验证二层三层是否打通
搭好之后,验证顺序建议是:先ipconfig(Windows)或ip addr(Linux)确认本机 IP 和掩码;再arp -a看有没有学到对方 MAC;最后ping对方 IP。如果 arp 表里对方是「不完整」或没有记录,说明 ARP 请求没得到回应,问题多半在二层链路或对端防火墙。这个顺序能帮你快速定位是二层断还是三层配错。
3. 动手搭一个最小以太网:设备、连线与 IP 配置
3.1 设备选型与物理连接
最小可用拓扑是:两台 PC + 一台交换机。没有交换机也可以用一根交叉网线直连两台机器(现在多数网卡支持自动翻转,直通线也能通,但实验里建议按标准用交叉线,理解线序)。设备清单如下:
| 设备 | 数量 | 说明 |
|---|---|---|
| PC/虚拟机 | 2 | 物理机或 VirtualBox/VMware 虚拟机均可 |
| 交换机 | 1 | 普通非网管交换机即可,无需配置 |
| 网线 | 2 | PC 到交换机用直通线 |
| 交叉线 | 1 | 仅在两机直连时使用 |
连线时注意:PC 接交换机的普通端口,不要接 Uplink 口(老设备上 Uplink 口线序不同)。接好后看网口指示灯,不亮就是物理层没通,先换线换口。
3.2 Windows 下配置静态 IP 的命令行方式
图形界面点来点去容易漏,我一般直接用命令行,可复现、好记录。以管理员身份打开 CMD 或 PowerShell:
:: 查看所有网卡,找到以太网对应的名称,比如 "以太网" netsh interface show interface :: 给以太网卡设置静态 IP、掩码、网关(网关可留空,实验内互 ping 不需要) netsh interface ip set address name="以太网" static 192.168.1.10 255.255.255.0 :: 验证配置 ipconfig /all逻辑说明:netsh interface ip set address的四个参数依次是网卡名、IP、掩码、网关。实验内两台机器互 ping,网关可以不填,因为同网段通信不经过网关。参数上,两台机器 IP 要在同一网段且不重复,掩码必须一致。第二台机器把 IP 换成 192.168.1.20 即可。改完用ipconfig /all确认「IPv4 地址」和「子网掩码」两行都对。
3.3 Linux 下用 ip 命令配置并验证
Linux 侧更直接,用ip命令(ifconfig已逐渐被淘汰):
# 查看网卡名,通常是 eth0、ens33 之类 ip link show # 给网卡配置 IP 和掩码(/24 等价于 255.255.255.0) sudo ip addr add 192.168.1.20/24 dev eth0 # 启用网卡 sudo ip link set eth0 up # 查看结果 ip addr show eth0逻辑说明:ip addr add添加地址,/24是 CIDR 写法,等价于掩码 255.255.255.0。ip link set up确保网卡处于 UP 状态,很多「配了 IP 却不通」就是网卡没启用。注意这种配置重启后会丢失,实验够用;要持久化得写进网络配置文件,不同发行版路径不同,实验阶段不必纠结。
3.4 用 ping 和 arp 完成连通性验证
两台机器都配好后,在 192.168.1.10 上执行:
:: Windows 先看 ARP 表,再 ping arp -a ping 192.168.1.20 :: Linux 侧 arp -n ping -c 4 192.168.1.20逻辑说明:ping会先触发 ARP 请求,拿到对方 MAC 后才发 ICMP。第一次 ping 可能有一两个包超时,那是 ARP 解析耗时,属正常。arp -a(Linux 用arp -n)能看到对方的 IP 和 MAC 对应关系,说明二层已经通了。如果 ping 不通但 arp 表里有对方记录,问题多半在对端防火墙拦了 ICMP;如果 arp 表里始终没有对方,回到物理连接和网段配置去查。
4. 避坑与排查:小型以太网实验里最容易翻车的 5 个点
4.1 现象:网口灯不亮,ping 完全没反应
原因:物理层没通。可能是网线坏了、水晶头没压好、插错端口,或者虚拟机没把网卡桥接到正确的物理网卡。解决:先换一根确认好的网线,换交换机端口;虚拟机场景检查网络模式,要选「桥接模式」并绑定到实际在用的物理网卡,NAT 模式下虚拟机和物理机不在同一二层,互 ping 会失败。
4.2 现象:能 ping 通网关却 ping 不通同网段另一台机器
原因:两台机器掩码不一致,或其中一台 IP 实际不在同网段。比如一台 192.168.1.10/24,另一台 192.168.1.20/16,后者认为前者在同网段但前者判断不同,ARP 行为就会错乱。解决:用ipconfig /all逐台核对 IP 和掩码,确保网段和掩码完全一致。这是血泪经验里出现频率最高的一条。
4.3 现象:ARP 表里对方 MAC 显示「不完整」或一直为空
原因:ARP 请求发出去了但没收到回应。可能是对端开了防火墙拦截,或者对端网卡没启用,或者中间有设备隔离了广播(比如某些交换机的端口隔离功能)。解决:先临时关闭对端防火墙测试;确认对端ip link是 UP;如果是可网管交换机,检查有没有开端口隔离。
4.4 现象:IP 地址冲突,时通时不通
原因:网段里有两台机器配了相同 IP,或者 DHCP 分配的地址和静态 IP 撞了。解决:实验里全部用静态 IP 并做好分配记录;如果怀疑冲突,Windows 用arp -a看同一个 IP 是否对应多个 MAC,Linux 用arping检测。发现冲突立刻改掉重复的 IP。
4.5 现象:虚拟机之间能通,虚拟机和物理机不通
原因:虚拟机网络模式选错。NAT 模式下虚拟机在独立网段,桥接模式才和物理机同网段。解决:把虚拟机网络适配器改成桥接,并在虚拟机软件里指定桥接到当前实际联网的物理网卡。改完重启虚拟机网卡再验证。
5. 进阶技巧:用抓包把「为什么通」看得明明白白
搭通只是第一步,真正让你从「会插线」变成「懂以太网」的,是抓一次包,把 ARP 和 ICMP 的交互看清楚。我一般用 Wireshark,在 192.168.1.10 上抓 eth0,然后 ping 192.168.1.20,过滤条件写arp or icmp。
你会看到这样的序列:先是 ARP 请求(广播,目的 MAC 全 F),内容是「谁是 192.168.1.20,请告诉 192.168.1.10」;然后是对端 ARP 应答(单播),带回它的 MAC;接着才是 ICMP Echo Request 和 Echo Reply。这一串看懂了,你就明白为什么第一次 ping 会丢包——ARP 还没解析完。
几个值得盯的字段:
| 字段 | 位置 | 说明 |
|---|---|---|
| 目的 MAC | 以太网帧头 | 广播时是 ff:ff:ff:ff:ff:ff |
| 源 MAC | 以太网帧头 | 发送方网卡地址 |
| 类型 | 以太网帧头 | 0x0806 是 ARP,0x0800 是 IP |
| 操作码 | ARP 报文 | 1 是请求,2 是应答 |
进阶可以做的验证:手动清空 ARP 缓存(Windowsarp -d *,Linuxip neigh flush all),再 ping,观察 ARP 重新解析的过程;或者把两台机器掩码故意改成不一致,抓包看 ARP 请求是否还能得到回应,用现象反推掩码判断逻辑。这种「改一个参数、看一次包」的方法,比背十遍理论都管用。
我自己带实验时踩过最深的坑,是当年图省事让所有人用 DHCP,结果地址池小、租约乱,一半人时通时不通,排查了两小时才发现是地址冲突。从那以后,凡是做以太网基础实验,我一律要求静态 IP 加分配表,先把变量控制住,再去研究协议行为。希望帮到你。
本文还有配套的精品资源,点击获取