一、实验目的:
通过本实验,进一步熟悉PacketTracer的使用,学习路由器与交换机的基本配置,加深对网络层与链路层协议的理解。
二、实验内容:
4.1 路由器交换机的基本配置
打开下面的实验文件,按提示完成实验。
4.2 了解 ICMP 数据包的格式
使用 Packet Tracer 捕获并研究 ICMP 报文
使用的网络中包含一台通过路由器连接到服务器的 PC,并且捕获从 PC 发出的 ping 命令的输出。
任务 1:使用 Packet Tracer 捕获和研究 ICMP 报文。
步骤 1. 捕获并评估到达 Eagle Server 的 ICMP 回应报文。 进入 Simulation(模拟)模式。Event List Filters(事件列表过滤器)设置为只显示 ICMP 事件。单击 Pod PC。从 Desktop(桌面)打开 Command Prompt(命令提示符)。 输入命令 ping eagle-server.example.com 并按 Enter 键。最小化 Pod PC 配置窗口。单击 Auto Capture/Play(自动捕获/播放)按钮以运行模拟和捕获事件。收到 “No More Events”(没有更多事件)消息时单击 OK(确定)。
在 Event List(事件列表)中找到第一个数据包,即第一条回应请求,然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。单击 Outbound PDU Details(出站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。请注意,Packet Tracer 只显示 TYPE(类型)和 CODE(代码)字段。
要模拟 Wireshark 的运行,请在其中 At Device(在设备)显示为 Pod PC 的下一个事件中,单击其彩色正方形。这是第一条应答。单击 Inbound PDU Details(入站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。
查看 At Device(在设备)为 Pod PC 的其余事件。完成时单击 Reset Simulation(重置模拟)按钮。
步骤 2. 捕获并评估到达 192.168.253.1 的 ICMP 回应报文。 使用 IP 地址 192.168.253.1 重复步骤 1。观看动画,注意哪些设备参与交换。
步骤 3. 捕获并评估超过 TTL 值的 ICMP 回应报文。 Packet Tracer 不支持 ping -i 选项。在模拟模式中,可以使用 Add Complex PDU(添加复杂 PDU)按钮(开口的信封)设置 TTL。
单击 Add Complex PDU(添加复杂 PDU)按钮,然后单击 Pod PC(源)。将会打开 Create Complex PDU(创建复杂 PDU)对话框。在 Destination IP Address:(目的 IP 地址:) 字段中输入 192.168.254.254。将 TTL: 字段中的值改为 1。在 Sequence Number(序列号)字段中输入 1。在 Simulation Settings(模拟设置)下选择 Periodic(定期) 选项。在 Interval(时间间隔)字段中输入 2。单击 Create PDU(创建 PDU)按钮。此操作等同于从 Pod PC 上的命令提示符窗口发出命令 ping -t -i 1 192.168.254.254。
重复单击 Capture/Forward(捕获/转发)按钮,以在 Pod PC 与路由器之间生成多次交换。
在 Event List(事件列表)中找到第一个数据包,即第一个回应请求。然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。单击 Outbound PDU Details(出站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。
要模拟 Wireshark 的运行,请在其中 At Device(在设备)为 Pod PC 的下一个事件中,单击其彩色正方形。这是第一条应答。单击 Inbound PDU Details(入站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。
查看 At Device(在设备)为 Pod PC 的其余事件。
4.3检查 ARP 交换
TCP/IP 使用地址解析协议 (ARP) 将第 3 层 IP 地址映射到第 2 层 MAC 地址。当帧进入网络时,必定有目的 MAC 地址。为了动态发现目的设备的 MAC 地址,系统将在 LAN 上广播 ARP 请求。拥有该目的 IP 地址的设备将会发出响应,而对应的 MAC 地址将记录到 ARP 缓存中。LAN 上的每台设备都有自己的 ARP 缓存,或者利用 RAM 中的一小块区域来保存 ARP 结果。 ARP 缓存定时器将会删除在指定时间段内未使用的 ARP 条目。具体时间因设备而异。例如,有些 Windows 操作系统存储 ARP 缓存条目的时间为 2 分钟,但如果该条目在这段时间内被再次使用,其 ARP 定时器将延长至 10 分钟。ARP 是性能折衷的极佳示例。如果没有缓存,每当帧进入网络时,ARP 都必须不断请求地址转换。这样会延长通信的延时,可能会造成 LAN 拥塞。反之,无限制的保存时间可能导致离开网络的设备出错或更改第 3 层地址。网络工程师必须了解 ARP 的工作原理,但可能不会经常与协议交互。ARP 是一种使网络设备可以通过 TCP/IP 协议进行通信的协议。如果没有 ARP,就没有建立数据报第 2 层目的地址的有效方法。但 ARP 也是潜在的安全风险。例如,ARP 欺骗或 ARP 中毒就是攻击者用来将错误的 MAC 地址关联放入网络的技术。攻击者伪造设备的 MAC 地址,致使帧发送到错误的目的地。手动配置静态 ARP 关联是预防 ARP 欺骗的方法之一。您也可以在 Cisco 设备上配置授权的 MAC 地址列表,只允许认可的设备接入网络。
任务 1:使用 Packet Tracer 的 arp 命令
步骤 1. 访问命令提示符窗口。 单击 PC 1A 的 Desktop(桌面)中的 Command Prompt(命令提示符)按钮。arp 命令只显示 Packet Tracer 中可用的选项。
步骤 2. 使用 ping 命令在 ARP 缓存中动态添加条目。
ping 命令可用于测试网络连通性。通过访问其它设备,ARP 关联会被动态添加到 ARP 缓存中。在 PC 1A 上 ping 地址 255.255.255.255,并发出 arp -a 命令查看获取的 MAC 地址。
在此任务结束时,完成率应为 100%。
任务 2:使用 Packet Tracer 检查 ARP 交换
步骤 1. 配置 Packet Tracer 捕获数据包。
进入模拟模式。确认 Event List Filters(事件列表过滤器)只显示 ARP 和 ICMP 事件。
步骤 2. 准备 Pod 主机计算机以执行 ARP 捕获。
在 PC 1A 上使用 Packet Tracer 命令 arp -d。 然后 Ping 地址 255.255.255.255。
步骤 3. 捕获并评估 ARP 通信。
在发出 ping 命令之后,单击 Auto Capture/Play(自动捕获/播放)捕获数据包。当 Buffer Full(缓冲区已满)窗口打开时,单击 View Previous Events(查看以前的事件)按钮。
三、实验过程
1.路由器交换机的基本配置
1)打开路由器的一些基本配置.pkt
单击路由器0,在CIL中输入以下命令
R1>show version
Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#no ip domain-lookup
关闭域名解释
R1(config)#line console 0
R1(config-line)#logging synchronous
设置输入同步
R1(config-line)#exec-timeout 20 00
设置执行会话时间
R1(config-line)#end
2)打开静态路由.pkt
转发数据包是路由器的最主要功能。路由器转发数据包时需要查找路由表,管理员可以通过手工的方法在路由器中直接配置路由表,这就是静态路由。虽然静态路由不适合于在大的网络中使用,但是由于静态路由简单、路由器负载小、可控性强等原因,在许多场合中还经常被使用。
路由器在转发数据时,要先在路由表(routing table)中查找相应的路由。路由器有这么三种途径建立路由:
(1)直连网络:路由器自动添加和自己直接连接的网络的路由
(2)静态路由:管理员手动输入到路由器的路由
(3)动态路由:由路由协议(routing protocol)动态建立的路由
静态路由的缺点是不能动态反映网络拓扑,当网络拓扑发生变化时,管理员就必须手工改变路由表;然而静态路不会占用路由器太多的CPU 和RAM 资源,也不占用线路的带宽。配置静态路由的命令为“ip route”,命令的格式如下:
ip route 目的网络 掩码 { 网关地址 | 接口 }
例子:ip route 192.168.1.0 255.255.255.0 s0/0
例子:ip route 192.168.1.0 255.255.255.0 12.12.12.2
在写静态路由时,如果链路是点到点的链路(例如PPP 封装的链路),采用网关地址和接口都是可以的;然而如果链路是多路访问的链路(例如以太网),则只能采用网关地址,即不能:ip route 192.168.1.0 255.255.255.0 f0/0。
①对路由器0进行配置:
②对路由器1进行配置:
③对路由器2进行配置:
④在R1上执行ping命令进行测试:
可以看到能够ping通2.2.2.2,因此配置信息无误。
3)打开子网划分.pkt
划分子网的一些公式:
- 你所选择的子网掩码将会产生多少个子网:2的x次方(x代表被借走的主机位数)。
- 每个子网有多少主机:2的y次方-2(y代表被借走之后剩余的主机位数)。
- 有效子网是:有效子网号=256-十进制的子网掩码(结果叫做block size)。
- 每个子网的广播地址是:广播地址=下个子网号-1
- 每个子网的有效主机分别是:忽略子网内全为0和全为1的地址剩下的就是有效主机地址。最后有效的1个主机地址=下个子网号-2(即广播地址-1)
如上图:网络地址192.168.10.0,子网掩码255.255.255.192
- 子网数=2的2次方=4。
- 每个子网的主机数=2的6次方-2=62。
- 有效子网:block size=256-192=64,第一个子网为192.168.10.0,第二个子网为192.168.10.64,第三个子网为192.168.10.128,最后一个为192.168.10.192。
- 广播地址:下个子网-1,第一个子网的广播地址是192.168.10.63,第二个是192.168.10.127,第三个是192.168.10.191,最后一个是192.168.10.255。
- 有效主机范围是(有效子网到广播地址之间):第一个子网的主机地址是192.168.10.1到192.168.10.62,第二个是192.168.10.65到192.168.10.126,第三个是192.168.10.129到192.168.10.190,最后一个是192.168.10.193到192.168.10.254。
4)打开配置RIP.pkt
路由选择信息协议(RIP/RIP2/RIPng:Routing Information Protocol)
管理距离越小,可信度越高,优先采用可信度高的路由协议。
R1——R4的配置信息如下四张图:
5)打开交换机的基本配置.pkt
交换机是局域网中最重要的设备,交换机是基于MAC 来进行工作的。和路由器类似,交换机也有IOS,IOS 的基本使用方法是一样的。
交换机是第二层的设备,可以隔离冲突域。交换机是基于收到的数据帧中的源MAC 地址和目的MAC 地址来进行工作。交换机的作用主要有这么两个:一个是维护CAM(ContextAddress Memory)表,该表是MAC地址和交换机端口的映射表;另一个是根据CAM 来进行数据帧的转发。交换机对帧的处理有三种:交换机收到帧后,查询CAM 表,如果能查询到目的计算机所在的端口,并且目的计算机所在的端口不是交换机接收帧的源端口,交换机将把帧从这一端口转发出去(Forward);如果该计算机所在的端口和交换机接收帧的源端口是同一端口,交换机将过滤掉该帧(Filter);如果交换机不能查询到目的计算机所在的端口,交换机将把帧从源端口以外的其他所有端口上发送出去,这称为泛洪(Flood),当交换机接收到的是帧是广播帧或者多播帧,交换机也会泛洪帧。以太网交换机转发数据帧有三种交换方式。
(1)存储转发(Store-and-Forward)
存储转发方式是先存储后转发的方式。它把从端口输入的数据帧先全部接收并存储起来;然后进行CRC(循环冗余码校验)检查,把错误帧丢弃;最后才取出数据帧目的地址,查找地址表后进行过滤和转发。存储转发方式延迟大;但是它可以对进入交换机的数据包进行高级别的错误检测。这种方式可以支持不同速度的端口间的转发。
(2)直接转发(Cut-Through)
交换机在输入端口检测到一个数据帧时,检查该帧的帧头,只要获取了帧的目的地址,就开始转发帧。它的优点是:开始转发前不需要读取整个完整的帧,延迟非常小。它的缺点是:不能提供错误检测能力。
(3)无碎片(Fragment-Free)
这是改进后的直接转发介于前两者之间的一种解决方法。无碎片法在读取数据帧的长前64个字节后就开始转发该帧。这种方式虽然不提供数据校验,但是能够避免多数的错误。它的数据处理速度比直接转发方式慢,但比存储转发方式快许多。CISCO 交换机和路由器一样,本质上也是一台特殊的计算机,也有CPU、RAM 等部件。也采用IOS,所以交换机的很多基本配置(例如密码、主机名等)和路由器是类似的。
①交换机基本配置:
②交换机SW1配置:
默认时交换机的以太网接口是开启的。对于交换机的以太网口可以配置其双工模式、速率等。duplex 用来配置接口的双工模式,full——全双工、half——半双工、auto——自动检测双工的模式。speed 命令用来配置交换机的接口速度,10——10M、100——100M、1000——1000M、auto——自动检测接口速度。
交换机也允许被telnet,这时需要在交换机上配置一个IP地址,这个地址是在VLAN 接口上配置的以上在VLAN 1 接口上配置了管理地址,接在VLAN 1上的计算机可以直接进行telnet该地址。为了其他网段的计算机也可以telnet 交换机,我们在交换机上配置了缺省网关。
③SW1的安全配置:
交换机端口安全特性,可以让我们配置交换机端口,使得非法的MAC 地址的设备接入时,交换机自动关闭接口或者拒绝非法设备接入,也可以限制某个端口上最大的MAC 地址数。我们这里限制f0/1 接口只允许R1接入。
使用命令把端口改为访问模式,即用来接入计算机。
在命令:S1(config-if)#switch port-securitiy violation { protect | shutdown | restrict }中,protect:当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则这个新的计算机将无法接入,而原有的计算机不受影响;shutdown:当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则该接口将会被关闭,则这个新的计算机和原有的计算机都无法接入,需要管理员使用“no shutdown”命令重新打开;restrict:当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则这个新的计算机可以接入,然而交换机将向发送警告信息。
2.了解 ICMP 数据包的格式
任务:使用 Packet Tracer 捕获并研究 ICMP 报文,使用的网络中包含一台通过路由器连接到服务器的 PC,并且捕获从 PC 发出的 ping 命令的输出。
实验拓扑图:
①PC0的IP配置:
②路由器配置
③服务器配置
捕获 ICMP报文:
进入 Simulation(模拟)模式。Event List Filters(事件列表过滤器)设置为只显示 ICMP 事件。单击 Pod PC。从 Desktop(桌面)打开 Command Prompt(命令提示符)。 输入命令 ping eagle-server.example.com 并按 Enter 键。最小化 Pod PC 配置窗口。单击 Auto Capture/Play(自动捕获/播放)按钮以运行模拟和捕获事件。收到 “No More Events”(没有更多事件)消息时单击 OK(确定)。
在 Event List(事件列表)中找到第一个数据包,即第一条回应请求,然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。单击 Outbound PDU Details(出站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。请注意,Packet Tracer 只显示 TYPE(类型)和 CODE(代码)字段。
要模拟 Wireshark 的运行,请在其中 At Device(在设备)显示为 Pod PC 的下一个事件中,单击其彩色正方形。这是第一条应答。单击 Inbound PDU Details(入站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。
请求报文(类型为 8)和应答报文(类型为 0)。
步骤2. 捕获并评估到达 192.168.253.1 的 ICMP 回应报文。使用 IP 地址 192.168.253.1 重复步骤 1。观看动画,注意哪些设备参与交换。
步骤1中,目的IP与主机不在同一网段,需要通过网关找到下一跳地址,而在该步骤中,如果地址设置为192.168.253.1,直接在命令行输入ping指令,很明显会出现错误,因为中间路由器的接口FastEhernet0/0、0/1的IP地址还没变化,与当前主机设置的IP地址不匹配,因此会出现上述现象。
因为访问无法到达,因此参与的设备没有服务器,只有PC和路由器。
步骤 3. 捕获并评估超过 TTL 值的 ICMP 回应报文。 Packet Tracer 不支持 ping -i 选项。在模拟模式中,可以使用 Add Complex PDU(添加复杂 PDU)按钮(开口的信封)设置 TTL。
单击 Add Complex PDU(添加复杂 PDU)按钮,然后单击 Pod PC(源)。将会打开 Create Complex PDU(创建复杂 PDU)对话框。
在 Destination IP Address:(目的 IP 地址:)字段中输入192.168.254.254。将 TTL: 字段中的值改为 1。在 Sequence Number(序列号)字段中输入 1。在 Simulation Settings(模拟设置)下选择 Periodic(定期)选项。在Interval(时间间隔)字段中输入 2。
单击 Create PDU(创建 PDU)按钮。此操作等同于从 Pod PC 上的命令提示符窗口发出命令 ping -t -i 1 192.168.254.254。
完整过程:
1.向目的服务器发送回显请求
2.目的服务器发送回显应答
3.源服务器显示相关数据
3.检查 ARP 交换
1.ARP协议
TCP/IP 使用地址解析协议 (ARP) 将第 3 层 IP 地址映射到第 2 层 MAC 地址。当帧进入网络时,必定有目的 MAC 地址。为了动态发现目的设备的 MAC 地址,系统将在 LAN 上广播 ARP 请求。拥有该目的 IP 地址的设备将会发出响应,而对应的 MAC 地址将记录到 ARP 缓存中。LAN 上的每台设备都有自己的 ARP 缓存,或者利用 RAM 中的一小块区域来保存 ARP 结果。 ARP 缓存定时器将会删除在指定时间段内未使用的 ARP 条目。具体时间因设备而异。ARP 是性能折衷的极佳示例。如果没有缓存,每当帧进入网络时,ARP 都必须不断请求地址转换。这样会延长通信的延时,可能会造成 LAN 拥塞。反之,无限制的保存时间可能导致离开网络的设备出错或更改第 3 层地址。
ARP 是一种使网络设备可以通过 TCP/IP 协议进行通信的协议。如果没有 ARP,就没有建立数据报第 2 层目的地址的有效方法。但 ARP 也是潜在的安全风险。例如,ARP 欺骗或 ARP 中毒就是攻击者用来将错误的 MAC 地址关联放入网络的技术。攻击者伪造设备的 MAC 地址,致使帧发送到错误的目的地。手动配置静态 ARP 关联是预防 ARP 欺骗的方法之一。
ARP协议工作过程
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
- 根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
- 如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
- 主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
- 主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
- 当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
ARP缓存
ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。
任务 1:使用 PacketTracer 的 arp 命令
步骤 1. 访问命令提示符窗口。
单击 PC 1A 的 Desktop(桌面)中的 Command Prompt(命令提示符)按钮。arp 命令只显示 PacketTracer 中可用的选项。
步骤 2. 使用 ping 命令在 ARP 缓存中动态添加条目。
ping 命令可用于测试网络连通性。通过访问其它设备,ARP关联会被动态添加到 ARP 缓存中。在 PC 1A 上 ping 地址 255.255.255.255,并发出 arp -a 命令查看获取的 MAC 地址。
在此任务结束时,完成率应为 100%。
任务 2:使用 PacketTracer 检查 ARP 交换
步骤 1. 配置 PacketTracer 捕获数据包。
进入模拟模式。确认 Event List Filters(事件列表过滤器)只显示 ARP 和 ICMP 事件。
步骤 2. 准备 Pod 主机计算机以执行 ARP 捕获。
在 PC 1A 上使用 Packet Tracer 命令 arp -d。 然后 Ping 地址 255.255.255.255。
步骤 3. 捕获并评估 ARP 通信。
在发出 ping 命令之后,单击 Auto Capture/Play(自动捕获/播放)捕获数据包。当 Buffer Full(缓冲区已满)窗口打开时,单击 View Previous Events(查看以前的事件)按钮。
请求报文:任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。
响应报文:局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。
ARP报文具体格式:
各部分解释如下:
硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1;
协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制);
硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;
操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;
发送方硬件地址(0-3字节):源主机硬件地址的前3个字节;
发送方硬件地址(4-5字节):源主机硬件地址的后3个字节;
发送方IP地址(0-1字节):源主机硬件地址的前2个字节;
发送方IP地址(2-3字节):源主机硬件地址的后2个字节;
目标硬件地址(0-1字节):目的主机硬件地址的前2个字节;
目标硬件地址(2-5字节):目的主机硬件地址的后4个字节;
目标IP地址(0-3字节):目的主机的IP地址。
四、实验总结
通过PacktTracer工具对应用层和传输层协议进行分析,学会简单的使用该工具分析web请求、HTTP请求和FTP请求,对于应用层和传输层的几个协议理解更加深刻。
PacketTracer工具的应用在上学期的路由与交换技术课程中已经比较熟悉了,因此做这次实验比较顺利,这次模拟分析了web请求、HTTP请求、FTP请求,非常清楚地可以看到数据包在路径上的转移过程,非常形象的完成了对这三者的实际理解。