实验报告
实验 3 网络层实验
关于在线实验报告的填写,可以采取截屏、截图等方式以提高效率(如 MAC 地址、IP 地址),
但需要个人独立完成,不要抄袭。请提交到课程中心。命名方式:学号-姓名-网络层实验
为了提高效率,上传文件到服务器可以用在实验报告上粘贴相关内容的截图代替。
1. 将执行命令的结果填入下表:
2.6.1 中步骤 2 中的执行结果
2.6.1 中步骤 4 中的执行结果
2.6.2 中步骤 3 中的执行结果
No ARP Entries Found
Interface:192.168.1.22---0x20002
Interface Address Physical Address
192.168.1.21
Interface:192.168.1.21---0x3
Interface Address Physical Address
192.168.1.22
00-0c-29-08-65-bb
00-0c-29-af-8f-35
Type
dynamic
Type
dynamic
2. 分析 2.6.1 步骤 3 中截获的报文,统计“Protocol”字段填空:有 2 个 ARP 报文,有 8
个 ICMP 报文。在所有报文中,ARP 报文中 ARP 协议树的“Opcode”字段有两个取值 1,2,两
个取值分别表达什么信息?
分别表达 request(1)和 reply(2)
1
实验报告
3.根据 2.6.1 步骤 6 分析 ARP 报文结构:选中第一条 ARP 请求报文和第一条 ARP 应答报文,将
ARP 请求报文和 ARP 应答报文中的字段信息填入下表:
字段项
ARP 请求数据报文
ARP 应答数据报文
链路层 Destination 项
链路层 Source 项
网络层 Sender MAC Address
网络层 Sender IP Address
网络层 Target MAC Address
网络层 Target IP Address
Broadcast
00:0c:29:08:65:bb
00:0c:29:08:65:bb
192.168.1.21
00:00:00:00:00:00
192.168.1.21
vmware_08:65:bb
00:0c:29:af:8f:35
00:0c:29:af:8f:35
192.168.1.21
00:0c:29:08:65:bb
192.168.1.22
4.(1)比较 ping1-学号中截获的报文信息,少了什么报文?简述 ARP Cache 的作用。
少了 ARP 报文
ARP Cache 的作用是存储 ARP 协议,通信之前,主机会通过 ARP 将 IP 地址解析出对应的
mac 地址,存放在 ARP 表中,以便进行通信。
(2)按照图-4 重新进行组网,并确保连线正确。修改计算机的 IP 地址,并将 PC A 的默认网关
修改为 192.168.1.10,PC B 的默认网关修改为 192.168.2.10。考虑如果不设置默认网关会有什么
后果?
不能访问不同网段的主机,只能访问同一网段的主机。
5.根据 2.6.2 步骤 4 分析 ARP 报文结构:选中第一条 ARP 请求报文和第一条 ARP 应答报文,将
ARP 请求报文和 ARP 应答报文中的字段信息与上表进行对比。与 ARP 协议在相同网段内解析
的过程相比较,有何异同点?
请求报文的网络层,不同网段采用 PCA 默认网关,相同网段采用 PCB 的 IP 地址;
应答报文的网络层,不同网段采用 S1 E1/0/1 的 MAC 地址,相同网段采用 PCB 的 MAC 地
址。
6.根据 3.6.1 步骤 2——在 PC A 和 PC B 上启动 Wireshark 软件进行报文截获,然后 PC A ping PC
2
实验报告
B,分析截获的 ICMP 报文: 共有 8 个 ICMP 报文,分别属于哪些种类?对应的种类和代码
字段分别是什么?请分析报文中的哪些字段保证了回送请求报文和回送应答报文的一一对应?
种类有 request 和 reply,代码字段分别是 Type: 8 (Echo (ping) request)和 Type: 0 (Echo (ping)
reply)。
保证请求报文和回送应答报文一一对应的是 Source 和 Destination 字段。
7.根据 3.6.1 步骤 3——在 PC A 和 PC B 上启动 Wireshark 软件进行报文截获,运行 pingtest 程序,
设置地址掩码请求报文参数,分析截获报文填写下表:
地址掩码请求报文
地址掩码应答报文
ICMP 字段名
Type
Code
Checksum
Identifier(BE)
Identifier(LE)
Sequence
number(BE)
Sequence
number(IE)
字段值
17
0
0x34a9
2560(0x0a00)
10(0x000a)
256(0x0100)
1(0x0001)
ICMP 字段名
Type
Code
Checksum
Identifier(BE)
Identifier(LE)
Sequence
number(BE)
Sequence
number(IE)
字段值
18
0
0x34a8
2560(0x0a00)
10(0x000a)
256(0x0100)
1(0x0001)
8.根据 3.6.1 步骤 4——在 PC A 和 PC B 上启动 Wireshark 软件进行报文截获,运行 pingtest 程序,
设置时间戳请求报文参数,分析截获报文填写下表:
时间戳请求报文
时间戳应答报文
ICMP 字段名
Type
Code
Checksum
Identifier(BE)
Identifier(LE)
Sequence
number(BE)
Sequence
number(IE)
字段值
13
0
0xe3ff
2560(0x0a00)
10(0x000a)
256(0x0100)
1(0x0001)
ICMP 字段名
Type
Code
Checksum
Identifier(BE)
Identifier(LE)
Sequence
number(BE)
Sequence
number(IE)
字段值
14
0
0xefe
2560(0x0a00)
10(0x000a)
256(0x0100)
1(0x0001)
通过上述实验,仔细体会 ICMP 询问报文的作用。
9.根据 3.6.2 中步骤 1 回答:
(1) 请比较这两种情况有何不同?
3
实验报告
第一种情况:ping 10.1.3.20,10.1.3.20 在 S1 的 E1/0/23 端口的子网内, S1 将报文发送到
E1/0/23 端口
第二种情况:ping 10.1.4.10,10.1.4.10 不在 S1 的路由表中,所以 Destination unreachable。
(2) 截获了哪种 ICMP 差错报文?其类型和代码字段值是什么?此报文的 ICMP 协议部分又
分为了几部分?其作用是什么?
截获了终点不可达差错报文,类型为 Destination unreachable,代码字段为 3。
此报文的 ICMP 协议部分分为两部分:Code,0 代表网络不可达;封装的源 Echo 请求 ICMP
报文的 IP 层和 ICMP 层,表示该差错报文来自来源于一个从 10.1.2.10 到 10.1.4.10 的 Echo 请求。
10.根据 3.6.2 中步骤 2 回答:
(1) 结合报文内容,简述 tracert 的工作过程。
PCA 向目的地址 PCB 发送具有不同 IP 生存时间的 ICMP Echo 请求报文,在这条路径上,
每有一个路由器进行转发,就将 TTL 值减去 1;当 TTL=0 时,路由器向源主机 PCA 发送 ICMP
超时差错报文;只需要让 PCA 发送 n 组 TTL 值不同的报文(从 1 开始递增),就能得到所有的
路径信息。
(2) 截获了哪种 ICMP 差错报文?其类型和代码字段值是什么?
截获了超时报文,类型为 11:Time-to-live exceeded,代码字段为 0(Time to live exceeded in
transit)。
11.根据 4.6 中步骤 1,,写出 tracert 命令用到了 IP 协议报文的哪几个字段?
IP 生存时间 TTL
12.根据 4.6 中步骤 2 回答:观察 PC A 和 PC B 能否 ping 通,结合截获报文分析原因。
不能 ping 通,其中,PCA 截获了 ARP 广播请求报文,PCB 没有截获到报文。
原因:PCB 的 IP 地址与 PCA 的 IP 地址进行按位取与的结果是一样的,故 PCA 到 PCB 的
报文会发送到本网络,此时 PCA 再发送 ARP 广播请求报文去请求 PCB 的物理地址,不会得到
任何应答。
因此 PCA 与 PCB 不能 ping 通。
Pre
13.根据 4.6 中步骤 3 填写下表:
Destination/Mask
10.1.2.0/24
10.1.2.1/32
10.1.3.0/24
10.1.3.1/32
127.0.0.0/8
Protocol
Direct
Direct
Direct
Direct
Direct
0
0
0
0
0
Cost
0
0
0
0
0
Nexthop
Interface
10.1.2.1
127.0.0.1
10.1.31
127.0.0.1
127.0.0.1
4
Vlan2
InLoop0
Vlan3
InLoop0
InLoop0
127.0.0.1/32
Direct
0
0
127.0.0.1
InLoop0
实验报告
14. (1)按照实验 2 的 5.5 节(PPP 协议实验)图 18 配置路由器,两个路由器相互 ping,看能
否 ping 通。根据 R1 上的 debug 显示信息,画出 IPCP 协议在协商过程中的状态转移图(事件驱
动、状态转移)。
Initial--->starting--->reqsent--->acksent--->opened--->starting--->initial
(2)将路由器 R2 的接口 S0/0 的 IP 地址改为 10.0.0.1/24,两台路由器能否 ping 通?并解
释为什么?注意体会 IPCP 协议的特点。(提示:查看 IPCP 协议协商过程的 debug 信息)
能 ping 通,这个 IPCP 协议可以分配给用户上网的参数,修改地址之后 IPCP 只需重新协
商就可以再次达到打开状态,联通链路。
5
实验报告
15.根据 5.6 中步骤 5:(选做)
(1)在截获报文中,有 7 个 ARP 报文, 5 个 ICMP:Echo 报文, 5 个 ICMP:Echo Reply
报文, 15 个 IP 报文。
(2)据 ping 命令执行过程的分析,将本属于同一个数据报文信息的报文截取出来,例如下列的
报文,从信息栏中可以看出,报文 1、2、3、4 属于同一数据段。
将第一个 ICMP Request 的报文分片信息填写下表。
字段名称
分片序号 1
分片序号 2
分片序号 3
分片序号 4
0x01
“Identification”字段值 0x0004
“Flag”字段值
“Frame offset”字段值 0
80
传输的数据量
分析表格内容,根据 IP 首部字段设置,体会分片过程。
(3) ping 的数据部分为 300 字节,路由器的以太网端口 MTU 设为 100 字节。回送请求报文
0x0004
0x01
80
80
0x0004
0x01
160
80
0x0004
0x00
240
68
为何被分片为 4 片而不是 3 片?数据部分长度为多少时报文正好被分为 3 片?
在 IP 内容来看:
头部有 20 字节,实际上有效只有 80,因此 300 加上 8 字节,需要划分为四块。
如果要恰好三块,需要 232 字节:
6
实验报告
7
实验报告
16. 综合型实验(VLAN 间路由实验结果分析)
根据跨交换机 VLAN 间路由实验(PCC ping PCD)所截获报文,对整个网络层和数据链路
层的报文转发过程进行分析。
约定如下:数据帧中的 MAC 地址对:(目的 MAC 地址,源 MAC 地址)
数据报中的 IP 地址对:(目的 IP 地址,源 IP 地址)
STEP 1
PCC 发送的第一个报 文类型是什
么?为什么?
ARP 请求报文。因为此时还不知道 PCD
的 mac 地址
包含该报文数据帧中的 VLAN id、
MAC 和 IP 地址对是:VLAN id= 2
MAC:(ff.ff.ff.ff.ff.ff ,MAC_PCC)
IP:(192.168.2.1,192.168.2.11)
STEP 2
S2 收到数据帧后,对其 MAC 地址
表的操作是:
保存 PCC 的 ip 和 mac 地址,然后查找
vlan2 的地址表
S2 根 据 接 收 数 据 帧 的 端 口 所 属
VLAN,在其中插 VLAN id= 2 的
标签,并向除接收端口外的所有 VLAN2
端口转发这个数据帧。
STEP 3
S1 收到数据帧后,对其 MAC 地址
表的操作是:
对 vlan2 存储的地址 查询,由于只有
PCA,所以失败
S1 将 ARP 报文交付给网络层,S1
对其 arp 表的操作是:
更新 PCC 的 mac 地址,和 ip 地址连接
为一条记录
S1 发送的包含 ARP Reply 报文的数
据帧中:(MAC_PCC, MAC_ VLAN 2)
(192.168.2.11,192.168.2.1);VLAN id =
2
STEP 4
S2 收到数据帧后,对其 MAC 地址
表的操作是:
更新地址表,对 PCA 的 ip 地址和 mac
图 1
图 2
图 3
图 4
1