计算机网络-网络层与链路层协议分析实验

一.实验目的

通过本实验,进一步熟悉PacketTracer的使用,学习路由器与交换机的基本配置,加深对网络层与链路层协议的理解。

二.实验内容

1.完成路由器交换机的基本配置

2.了解 ICMP 数据包的格式

3.检查ARP交换

三.实验过程

1.完成路由器交换机的基本配置

(1)路由器的基本配置

R1>show version

此命令结果包含有网络设备操作系统IOS版本,IOS映像文件,存储器大小,接口类型及配置登记值等信息。

Router>enable

进入特权模式,可以进行配置查看

Router#configure terminal

进入全局模式,用户可以对路由器进行配置

Router(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 20 00

设置执行会话时间,不做任何操作,20分后断开

R1(config-line)#end

(2)静态路由

路由表转发数据包时需要查找路由表,路由表的建立方式有以下三种:

  • 直连网络:路由器自动添加和自己直接连接的网络的路由
  • 静态路由:管理员手动输入到路由器的路由
  • 动态路由:由路由协议动态建立的路由

本实验的静态路由配置不能动态反映网络拓扑,只能手工改变路由表,但是相对占用资源和带宽较少。配置静态路由的命令格式如下:

ip route 目的网络IP 掩码 {网关地址|接口}

实验给出了三个路由器,并对其进行静态路由配置:

R1配置如下:

Router(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)#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#show ip route

其中,链路是点到点的链路(例如PPP 封装的链路),采用网关地址和接口都是可以的,然而如果链路是多路访问的链路(例如以太网),则只能采用网关地址,链路上有多个节点。

R2配置如下:

Router(config)#hostname R2

R2(config)#int loopback0

R2(config-if)#ip address 2.2.2.2 255.255.255.0

R2(config-if)#exit

R2(config)#int s2/0

R2(config-if)#ip address 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 address 192.168.100.1 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#clock rate 64000

R2(config)#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#show ip route

R3配置如下:

Router(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)#ip route 1.1.1.0 255.255.255.0 s2/0

R3(config)#ip route 2.2.2.0 255.255.255.0 s2/0

R3#show ip route

配置后,R1可以执行PING命令:

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]:

(3)子网划分

在子网配置时,需要考虑的问题如下:

实验文件中给出了以下的网络拓扑结构,对网络192.168.10.0/24进行划分。首先考虑子网数,共有四个子网,则需要从主机位借两位用于子网,新的子网掩码为255.255.255.192。用最后8位的前两位00,01,10,11区分每个子网,还剩余6位作为主机位,每个子网的主机数为62个,每个子网的第一个和最后一个地址分别为网络自身地址和广播地址。下图中给出了每个子网的主机地址范围:

 

(4)配置RIP

路由信息协议RIP是内部网关协议中最先得到广泛使用的协议之一。该协议时基于距离向量的协议,网络中的每一个路由器都要维护它到其他每一个目的网络的距离信息。距离定义为到达非直连网络所经过的路由器+1。在刚路由器开始工作时,只知道直连网络的距离,通过和相邻路由器交换并更新路由信息,得到到达自治系统内任何一个网络的最短距离和下一跳路由器的地址。

实验中给出了如下的网络拓扑图,并对每个路由器进行RIP配置,配置方式是通过network命令添加直连网络。

 R1配置RIP:

R1#show ip protocols

R1(config)#router rip

R1(config-router)#network 192.168.1.0

R1(config-router)#end

R2配置RIP:

R2(config)#router rip

R2(config-router)#network 192.168.1.0

R2(config-router)#network 172.16.0.0

R2(config-router)#end

R3配置RIP:

R3(config)#router rip

R3(config-router)#network 172.16.0.0

R3(config-router)#network 10.0.0.0

R3(config-router)#end

R4配置RIP:

R4(config)#router rip

R4(config-router)#network 10.0.0.0

R4(config-router)#end

(5)交换机的基本配置

交换机是运行在链路层的设备。主要的工作是进行数据帧的转发。在交换机中会维护一个CAM(ContextAddress Memory)表,该表保存了MAC的地址和交换机端口的映射。

交换机收到帧后,对帧的处理有三种:

  • 如果能在CAM表中查询到目的主机所在端口,且该端口不是接收帧的源端口,交换机把帧从这一端口转发出去。
  • 如果目的主机端口和接收帧的源端口是同一端口,过滤掉该帧。
  • 如果交换机不能查询到目的主机的端口,就将该帧从源端口以外的其他所有端口洪泛发送出去,如果该帧是广播帧,也进行洪泛发送。

以太网交换机转发数据帧有三种方式:存储转发,直接转发,无碎片。存储转发需要将帧全部接收存储,进行CRC检查后才根据数据帧目的地址进行转发。直接转发则在检测帧头,只要获取帧的目的地址后就开始转发,延迟很小,但不能提供错误检测。无碎片转发在读取数据帧长的前64字节后开始转发,不提供数据校验,但能避免多数的错误。

实验文件中给出的网络拓扑如下:

交换机配置类似路由器配置,配置如下:

SW1>en

Password:

SW1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

SW1(config)#hostname S1

S1(config)#no ip domain-lookup

S1(config)#line console 0

S1(config-line)#logging syn

S1(config-line)#exec-timeout 10 00

S1(config-line)#end

交换机SW1配置:

SW1>

SW1>en

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-liine)#login

SW1(config-liine)#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#

SW1config 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)#switchport port-sec mac-add 0001.63e1.9702

允许R1路由器从接口接入

SW1(config-if)#shutdown

2.了解ICMP数据包的格式

ICMP因特网控制报文协议被主机和路由器用来沟通网络层的信息。典型的用途是差错报告,包括目的网络不可达,目的主机不可达等。常用的ping程序也使用的是ICMP报文,发送一个回显请求,目的主机会发送一个回显回答。本实验中要求使用 Packet Tracer 捕获和研究 ICMP 报文。

建立一个如下的网络拓扑:

 主机和服务器的配置如下:

 

 主机和服务器的默认网关为路由器的两个接口IP地址。服务器开启DNS服务并添加域名www.eagle-server.example.com到自身IP的映射。在主机ping该域名,可以得到对ping的回应:

 在事件列表可以看到ICMP报文的传递过程:

查看ICMP报文的内容,从主机发送的ICMP报文的类型为0x08,编码为0,表示该报文为回显请求,而服务器响应的ICMP报文的类型为0,编码为0,表示回显回答。

ping一个不存在网络拓扑中的IP地址192.168.253.1,将显示目的主机不可到达:

ICMP报文在主机和路由器之间传输,因为路由器没有到达目的主机的路由信息,因此目的主机不可达。

类型为0x03,编码为0x01,表示目的主机不可达。

最后捕获超过TTL的ICMP报文,创建一个复杂PDU,目的IP地址为服务器地址,TTL = 1。然后进行捕获。报文发送给路由器后,TTL-1变为0,路由器不会再转发报文,应该回应一个ICMP报文告知TTL过期。

查看路由器发送给主机的ICMP报文,类型为0X0b,编码为0,表示TTL过期。

 

3.检查ARP交换

地址解析协议ARP的任务是将IP地址转换为MAC地址。每台主机或路由器都有一个ARP表,包含IP到MAC地址的映射关系。当数据报需要发送到子网的另一台主机,而ARP表中没有该主机的表项,发送方将广播特殊的ARP分组,拥有该目的IP的主机将响应,发送方接收到响应就将地址映射添加到表项中,表中缓存的条目会在一定时间后过期被删除。

本实验需要对ARP请求和响应进行分析,由于ARP请求只用于一个子网内,建立一个两个主机直连的网络拓扑,IP地址分别为192.168.0.1和192.168.0.2。

(1)使用PacketTracer的ARP命令

在命令行输入ARP命令,查看PacketTracer中ARP命令可用的选项。

 使用ping命令请求192.168.0.2,ping通后将会获得另一台主机的MAC地址,可以使用arp -a命令查看获取的MAC地址为0060.5CAE.7898。

 (2)使用PacketTracer检查ARP交换

使用arp -d命令清空ARP表中的条目,然后再次ping 192.168.0.2,即另一台主机的IP地址,在事件列表过滤出ARP请求和响应

 请求报文(OPCODE为1)中包含了源MAC地址和IP地址,以及目的地址的IP地址。响应报文(OPCODE 为2)中包含了目的主机的MAC地址,发送主机接收到该报文后就会将IP和MAC地址的映射加入ARP表。

 

 除了IP和MAC地址外的字段,HARDWARE TYPE表示硬件接口类型,1表示以太网,PROTOCAL TYPE表示上层协议类型,0x0800表示IP,相应的还有硬件接口地址和高层协议地址的长度,这些字段使ARP报文可在任何硬件和上层协议的网络中使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26779.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】Python系列教程-- Python3 列表(十二)

文章目录 前言访问列表中的值更新列表删除列表元素Python列表截取与拼接嵌套列表列表比较Python列表函数&方法 前言 往期回顾: Python系列教程–Python3介绍(一)Python系列教程–Python3 环境搭建(二)Python系列…

【熬夜送书 | 第四期】python期末考试总结

文章目录 前言单选题程序填空题函数题编程题熬夜送书 第三期 前言 博主也是第一次接触到python语言,在考试前过了一遍python语法,因为有Java基础学习起来相对比较轻松,学校考的题相对简单一些,也是PTA上机考试,大概30…

一文说透ES6中的箭头函数表达式

一 总述 ​箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new. target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。 二 详细 1 1个或多个参数 (param1, par…

Linux 实操篇-进程管理(重点)

Linux 实操篇-进程管理(重点) 基本介绍 在LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个ID 号(pid,进程号)。>windows > linux每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后…

基于matlab仿真带有飞机的虚拟场景

一、前言 此示例演示如何通过 MATLAB接口使用空间鼠标。 开始此示例后,带有飞机的虚拟场景将显示在 Simulink 3D 动画查看器中。您可以使用空格鼠标在场景中导航平面。通过按下设备按钮 1,您可以在当前平面位置放置标记。 此示例需要空间鼠标或其他兼容设…

chatgpt赋能python:Python就业学历要求

Python 就业学历要求 Python 是一门广泛应用于数据科学、人工智能、Web 开发和自动化等领域的编程语言,正在迅速成为行业内最受欢迎的语言之一。如果你想进入这些领域从事相关职业,那么 Python 编程技能将是你的一个优势。但是,Python 就业所…

【LeetCode全题库算法速练】2、两数相加

文章目录 一、题目🔸题目描述🔸样例1🔸样例2🔸样例3 二、代码参考 作者:KJ.JK 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &a…

深入浅出讲解闭包及其原理

闭包 什么是闭包? 闭包的概念并不复杂,但是它的定义比较绕(就像平时经常用到它,却又说不出来是什么)。可以在一个作用域中调用函数的内部函数并访问到该函数中的作用域的成员,这就是闭包。给一个建议&…

“大四在读生”都四面成功拿到字节跳动Offer了,你还有什么理由去摸鱼?

博主大四在读,投的是字节 Data 的软件测试岗位实习生,base 杭州。 时间线: 4.12 投递4.13 安排简历筛选4.14 安排面试4.19 16:00 一面4.22 16:00 二面 4.23 8:00 三面4.23 16:00 HR 面4.23 16:30 Offer 一面 你对字节跳动的了解和认知有哪…

《架构设计》-09-分布式服务架构(注册中心、服务发布、服务调用、服务治理)

文章目录 1. 概述2. 集群容错策略3. 服务路由3.1 直接路由3.2 间接路由和注册中心3.3 路由规则3.4 服务路由/负载均衡/集群容错的关系 4. 服务发布4.1 发布启动器4.2 动态代理4.3 发布管理器4.4 协议服务器 5. 服务调用6. 服务治理 1. 概述 RPC架构的意义 解决了分布式环境下两…

C++语法(24) 哈希应用

C语法(23)-- 模拟实现unordered_set和unordered_map_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130449452?spm1001.2014.3001.5501 目录 1.位图 1.定义 2.实现 3.应用 4.特点 2.布隆过滤器 1.介绍 2.设计场…

JavaSE01_初识Java

JavaSE-01【初识Java】 第一章:Java开发序言 1.1 Java语言概述 1、什么是Java语言 Java语言是美国Sun公司,在1995年推出的高级编程语言。 所谓编程语言,就是计算机语言,人们可以使用编程语言对计算机下达指令,让计…

LVGL学习(2):图片的转换和显示

我们在设计UI的过程中可能需要显示一些图片,本篇文章将介绍如何转换并显示一个固定的图片到lv_img中。 文章目录 1 图片转换1.1 GUI Guider1.2 在线转换 2 图片的显示 1 图片转换 和之前我写的一篇字体转换的文章一样:LVGL学习(1):中文字体…

UnityVR--组件5--Animation动画

目录 新建动画Animation Animation组件解释 应用举例1:制作动画片段 应用举例2:添加动画事件 Animator动画控制器 应用举例3:在Animator中设置动画片段间的跳转 本篇使用的API:Animation、Animator以及Animator类中的SetFlo…

MySQL学习(联结,组合查询,全文本搜索)

联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结表; 关系表 为什么要使用关系表? 使用关系表可以储存数据不重复,从而不浪费时间和空间;如果有数据信息变动,只需更新一个表中的单个记录,相关…

Zabbix(一)

介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 功能组件 Server : Zabbix server是zabbix软件的核心组件 Zabbix agent向其报告可用性、系统完整性和统计信息 Zabbix server存储所有的配置信息、统计信息和操作信…

基于Web智慧油库三维可视化管理系统

油库是协调原油生产、原油加工、成品油供应及运输的纽带,是国家石油储备和供应的基地,它对于保障国防和促进国民经济高速发展具有相当重要的意义。 建设背景 石油作为重要的战略资源,关系着国家安全和人民生活。油库是石油能源供应链中的关…

总结886

学习目标: 月目标:6月(张宇强化10讲,专业课,背诵15篇短文,考研核心词过三遍) 周目标:1800线性代数部分并完成错题记录,英语背3篇文章并回诵,检测&#xff0…

SpringCloud_微服务基础day1(走进微服务,认识springcloud,微服务(图书管理)项目搭建(一))

官方网站:柏码 - 让每一行代码都闪耀智慧的光芒! (itbaima.net) p1:前言,走进微服务 注意:此阶段学习推荐的电脑配置,至少配备4核心CPU(主频3.0Ghz以上)16GB内存,否则卡到你怀疑人生…

ABB Drive Composer Pro 2.8.1 Crack

Drive Composer 是 ABB 通用架构驱动器的启动和维护工具。该工具用于查看和设置驱动器参数,以及监控和调整过程性能。 Drive Composer入门版提供了设置参数、基本监控、从 PC 对驱动器进行本地控制以及事件记录器处理等基本功能。 Drive Composer pro是成熟的调试和…