简介:这是一份计算机网络实验报告资源,主题为双机互联实验,面向高校计算机网络课程学习者、实验报告撰写者及网络入门读者。报告围绕对等网(工作组网)的核心概念,完整呈现了从网络规划、星型拓扑搭建,到网卡与集线器连接、双绞线线序制作、网络协议安装、IP地址分配、计算机标识设置,再到使用连通性测试命令检测网络、设置文件夹共享并访问共享资源的全过程,可直接作为课程实验的参考模板。资源包内共1个doc文档,大小约734KB,内容为文字版实验报告,涵盖EIA/TIA 568B线序标准、网卡驱动安装要点、设备管理器检查方法、网络故障排错思路及资源共享配置细节,步骤清晰、结构完整。当前已有1019人学习下载,对需要系统梳理双机互联实验流程、快速完成实验报告的同学具有较高参考价值。
1. 双机互联实验的价值:为什么两根网线直连还值得认真做
看到「双机互联」这个实验,很多人第一反应是:拿根网线把两台电脑连起来、配个 IP、ping 一下,这不是有手就行?我劝你别急着轻视它。这个实验正好踩在计算机网络基础的核心链条上:网卡把数据变成帧、ARP 把 IP 解析成 MAC、IP 层决定要不要转发、ICMP 把「通不通」反馈回来。不管你是用谢希仁教材配王道准备 408,还是拿《计算机网络:自顶向下方法》做期末复习,这套从物理层到应用层逐层验证的思路都是通用的。下面我从网线选型开始,把能照做的步骤和坑位都标好。
2. 物理层准备:网线线序、接口自检与链路连接
2.1 直通线还是交叉线:先分清,再动手
老教材在讲物理层时一定会提一句:同种设备直连要用交叉线,连接不同种设备用直通线。按这个说法,两台电脑直连得用交叉线。但如果你现在拿两根普通直通网线也能连上,也别觉得奇怪——现代千兆网卡基本都支持 Auto-MDI/X,也就是能自己识别对端线序,自动切换收发。真正需要留神的是老设备、嵌入式开发板或者某些百兆网卡,线序不对可能直接不通。
写报告时建议先把线序这事讲清楚,用表格对比一下就够直观。实操判断顺序:先看设备手册或网口旁边的标注;再看网口指示灯;指示灯不亮就换线;换了线还不亮,再考虑是不是线序或线芯断了的问题。
| 线型 | 两端标准 | 教材说法 | 现在的实际建议 |
|---|---|---|---|
| 直通线 | T568B - T568B | 用于交换机到 PC | 现代设备基本都能直接用 |
| 交叉线 | T568A - T568B | 两台 PC 直连 | Auto-MDI/X 普及后非必需 |
| 全反线 | 一端特殊压法 | 连接网络设备 Console 口 | 双机互联用不上 |
如果自己压水晶头,T568B 线序是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕,这八个芯的顺序最好背下来。压完别急着上机,用测线器把两端都测一遍,8 个灯全按顺序亮才算过。实测里最常见的翻车不是线序记错,而是水晶头压得不深、芯线没顶到头,测线器灯闪或不亮。另一类问题是线缆类别,实训室里绝大多数是超五类或六类非屏蔽线,都能跑到千兆;如果手里是多年前的老五类线,两端网卡又都是千兆,协商速度可能会掉到 100 Mbps,甚至出现链路不稳定。报告里把这一步写清楚,顺便记一句「链路协商为 1000BASE-T」,工程味道马上不一样。如果课程要求带交换机,直通线插入交换机普通口就行,不需要再考虑交叉线;但要注意别插到与电脑不同 VLAN 的口上,默认 VLAN 1 一般没问题。
2.2 链路自测:指示灯状态与 ethtool 输出怎么看
线插好后,先看网口指示灯。绿灯或黄灯常亮表示链路建立,有数据传输时会闪。如果两端插上后灯不亮,优先怀疑网线、接口和网卡驱动。这一步在写实验报告时同样有价值:把物理层「链路已建立」的证据截图放进去,后面 IP 层问题才有的放矢。
Linux 这边还可以用 ethtool 确认链路状态和协商速率,命令如下:
# 确认网卡名,常见的有 eth0/ens33/enp3s0 ip link show # 查看 eth0 的链路状态与协商速度 sudo ethtool eth0 | grep -E "Speed|Duplex|Link detected"逻辑说明:ip link show先确认系统实际认到的网卡名,很多 Ubuntu 桌面版不是 eth0 而是 enp 开头,直接写 eth0 会报错。ethtool输出里 Link detected: yes 表示物理层 OK,Speed 和 Duplex 是协商出来的速率和工作模式,双机直连一般显示 1000Mb/s 和 Full。如果 Link detected: no,先去看线,再看网卡是否被系统禁用,用ip link set eth0 up可以拉起来。
Windows 看链路更直观,任务栏右下角网络图标或「设置—网络和 Internet—以太网」里能看到已连接。命令行也能查:
# 查看适配器状态与协商速率 Get-NetAdapter | Format-Table Name, Status, LinkSpeed说明:Status 显示 Up 表示链路建立,LinkSpeed 显示 1 Gbps 说明协商到了千兆。如果显示 Down,先插拔网线、换一个网口,再考虑换线。这一步做完整,后面配置 IP 才有意义。很多双机互联实验「卡死」在配置环节,回头一看其实是物理层根本没通,白折腾半小时。
3. 双机 IP 配置:从网段规划到 Windows 与 Linux 双侧落地
3.1 网段规划:为什么我建议选 192.168.137.x
两台电脑直连后,链路层是通的,但网络层得先「同网段」才能直接通信。双机互联最常见的问题,就是两台机器一个在 192.168.1.x、一个在 192.168.0.x,谁也看不见谁。所以动手前先定一个固定网段。我一般推荐 192.168.137.0/24,原因是 Windows 自带热点和 ICS 默认就用这个网段,校园网和家用路由器很少占用它,不容易跟已有环境打架。包括头歌这类实训平台的计算机网络模块,第一道题也往往是双机互联,用的也多是这类私有网段。
掩码固定用 255.255.255.0,也就是 /24。默认网关留空就行——你没接路由器,所有通信只在两台机器之间进行,填了网关反而可能让系统尝试走错误路由。DNS 也留空。IP 规划可以直接列成表格写进报告:
| 机器 | IP 地址 | 子网掩码 | 网关 | 用途 |
|---|---|---|---|---|
| A 机(Windows) | 192.168.137.10 | 255.255.255.0 | 留空 | 作为共享与抓包主机 |
| B 机(Linux/Windows) | 192.168.137.20 | 255.255.255.0 | 留空 | 作为客户端验证 |
如果两台都是 Windows,建议一台 10 一台 20,方便记忆也方便报告里写清「A 机地址为……、B 机地址为……」。这里有个常见坑:两台电脑都开 DHCP,Windows 默认自动获取 IP,连上直连线后有时会协商出一个 169.254.x.x 的地址,这是 APIPA 自动私有地址,属于「什么也没拿到」的信号。所以配置前先把自动获取改成手动,别指望系统自己分配。
3.2 Windows 侧配置:静态 IP、防火墙放行与确认手段
Windows 的配置顺序建议是:先配静态 IP,再放行防火墙,最后验证。图形界面路径是「设置—网络和 Internet—以太网—IP 配置—手动」,把 IP 填进去、掩码长度填 24。命令行更快,也更适合写进实验报告:
提示:下面两条命令会先把网卡上已有的 IPv4 地址清空,如果正依赖这块网卡做远程连接会立刻断线;在实训室双机直连的场景下没有这个问题。
# 列出当前网卡名,避免把"以太网"写错 Get-NetAdapter # 清理网卡上已有的 IPv4 地址,避免残留 DHCP 地址 Remove-NetIPAddress -InterfaceAlias "以太网" -AddressFamily IPv4 -Confirm:$false # 添加静态 IP 与掩码 New-NetIPAddress -InterfaceAlias "以太网" -IPAddress 192.168.137.10 -PrefixLength 24逻辑说明:Get-NetAdapter先看网卡实际名称,中文 Windows 一般叫「以太网」,英文叫 Ethernet,用错名字命令会报错。Remove-NetIPAddress把 DHCP 自动获得的地址删掉,防止同一张网卡上同时挂两个 IPv4 地址,否则路由表会变得不可预期;如果这里提示找不到对象,说明本来就没有残留地址,直接继续执行下一条即可。New-NetIPAddress的 PrefixLength 24 等价于子网掩码 255.255.255.0,这是参数里最容易写错的地方,有人填成 25 或 16,结果两台机器看着像同网段,实际不在一个广播域。
配完一定要确认,命令是ipconfig /all,重点看 IPv4 地址、子网掩码、默认网关三行。如果掩码显示不是 255.255.255.0,回去查 PrefixLength。防火墙这一步,我不建议直接关防火墙,因为这会丢掉一个很好的排障训练机会,也会让「到底是哪一层不通」变成黑匣子。正确做法是放行 ICMP 和 SMB:
# 放行 IPv4 的入站回显请求,也就是让对端能 ping 进来 netsh advfirewall firewall add rule name="allow ICMPv4-in" protocol=icmpv4:any,any dir=in action=allow # 放行 TCP 445 端口,给后续文件共享测试留路 netsh advfirewall firewall add rule name="SMB-in" dir=in action=allow protocol=TCP localport=445说明:icmpv4:any,any表示对 ICMP 报文的类型和代码不做限制,直连实验场景下够用;想严谨一点,也可以只放行 Echo Request(type 8)入站。445 是 SMB 文件共享的默认端口,放行它才能做下一步的共享验证。到这里 Windows 侧基本就绪,记得把「网络配置文件」设为专用网络,否则文件共享相关的网络发现功能默认不开启。
3.3 Linux 侧配置:临时地址与 netplan 固化
Linux 侧我建议分成两步:先用 ip 命令临时配出来跑通实验,再决定要不要用 netplan 固化。临时配置的好处是快、不改系统状态、重启自动还原,写报告时反而更容易截图:
# 清理 eth0 上残留地址 sudo ip addr flush dev eth0 # 拉起网卡 sudo ip link set eth0 up # 配置地址 /24 sudo ip addr add 192.168.137.20/24 dev eth0参数说明:flush清空指定网卡上的 IP,避免 DHCP 残留;set up让网卡进入 UP 状态,对应物理层链路已建立;addr add后面的 /24 是 CIDR 写法,就是 255.255.255.0,注意设备名要跟ip link show看到的实际名称一致。配完用ip addr show eth0或ip route确认,应该能看到 192.168.137.20/24 这样的地址,以及一条直连路由。
如果你用的是 Ubuntu 桌面版,想把这个配置固化下来,最常见做法是改 netplan。不同版本文件名可能不同,常见的是 /etc/netplan/01-network-manager-all.yaml:
network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: no addresses: - 192.168.137.20/24# 应用配置 sudo netplan apply说明:renderer 写 NetworkManager,是因为桌面版通常由 NetworkManager 管理网络,写成 systemd-networkd 反而可能和桌面环境打架;dhcp4: no表示关闭 DHCP;addresses 列表里就是静态地址。改完 apply 后再用ip addr show eth0看是否生效。如果你的系统没装 netplan,比如某些精简服务器版用的是 /etc/network/interfaces,那就别硬套 netplan,用系统自带的方式固化即可。
3.4 验证链路:从 ping 通到文件共享
配置完成后开始分层验证。先在 A 机 ping 192.168.137.20,在 B 机反 ping 192.168.137.10。两边都通,说明 ARP 解析、IP 配置、ICMP 回显全链路正常。ping 不通先别急着改配置,回到第 4 章按顺序查。共享验证我一般用一个最省事的办法:在 Linux 那台起临时 HTTP 服务,Windows 浏览器直接访问下载文件,时间成本最低,也不用碰 Samba 的权限坑:
# 在 Linux 的 /tmp 目录下挂一个 8000 端口 HTTP 服务 cd /tmp && python3 -m http.server 8000Windows 浏览器打开 http://192.168.137.20:8000/ 能看到文件列表,就说明跨主机的 TCP 数据传输已经通了。Windows 之间做共享时,右键文件夹属性里选共享,加 Everyone 只读,访问时用\\192.168.137.10\share这类 UNC 路径,注意输入 IP 而不是主机名,避免把 NetBIOS 解析问题提前叠加进来。
4. 双机互联避坑排查:ping 不通时按顺序查的 5 个高频故障点
4.1 现象、原因、解决:你可能会踩的五个坑
两条网线一台交换机或者直连,配置看着都对,ping 就是不回,这类问题在计算机网络基础实验里出现频率非常高。下面五条是我见过最多的,按从物理层到应用层的顺序列好,排查时也按这个顺序走。
现象 1:网线插上,两端网口指示灯完全不亮,或只有一侧亮。 原因:最常见是线本身问题——水晶头接触不良、线芯断了;其次是网卡被禁用,Windows 设备管理器里禁用、Linux 显示 link down 都是这个形态;极少情况是网口损坏。 解决:先用测线器测整根线,8 芯全通且顺序对;再在系统里确认网卡是启用状态;最后换一个网口或换一台机器做交叉验证。不要上来就怀疑 IP 配置,物理层没通上面全白搭。
现象 2:ping 自己 IP 通,ping 对方 IP 不通,但arp -a里能看到对方 MAC。 原因:ARP 能拿到 MAC,说明链路层和网络层的数据包确实到了对端,也能回来;ping 不通的常见原因是 Windows 防火墙默认丢弃入站 ICMP 回显请求。很多同学一上来关防火墙,反而把真正的问题掩盖了。 解决:按 3.2 的命令放行 ICMP,或者手动在「高级安全 Windows Defender 防火墙」里启用「文件和打印机共享(回显请求-ICMPv4-In)」。放行后再 ping 基本就通了。
现象 3:两台机器 IP 看着都在 192.168.137.x,但互相 ping 不通。 原因:没核对掩码。一台是 /24,另一台是 /16,或者一台自动获取到了 169.254.x,就会发生「我觉得我们在同网段,系统觉得我们不在」的乌龙。 解决:两台机器都用ipconfig /all或ip addr show核对地址和掩码,确保都是 /24,且没有残留 DHCP 地址。前面配置时特意清掉 DHCP 地址,就是为了减少这类残留。
现象 4:ping IP 全通,ping 主机名不通。 原因:网络层没问题,问题在网络层上面一层——名字解析。Windows 默认用 NetBIOS over TCP/IP 做局域网名字解析,依赖 UDP 137/138 端口;防火墙把 NetBIOS 拦了,或两台机器工作组不一致,都会解析失败。 解决:把两台机器的工作组都设为 WORKGROUP,并确保防火墙允许「文件和打印机共享」相关的入站规则;临时最省事的办法是在 hosts 文件里手动加一行映射,比如192.168.137.20 DESKTOP-ABC,改完立即生效,不用重启。
现象 5:两台 Windows 能 ping 通,但访问\\192.168.137.20\share提示找不到网络路径或拒绝访问。 原因:一是共享文件夹没有给 Everyone 授权;二是 445 端口被防火墙拦了;三是 SMB 版本不匹配,老系统默认 SMB1、新系统默认 SMB2/3,协商失败也会报错。 解决:先确认对端 445 端口通不通,PowerShell 里跑Test-NetConnection 192.168.137.20 -Port 445,端口不通回去查防火墙;端口通再看共享权限和账号。如果环境里全是老机器,可以单独开启 SMB1.0/CIFS 支持,但新环境不建议为省事开 SMB1,安全代价太高。
4.2 排查顺序:一条命令一条命令地缩小故障层
遇到「双机互联不通」,别东改一下西改一下,按层来。先把顺序背下来:物理层、链路层、网络层、传输层、应用层。具体操作是:ping 127.0.0.1测本机协议栈;ping 本机 IP测网卡和 IP 是否配上;ping 对方 IP测跨机通信;arp -a看能不能学到对方 MAC;再往上就是端口和服务了。
每一步用一句话记录结果,写进报告就是很好的排查记录。比如第 2 步通了、第 3 步不通、arp 表里没有对方 MAC,那问题大概率在物理层或数据链路层——要么线问题,要么网卡问题,跟 IP 配置无关;如果 arp 表里有 MAC 但 ping 不回,那就是防火墙或对方协议栈的问题。这种「逐层排除」的表述,写进实验报告比罗列一堆截图更有说服力。我一般还会看一眼丢包率,ping 加-n或-c参数连续发 10 个包,有零星丢包基本就是网线接触不良,整段丢包再考虑配置问题。如果你跟着湖科大教书匠的课复习过,注意他用动画讲 ARP 时序那段,跟抓包看到的过程是一模一样的,这个实验正好能验证。
5. 进阶验证:用抓包把双机互联的结论钉死在报告里
能 ping 通之后,实验报告的价值在于你能解释「为什么通」。装一个新版 Wireshark,在 A 机选对网卡——选连接 B 机的那块,比如「以太网」,而不是 Wi-Fi——开始抓包,然后清空 ARP 缓存再 ping 一次。Windows 控制台执行arp -d *,Linux 执行ip neigh flush all,随后再 ping 192.168.137.20,停抓后用过滤表达式过滤:
arp or icmp你会在结果里看到一条完整的故事线:先是广播的 ARP 请求「谁是 192.168.137.20」,接着是 B 机返回的 ARP 应答,然后是每隔一秒一组 ICMP Echo Request 和 Reply。把这几帧截图并按顺序标注,实验报告的分析部分就很扎实了。这里还能补一个有意思的细节:回包的 TTL 字段能大概看出对端操作系统,Windows 初始值默认 128,Linux 默认 64,直连一跳时回包里常见的是 127 或 63,也就是初始值减一。当然不同发行版可以改,别把它当铁律,但作为观察结论写进报告是可以的。
再往后,想验证 MTU 的影响,Windows 控制台可以用ping -f -l 1472发一个不分片的大包,直连千兆网卡下一般没问题;如果经过某些老交换机,大包不通小包通,就要考虑 MTU 协商的问题了。我自己的习惯是每次做完实验,把 Wireshark 抓包文件和ipconfig输出存成一个带日期的文件夹,以后真碰到「两台机器不通」的线上问题,这套排查顺序直接复用,能省很多事。另外提醒一句:做这个实验时手机热点别挂在这台电脑上,多一块网卡就多一条默认路由,ping 会莫名其妙走外网,这是个很容易被忽略的干扰项。希望帮到你。
本文还有配套的精品资源,点击获取