一、实验目的

验证“在向目的主机发送数据包时会先查询ARP高速缓存,如果ARP高速缓存中已保存了目的主机的MAC地址,不进行ARP查询,使用ARP高速缓存中的MAC地址;如果缓存中没有IP对应的MAC地址,发送ARP请求。”

二、实验设备

一台笔记本电脑操作系统为Windows 10,使用VMware Workstation Pro安装虚拟操作系统Ubuntu19.1。虚拟机使用NAT模式与宿主主机连接。安装Wireshark-3.2.7抓包工具和Win10Pcap工具。(NAT模式的网络拓扑图如下图)

三、实验原理

Ping命令使用ICMP协议。对目的主机进行Ping的原理:源主机对目的主机发送ICMP请求,接收ICMP应答的过程。

ARP协议工作原理:如果不知道目的主机IP地址对应的MAC地址,则会广播发送ICMP请求包,目的主机回应ICMP应答包。

四、实验过程

以Ubuntu来作为一台计算机,对Ubuntu进行Ping操作来模拟发送数据包。使用Wireshark抓包工具捕获数据包,来判断是否有ARP请求发出。

五、实验步骤

1、打开Ubuntu,查看Ubuntu的IP地址及MAC地址(如图1)。



(图1)

2、打开Windows 10操作系统的命令提示符(cmd),输入ipconfig /all查看Windows的IP地址和MAC地址(如图2)



(图2)

输入arp -a查看ARP高速缓存中的IP地址对应的MAC地址(如图3)。其中192.168.81.254为DHCP服务器,192.168.81.1为宿主机虚拟网卡地址。



(图3)

3、打开Wireshark选择Ubuntu所在的网卡适配器,进行抓包。

4、在Windows 10下的cmd输入命令ping 192.168.81.128(如图4)



(图4)

抓得的数据(如图5)抓得的数据包不包含ARP请求包,即在ping操作之前没有进行ARP查询。说明ARP高速缓存中已保存了对方的MAC地址,不进行ARP查询。



(图5)

5、在Windows 10下以管理员权限打开cmd输入arp -d *,清空ARP高速缓存中的IP地址于MAC地址的对应关系,在输入arp -a查看ARP高速缓存中的IP地址与MAC地址的对应关系。(如图6)。



(图6)

6、再次用Wireshark抓包,同时在Windows 10下ping 192.168.81.128,抓的数据包(如图7)。在四次ICMP请求和应答报文前,有一次ARP请求和应答。说明在高速缓存中没有对方的IP地址对应的MAC地址时,会先发送ARP请求,获得IP地址与MAC地址的对应关系。



(图7)

7、再次在cmd中输入arp -a查看ARP缓存中信息(如图8)。



(图8)

六、实验结果

1、ARP高速缓存中存在IP地址和MAC地址的对应关系时,从图5中可以看到在ICMP报文段(ping命令)前没有arp请求和应答(没有ARP数据包)

2、ARP高速缓存中没有IP地址和MAC地址的对应关系时,从图7中可以看到在ICMP报文段(ping命令)前存在一次arp请求和应答。说明ARP高速缓存中没有目标IP地址与MAC地址的对应关系时会发送ARP请求,查询IP地址与MAC地址的对应关系。

七、结论

在发送数据包时会先查询ARP缓存,如果缓存中已保存了对方的MAC地址,不进行ARP查询,使用缓存中的MAC地址;如果缓存中没有IP对应的MAC地址,发送ARP请求。

ARP协议工作原理实验的更多相关文章

  1. ARP协议工作原理

    转载请注明来源:https://www.cnblogs.com/hookjc/ ARP数据包根据接收对象不同,可分为两种:    1. 广播包(Broadcast).广播包目的MAC地址为FF-FF- ...

  2. TCP/IP协议工作原理简述

    TCP/IP协议工作原理简述 // */ // ]]>   TCP/IP协议工作原理简述 Table of Contents 1 概要 2 应用层 3 传输层 4 网络层 5 链路层 1 概要 ...

  3. FTP(文件传输协议)工作原理

    目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...

  4. http协议工作原理及工作流程

    什么是url ? url = 协议 + 域名 + 资源路径 比如: https://www.baidu.com/index.html http : 超文本传输协议 https: 安全套接字协议 HTT ...

  5. HTTP协议-工作原理及消息结构

    HTTP协议 HTTP协议是Hyper Test Transfer Protocol(超文本传输协议)的缩写 适用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传输协 ...

  6. ARP协议工作流程

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机, ...

  7. HTTP协议工作原理

    HTTP简介        超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议,它通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器 ...

  8. http协议工作原理(转)

     WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页.WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间 ...

  9. 【FTP】FTP(文件传输协议)工作原理(SFTP)

    目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...

随机推荐

  1. 微信小程序云开发-云存储的应用-云相册

    一.准备工作 1.创建数据库表images 2.设置数据库表images的权限 二.创建图片列表页 创建图片列表页imageList,用于展示图片列表.该页面具有跳转到图片上传页面.图片列表展示.删除 ...

  2. ajax原理及应用(十六)

    前言 AJAX即"Asynchronous Javascript And XML",是指一种创建交互式网页应用的网页开发技术.AJAX 是一种用于创建快速动态网页的技术.它可以令开 ...

  3. python序列化proto时对repeated修饰数据进行赋值(常用类型和其他类型)

    说一下对proto文件中数据使用时的书写方法,因为笔者也经常弄混淆 一.repeated修饰符,该列表是常用类型,比如int message C2GS_GoodsList { repeated int ...

  4. 服务网格Istio入门-详细记录Kubernetes安装Istio并使用

    我最新最全的文章都在南瓜慢说 www.pkslow.com,文章更新也只在官网,欢迎大家来喝茶~~ 1 服务网格Istio Istio是开源的Service Mesh实现,一般用于Kubernetes ...

  5. Bugku-web-md5 collision(NUPT_CTF)

    总结了两道MD5绕过的题目. 根据MD5的特性,有两点漏洞 1.两个开头为0的md5值相同. 2.md5不能处理数组. 3.==用法,0 == 字符串是成立的,从而可以绕过MD5检查. 根据特性,我们 ...

  6. (纯js)如何不刷新网页就能链接新的js文件

    如何不刷新网页就能链接新的js文件,其实在HTML语言中已经有相关的函数了,就是再添加一个<script src=.....></script>. 函数叫document.bo ...

  7. .jsp文件的使用和理解以及一些小练习和Listener监听器

    什么是 jsp,它有什么用? jsp 的全换是 java server pages.Java 的服务器页面.jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据.因为 Servle ...

  8. 《高性能利器》-32张图带你解决RocketMQ所有场景问题

    一.RocketMQ的基本原理 RocketMQ基本架构图如下 从这个架构图上我们可以知道,RocketMQ有4块核心部分: NameServer:管理Broker的信息,让使用MQ的系统感知到集群里 ...

  9. dubbo学习实践(3)之Dubbo整合Consul及Dubbo配置方式

    前言:上一篇中,已经写到了使用zookeeper为注册中心的配置,下面写下配置Consul为注册中心 1. Consul注册中心验证 修改provider和consumer的服务配置文件 Provid ...

  10. CYPEESS USB3.0程序解读之---同步FIFO(slaveFifoSync)

    上一篇文章解读了CYPRESS FX3的GPIO的操作过程,下面解读同步FIFO的一个例子(slaveFifoSync). *生产者,消费者. 1.首先看DMA的回调函数(cyu3dma.h): ty ...