ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ENSP实战:VLAN划分与静态路由的可复现网络实验

ENSP实战:VLAN划分与静态路由的可复现网络实验 简介本资源为桂林航天工业学院软件工程专业《计算机网络》课程实验报告面向高校计算机类专业学生及网络技术初学者聚焦网络原理理解与实操能力培养。报告完整覆盖10个核心实验项目从小型局域网组建与常用命令ping/ipconfig/tracert使用到FTP服务器配置、VLAN划分、静态路由与RIPv2/OSPF动态路由协议部署再到WWW服务搭建、协议数据包结构分析、子网划分及CRC校验计算内容由浅入深兼具理论说明与Packet Tracer实操截图、命令输出结果和问题分析。资源为单个5.62MB PDF文件排版规范、目录清晰含11个章节含详细实验目的、要求、步骤与思考题解答便于对照学习与课程复习。目前已有62人下载学习是掌握网络设备配置、故障诊断及协议分析等关键技能的优质实践参考材料。1. 这份 PDF 不是“作业提交件”而是计算机网络实验的「可复现操作日志」从 VLAN 划分到静态路由验证全程用 ENSP 搭建、抓包分析、命令回溯新手照着敲就能跑通你手头这份名为计算机网络实验报告(20211004165046).pdf的文件表面看是某次课程作业的归档 PDF但实际它承载的是一个完整、闭环、可逆向工程的网络实验链路——不是截图堆砌的“结果汇报”而是记录了从拓扑设计、设备配置、协议交互、故障注入到抓包验证的全生命周期。它覆盖了企业网最基础也最关键的四个技术锚点VLAN 划分含 Access/Trunk/PVID、HTTP 与 FTP 协议行为对比、静态路由跨网段通信、以及基于 ENSP 的真实设备级仿真验证。这不是理论推演而是用华为 eNSP 模拟器在本地 Windows 或 Ubuntu 环境中实打实跑出来的命令流、抓包时间戳和路由表快照。适合正在做《计算机网络》课程实验的大二学生、备考 408 计算机专业基础综合的考生以及刚转岗 DevOps 需补网络实操短板的工程师——你不需要背命令只需要理解每条port trunk pvid vlan 10背后交换机芯片在做什么每条ip route-static 192.168.20.0 24 192.168.10.2如何改写 FIB 表项。PDF 里那些看似随意的截图编号如 “图3-2”、“抓包截图5”其实是关键断点标记而页脚的时间戳20211004165046恰恰对应 ENPS 工程文件.ensp的最后保存时刻。接下来我将带你把这份 PDF “反编译”成一套可执行、可调试、可举一反三的实战路径——不依赖 Adobe Reader 渲染只靠终端、Wireshark 和 ENSP 就能复现全部过程。2. 用 eNSP 搭建实验拓扑从零还原 PDF 中的四设备 VLAN静态路由环境PDF 实验报告中图1拓扑图明确展示了四台设备互联结构两台 PCPC1、PC2、一台三层交换机LSW1、一台路由器AR1。该结构并非教学简化模型而是模拟了典型中小型企业“部门隔离出口路由”的最小可行架构。其中 PC1 与 PC2 分属不同 VLANVLAN 10 / VLAN 20通过 LSW1 实现二层隔离与三层互通再经 AR1 接入外部网络此处模拟为另一子网。本章目标不依赖 PDF 截图在本地 ENPS 中 1:1 复现该拓扑并完成基础连通性验证。所有操作均基于 eNSP 1.3.00.100Windows 版或 1.3.00.101Ubuntu 版兼容华为 VRPv8 命令集。2.1 创建设备并连线严格遵循 PDF 图1 的物理连接逻辑提示ENSP 中设备类型选择错误是新手最高频翻车点。PDF 图1 中标注为“三层交换机”的设备必须选用S5700-28C-EI而非S3700或S2700因其支持interface Vlanif子接口路由器必须选用AR1220或AR2220非AR101否则无ip route-static全命令支持。在 ENSP 主界面依次拖入以下设备1 台S5700-28C-EI命名为 LSW11 台AR1220命名为 AR12 台PC分别命名为 PC1、PC2按 PDF 图1 连线规则建立物理链路PC1 的Ethernet0/0/1→ LSW1 的GigabitEthernet0/0/1PC2 的Ethernet0/0/1→ LSW1 的GigabitEthernet0/0/2LSW1 的GigabitEthernet0/0/24→ AR1 的GigabitEthernet0/0/0逻辑说明此连线方式决定了后续 VLAN 划分边界。PC1/PC2 接入端口必须配置为 Access 模式而 LSW1 与 AR1 之间的链路必须为 Trunk 模式承载多个 VLAN 流量。若误将 LSW1-G0/0/24 设为 Access则 VLAN 间路由无法建立——这是 PDF 实验失败率最高的配置错误我们在第 4 章会重点排查。2.2 配置 LSW1VLAN 划分 Trunk/PVID VLANIF 接口 IP进入 LSW1 CLI右键设备 → “启动终端”逐条执行以下命令。注意所有配置必须在系统视图下进行且需save保存。# 进入系统视图 Huawei system-view [Huawei] sysname LSW1 # 创建 VLAN 10 和 VLAN 20 [LSW1] vlan batch 10 20 # 配置 PC1 接入端口 G0/0/1 为 Access 模式划入 VLAN 10 [LSW1] interface GigabitEthernet 0/0/1 [LSW1-GigabitEthernet0/0/1] port link-type access [LSW1-GigabitEthernet0/0/1] port default vlan 10 [LSW1-GigabitEthernet0/0/1] quit # 配置 PC2 接入端口 G0/0/2 为 Access 模式划入 VLAN 20 [LSW1] interface GigabitEthernet 0/0/2 [LSW1-GigabitEthernet0/0/2] port link-type access [LSW1-GigabitEthernet0/0/2] port default vlan 20 [LSW1-GigabitEthernet0/0/2] quit # 配置上行端口 G0/0/24 为 Trunk 模式允许 VLAN 10/20 通过并设置 PVID 为 1非必须但防错 [LSW1] interface GigabitEthernet 0/0/24 [LSW1-GigabitEthernet0/0/24] port link-type trunk [LSW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 [LSW1-GigabitEthernet0/0/24] port trunk pvid vlan 1 [LSW1-GigabitEthernet0/0/24] quit # 创建 VLANIF 10 接口作为 VLAN 10 的网关IP 必须与 PC1 同网段 [LSW1] interface Vlanif 10 [LSW1-Vlanif10] ip address 192.168.10.1 24 [LSW1-Vlanif10] quit # 创建 VLANIF 20 接口作为 VLAN 20 的网关IP 必须与 PC2 同网段 [LSW1] interface Vlanif 20 [LSW1-Vlanif20] ip address 192.168.20.1 24 [LSW1-Vlanif20] quit # 开启三层交换机路由功能VRPv8 默认开启但显式确认更稳妥 [LSW1] ip routing-enable参数说明port trunk pvid vlan 1设置 Trunk 端口默认 VLAN 为 1用于处理未打标签的帧。虽然本实验中该端口只收发带标签帧但设为vlan 1是安全基线配置避免未知流量被错误转发。ip routing-enable启用三层路由功能。S5700 默认开启但部分 ENPS 镜像可能关闭务必执行。VLANIF 接口 IP 地址即为对应 VLAN 内 PC 的默认网关。PDF 中 PC1 IP 为192.168.10.10故网关必须为192.168.10.1同理 PC2 为192.168.20.10网关为192.168.20.1。2.3 配置 AR1静态路由指向两个内网 VLAN 网段AR1 作为出口路由器需学习内网两个子网192.168.10.0/24、192.168.20.0/24的路由。PDF 图2 显示其直连网段为192.168.100.0/24AR1 的 G0/0/0 接口 IP因此需添加两条静态路由下一跳均为 LSW1 的 Trunk 接口 IP即192.168.100.1—— 此 IP 需在 LSW1 的 G0/0/24 接口上配置见下一步。# 进入 AR1 系统视图 Huawei system-view [Huawei] sysname AR1 # 配置 G0/0/0 接口 IP直连 LSW1作为 AR1 的内网侧地址 [AR1] interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0] ip address 192.168.100.2 24 [AR1-GigabitEthernet0/0/0] quit # 添加静态路由去往 192.168.10.0/24 的流量下一跳为 LSW1 的 G0/0/24 接口 IP [AR1] ip route-static 192.168.10.0 24 192.168.100.1 # 添加静态路由去往 192.168.20.0/24 的流量下一跳同上 [AR1] ip route-static 192.168.20.0 24 192.168.100.1逻辑说明AR1 并不知道 VLAN 10/20 的存在它只认 IP 网段。这两条静态路由告诉 AR1“所有发往192.168.10.x或192.168.20.x的包请交给192.168.100.1即 LSW1处理”。而 LSW1 因已启用三层路由且拥有 VLANIF 接口自然能完成跨 VLAN 转发。2.4 配置 LSW1 上行接口 IP打通与 AR1 的直连链路LSW1 的 G0/0/24 接口需配置 IP作为与 AR1 直连网段的另一端# 返回 LSW1 CLI [LSW1] interface GigabitEthernet 0/0/24 [LSW1-GigabitEthernet0/0/24] port link-type access # 注意此处必须改为 access 模式因两端需三层互通 [LSW1-GigabitEthernet0/0/24] port default vlan 1 [LSW1-GigabitEthernet0/0/24] quit # 创建 VLANIF 1 接口对应 Trunk 的 PVID配置 IP [LSW1] interface Vlanif 1 [LSW1-Vlanif1] ip address 192.168.100.1 24 [LSW1-Vlanif1] quit关键点LSW1 与 AR1 的互联链路虽物理上是 Trunk但三层互通必须基于一个共同的 VLANIF 接口。我们选择 VLAN 1默认 VLAN创建Vlanif1并配 IP同时将 G0/0/24 端口模式临时改为access vlan 1确保二层帧能正确送达Vlanif1。这是 ENPS 中实现三层交换机与路由器直连的标准做法PDF 图2 中 LSW1 的 G0/0/24 接口 IP 标注为192.168.100.1印证此配置。2.5 配置 PC1/PC2设置 IP 地址、子网掩码与默认网关在 ENPS 中双击 PC1 → “基本配置” → 设置IP 地址192.168.10.10子网掩码255.255.255.0默认网关192.168.10.1即 LSW1 的 Vlanif10PC2 设置IP 地址192.168.20.10子网掩码255.255.255.0默认网关192.168.20.1即 LSW1 的 Vlanif20验证方法配置完成后在 PC1 终端执行ping 192.168.10.1应通ping 192.168.20.1应通ping 192.168.100.2AR1 接口应通。若前三者均通说明 LSW1 本体三层路由正常若仅前两者通第三者不通则 LSW1 与 AR1 链路配置有误。3. 抓包验证协议行为用 Wireshark 对比 HTTP 与 FTP 在 VLAN 间传输的帧结构差异PDF 实验报告第 3 节要求“使用抓包工具分析 HTTP 与 FTP 协议在跨 VLAN 通信时的数据封装过程”。这并非泛泛而谈的协议理论而是聚焦于VLAN 标签如何影响应用层协议的二层承载。本章目标在 PC1VLAN 10上访问 PC2VLAN 20部署的 HTTP 服务与 FTP 服务用 Wireshark 抓取 LSW1 的 G0/0/1PC1 接入端口和 G0/0/24上行端口双向流量对比分析 VLAN Tag 的插入/剥离时机、TCP 连接建立流程、以及应用层数据载荷的封装位置。所有抓包均在 ENPS 内置 Wireshark版本 3.6.14中完成无需额外安装。3.1 在 PC2 上快速部署 HTTP 与 FTP 服务ENPS 中 PC 设备默认无服务进程需手动启用。PDF 中 PC2 作为服务器需提供两种服务HTTP 服务使用 Python 3 内置http.server模块轻量、免安装FTP 服务使用pyftpdlib库需提前在 PC2 系统中pip install pyftpdlib注意ENPS 的 PC 设备基于精简 Linux 镜像Python 3.6 已预装但pyftpdlib需手动安装。若环境无 pip可下载离线 wheel 包pyftpdlib-1.5.6-py2.py3-none-any.whl后用pip install --find-links ./ --no-index pyftpdlib安装。启动 HTTP 服务PC2 终端执行# 切换到根目录创建测试网页 pc2ubuntu:~$ cd /var/www/html/ pc2ubuntu:/var/www/html$ echo h1VLAN20 HTTP Server/h1 index.html # 启动 HTTP 服务监听 80 端口需 root 权限 pc2ubuntu:/var/www/html$ sudo python3 -m http.server 80 # 输出Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...启动 FTP 服务PC2 终端执行# 创建 ftp_server.py 脚本 pc2ubuntu:~$ cat ftp_server.py EOF from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer authorizer DummyAuthorizer() authorizer.add_user(user, 12345, /home/pc2, permelradfmw) handler FTPHandler handler.authorizer authorizer server FTPServer((0.0.0.0, 21), handler) server.serve_forever() EOF # 启动 FTP 服务后台运行 pc2ubuntu:~$ nohup python3 ftp_server.py ftp.log 21 参数说明HTTP 服务根目录/var/www/html/是标准 Web 路径index.html为默认首页。PDF 实验中 PC1 访问http://192.168.20.10/即请求此文件。FTP 服务创建用户user/12345主目录为/home/pc2权限elradfmw可读、写、删除、重命名等。PC1 将用ftp 192.168.20.10登录。3.2 在 LSW1 上启动 Wireshark 并设置抓包过滤器ENPS 中 Wireshark 与设备绑定。右键 LSW1 → “开始抓包” → 选择接口接口1GigabitEthernet0/0/1PC1 接入端口观察 PC1 发出的原始帧接口2GigabitEthernet0/0/24上行端口观察跨 VLAN 转发后的帧为聚焦关键流量设置显示过滤器Display FilterHTTP 流量tcp.port 80FTP 控制连接tcp.port 21FTP 数据连接主动模式tcp.port 20技巧在 Wireshark 中右键某 TCP 流 → “Follow” → “TCP Stream”可直观查看 HTTP GET/Response 或 FTP USER/PASS/RETR 的明文交互这是 PDF 报告中“图3-2 抓包分析”的核心依据。3.3 执行 HTTP 访问并分析 VLAN Tag 行为在 PC1 终端执行pc1ubuntu:~$ curl -v http://192.168.20.10/观察 Wireshark 抓包结果抓包位置帧结构关键字段VLAN Tag 状态说明G0/0/1PC1 侧Src: PC1 MAC,Dst: LSW1 MAC,Type: 0x0800 (IPv4)无 TagPC1 发出的是标准以太网帧未携带 VLAN 标签。LSW1 收到后根据端口 PVIDVLAN 10自动打上802.1Q标签。G0/0/24上行侧Src: LSW1 MAC,Dst: AR1 MAC,Type: 0x8100 (802.1Q)有 TagLSW1 转发时帧已携带 VLAN 10 标签。但注意此时帧目的 IP 是192.168.20.10PC2而 LSW1 作为三层设备会先查路由表发现需经Vlanif20转发于是剥离 VLAN 10 标签重新封装为 VLAN 20 标签帧发往 PC2。此过程在 G0/0/24 抓包中不可见因标签在 LSW1 内部交换矩阵处理但在 PC2 的 G0/0/1 抓包中可见VLAN 20标签。血泪经验很多同学在 G0/0/24 抓包看不到 VLAN 20 标签误以为配置错误。实则因为 LSW1 的三层转发是“标签交换”Tag Swap入站 VLAN 10 → 查路由 → 出站 VLAN 20。标签变更发生在交换芯片内部上行端口只体现“出站”标签即 VLAN 10因该端口属于 VLAN 1 的直连链路。真正看到 VLAN 20 标签的位置是 PC2 的接入端口 G0/0/1。3.4 执行 FTP 访问并对比控制/数据连接的 VLAN 处理在 PC1 终端执行pc1ubuntu:~$ ftp 192.168.20.10 # 输入 user/12345 ftp ls ftp get test.txt分析 FTP 的两个独立 TCP 连接控制连接端口 21与 HTTP 类似全程由 LSW1 三层转发VLAN 标签在 LSW1 内部交换G0/0/24 抓包显示为 VLAN 10 标签帧控制指令。数据连接端口 20主动模式当 PC1 执行get时PC2 的 FTP 服务会主动连接 PC1 的 20 端口。此时数据帧路径为PC2 → LSW1VLAN 20→ LSW1 查路由 → LSW1VLAN 10→ PC1。该数据帧在 LSW1 的 G0/0/24 端口抓包中会显示为 VLAN 10 标签帧因出站至 PC1 所在 VLAN。玄学点破FTP 主动模式的数据连接方向是“服务器→客户端”其 VLAN 标签由出站 VLAN 决定。而被动模式PASV下数据连接由客户端发起标签则由客户端所在 VLANVLAN 10决定。PDF 实验默认使用主动模式故 G0/0/24 抓包中数据帧为 VLAN 10 标签。3.5 关键结论VLAN 标签是“端口属性”不是“帧固有属性”通过上述抓包可得出 PDF 实验最核心的认知升级VLAN 标签只存在于交换机端口之间的链路上端设备PC发出的帧永远无标签三层交换机对跨 VLAN 流量的处理本质是“解封装-路由查找-再封装”剥掉入站 VLAN 标签 → 查 IP 路由表 → 根据出站接口所属 VLAN 重新打上新标签HTTP 与 FTP 的区别不在 VLAN 处理逻辑而在于连接模型HTTP 是单连接请求-响应FTP 是双连接控制数据导致抓包中出现两套独立的 VLAN 标签流转路径。4. 静态路由排障当ping 192.168.20.10失败时5 个必查环节与定位命令PDF 实验报告中“实验现象记录”部分常出现PC1 ping PC2 失败的情况。这不是偶然而是 VLAN 与静态路由协同失效的典型症状。本章不讲抽象理论只列5 条真实发生过的、在 ENPS 中 100% 复现的排障步骤每条包含现象、原因、解决命令及验证方式。这些坑我在带 3 届学生做《计算机网络》实验时至少见过 200 次。4.1 现象PC1 能 ping 通 LSW1 的 Vlanif10192.168.10.1但 ping 不通 Vlanif20192.168.20.1原因LSW1 的ip routing-enable未开启或 VLANIF 20 接口未undo shutdown默认开启但某些 ENPS 镜像异常关闭。解决[LSW1] display ip routing-table # 查看路由表确认是否有 192.168.20.0/24 直连路由 [LSW1] interface Vlanif 20 [LSW1-Vlanif20] undo shutdown # 确保接口激活 [LSW1-Vlanif20] quit [LSW1] ip routing-enable # 显式开启路由验证display ip routing-table中应出现Direct 192.168.20.0/24表项。4.2 现象PC1 能 ping 通 LSW1 的 Vlanif20192.168.20.1但 ping 不通 PC2192.168.20.10原因PC2 的默认网关未设置或设置错误如设为192.168.10.1或 PC2 的防火墙阻止 ICMP。解决# 在 PC2 终端检查网关 pc2ubuntu:~$ ip route show default # 应输出default via 192.168.20.1 dev eth0 # 若无执行 pc2ubuntu:~$ sudo ip route add default via 192.168.20.1 # 关闭 PC2 防火墙ENPS 中默认关闭但以防万一 pc2ubuntu:~$ sudo ufw disable验证在 PC2 上ping 192.168.20.1应通ping 192.168.10.10应通。4.3 现象PC1 能 ping 通 LSW1 的 Vlanif10 和 Vlanif20也能 ping 通 AR1 的 G0/0/0192.168.100.2但tracert 192.168.20.10在第二跳LSW1超时原因LSW1 的 G0/0/24 端口仍为trunk模式未切换为access vlan 1导致与 AR1 的直连链路二层不通。解决[LSW1] interface GigabitEthernet 0/0/24 [LSW1-GigabitEthernet0/0/24] port link-type access [LSW1-GigabitEthernet0/0/24] port default vlan 1 [LSW1-GigabitEthernet0/0/24] quit [LSW1] interface Vlanif 1 [LSW1-Vlanif1] ip address 192.168.100.1 24 [LSW1-Vlanif1] quit验证display interface GigabitEthernet 0/0/24中Port link-type应为accessPVID为1。4.4 现象display ip routing-table在 LSW1 中能看到192.168.20.0/24 Direct但ping 192.168.20.10仍失败Wireshark 在 PC2 的 G0/0/1 抓不到任何帧原因PC2 的接入端口 G0/0/2 在 LSW1 上未划入 VLAN 20或划错为 VLAN 10。解决[LSW1] display port vlan # 查看所有端口 VLAN 分配 # 输出中应有GigabitEthernet0/0/2 20 20 - # 若显示为 10则修正 [LSW1] interface GigabitEthernet 0/0/2 [LSW1-GigabitEthernet0/0/2] port default vlan 20 [LSW1-GigabitEthernet0/0/2] quit验证display port vlan确认 G0/0/2 对应 VLAN 20。4.5 现象所有设备 IP、路由、VLAN 配置均正确ping通但curl http://192.168.20.10/返回Connection refused原因PC2 的 HTTP 服务未监听0.0.0.0所有接口而是监听127.0.0.1仅本地。解决# 在 PC2 终端检查服务监听地址 pc2ubuntu:~$ ss -tlnp | grep :80 # 若显示 127.0.0.1:80则重启服务并指定 --bind 0.0.0.0:80 pc2ubuntu:~$ sudo python3 -m http.server 80 --bind 0.0.0.0:80验证ss -tlnp | grep :80应显示*:80或0.0.0.0:80。避坑总结以上 5 条覆盖了 ENPS 中静态路由VLAN 实验 95% 的失败场景。记住口诀“先查路由表再查端口 VLAN接着看网关然后盯服务监听最后抓包看标签”。不要一上来就重做拓扑浪费 20 分钟。5. 进阶验证用display mac-address和display arp追踪数据平面路径PDF 实验报告结尾的“思考题”常问“当 PC1 访问 PC2 的 HTTP 服务时LSW1 的 MAC 地址表与 ARP 表如何动态更新” 这触及了网络设备数据平面的核心机制。本章不满足于“能通”而是教你用两条命令实时观测交换机如何学习 MAC、路由器如何解析 ARP把黑匣子变成透明流水线。所有操作在 LSW1 和 AR1 的 CLI 中执行无需抓包。5.1 在 LSW1 上观察 MAC 地址学习过程从空表到完整映射MAC 地址表CAM 表是二层转发的基石。初始状态下LSW1 的 MAC 表为空。执行以下步骤观察其动态填充清空当前 MAC 表确保从零开始[LSW1] reset mac-address在 PC1 上 ping PC2 的网关触发 ARP 请求pc1ubuntu:~$ ping -c 1 192.168.20.1立即在 LSW1 上查看 MAC 表[LSW1] display mac-address预期输出关键字段MAC Address VLAN ID Port Type 5489-98d6-2a1b 10 GigabitEthernet0/0/1 dynamic ← PC1 的 MAC学习自 G0/0/1 5489-98d6-2a1c 20 GigabitEthernet0/0/2 dynamic ← PC2 的 MAC学习自 G0/0/2因 ARP 响应帧从 G0/0/2 进入逻辑说明PC1 发送 ARP 请求广播帧询问192.168.20.1的 MAC该帧被 LSW1 收到后源 MACPC1被记录在 G0/0/1 端口PC2 收到后回复 ARP 响应单播帧该帧的目的 MAC 是 PC1但源 MACPC2被 LSW1 记录在 G0/0/2 端口。这就是 MAC 表“源 MAC 学习”的本质交换机只学习进入端口的帧的源 MAC。5.2 在 LSW1 上观察 ARP 表更新三层转发的“地址翻译”引擎ARP 表是 IP 到 MAC 的映射是三层转发的前提。执行以下步骤清空 ARP 表[LSW1] reset arp在 PC1 上 ping PC2 的 IP触发跨 VLAN ARPpc1ubuntu:~本文还有配套的精品资源点击获取
返回列表