简介:面向计算机网络课程实验教学的一份PDF讲义,以“组建小型以太网”为主线,完整覆盖从硬件规划、主机配置到网线制作的实操全流程。资源共1个PDF文件,压缩包大小约241KB,内容包含网络拓扑规划、网卡驱动安装、TCP/IP协议配置,以及基于EIA/TIA 568A/568B标准的直通线与交叉线制作步骤,并附有知识点总结,适合高校学生完成局域网实验时对照参考。已有147人浏览学习。通过该讲义可系统掌握以太网组网的基本方法,理解网卡、交换机、双绞线等软硬件协同工作的原理,同时提升排查网线接头与IP设置等常见问题的实践能力,是一份简明实用的实验操作指南。
1. 组建小型以太网,实验一为什么总在“两台机器互ping”上翻车
第一次进网络实验室的人,多数会栽在同一个地方:照着指导书把网线插好,两台电脑的本地连接也显示已连接,然后ping对端 IP 却一直超时。有人怀疑网卡坏了,有人怪交换机,最后发现只是水晶头线序压错了一根芯。《计算机网络实验一 组建小型以太网》要解决的就是这个基本盘:把两台主机放进同一个广播域,让它们通过物理链路和二层交换机真正通信起来。这个实验不碰路由协议,也不碰 VLAN,核心只有三件事——物理连接、IP 地址规划、连通性验证。适合刚开计算机网络课的本科生,也适合准备 408 但动手经验几乎为零的人,因为后面所有排错思路,几乎都能从这里找到影子。
2. 把小型以太网“画”成能连通的拓扑:设备选型与线缆细节
2.1 从直连到交换:最小拓扑怎么搭
“组建小型以太网”的“组建”二字,动手点是拓扑,不是命令。常见做法是先搭两台 PC 加一台二层交换机的最小拓扑,物理连接关系可以写成:PC-A 的 eth0 接交换机 1 号口,PC-B 的 eth0 接交换机 2 号口,两台机器只在同一个二层广播域里通信。这个拓扑看起来简单,但它已经把网络分层教材里的物理层、数据链路层、网络层都串起来了。
我见过不少同学直接两台电脑用网线对连,省掉交换机也能通,这种双机互联拓扑更适合临时验证,不适合当实验报告的主拓扑。原因有三个:一是后续实验要加第三台、第四台设备时,直连结构没办法平滑扩展;二是交换机上有 MAC 地址表可以观察,这是理解以太网转发行为的核心证据;三是实验指导书里如果画了拓扑,绝大多数是以交换机为中心的星型结构。所以哪怕实验室只发给你两台电脑和一根线,我也建议你找一台闲置交换机串在中间,这会让你后面写报告时多出很多可说的内容。
为什么强调“二层交换机”而不是集线器?这就要回到共享式以太网和交换式以太网的区别。集线器工作在物理层,所有端口共享同一个冲突域,任何时刻只有一台设备能占用链路发送数据,否则就会碰撞;交换机则把每个端口隔离成独立的冲突域,端口之间可以全双工收发。教材讲 CSMA/CD 时几乎都拿共享式集线器举例,但实验室里领到的设备大概率是交换机,所以你要理解书里的冲突域和眼前的设备是两回事。考试考的是共享式以太网,实验做的是交换式以太网,这个差异不要在报告里混着写。
2.2 直通线与交叉线:线序、标准,以及现在还要不要纠结
线缆是实验一最容易被低估的环节。RJ45 水晶头里有 8 根线,只要两端线序一致就能当直通线用。T568B 的线序是:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。T568A 则是把 1、3 和 2、6 这两对线对调:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕。旧时代 PC 连交换机必须用直通线,PC 连 PC 必须用交叉线,因为百兆以太网里 1、2 是发送,3、6 是接收,两台 PC 直连时一端的发送要接到另一端的接收。
但现在做实验,你基本不用为了“直通还是交叉”熬夜。现代网卡大多支持 Auto-MDIX,可以自动识别对端设备类型并翻转线对,所以很多场景下两台 PC 用直通线也能通。这不算玄学,是千兆网卡普遍支持自适应线序后的结果。但要注意,在仿真软件里这条规则依然存在:用 Cisco Packet Tracer 或华为 eNSP 做实验时,如果选错了线型去连 PC 和交换机,端口就是不会 up。你在真实世界里记的是水晶头线序,在仿真里记的是线型,两种“线”别混为一谈。
另一个很多人踩过的坑是百兆和千兆的差异。百兆以太网只要求 1、2、3、6 四根芯通,千兆则必须 8 根芯全部通。实验室里很多“网线看着没问题”的故障,其实是水晶头里第 4、5 或 7、8 根线没压好,百兆能跑,千兆就断。遇到这种问题,别急着怪电脑,把网线接到测线仪上逐芯测一遍,8 个灯按顺序亮就是好的。如果没有测线仪,就换一根确定能用的成品线做对照,这是排查物理层问题最快的手段。
2.3 以太网帧格式与帧间隔:搭建前先弄懂线上在传什么
线缆之外,还要知道以太网线上跑的到底是什么。以太网帧格式从前往后是:前导码和帧起始符、目的 MAC、源 MAC、类型/长度字段、载荷、FCS 帧校验序列。抓包软件里看到的一般是从目的 MAC 开始的部分,前导码和 FCS 由网卡硬件处理,Wireshark 不会把它们显示出来。帧类型字段里,0x0806 是 ARP,0x0800 是 IPv4,0x86DD 是 IPv6。实验一里你会看到前两类:ARP 广播帧的目的 MAC 是全 F,IPv4 的 ICMP 报文目的 MAC 就是对端网卡地址。
帧间隔也是一个基础概念。以太网规定两个帧之间必须有最小间隔,叫 IFG,长度是 96 bit time。10M 以太网上大约 9.6 微秒,百兆大约 0.96 微秒,千兆更短。这个间隔存在的意义,是给接收端留出处理上一帧的时间。如果 IFG 被压缩成 0,接收端的缓冲可能来不及回收,就会出现“抓包文件里能看到包,但实际通信丢包”的诡异现象。交换机性能指标里说的“线速转发”,本质上就包含了正确处理帧间隔的能力。
在实验一这个阶段,你不用自己生成帧,但要学会在抓包结果里认出帧格式。后面第 4 章会专门讲怎么抓一次 ARP 和 ICMP,那时你再回来看这段帧格式,会发现它比教材里的表格好记得多。谢希仁教材里那张帧格式图是抽象图,抓包软件里的帧是实物图,两条线对在一起看,效率最高。
3. 让两个节点进入同一网段:地址规划与配置步骤
3.1 地址规划我先写在本子上:掩码、网段和可用地址
配置 IP 之前,先把地址规划写在小本子上,不要打开网卡属性边想边填。实验一的规划要求不多,但每一条都是后面实验的地基:全网使用同一个网段,每台设备的主机位不能重复,广播地址和网络地址不能分配给主机。通常我会用 192.168.10.0/24 这个网段,给 PC-A 配 192.168.10.10,给 PC-B 配 192.168.10.20,掩码都是 255.255.255.0。
我一般会在实验报告里放一张表,把规划先写清楚,再写配置过程,老师一眼就能看出你是有计划地在做实验,而不是瞎填。
| 设备 | 接口 | IP 地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| PC-A | 以太网 | 192.168.10.10 | 255.255.255.0 | 留空 |
| PC-B | 以太网 | 192.168.10.20 | 255.255.255.0 | 留空 |
| 二层交换机 | 不需要 IP | 无 | 无 | 无 |
默认网关这一栏为什么留空?因为交换机工作在二层,两台主机又在同一个广播域内,通信靠的是 ARP 找到对端 MAC 后直接转发,不经过任何三层路由设备。这跟家用路由器上网是两回事:手机连 WiFi 时要配网关,是因为它要访问公网;实验里你和对端就在同一张二层网上,配了网关反而会让系统多生成一条默认路由,对实验本身没有帮助。
“不在同一网段”的实验也可以做一次:把其中一台改成 192.168.20.20,再 ping 一次,你会发现 ping 不通,但如果你开启了抓包,会看到 ARP 请求一直在问网关地址。这个对比能帮你理解子网掩码的作用,做完记得改回来。
3.2 Windows 下用 netsh 和图形界面完成配置
Windows 是学生实验的主力系统。配置静态 IP 时我习惯用 netsh 命令行,因为图形界面点来点去容易手滑,命令行可以回看历史记录。先打开管理员权限的命令提示符,执行ipconfig /all查看当前网卡名称,然后输入下面的命令:
# 查看当前所有网络适配器的准确名称和 IP 信息 ipconfig /all # 把名为“以太网”的适配器设为静态 IP,掩码为 255.255.255.0 netsh interface ip set address name="以太网" static 192.168.10.10 255.255.255.0第一条命令的作用是确认接口名称。中文 Windows 系统里适配器名通常就叫“以太网”,英文系统里叫“Ethernet”,如果你之前改过适配器名称,这里必须以ipconfig /all输出的名字为准,否则 netsh 会报“找不到接口”。第二条命令里,static后面依次是 IP 地址和子网掩码,因为不配网关,所以这里不写第三项。执行完后可以用ipconfig确认地址已经生效。
图形界面也可以,路径是:右键任务栏网络图标,打开“网络和 Internet 设置”,进入“更改适配器选项”,右键“以太网”,属性,双击“Internet 协议版本 4(TCP/IPv4)”,选择“使用下面的 IP 地址”后填写。注意不要填错“默认网关”和“首选 DNS 服务器”,本实验不需要。如果你在机房做完实验后还想正常上网,记得把网卡改回“自动获得 IP 地址”,否则回到宿舍会发现自己上不了网,这是每次实验课都会有人犯的错。
3.3 Linux 下用 ip 命令与 nmcli 走同一套配置
如果你用的是 Ubuntu 或者 Kali 虚拟机,Linux 侧的配置逻辑和 Windows 完全一样,只是命令不同。现在不建议再用ifconfig,它在新系统里已经不是首选,ip命令才是标准工具。
# 查看接口名,常见的是 eth0、ens33 或 enp0s3 ip addr show # 把第一台机器配成 192.168.10.10/24,/24 等价于 255.255.255.0 sudo ip addr add 192.168.10.10/24 dev eth0 # 确保接口处于 up 状态 sudo ip link set eth0 upip addr add是临时生效的,重启网络服务或重启系统后就会丢失。如果你希望配置持久化,最常见做法是用 NetworkManager 的 nmcli 工具:
# 把名为“Wired connection 1”的连接改为手动 IP sudo nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.10.10/24 ipv4.gateway "" sudo nmcli con up "Wired connection 1"这里的ipv4.gateway ""表示把网关清空,和 Windows 侧留空网关是一个思路。如果你的系统没有 NetworkManager,而是 netplan 管理网络,那就要去改/etc/netplan/*.yaml文件,把 DHCP 改成静态地址。实验一阶段我建议优先选ip命令临时配置,少用 netplan,因为一旦写错 YAML 缩进,重启后网卡会起不来,排错时间比实验本身还长。
两端都配置完成后,用ping 192.168.10.20做连通性测试。如果通了,说明地址规划、物理链路、二层转发都已经正常工作;如果不通,就进入下一章的排查流程,这也是实验一真正要练的能力。
4. 验证小型以太网是否组建成功:ping、ARP 与抓包三件套
4.1 用 ping 不是“通了就结束”:先看丢包、延迟与 TTL
ping 是实验一最直接的验证手段,但很多人只会盯着“通没通”,不会看输出里的参数。正确的验收姿势是分三步:先 ping 127.0.0.1 自环地址,确认 TCP/IP 协议栈是好的;再 ping 本机自己的局域网 IP,确认网卡驱动和 IP 配置已经生效;最后才 ping 对端 IP,确认链路和交换机都没问题。如果第一步就失败,说明是系统协议栈或网卡驱动问题,跟网线无关。
# Windows 测试 20 个包并观察丢包率 ping -n 20 192.168.10.20 # Linux 的等效写法 ping -c 20 192.168.10.20-n和-c都是指定发包数量。我故意把数量设成 20,而不是默认的 4 个,是因为只有连续发包才能看出问题:如果 20 个包全通,丢包率 0%,再去测传输大文件;如果有少量超时,就要怀疑双工协商或网线质量。TLL 字段也值得看一眼:Windows 系统回显的 TTL 通常是 128,Linux 通常是 64,如果看到 127 或 63,说明中间经过了路由器且 TTL 被减过一次。实验一的环境里两台机器直连交换机,不该出现这种情况,如果看到了,说明你的数据包走了别的路径,这就是问题。
第一次 ping 对端时,首包延迟通常比后面的包大,这不是网络抖动,而是本机要先发 ARP 解析对端的 MAC 地址,ARP 应答完成后才能封装 ICMP 报文。这个现象本身就是小型以太网的正常工作过程,不要当成故障。
4.2 用 arp -a 和交换机的 MAC 地址表核对二层转发
ping 通过后,实验并没有结束。你还要解释“为什么能通”。两台电脑不在同一个物理网卡直连,而是经过交换机,那么交换机是怎么知道把帧从哪个端口送出去的?答案在 MAC 地址表。
# Windows 查看本机的 ARP 缓存 arp -a # 思科交换机查看 MAC 地址表 show mac address-table # 华为交换机查看 MAC 地址表 display mac-address先看本机的arp -a输出,里面应该有两个关键条目:一是 192.168.10.20 的 IP 地址对应 PC-B 的 MAC 地址;二是 192.168.10.10 对应本机自己的 MAC。如果你能从arp -a里看到对端 IP 和 MAC,但 ping 却不通,问题基本不在二层,而是对端的防火墙在拦截 ICMP,这种情况后面避坑章会专门讲。
交换机的 MAC 地址表是另一个证据。在 PC-A 上 ping 完 PC-B 之后,去交换机上执行display mac-address,你会看到两条动态学习到的表项,一条是 PC-A 的 MAC 对应交换机 1 口,另一条是 PC-B 的 MAC 对应交换机 2 口。这个表是交换机自己学习出来的,不是手工配的,学习过程就是以太网交换的核心原理。实验报告里把这张表截图贴进去,再附一句话解释动态学习机制,比写三页原理都有说服力。
4.3 用 Wireshark 抓一次 ARP 和 ICMP:对照以太网帧格式
如果你手里有 Wireshark 或 tshark,这一节能让你把实验价值翻一倍。抓包不是只为了截图,而是亲眼看到 ARP 广播和 ICMP 回显在以太网帧里长什么样。
# 在 Linux 上实时抓 ARP 和 ICMP 报文,抓够 20 个自动停 sudo tshark -i eth0 -f "arp or icmp" -c 20-i eth0指定抓包接口,接口名要用ip addr show查出来的名字;-f "arp or icmp"是 BPF 抓包过滤器,意思是只让 ARP 和 ICMP 两类报文进入缓存;-c 20表示抓满 20 个包自动退出。这个过滤器是必须的,如果不加,实验环境里其他广播报文会把结果刷得很乱。Windows 下没有 sudo,如果装了 Wireshark,直接用图形界面选择“以太网”接口,在过滤器栏输入arp or icmp,然后触发一次 ping 就能看到同样的结果。
抓包结果里你会看到:第一个包是广播帧,目的 MAC 是ff:ff:ff:ff:ff:ff,帧类型字段写着0x0806 (ARP),ARP 请求里包含“谁是 192.168.10.20?请告诉 192.168.10.10”;紧接着 PC-B 返回单播 ARP 应答;之后 PC-A 发出的 ICMP Echo Request 目的 MAC 已经变成 PC-B 的 MAC,帧类型是0x0800 (IPv4)。对照第 2 章讲的以太网帧格式,你就能把教材上的“目的 MAC、源 MAC、类型/长度”和屏幕上的一列列数据对应起来。
帧间隔在抓包里也能间接看到:Wireshark 里相邻两个帧的 Delta time 字段,包含了两帧之间的 IFG 和线路传播时延。百兆实验环境下这个数字通常是微秒级,如果出现几百微秒甚至毫秒级的间隔,就要看看是不是网卡驱动或交换机在处理什么异常,这种细节是实验报告里很加分的观察。
5. 组建小型以太网避坑排查:5 个最常见的翻车现场
5.1 网线插上后,系统一直提示“网线被拔出”
现象:网线两头都插好了,但任务栏网络图标显示“网线已断开”,或者网卡状态里链路速度显示为空。敲ipconfig也看不到以太网适配器的 IPv4 地址。原因大多出在物理层:水晶头没压到位、线序做错、水晶头金属片氧化,或者交换机端口本身被 disable 了。我之前帮人排查过一次,折腾了半天,最后发现是水晶头里第 6 根线缩回去半毫米,百兆收缩到没法用。解决:先看网卡和交换机两端 Link 灯是否常亮,不亮就换一根成品网线做对照实验;有测线仪就逐芯测,要看 8 个灯按顺序亮,不能只亮 4 个。如果换线还是不行,再检查交换机端口是否被 shutdown,用display interface看端口状态,别一上来就重装网卡驱动。
5.2 地址都填了,系统却显示“未识别的网络”
现象:Windows 右下角网络图标变成黄色感叹号,提示“未识别的网络”或“无 Internet 访问”。很多新手以为这就是失败,急着去配网关、配 DNS,越配越乱。原因其实是 Windows 用 DHCP 检查来判断“网络正不正常”,没有 DHCP 服务器,它就认为网络“无法识别”,但这和以太网二层连通性没有直接关系。解决:本实验所有网卡都配静态 IP,出现“未识别的网络”是正常现象,直接 ping 对端 IP,能通就是成功。如果实在想消除感叹号,可以给两台机器都填一个并不存在的网关,比如 192.168.10.254,但这只改变 Windows 的显示判断,不加任何转发效果,不建议写进实验报告。
另一个相关现象是 IP 冲突:两台 PC 被配成了同一个地址,后配置的那台会弹窗提示“IP 地址冲突”,ARP 表会被反复冲刷,ping 时通时断。解决方法是回到 3.1 的规划表,确认每台机器主机位唯一,然后用arp -d *清空 ARP 缓存再试。
5.3 同一网段也能看到 MAC,但 ping 就是不通
现象:arp -a能看到对端 IP 和 MAC,说明二层链路、交换机转发都已经正常,但 ping 对端始终请求超时。原因基本是对端 Windows 防火墙默认拦截了 ICMP 回显请求,字节进得来,回包出不去。解决:在对端电脑上打开“高级安全 Windows Defender 防火墙”,找到“入站规则”里的“文件和打印机共享 (回显请求 - ICMPv4-In)”,右键启用;或用管理员执行下面这条命令:
netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow这条命令的意思是新增一条入站规则,放行 ICMPv4 Echo Request,也就是 ping 请求。实验结束后可以删除这条规则恢复默认状态。注意不要为了图省事直接关闭整个防火墙,机房电脑里可能有其他安全问题,教学实验不该以关闭系统防护为代价。
5.4 ping 能通但丢包率很高,传文件还会断
现象:20 个 ping 包里有五六个超时,剩余包延迟忽高忽低,用 FTP 传大文件时速度极慢甚至断开。原因最常见的是交换机端口双工模式不匹配,典型场景是一端强制百兆全双工,另一端保持自动协商,结果协商失败后链路退化到半双工,产生大量冲突。解决:先把两端网卡和交换机端口都设回自动协商,让双方自己谈速率和双工。如果设备太老必须手动指定,那就两端都强制成同一组参数,比如都设为 100M 全双工。华为交换机上进行端口配置,可以这样操作:
# 进入交换机端口视图 interface GigabitEthernet0/0/1 # 关闭自动协商,手动指定速率与双工 undo negotiation auto speed 100 duplex full这里的speed 100是百兆速率,duplex full是全双工。但我要强调,现代交换机默认就是自动协商,绝大多数情况下不要手动强制,双工不匹配是自动协商协议没跑起来才出现的老问题。遇到丢包,先看两端端口状态,确认实际协商出来的速率和双工是否一致,再决定要不要手动干预。
5.5 电脑明明接着网线,系统却优先走了无线网卡
现象:实验环境里电脑同时开着 WLAN 和有线以太网,Windows 的网络列表里冒出各种无线网名称,明明实验要求用的是以太网接口,但ping结果时通时不通,抓包还抓到一堆跟你实验无关的流量。原因是有线网卡和无线网卡同时存在时,Windows 会根据接口跃点或连接状态选路,无线网络可能被当成默认出口,数据包根本没从以太网口出去。解决:右键任务栏网络图标进入“更改适配器选项”,找到无线网卡对应的 WLAN 适配器,右键禁用,只保留以太网。禁用后我再执行ipconfig,确保当前有 IP 的适配器只剩以太网一个。这个操作是实验期间临时动作,实验结束要记得重新启用无线网卡,别等回宿舍才发现 WiFi 打不开。
提示:整个实验过程中,如果发现“以太网”适配器名称下面还挂着一个无线网络名称,不用怀疑实验环境有问题,标准的排错动作就是先禁用 WLAN,再重新
ipconfig /all确认当前活动接口。
6. 把实验做成能验收的报告:验证矩阵与故障记录技巧
6.1 拓扑图必须标注端口和地址
实验报告第一印象来自拓扑图,不是来自截图。画一张带设备名和接口编号的图,比贴十行代码更说明问题。最简单的画法是:PC-A 的以太网口接交换机 GE0/0/1,PC-B 的以太网口接交换机 GE0/0/2,然后在每台电脑旁边标注 IP 地址和子网掩码,交换机旁边标注你从display mac-address里看到的 MAC 表项。这张图同时回答了三件事:拓扑结构是什么、地址规划是什么、二层转发怎么学到的。
6.2 用验证矩阵记录实验结果
验收实验成功,不能只写一句“ping 通了”。我习惯用一张验证矩阵表,把每项测试的命令、预期结果、实测结果、是否通过列清楚:
| 测试项 | 命令 | 预期结果 | 实测结果 | 是否通过 |
|---|---|---|---|---|
| 本机协议栈 | ping 127.0.0.1 | 回显正常 | 回显正常 | 通过 |
| 本机网卡 | ping 192.168.10.10 | 回显正常 | 回显正常 | 通过 |
| 对端可达 | ping -n 20 192.168.10.20 | 20 包全通 | 20 包全通 | 通过 |
| ARP 缓存 | arp -a | 能看到对端 MAC | 已有记录 | 通过 |
| 交换机 MAC 表 | display mac-address | 两个端口各有一条动态表项 | 符合 | 通过 |
| 抓包验帧 | Wireshark 抓 arp or icmp | ARP 广播 + ICMP 回显 | 符合 | 通过 |
这张表贴在报告里,老师不用费劲去翻你的截图就能确认实验完成度。表格里的“实测结果”一定要按真实情况写,不要为了好看而编造;如果某一项没过,把它留空并转入故障记录,这反而是加分项。
6.3 故障记录按“现象—原因—解决”写,别只贴截图
实验报告里最容易拿低分的写法,是把报错截图往页面上一贴,下面写“经排查已解决”。解决过程才是实验能力的体现。我见过最好的报告写法,每条故障就三行:现象是什么,原因是什么,操作了什么后恢复。比如“两台 PC ping 不通,arp 能看到 MAC,判断为防火墙拦截 ICMP,已通过放行 ICMPv4 入站规则解决”,这就是合格的记录,不会超过五十个字。
我后来自己动手做这个实验时,养成一个习惯:无论实验多顺利,都会故意制造一个故障,比如把一台机器改成错误网段,或者临时禁用无线网卡,再把排查过程写进报告。这样做的好处是,你会对正常状态和异常状态的差异非常敏感,而不是只会照着 PDF 抄命令。组建小型以太网这个实验真正要带走的东西,不是“ping 通了”这个结果,而是你有了一个自己的排错顺序:物理层看灯和线,二层看 MAC 表,三层看 IP 和防火墙。按照这个顺序走一遍,实验一的坑基本都能自己填平。希望帮到你。
本文还有配套的精品资源,点击获取