通过本实验,进一步熟悉PacketTracer的使用,学习路由器与交换机的基本配置,加深对网络层与链路层协议的理解。
路由器交换机的基本配置
了解 ICMP 数据包的格式
检查 ARP 交换
打开下面的实验文件,按提示完成实验。
使用 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 的其余事件。
检查 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(查看以前的事件)按钮。
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
转发数据包是路由器的最主要功能。路由器转发数据包时需要查找路由表,管理员可以通过手工的方法在路由器中直接配置路由表,这就是静态路由。虽然静态路由不适合于在大的网络中使用,但是由于静态路由简单、路由器负载小、可控性强等原因,在许多场合中还经常被使用。
路由器在转发数据时,要先在路由表(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。
配置信息如下:
R1的路由表:
R2的路由表:
R3的路由表:
在R1上执行ping命令进行测试:
划分子网的一些公式:
1.你所选择的子网掩码将会产生多少个子网:2的x次方(x代表被借走的主机位数)。
2.每个子网有多少主机:2的y次方-2(y代表被借走之后剩余的主机位数)。
3.有效子网是:有效子网号=256-十进制的子网掩码(结果叫做block size)。
4.每个子网的广播地址是:广播地址=下个子网号-1
5.每个子网的有效主机分别是:忽略子网内全为0和全为1的地址剩下的就是有效主机地址。最后有效的1个主机地址=下个子网号-2(即广播地址-1)
如图:网络地址192.168.10.0,子网掩码255.255.255.192
1.子网数=2的2次方=4。
2.每个子网的主机数=2的6次方-2=62。
3.有效子网:block size=256-192=64,第一个子网为192.168.10.0,第二个子网为192.168.10.64,第三个子网为192.168.10.128,最后一个为192.168.10.192。
4.广播地址:下个子网-1,第一个子网的广播地址是192.168.10.63,第二个是192.168.10.127,第三个是192.168.10.191,最后一个是192.168.10.255。
5.有效主机范围是:第一个子网的主机地址是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。
路由选择信息协议(RIP/RIP2/RIPng:Routing Information Protocol)
路由协议 | 默认管理距离 |
直连网络 | 0 |
静态路由 | 1 |
EIGRP(internal) | 90 |
IGRP | 100 |
OSPF | 110 |
RIPv1/RIPv2 | 120 |
管理距离越小,可信度越高,优先采用可信度高的路由协议。
实验拓扑图:
R1——R4的配置信息如下四张图:
交换机是局域网中最重要的设备,交换机是基于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 条目超过最大数量,则这个新的计算机可以接入,然而交换机将向发送警告信息。
使用 Packet Tracer 捕获并研究 ICMP 报文,使用的网络中包含一台通过路由器连接到服务器的 PC,并且捕获从 PC 发出的 ping 命令的输出。
实验拓扑图:
PC0的IP配置:
路由器的配置:(在输入IP地址之后,必须点击Port Status端口状态,点击On,才可以打开端口,联通这条链路。看到接口为绿色说明联通成功,注意这里的以太网口是0/0和0/1两个)
服务器的配置:
进入 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 报文的内容。
步骤 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。
重复单击 Capture/Forward(捕获/转发)按钮,以在 Pod PC 与路由器之间生成多次交换。在 Event List(事件列表)中找到第一个数据包,即第一个回应请求。然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。单击 Outbound PDU Details(出站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。
任务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 地址列表,只允许认可的设备接入网络。
在PC0上ping 192.168.254.254(上一次实验的拓扑图),使用arp命令,得到结果如下:
同时,event list中选择过滤arp包,可以实现捕获:
查看ARP包: