🌐 西电计算机通信与网络项目式学习(附完整实验报告)

📘 作者:XDH_CS
结合个人实验实践整理而成,旨在给学弟学妹们一个实验报告参考。西电计网实验报告与作业注意尽量早传,一般写了都打满。晚交可能扣分。

实验一:基于eNSP的ARP协议分析

一、环境配置

1. 实验设备

华为路由器 R1

PC1、PC2、PC3

eNSP模拟器

2. 网络拓扑

3. IP地址规划

R1接口:
G0/0/1: 10.1.1.254/24
G0/0/2: 10.1.2.254/24

PC地址:
PC1: 10.1.1.1/24(未配置网关)
PC2: 10.1.1.2/24
PC3: 10.1.2.3/24(未配置网关)

二、原理

1. ARP协议工作机制

(1)同网段通信流程

当PC1(10.1.1.1)访问PC2(10.1.1.2)时:

ARP请求(广播):PC1发送广播ARP请求:“谁是10.1.1.2?请告诉10.1.1.1”

ARP响应(单播):PC2回复:“我是10.1.1.2,我的MAC是00-11-22-33-44-55”

ICMP通信:
PC1将ICMP报文封装到目标MAC地址(PC2的MAC)中,直接发送。

2)跨网段通信问题

当PC1(10.1.1.1)尝试访问PC3(10.1.2.3)时:

无网关配置:PC1认为PC3在同一子网,发送ARP请求广播

广播域隔离:路由器默认不转发广播,PC3无法收到请求 → 通信失败

2. Proxy ARP核心原理

路由器介入:

R1在接口G0/0/1收到PC1的ARP请求(目标IP:10.1.2.3)

R1检查路由表,发现10.1.2.0/24是其直连网络

R1以自身G0/0/1接口的MAC地址响应PC1

PC1将数据包发送至R1,R1根据路由表转发至PC3

本质:路由器“欺骗”PC1,使PC1误以为目标主机在同一广播域,实际通过路由转发实现跨网段通信。

三、步骤

1. 基础配置

配置路由器接口IP

路由器R1配置(建立两个独立的子网,为后续跨网段通信测试提供基础架构):

验证直连通信

PC1 ping PC2(同子网)→ 成功

验证逻辑:确认ARP协议在局域网内的正常运作。

PC1 ping G0/0/1接口 PC3 ping g0/0/2→ 成功

验证逻辑:确认终端与网关的基础连通性。

实验结果见(四部分)

2. 跨网段通信问题复现

步骤3:PC1 ping PC3(无Proxy ARP)

现象:请求超时

抓包分析(Wireshark示例):

ARP请求未响应

PC1持续发送ARP请求广播,但无设备响应

关键结论:

不同子网的主机无法通过广播ARP直接通信。

3. Proxy ARP功能验证

启用Proxy ARP

配置目的:
允许路由器响应非本子网的ARP请求,突破广播域限制。

再次测试PC1 ping PC3

现象:通信成功

抓包分析:

PC1发送ARP请求:“Who has 10.1.2.3?”

R1以自身MAC(00e0-fc12-3456)响应

PC1发送ICMP报文至R1,R1转发至PC3

结果见第四部分

5. 修改ARP表的映射 再次ping测试

四、结果

1. 验证直连通信

PC1 ping PC2(同子网)→ 成功

PC1 ping G0/0/1接口 PC3 ping g0/0/2→ 成功

2.未启动ARP代理是 PC1pingPC3的抓包分析:(ARP请求未响应)

3.启动AARP代理后PC1 ping PC3结果:

ARP表:

修改映射后无法ping通:

五、心得体会

通过这次实验,让我掌握了ARP协议和Proxy ARP的配置方法,同时学会了如何用NESP软件搭建网络拓扑结构。我有几个感悟:

  1. 动态ARP的脆弱性:
    实验中手动修改ARP表项后,PC1误将数据发送到错误MAC地址,导致通信中断。这让我深刻认识到动态ARP易受欺骗攻击的缺陷。
  2. 通过抓包分析,直观理解了Proxy ARP并非真正“代理”目标主机,而是路由器通过欺骗性ARP响应,将自身作为数据中转站,实现跨子网通信。

通过抓包我理解了ARP协议原理:启动 ARP 代理后工作流程如下: R1 收到 PC1 寻找PC的MAC 地址的 ARP 请求时先比对 ARP 表,若发现没有适合的 MAC 地址则再将此 IP 地址拿去比对自身的路由表。若路由表中有合适的路由则会回复本接口的 MAC地址给 PC1 ,此后PC1 发送给PC3的数据都是先发送至此端口,接着比对路由表后再将其转运至真正目的地。

实验二:基于eNSP的静态路由配置

一、环境配置

1. 实验设备

设备类型

设备名称

数量

接口配置

华为路由器

AR2220 (R1)

1

Ethernet0/0/0, Ethernet0/0/1

华为路由器

AR2220 (R2)

1

Ethernet0/0/0, Ethernet0/0/1

主机终端

PC1

1

Ethernet0/0/1

主机终端

PC2

1

Ethernet0/0/1

连接线缆

直通线

2

PC-路由器连接

连接线缆

交叉线

1

路由器间连接

配置线缆

Console线

2

路由器配置

2. 网络拓扑图

二、原理

1. 静态路由基本概念

静态路由是网络管理员手动配置的路由信息,其特点包括:

手动配置:管理员通过命令行逐条添加路由条目

路径固定:不会根据网络状态自动调整路径

优先级高:比动态路由具有更高的管理距离(默认60)

适用场景:小型网络、网络拓扑固定的环境

2. 路由表工作原理

路由器通过路由表决定数据包转发路径:

3. 跨网段通信原理

当PC1(192.168.1.1)访问PC2(192.168.2.1)时:

PC1比较目标IP与本机IP不在同一网段

将数据包发送到默认网关(R1:192.168.1.254)

R1查询路由表,发现静态路由:192.168.2.0/24 → 192.168.3.2

R1将数据包转发到R2(192.168.3.2)

R2查询路由表,发现目标网络是直连网络

R2通过ARP解析PC2的MAC地址并转发数据包

三、步骤

1. 网络拓扑搭建

2. 设备配置流程

(1) PC配置

PC1:IP: 192.168.1.1掩码: 255.255.255.0网关: 192.168.1.254

PC2:IP: 192.168.2.1掩码: 255.255.255.0网关: 192.168.2.254

(2) 路由器R1配置

<Huawei> system-view

[Huawei] sysname R1

[R1] undo info-center enable  # 关闭信息中心

[R1] interface Ethernet 0/0/1

[R1-Ethernet0/0/1] ip address 192.168.1.254 24

[R1-Ethernet0/0/1] undo shutdown

[R1-Ethernet0/0/1] quit

[R1] interface Ethernet 0/0/0

[R1-Ethernet0/0/0] ip address 192.168.3.1 24

[R1-Ethernet0/0/0] undo shutdown

[R1-Ethernet0/0/0] quit

[R1] ip route-static 192.168.2.0 24 192.168.3.2  # 静态路由配置

[R1] save  # 保存配置

(3) 路由器R2配置

<Huawei> system-view

[Huawei] sysname R2

[R2] undo info-center enable

[R2] interface Ethernet 0/0/1

[R2-Ethernet0/0/1] ip address 192.168.2.254 24

[R2-Ethernet0/0/1] undo shutdown

[R2-Ethernet0/0/1] quit

[R2] interface Ethernet 0/0/0

[R2-Ethernet0/0/0] ip address 192.168.3.2 24

[R2-Ethernet0/0/0] undo shutdown

[R2-Ethernet0/0/0] quit

[R2] ip route-static 192.168.1.0 24 192.168.3.1  # 静态路由配置

[R2] save

3. 验证配置

在R1上查看路由表:

<R1> display ip routing-table

在R2上查看路由表:

<R2> display ip routing-table

4. 连通性测试

  1. PC1 ping 网关:ping 192.168.1.254
  2. PC1 ping PC2:ping 192.168.2.1
  3. PC2 ping 网关:ping 192.168.2.254
  4. PC2 ping PC1:ping 192.168.1.1

四、结果

1. 路由表验证

R1路由表:

R2路由表:

2. 连通性测试结果

PC1 ping PC2测试:

结果分析:

  1. 通信成功:数据包往返正常,无丢包现象
  2. TTL变化:起始TTL=128,经过两个路由器后TTL=126(128-2)
  3. 延迟合理:平均延迟31ms,符合两跳路由器的预期
  4. 路径验证:PC1 → R1(192.168.1.254) → R2(192.168.3.2) → PC2(192.168.2.1)

3. 关键数据流分析

五、心得体会

通过本次实验,我获得了以下重要知识和技能:

  1. 静态路由配置的掌握
    通过本次实验,我掌握了静态路由的基本配置命令ip route-static,理解了目的网络、子网掩码和下一跳地址三个关键参数的配置方法。特别是学会了通过display ip routing-table命令验证路由配置的正确性。
  2. 路由器工作原理的深入理解
    实验让我直观地认识到路由器如何根据路由表进行数据包转发。当路由器收到目标网络非直连的数据包时,会查询路由表找到最佳路径,将数据包转发到下一跳路由器。这一过程在之前的理论学习中较为抽象,通过实验变得具体可感。
  3. 网络故障排查能力的提升
    在实验初期,由于忘记配置回程路由,PC2无法ping通PC1。通过检查路由表发现缺失192.168.1.0/24的路由条目,添加后问题解决。这一过程让我掌握了基本的网络故障排查思路:检查物理连接→验证IP配置→查看路由表→测试逐跳连通性。
  4. 理论与实践的紧密结合
    本次实验将课堂上学到的路由理论转化为实际操作,特别是静态路由与直连路由的优先级比较(直连路由优先级0,静态路由优先级60),通过查看路由表得到了直观验证。这种理论联系实际的学习方式极大提升了我的理解深度。

通过本次实验,我不仅掌握了静态路由的配置技能,更重要的是建立了网络通信的整体认识,为后续学习动态路由协议和复杂网络设计打下了坚实基础

实验三:基于eNSP的ICMP协议分析

一、环境配置

1. 实验设备

设备类型

设备名称

接口及IP配置

连接关系

华为路由器

AR1

GE0/0/1: 192.168.1.254/24

↔ LSW1 Port1

GE0/0/0: 219.229.64.1/24

↔ AR2 GE0/0/0

华为路由器

AR2

GE0/0/0: 219.229.64.2/24

↔ AR1 GE0/0/0

GE0/0/1: 221.63.196.88/24

↔ AR3 GE0/0/0

华为路由器

AR3

GE0/0/0: 221.63.196.89/24

↔ AR2 GE0/0/1

Loopback0: 9.9.9.9/8

华为交换机

LSW1

Port1: VLAN10 (Trunk)

↔ AR1 GE0/0/1

Port2: VLAN10 (Access)

↔ PC1

Port3: VLAN10 (Access)

↔ PC2

PC终端

PC1

IP: 192.168.1.1/24

网关: 192.168.1.254

PC终端

PC2

IP: 192.168.1.2/24

网关: 192.168.1.254

2. 网络拓扑图

二、原理

网络拓扑图

1. ICMP协议概述

ICMP(Internet Control Message Protocol)是TCP/IP协议簇的核心协议之一,主要用于在IP网络中传递控制信息和错误报告。其重要作用包括:

网络诊断:通过ping命令测试网络连通性

错误报告:当IP数据包传输出现问题时发送错误报告

拥塞控制:源站抑制报文通知发送方降低发送速率

2. TTL机制与ICMP超时报文

TTL(Time To Live):

位于IP报文头部的8位字段

每经过一个路由器减1

主要作用是防止数据包在网络中无限循环

ICMP超时报文(Type=11, Code=0):

产生条件:当路由器将IP数据包的TTL值减至0时

报文内容:包含原始IP报文的头部和部分数据

发送方式:单播回源IP地址

三、步骤

1. 网络基础配置

  1. 配置LSW1交换机:

system-view

vlan batch 10

interface Ethernet0/0/1

   port link-type access

   port default vlan 10

interface Ethernet0/0/2

   port link-type access

   port default vlan 10

interface Ethernet0/0/3

   port link-type access

   port default vlan 10

  1. 配置AR1路由器:

system-view

interface GigabitEthernet 0/0/1

   ip address 192.168.1.254 24

interface GigabitEthernet 0/0/0

   ip address 219.229.64.1 24

ip route-static 9.0.0.0 8 219.229.64.2

undo firewall enable

  1. 配置AR2路由器:

system-view

interface GigabitEthernet 0/0/0

   ip address 219.229.64.2 24

interface GigabitEthernet 0/0/1

   ip address 221.63.196.88 24

ip route-static 9.0.0.0 8 221.63.196.89

ip route-static 192.168.1.0 24 219.229.64.1

undo firewall enable

  1. 配置AR3路由器:

system-view

interface GigabitEthernet 0/0/0

   ip address 221.63.196.89 24

interface LoopBack 0

   ip address 9.9.9.9 8

ip route-static 192.168.1.0 24 221.63.196.88

undo firewall enable

2. 连通性测试

3. TTL超时实验操作

实验1:TTL=1在AR1抓包

在AR1的GE0/0/1接口启动抓包

PC1执行:

ping -t 1 9.9.9.9

实验2:TTL=2在AR2抓包

在AR2的GE0/0/0接口启动抓包

PC1执行:

ping -t 2 9.9.9.9

四、结果

1. 命令执行结果

实验1:TTL=1

实验2:TTL=2

2. 抓包结果分析

实验1抓包(AR1-GE0/0/1接口)

关键字段解析:

ICMP Type=11, Code=0 (Time-to-live exceeded)

TTL值在请求报文中为1,在响应报文中为255(默认值)

响应报文源地址为路由器接收接口IP(192.168.1.254)

实验2抓包(AR2-GE0/0/0接口)

关键现象:

请求报文到达AR2时TTL已减为1(经过AR1后-1)

AR2将TTL减为0后丢弃包并返回超时报文

响应报文源地址为AR2接收接口IP(219.229.64.2)

3. 结果对比分析

对比项

TTL=1实验

TTL=2实验

超时发生位置

AR1 (第一跳路由器)

AR2 (第二跳路由器)

响应源IP

192.168.1.254 (AR1内网接口)

219.229.64.2 (AR2AR1接口)

请求报文TTL

1

2PC发出),1(到达AR2

网络路径

PC1 → AR1

PC1 → AR1 → AR2

抓包位置

AR1 GE0/0/1接口

AR2 GE0/0/0接口

五、心得体会

通过本次实验,我获得了以下重要知识和技能:

  1. 深入理解了TTL机制的工作原理

实验中通过设置不同的TTL值,我直观地看到数据包在网络中的传输距离限制。当TTL值设置为1时,数据包只能到达第一跳路由器(AR1);当设置为2时,可以到达第二跳路由器(AR2)。这让我明白了TTL值实际上控制的是数据包能够经过的路由器跳数,而不是时间。

  1. 掌握了ICMP超时报文的产生机制

通过抓包分析,我清楚地观察到当路由器将IP数据包的TTL值减至0时,会立即丢弃该数据包,并向源主机发送ICMP超时报文(Type=11,Code=0)。这种报文的源IP地址就是丢弃数据包的路由器接口IP,这对网络故障诊断非常有用。

  1. 理解了tracert命令的实现原理

本次实验让我明白了tracert命令的工作原理:通过发送一系列TTL值递增的ICMP请求包,收集每跳路由器返回的超时报文,从而绘制出完整的网络路径。这种基于TTL超时机制的路径探测方法非常巧妙。

  1. 认识到网络设备协同工作的重要性

实验中任何一个路由器配置错误都会导致整个通信失败。这让我深刻理解了网络设备之间协同工作的必要性,特别是路由表配置需要双向正确,数据包才能顺利往返。

这些知识和经验不仅帮助我理解了ICMP协议和TTL机制,更培养了我解决实际网络问题的能力,为今后学习更复杂的网络协议和技术打下了坚实基础。

实验四:基于eNSP的小型网络综合实验

一、环境配置

1.1 实验设备

软件平台:华为eNSP模拟器(V100R003C00SPC100)

网络设备:

接入层交换机:LSW3、LSW4(型号S5700)

核心层交换机:LSW1、LSW2(型号S5700)

出口路由器:AR1(型号AR2220)

终端设备:4台PC(分别接入VLAN10/20/30/40)

2. 网络拓扑

3. IP地址规划

设备/接口

VLAN

IP地址/网段

说明

LSW1-Vlanif10

10

192.168.1.252/24

VLAN10网关(主)

LSW1-Vlanif20

20

192.168.2.252/24

VLAN20网关(主)

LSW2-Vlanif30

30

192.168.3.253/24

VLAN30网关(主)

LSW2-Vlanif40

40

192.168.4.253/24

VLAN40网关(主)

VRRP虚拟网关

-

192.168.x.254/24

各VLAN统一网关

AR1-G0/0/0

-

100.1.1.1/30

公网出口

AR1-G0/0/1

100

192.168.100.1/30

连接LSW1

AR1-G0/0/2

101

192.168.101.1/30

连接LSW2

二、原理

2.1 关键技术原理详解

(1)MSTP(多生成树协议)

  1. BPDU交互:每2秒发送配置BPDU(含Bridge ID、Path Cost等)
  2. 根桥选举:比较Bridge ID(优先级+MAC地址),值小者胜出
  3. 端口角色决策:

根端口(Root Port):到达根桥的最优路径

指定端口(Designated Port):每个网段的最优转发端口

阻塞端口(Alternate Port):冗余路径被阻塞

(2)VRRP(虚拟路由冗余协议)

报文交互机制:

字段

作用

Version

2 (0b1100)

VRRPv2协议标识

Type

1 (Advertisement)

通告报文

Priority

120/100

主备优先级(255为最高)

Virtual Rtr ID

10

虚拟路由器ID

Advertisement

1秒

主设备发送间隔

状态机转换:

抢占机制:

当Backup设备(优先级120)收到Master(优先级100)的报文时:

if new_priority > current_priority: 立即发起抢占

(3)OSPF(开放最短路径优先)

邻居建立流程:

    1. Down → Init:发送Hello报文(含Router ID)
    2. Init → 2-Way:收到对端Hello(含本端Router ID)
    3. 2-Way → ExStart:主从关系选举(Router ID大者为主)
    4. ExStart → Exchange:交互DBD(数据库描述)报文
    5. Exchange → Loading:请求缺失的LSA(LSR/LSU交互)
    6. Loading → Full:LSDB同步完成

LSA类型与作用:

类型

名称

产生者

实验中的应用

1

Router LSA

所有路由器

描述设备直连网段

2

Network LSA

DR

广播网段拓扑

3

Summary LSA

ABR

区域间路由(本实验未跨区域)

5

AS External LSA

ASBR

AR1下发的默认路由

(4)NAT(网络地址转换)

转换表示例:

内网IP

内网端口

公网IP

公网端口

协议

192.168.1.100

54321

100.1.1.1

1024

TCP

192.168.2.101

12345

100.1.1.1

1025

UDP

关键技术细节:

端口复用(PAT):

// NAT转换伪代码

uint16_t new_port = port_pool_alloc();  // 从1024-65535分配空闲端口

nat_table[new_port] = (internal_ip, internal_port);

会话老化机制

TCP会话:30分钟无流量后删除

ICMP会话:60秒后删除

UDP会话:5分钟后删除

(5)链路聚合(LACP)

协商过程:

状态

描述

必要条件

Down

物理链路断开

-

Passive

只响应LACP报文

本端配置为passive模式

Active

主动发送LACP报文

本端配置为active模式

Collecting

可接收数据

两端均进入Distributing状态

Distributing

可发送数据

对端进入Collecting状态

负载均衡算法:

% 华为默认算法:源目IP哈希

hash = crc32(src_ip + dst_ip) % member_count;

selected_member = members[hash];  // 选择对应物理端口

2.2 协议交互时序图(关键场景)

VRRP主备切换时序:

OSPF默认路由下发流程:

2.3 实验拓扑的协议栈映射

OSI

协议

实现设备

实验配置示例

物理层

Ethernet

所有设备

interface GigabitEthernet0/0/1

数据链路层

STP/802.1Q

交换机

port trunk allow-pass vlan 10

网络层

IP/OSPF/VRRP

三层设备

vrrp vrid 10 virtual-ip 192.168.1.254

传输层

TCP/UDP

终端与路由器

NAT端口映射

应用层

DHCP

核心交换机

dhcp select global

三、步骤

3.1 基础配置

(1)接入交换机配置(以LSW3为例)

system-view

sysname LSW3

vlan batch 10 20  # 创建业务VLAN

# 配置MSTP

stp region-configuration

 region-name huawei

 instance 1 vlan 10 20  # 映射VLAN到实例1

 active region-configuration

 quit

# 上联口配置(Trunk模式)

interface Ethernet0/0/2

 port link-type trunk

 port trunk allow-pass vlan 10 20

# 用户接入端口

interface Ethernet0/0/11

 port link-type access

 port default vlan 10

 stp edged-port enable  # 启用边缘端口

(部分配置信息截图)

3.2 核心交换机配置(以LSW1为例)

(1)链路聚合与VLAN

interface Eth-Trunk1  # 创建聚合组

 port link-type trunk

 port trunk allow-pass vlan 10 20 30 40

# 物理端口加入聚合组

interface GigabitEthernet0/0/11

 eth-trunk 1

(2)VRRP与DHCP

# VLAN网关配置(主设备优先级120)

interface Vlanif10

 ip address 192.168.1.252 24

 vrrp vrid 10 virtual-ip 192.168.1.254

 vrrp vrid 10 priority 120

 dhcp select global  # 启用DHCP

(3)OSPF路由

ospf 1 router-id 1.1.1.1

 area 0.0.0.0

  network 192.168.1.0 0.0.0.255

  network 192.168.100.0 0.0.0.3

(部分配置信息截图)

3.3 出口路由器配置(AR1)

(1)ACL与NAT

# 允许内网访问外网

acl number 2000 

 rule permit source 192.168.0.0 0.0.255.255 

# 配置NAT

interface GigabitEthernet0/0/0

 nat outbound 2000  # 应用NAT策略

(2)OSPF下发默认路由

ospf 1

 default-route-advertise  # 向OSPF域内下发默认路由

(部分配置信息截图)

四、结果

4.1 验证命令与结果

(1)MSTP拓扑验证

[LSW1] display stp brief

 MSTID  Port                        Role  State      Cost

 0      GigabitEthernet0/0/1        DESI  FORWARDING 20000

 1      GigabitEthernet0/0/2        DESI  FORWARDING 20000

 2      Ethernet0/0/3               ALTE  DISCARDING 200000

结果分析:

实例1(VLAN10/20)在G0/0/2转发

实例2(VLAN30/40)阻塞冗余端口

(2)链路聚合验证:

(3)VRRP验证

 结果分析:

VLAN10主网关在LSW1(优先级120)

VLAN30主网关在LSW2

(4)DHCP验证

(5)OSPF验证

结果分析:AR1与两台核心交换机建立Full邻接关系

(6)NAT验证

结果分析:内网IP成功转换为公网IP

五、心得体会

通过这次实验,我系统性地理解了多协议协同工作的原理,也暴露出自身知识体系的不足。在配置MSTP时,由于没有正确映射VLAN到实例,导致部分VLAN流量被错误阻塞。通过反复阅读华为文档,最终发现必须在stp region-configuration视图下用instance 1 vlan 10 20明确绑定关系,这让我真正掌握了生成树协议中"实例"的概念。

最棘手的故障发生在NAT环节。当内网PC无法访问外网时,我首先用display nat session all确认无转换记录,接着检查ACL 2000配置无误。最终借助AI查明是OSPF路由未正确发布——核心交换机缺少network 192.168.100.0 0.0.0.3语句,导致AR1无法学习到回程路由。这个教训让我深刻认识到:网络故障往往发生在协议衔接处

实验还培养了我的工程思维。最初配置DHCP时,所有地址池都集中在LSW1,结果当LSW1故障时VLAN40的PC无法获取IP。后来改为分布式部署:在LSW1配置vlan10/vlan20地址池,在LSW2配置vlan30/vlan40地址池,并通过vrrp ping-enable实现网关探测。这种设计让我体会到冗余不仅是设备备份,更是服务能力的全域覆盖。

这次实验像一次全栈式演练,从二层交换到三层路由,从地址分配到安全转换,每个环节的故障排除都加深了对协议栈整体性的理解。当最终看到所有协议状态灯都变为绿色时,那种成就感远超完成普通作业——因为这证明我真正具备了搭建可运行网络的能力。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐