尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

双机互联实验:一根网线直连的排错逻辑与验证方法

双机互联实验:一根网线直连的排错逻辑与验证方法 简介这份《计算机网络实验报告_双机互联》PDF面向高校计算机网络课程的学生与自学者聚焦局域网组建与对等网互联这一基础实验场景帮助读者理解双机通信的完整配置流程。资源包内仅含1个PDF文件大小约1.02MB内容以实验报告形式呈现涵盖实验目的、对等网概念、网络规划、硬件连接、协议安装、IP地址与计算机标识设置、ping连通性测试及资源共享等模块并配有拓扑图与操作截图辅助理解。报告完整记录了从星型拓扑规划、网卡与双绞线制作到TCP/IP协议配置、工作组设置、共享文件夹访问的实操过程可作为课程作业参考或实验预习复习材料。目前已有249人学习适合需要掌握对等网搭建与基本网络命令的初学者对照练习。1. 双机互联实验一根网线背后的三层排错逻辑两台电脑用一根网线直连互相 ping 通这大概是计算机网络课里最不起眼的一个实验。但真到动手的时候翻车的人远比想象中多网线插上了网卡灯也亮了ping就是不通屏幕上跳出「一般故障」或者「请求超时」然后对着两台机器发呆。这个实验报告要解决的核心问题其实就一句话——在没有交换机、没有路由器、没有 DHCP 服务器的条件下让两台机器通过一条物理链路完成 IP 层互通。它属于最基础的对等网Peer-to-Peer组网场景也是理解「物理层→数据链路层→网络层」这条链路怎么逐层打通的最小实验单元。适合刚学完 IP 地址和子网掩码、准备第一次动手连线的同学也适合工作几年但一直没搞明白「为什么网线直连要交叉线」的工程师回头补课。下面按「先想清楚再动手」的顺序把选型、配置、验证和排错一次讲透。2. 直连之前先想清楚网线、网卡与 IP 的三件事双机互联看着简单但它同时踩在物理层、数据链路层和网络层三个层面上。任何一层没对齐ping都不会通。所以动手前必须把三件事想明白用什么线、网卡处于什么状态、IP 怎么规划。这三件事决定了后面 80% 的故障来源。2.1 直通线还是交叉线先看网卡支不支持自动翻转早期做双机互联标准答案是「必须用交叉线」。原因是网卡的 RJ45 接口里发送引脚TX和接收引脚RX是固定的一台机器的 TX 要接到另一台机器的 RX 上信号才能对上。如果两台机器都用直通线TX 对 TX、RX 对 RX物理链路根本建立不起来。但现在的网卡基本都支持Auto-MDIX自动线序翻转网卡会自动检测对端是直通还是交叉然后内部把收发引脚调过来。所以现实情况是千兆及以上的网卡直通线也能直连。判断方法很简单看插上网线后网卡指示灯的状态或者进系统看链路是否 up。场景推荐线序说明两台老设备百兆及以下交叉线不支持 Auto-MDIX必须交叉至少一端支持千兆直通线可用Auto-MDIX 自动翻转不确定交叉线兼容性最好不会错提示如果手头只有直通线又怀疑是线序问题先别急着做交叉线进系统看链路状态。链路 up 说明物理层通了问题在更上层。2.2 网卡状态别让「已断开」骗了你物理链路通了不代表网卡就绪。Windows 下经常出现「网络电缆被拔出」但网线明明插着的情况原因通常是网卡被禁用、驱动异常或者网卡节能设置把链路关了。排查顺序设备管理器里看网卡有没有黄色感叹号有就是驱动问题。网络连接里看适配器是不是「已禁用」右键启用。网卡属性 → 电源管理 → 取消「允许计算机关闭此设备以节约电源」。高级选项里看「速度和双工」是不是被锁死在某个不匹配的值改成「自动协商」。Linux 下用ip link看接口状态state UP才算链路就绪。如果是DOWN先ip link set eth0 up再看ethtool eth0里的Link detected: yes。2.3 IP 规划同网段、不冲突、别用保留地址双机互联不需要网关但两台机器的 IP 必须在同一个子网里。常见做法是A 机192.168.1.1/24B 机192.168.1.2/24子网掩码255.255.255.0这里有几个容易踩的点不要用192.168.0.1或192.168.1.1之外的地址段除非你确认没有冲突。有些路由器默认占用了这些地址虽然直连时路由器不在链路上但习惯上还是避开。不要配网关。直连场景没有网关配了反而可能导致系统把包发给一个不存在的下一跳。不要用169.254.x.x。这是 APIPA 自动分配的地址出现它说明 DHCP 没拿到地址系统自己兜底了两台机器不一定在同一网段。Linux 下临时配 IP# 给 eth0 配 192.168.1.1/24不配网关 sudo ip addr add 192.168.1.1/24 dev eth0 sudo ip link set eth0 up # 查看结果 ip addr show eth0ip addr add是临时生效重启就没了。/24表示子网掩码 255.255.255.0。dev eth0指定网卡名实际名字可能是enp3s0之类用ip link先确认。Windows 下在「网络和共享中心 → 更改适配器设置 → 属性 → IPv4」里手动填IP 地址192.168.1.1子网掩码255.255.255.0默认网关留空DNS留空配完用ipconfig确认看到IPv4 地址和子网掩码正确即可。3. 从 ping 通到 ping 稳验证链路的三层命令IP 配好了接下来就是验证。很多人只会敲一个ping通了就完事不通就抓瞎。其实验证要分层做先看链路层通不通再看网络层通不通最后看通得稳不稳。每一层都有对应的命令和判断标准。3.1 链路层验证ARP 表里有没有对方的 MACping之前先确认链路层能不能解析到对方的 MAC 地址。因为 IP 包要封装成帧发出去必须知道目的 MAC。如果 ARP 解析失败ping会直接报「无法访问目标主机」。Windows# 先 ping 一下触发 ARP然后看 ARP 缓存 ping 192.168.1.2 arp -aLinuxping -c 2 192.168.1.2 ip neigh show dev eth0如果 ARP 表里出现了192.168.1.2对应的 MAC 地址说明链路层通了。如果显示INCOMPLETE或失败说明 ARP 请求发出去没收到回应问题在物理层或数据链路层。注意ARP 表有老化时间Windows 默认几分钟Linux 默认几十秒。如果刚配完 IP 就查可能还没触发 ARP先 ping 一下再看。3.2 网络层验证ping 的返回码怎么读ping通了不代表没问题返回的信息里藏着很多线索。常见的几种结果返回信息含义排查方向来自 192.168.1.2 的回复: 字节32 时间1ms TTL128正常无请求超时包发出去没回应对方防火墙、IP 冲突、链路不通无法访问目标主机ARP 解析失败物理层、网卡、线序一般故障本地协议栈或路由问题网关配置、路由表、协议栈异常传输失败。常见故障网卡驱动或链路问题驱动、网卡硬件「一般故障」这个词在热搜里出现频率很高它通常不是网络不通而是本地系统的问题。常见原因配了网关但网关不可达系统尝试走网关失败。路由表里有冲突条目。防火墙或安全软件拦截了 ICMP。协议栈异常重启网卡或重置 Winsock 可解决。Windows 下重置命令netsh winsock reset netsh int ip reset # 重启电脑Linux 下检查路由表ip route show # 如果看到 default via 192.168.1.254 之类的条目而 192.168.1.254 不存在删掉它 sudo ip route del default3.3 稳定性验证大包、连续 ping 和双向测试ping通一次不算通要测稳定性。三个维度大包测试默认ping是 32 字节太小了掩盖不了 MTU 问题。用-lWindows或-sLinux发大包# Windows发 1472 字节的包加上 28 字节头正好 1500 ping -l 1472 192.168.1.2 # Linux同样 ping -s 1472 192.168.1.2如果小包通、大包不通通常是 MTU 或网卡双工模式问题。双工不匹配一端全双工一端半双工会导致大包丢包严重。连续测试ping -tWindows或pingLinux 默认一直 ping观察一段时间内的丢包率。直连链路丢包率应该是 0%如果有丢包检查网线质量、网卡双工设置。双向测试A ping B 通了还要 B ping A。有些防火墙只拦入站不拦出站单向通的情况很常见。# A 机 ping -c 100 192.168.1.2 # B 机 ping -c 100 192.168.1.1两边都跑 100 个包看丢包率和延迟。直连场景延迟应该小于 1ms丢包率 0%。4. 双机互联避坑五条血泪经验这个实验看起来简单但坑特别多。下面五条是我自己踩过和帮别人排查时遇到最多的每条按「现象 → 原因 → 解决」写清楚。4.1 现象网卡灯亮但 ping 报「无法访问目标主机」原因网卡灯亮只代表物理层有信号不代表链路层能通信。最常见的是线序不对——两台老机器用直通线TX 对 TX物理层有信号但数据帧发不出去。另一种可能是网卡双工模式不匹配一端全双工一端半双工链路能 up 但通信异常。解决先换交叉线试。如果换了还不行进网卡高级设置把「速度和双工」改成「自动协商」或手动统一为「100Mbps 全双工」。Linux 下用ethtool -s eth0 autoneg on开启自动协商。4.2 现象ping 显示「一般故障」原因这个报错基本不是网络不通而是本地系统的问题。最常见的是配了网关但网关不可达系统尝试走网关失败后返回这个错误。其次是路由表冲突、防火墙拦截 ICMP、协议栈异常。解决先检查有没有配网关直连场景把网关留空。然后ip route show看路由表删掉多余的 default 路由。Windows 下netsh winsock reset重置协议栈。最后检查防火墙临时关闭测试。4.3 现象小包能通大包不通原因MTU 问题或双工不匹配。直连场景 MTU 默认 1500但如果网卡双工不匹配大包在传输过程中容易出错。另一种可能是网卡驱动有 bug对大包处理异常。解决先统一双工模式为自动协商。如果还不行临时把 MTU 调小测试# Linux 临时改 MTU sudo ip link set eth0 mtu 1400 # Windows netsh interface ipv4 set subinterface 以太网 mtu1400 storepersistent如果调小 MTU 后大包能通说明链路质量有问题换网线或换网卡。4.4 现象A 能 ping 通 BB ping 不通 A原因单向通通常是防火墙问题。Windows 防火墙默认拦截入站 ICMPA ping B 时B 的防火墙可能放行了或者 B 的防火墙配置允许但 B ping A 时 A 的防火墙拦截了。另一种可能是 A 机配了错误的静态 ARP 或路由。解决检查两边防火墙的入站规则临时关闭测试。Windows 下# 允许 ICMP 入站 netsh advfirewall firewall add rule nameAllow ICMP protocolicmpv4:8,any dirin actionallowLinux 下sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT4.5 现象IP 配好了但ipconfig显示169.254.x.x原因这是 APIPA 地址说明系统没拿到 DHCP 地址自己兜底分配了一个。直连场景本来就不该有 DHCP出现这个说明网卡被设置成了「自动获取 IP」而链路上没有 DHCP 服务器。解决手动配静态 IP。Windows 下在 IPv4 属性里选「使用下面的 IP 地址」填192.168.1.1和255.255.255.0。Linux 下用ip addr add配。配完ipconfig /release再ipconfig /renew刷新一下。5. 进阶技巧用双机互联做带宽和延迟的粗略测量双机互联实验做完ping只是及格线。如果想再往前走一步可以用这条直连链路做点更有意思的事——粗略测一下带宽和延迟。不需要专业仪器系统自带的工具就够。5.1 用 iperf3 测直连带宽iperf3是测带宽的常用工具一端跑服务端一端跑客户端。服务端B 机iperf3 -s客户端A 机# 测 10 秒输出结果 iperf3 -c 192.168.1.2 -t 10输出里的Bitrate就是带宽。千兆网卡直连正常应该在 900Mbps 以上。如果只有 100Mbps 左右检查网卡是不是协商到了百兆或者网线只有百兆规格比如只接了 4 根线。5.2 用 ping 的 TTL 和延迟估算链路质量ping返回的TTL值可以粗略判断对端系统类型Windows 默认 128Linux 默认 64。经过路由器会递减直连场景不会变。延迟方面直连应该在 1ms 以下。如果看到时间2ms或更高检查是不是走了无线网卡或者系统负载太高。# Linux 下更精确的延迟统计 ping -c 100 -i 0.2 192.168.1.2 | tail -3-i 0.2表示每 0.2 秒发一个包tail -3看最后的统计行里面有min/avg/max/mdevmdev是抖动直连场景应该很小。5.3 一个容易被忽略的细节关闭多余网卡如果机器上同时有有线和无线网卡系统可能会把流量走无线导致直连链路测出来的数据不准。测试前把无线网卡禁用或者用route命令指定走有线接口。Linux 下# 查看路由确认 192.168.1.0/24 走的是 eth0 ip route get 192.168.1.2Windows 下# 查看路由表 route print如果发现192.168.1.0的网关指向了无线网卡的网关删掉那条路由或者把有线网卡的优先级调高。我自己做这个实验的习惯是配完 IP 先ping三次通了再ping -t跑一分钟看丢包最后用iperf3测一下带宽。三步走完这条链路才算真正验证过。很多同学做完ping就交报告结果答辩时被问「带宽多少」就卡住了。多花十分钟测一下报告里多一行数据说服力完全不一样。希望帮到你。本文还有配套的精品资源点击获取
返回列表