通过本实验,进一步熟悉PacketTracer的使用,学习路由器与交换机的基本配置,加深对网络层与链路层协议的理解。
了解路由器交换机的基本配置,使用 Packet Tracer 捕获并研究 ICMP 报文,检查ARP交换。
2.1 完成路由器交换机的基本配置
打开“《计算机网络》基础实验指导书2023”中的实验四的实验文件,按提示完成实验。
2.2 了解 ICMP 数据包的格式
使用的网络中包含一台通过路由器连接到服务器的 PC,并且捕获从 PC 发出的 ping 命令的输出。
2.3 检查ARP交换
使用 Packet Tracer 的 arp 命令,使用 Packet Tracer 检查 ARP 交换,捕获并评估 ARP 通信。
此命令结果包含有网络设备操作系统IOS版本,IOS映像文件,存储器大小,接口类型及配置登记值等信息。
输入指令,以及相应解释如下:
R1> enable |
进入特权模式,可以进行配置查看 |
R1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. |
进入全局模式,用户可以对路由器进行配置 |
R1(config)# hostname R1 |
将路由器主机名修改为R1 |
R1(config)# no ip domain-lookup |
关闭域名解释 |
R1(config)# line console 0 |
进入终端配置模式 |
R1(config-line)# logging synchronous |
设置输入同步(输入时,IOS的系统提醒或日志不会打断输入). |
R1(config-line)# exec-timeout 2000 |
设置会话时间,不做任何操作,20分后断开 |
R1(config-line)# end R1# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
静态路由:管理员可以通过手工的方法在路由器中直接配置路由表。
路由器有三种途径建立路由:
静态路由的缺点:不能动态反映网络拓扑,当网络拓扑发生变化时,管理员就必须手工改变路由表;
静态路由的优点:不会占用路由器太多的CPU 和RAM 资源,也不占用线路的带宽。简单、路由器负载小、可控性强。
配置静态路由的命令格式如下:
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>enable R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#hostname R1 R1(config)#int loopback0 R1(config-if)#ip address 1.1.1.1 255.255.255.0 R1(config-if)#exit R1(config)#int s2/0 R1(config-if)#ip address 192.168.1.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#clock rate 64000 R1(config-if)#ip route 2.2.2.0 255.255.255.0 s2/0 //下一跳为接口形式,s2/0是点对点的链路,注意应该是R1上的s2/0接口 R1(config)#ip route 3.3.3.0 255.255.255.0 192.168.1.2 //下一跳为IP地址形式,192.168.1.2 是R2上的IP地址 R1(config)#end R1# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
R2>en R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#int loopback0 R2(config-if)#ip add 2.2.2.2 255.255.255.0 R2(config-if)#exit R2(config)#int s2/0 R2(config-if)#ip add 192.168.1.2 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#int s3/0 R2(config-if)#ip add 192.168.100.1 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#clock rate 64000 R2(config-if)#ip route 1.1.1.0 255.255.255.0 s2/0 R2(config)#ip route 3.3.3.0 255.255.255.0 s3/0 R2(config)#end R2# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
R3>en R3#conf t Enter configuration commands, one per line. End with CNTL/Z. R3(config)#hostname R3 R3(config)#int loopback0 R3(config-if)#ip address 3.3.3.3 255.255.255.0 R3(config-if)#exit R3(config)#int s2/0 R3(config-if)#ip address 192.168.100.2 255.255.255.0 R3(config-if)#no shutdown R3(config-if)#end R3# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
R1>en R1#ping Protocol [ip]: Target IP address: 2.2.2.2 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 1.1.1.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: Packet sent with a source address of 1.1.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/5 ms |
终端运行结果如下:
能够ping通2.2.2.2,因此配置信息无误。
划分子网的一些公式:
说明 |
公式 |
子网掩码产生子网个数 |
(x:被借走的主机位数) |
每个子网的主机个数 |
(y:被借走后,剩余的主机位数) |
有效子网号(block size) |
256-十进制的子网掩码 |
每个子网的广播地址 |
下个子网号-1 |
每个子网的有效主机 |
忽略子网内全为0和全为1的地址剩下的即有效主机地址。 最后有效的1个主机地址=下个子网号-2(即广播地址-1) |
划分子网的例子:
实验文件中对网络192.168.10.0/24进行划分。
说明 |
公式-计算结果 |
子网掩码产生子网个数 |
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 |
每个子网的广播地址 |
第一个子网: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 |
路由选择信息协议(RIP/RIP2/RIPng:Routing Information Protocol):
路由协议 |
默认管理距离 |
直连网络 |
0 |
静态路由 |
1 |
EIGRP(internal) |
90 |
IGRP |
100 |
OSPF |
110 |
RIPv1/RIPv2 |
120 |
管理距离越小,可信度越高,优先采用可信度高的路由协议。
R1>enable R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#router rip R1(config-router)#network 192.168.1.0 R1(config-router)#end R1# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
R2>enable R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#router rip R2(config-router)#network 192.168.1.0 R2(config-router)#network 172.16.0.0 R2(config-router)#end R2# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
R3>enable R3#conf t Enter configuration commands, one per line. End with CNTL/Z. R3(config)#router rip R3(config-router)#network 172.16.0.0 R3(config-router)#network 10.0.0.0 R3(config-router)#end R3# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
R4>enable R4#conf t Enter configuration commands, one per line. End with CNTL/Z. R4(config)#router rip R4(config-router)#network 10.0.0.0 R4(config-router)#end R4# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
交换机的作用:维护CAM(ContextAddress Memory)表——MAC地址和交换机端口的映射表;根据CAM 来进行数据帧的转发。
交换机对帧的处理有三种:
以太网交换机转发数据帧有三种交换方式:
(1)存储转发(Store-and-Forward)
把从端口输入的数据帧先全部接收并存储起来;然后进行CRC(循环冗余码校验)检查,把错误帧丢弃;最后才取出数据帧目的地址,查找地址表后进行过滤和转发。
存储转发方式延迟大;但是它可以对进入交换机的数据包进行高级别的错误检测。这种方式可以支持不同速度的端口间的转发。
(2)直接转发(Cut-Through)
交换机在输入端口检测到一个数据帧时,检查该帧的帧头,只要获取了帧的目的地址,就开始转发帧。
优点:开始转发前不需要读取整个完整的帧,延迟非常小。
缺点:不能提供错误检测能力。
(3)无碎片(Fragment-Free)
改进后的直接转发,介于前两者之间的一种解决方法。
无碎片法在读取数据帧的长前64个字节后就开始转发该帧。这种方式虽然不提供数据校验,但是能够避免多数的错误。
数据处理速度比直接转发方式慢,但比存储转发方式快。
S1>enable S1#conf t Enter configuration commands, one per line. End with CNTL/Z. S1(config)#hostname R1 R1(config)#no ip domain-lookup R1(config)#line console 0 R1(config-line)#logging synchronous R1(config-line)#exec-timeout 1000 R1(config-line)#end R1# %SYS-5-CONFIG_I: Configured from console by console |
终端运行结果如下:
SW1>enable SW1#config t Enter configuration commands, one per line. End with CNTL/Z. SW1(config)#enable secret cisco // (MD5加密密码) SW1(config)#line vty 0 15 //(配置VTY口令 用于TELNET) SW1(config-line)#password cisco SW1(config-line)#login SW1(config-line)#interface f0/1 SW1(config-if)#duplex auto // (双工协商模式为自动) SW1(config-if)#speed auto //(速率协商模式为自动) SW1(config-if)#exit SW1(config)#int vlan 1 SW1(config-if)#ip add 192.168.1.254 255.255.255.0 SW1(config-if)#no shutdown SW1(config-if)#exit SW1(config)#ip default-gateway 192.168.1.100 |
终端运行结果如下:
当非法MAC地址的设备接入时,自动关闭接口或拒绝非法设备接入,也可以限制某个端口上的最大MAC地址数。以下是实验给出的交换机端口安全配置:
SW1#config t Enter configuration commands, one per line. End with CNTL/Z. SW1(config)#int f0/1 SW1(config-if)#switch mode access //端口访问模式 SW1(config-if)#switch port-security //打开端口安全功能 SW1(config-if)#switch port-sec max 1 //只允许一个设备接入 SW1(config-if)#switch port-sec violation shutdown SW1(config-if)#switch port-sec violation protect /* violation选项共有三种:protect(超过最大数量后,新设备无法接入),shutdown(超过最大数量后,端口关闭,需要no shutdown命令重新打开),restrict(超过最大数量后,新设备可以接入,但交换机会向其发送警告信息) */ SW1(config-if)#switch port-sec mac-add 0001.63e.9702 //允许R1路由器从接口接入 Total secure mac-addresses on interface FastEthernet0/1 has reached maximum limit. SW1(config-if)#shutdown SW1(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to down |
终端运行结果如下:
ICMP因特网控制报文协议被主机和路由器用来沟通网络层的信息。典型的用途是差错报告,包括目的网络不可达,目的主机不可达等。
常用的ping程序也使用的是ICMP报文,发送一个回显请求,目的主机会发送一个回显回答。
任务:使用 Packet Tracer 捕获并研究 ICMP 报文,使用的网络中包含一台通过路由器连接到服务器的 PC,并且捕获从 PC 发出的 ping 命令的输出。
实验拓扑图:
单击 Auto Capture/Play(自动捕获/播放)按钮,收到 “No More Events”(没有更多事件)消息时单击 OK(确定)。
Packet Tracer 只显示 TYPE(类型)和 CODE(代码)字段。
查看ICMP报文的内容:
从主机发送的ICMP报文的类型为0x08,编码为0,表示该报文为回显请求;
服务器响应的ICMP报文的类型为0,编码为0,表示回显回答。
使用 IP 地址 192.168.253.1 重复步骤 1。
步骤1中,目的IP与主机不在同一网段,需要通过网关找到下一跳地址;
若地址设置为192.168.253.1,输入ping指令,会出错,因为中间路由器的接口FastEhernet0/0、0/1的IP地址还没变化,与当前主机设置的IP地址不匹配。
ICMP报文在PC和路由器之间传输,因为路由器没有到达目的主机的路由信息,因此目的主机不可达。
类型为0x03,编码为0x01,表示目的主机不可达。
Packet Tracer 不支持 ping -i 选项。在模拟模式中,使用 Add Complex PDU(添加复杂 PDU)设置 TTL。
单击 Add Complex PDU按钮,然后单击PC0。打开 Create Complex PDU对话框:
Destination IP Address:输入192.168.254.254。TTL: 值改为 1。Sequence Number:输入 1。Simulation Settings: 选择 Periodic(定期)选项。Interval:输入 2。然后点击 Create PDU(创建 PDU)。
此操作等同于从 PC0 上的命令提示符窗口发出命令 ping -t -i 1 192.168.254.254。
查看路由器发送给主机的ICMP报文,类型为0X0b,编码为0,表示TTL过期。
TCP/IP 使用地址解析协议 (ARP) 将第 3 层 IP 地址映射到第 2 层 MAC 地址。
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地址,以下为工作流程:
本实验需要对ARP请求和响应进行分析,由于ARP请求只用于一个子网内,建立一个两个主机直连的网络拓扑,IP地址分别为192.168.0.1和192.168.0.2。创建拓扑图如下:
单击 PC0 的 Desktop(桌面)中的 Command Prompt(命令提示符)按钮。
使用ping命令请求192.168.0.2,ping通后将会获得另一台主机的MAC地址,可以使用arp -a命令查看获取的MAC地址为0060.5CAE.7898。
在此任务结束时,完成率应为 100%。
使用arp -d命令清空ARP表中的条目,然后再次ping 192.168.0.2,即另一台主机的IP地址:
查看事件列表:
在事件列表过滤出ARP请求和响应。
请求报文:
请求报文(PC0)中包含了源MAC地址和IP地址,以及目的地址的IP地址。
响应报文:
响应报文(PC1)中包含了目的主机的MAC地址,发送主机接收到该报文后就会将IP和MAC地址的映射加入ARP表。
ARP报文格式如下:
类型 |
解释说明 |
硬件类型 |
发送方请求的硬件接口类型,以太网的值为1 |
协议类型 |
发送方提供的高层协议类型,IP为0x0800 |
硬件地址长度和协议长度 |
指明硬件地址和高层协议地址的长度,使ARP报文可以在任意硬件和任意协议的网络中使用 |
操作类型 |
指明报文类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4; |
通过这次实验,我学习了通过PacktTracer工具对应用层和传输层协议进行分析,进一步熟悉了PacketTracer的使用,对于路由与交换技术有了更加深入的了解与体会。
同时,通过本实验,我学习了路由器与交换机的基本配置,加深对网络层与链路层协议的理解,并使用 Packet Tracer 捕获并研究了 ICMP 报文,检查ARP交换。
文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib
文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang
文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些
文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器
文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距
文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器
文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn
文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios
文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql
文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...
文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120
文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数