以太网常用协议——ARP协议

文章目录

    • 一、 ARP协议与MAC层
      • 1.TCP/IP协议
      • 2. MAC地址
      • 3. ARP映射
      • 4. ARP请求和ARP应答
    • 二、以太网帧格式
    • 三、ARP协议
      • 1. 以太网ARP通信测试:

以太网使用的协议很多,常用的有ARP、UDP等。
再介绍具体协议之前需要先知道一些基本的概念:

一、 ARP协议与MAC层

Q:ARP协议是是什么?它和MAC层的关系是什么。
A:
1.ARP (Address Resolution Protocol)即地址解析协议,是根据 IP 地址(逻辑地址)获取 MAC 地址的一种 TCP/IP 协议
2.在以太网中,一个主机和另一个主机进行通信,必须要知道目的主机的 MAC 地址(物理地址),而目的 MAC 地址的获取由 ARP 协议完成。
3.在以太网通信中,数据是以“帧”的格式进行传输的,帧格式里面包含目的主机的MAC 地址。因此在通信前需要先获得目的 MAC 地址,而 ARP 协议正是实现了此功能
4.在获取到目的 MAC地址之后,将目的MAC地址更新至ARP缓存表中,称为ARP映射。下次通信时,可以直接从 ARP 缓存表中获取,而不用重新通过 ARP 获取 MAC 地址。但一般 ARP缓存表会有过期时间,过期后需要重新通过 ARP 协议进行获取。

接下来介绍一下上面这段话中的一些专有名词

1.TCP/IP协议

TCP/IP 是网络使用中最基本的通信协议,虽然从名字看上去 TCP/IP 包括两个协议,TCP 和 IP,但 TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:TCP、IP、ARP、UDP 等。
而 TCP 协议和 IP协议是保证数据完整传输的两个重要的协议,因此 TCP/IP 协议用来表示 Internet 协议簇。
TCP/IP协议不仅可以运行在以太网上,也可以运行在FDDI(光纤分布式数据接口)和WLAN(无线局域网)上。反过来,以太网的高层协议不仅可以是TCP/IP协议,也可以是IPX协议(互联网分组交换协议)等,只不过以太网+TCP/IP 成为 IT 行业中应用最普遍的技术。

2. MAC地址

MAC地址在网络中表示网卡的 ID,每个网卡有且仅有一个 MAC 地址。
格式:MAC地址通常由12个十六进制字符组成,分为6对,用冒号或连字符分隔,例如00:1A:2B:3C:4D:5E。

3. ARP映射

将 IP 地址和 MAC 地址映射起来,分为静态映射动态映射
如下图ARP映射表,左边是IP地址,右边是MAC地址,实现映射。
在这里插入图片描述

静态映射: 指手动创建一张 ARP 表,把 IP 地址和 MAC 地址关联起来。手动绑定之后,源主机在通信 之前,就可以直接从 ARP 表中直接找到 IP 地址对应的 MAC 地址,但这样做有一定的局限性,因为 MAC地址可能会变化,比如:
1) 机器可能更换 NIC(网络适配器),结果变成一个新的物理地址;
2)在某些局域网中,每当计算机加电时,他的物理地址都要改变一次。
3) 移动电脑可以从一个物理网络转移到另一个物理网络,这样会改变物理地址。
要避免这些问题出现,必须定期维护更新ARP表,此类比较麻烦而且会影响网络性能。

动态映射:指使用协议来获取相对应的物理地址,之所以用动态这个词是因为这个过程是自动完成的,一般应用程序的用户或系统管理员不必关心。已经设计出用于实现动态映射协议的有ARPRARP(逆地址解析协议)两种,如下图所示
ARP :把 IP 地址映射为物理地址
RARP :把物理地址映射为 IP 地址。(这里不重点讲述)在这里插入图片描述

4. ARP请求和ARP应答

ARP请求:源主机发起查询目的 MAC 地址的报文称为 ARP 请求
ARP应答:目的主机响应源主机并发送包含本地 MAC 地址的报文称为 ARP 应答
在这里插入图片描述
由于发送的目的 MAC 地址为广播地址,所以此时局域网中的所有主机都会进行接收并处理这个 ARP 请求报文,然后进行验证,查看接收方的 IP 地址是不是自己的地址。是则返回 ARP 应答报文,不是则不响应。

在这里插入图片描述
主机 A 将收到的 ARP 应答报文中的目的 MAC 地址解析出来,将目的 MAC 地址和目的 IP 地址更新至 ARP 缓存表中。当再次和主机 B 通信时,可以直接从 ARP 缓存表中获取,而不用重新发起 ARP 请求报文。
ARP 缓存表中的表项有过期时间(一般为 20 分钟),过期之后,需要重新发起 ARP 请求以获取目的 MAC 地址。

介绍ARP协议之前,先了解一下以太网的帧格式

二、以太网帧格式

ARP 协议通过以太网进行传输,那么必须也要按照以太网所规定的格式进行传输,那先来介绍一下太网的帧格式,随后再详细介绍 ARP 协议的具体格式。

我们知道串口通信单次只传输一个字节,而以太网通信是以数据包的形式传输,其单包数据量达到几十,甚至成百上千个字节。下图为以太网通过 ARP 传输单包数据的格式。
在这里插入图片描述
以太网 MAC 帧格式:
在这里插入图片描述
在这里插入图片描述

注意:以太网相邻两帧之间的时间间隔,即帧间隙(IFG,Interpacket Gap)。
帧间隙的时间就是网络设备和组件在接收一帧之后,需要短暂的时间来恢复并为接收下一帧做准备的时间,IFG 的最小值是 96 bit time,即在媒介中发送 96 位原始数据所需要的时间,在不同媒介中 IFG的最小值是不一样的。
不管10M/100M/1000M的以太网,两帧之间最少要有 96bit time,IFG 的最少间隔时间计算方法如下:
10Mbit/s 最小时间为:96100ns = 9600ns;
100Mbit/s 最小时间为:96
10ns = 960ns;
1000Mbit/s 最小时间为:96*1ns = 96ns。

三、ARP协议

ARP 协议属于 TCP/IP 协议簇的一种,ARP 协议位于以太网 MAC帧格式的数据段,ARP 数据包格式如下图所示。
在这里插入图片描述
在这里插入图片描述

1. 以太网ARP通信测试:

主机和fpga参数如下:
在这里插入图片描述
1:上位机发送ARP请求,FPGA产生ARP应答
在这里插入图片描述
在这里插入图片描述
2:FPGA发出ARP请求,上位机产生ARP应答
在这里插入图片描述
在这里插入图片描述
Q:上位机可以通过win的命令:arp-a查看fpga的IP 和 MACY的映射,那如何查看fpga接收到的上位机信息呢?
A:这里使用wireshark软件对以太网通信进行抓包。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

COB显示屏与GOB显示屏封装方式有哪些不同?

很多用户因为使用场景的特殊性,所以会选择防护能力更强的COB显示屏或者是GOB显示屏,两种产品从名称上看只是有一个字母的悬殊,其实使用的工艺截然不同,GOB显示屏通常是在SMD显示屏的基础上进行升级,而COB显示屏则是完全…

独立开发者系列(15)——git的使用

上一篇14文章触发了敏感话题,直接未过审核,看来技术博客也有敏感点。 大部分情况下,独立项目是你一个人开发,但是当你接的项目比较大的时候,你需要其他人的帮忙,这个时候你要把代码分享给别人。因为如果你…

【分布式数据仓库Hive】Hive的安装配置及测试

目录 一、数据库MySQL安装 1. 检查操作系统是否有MySQL安装残留 2. 删除残留的MySQL安装(使用yum) 3. 安装MySQL依赖包、客户端和服务器 4. MySQL登录账户root设置密码,密码值自定义,这里是‘abc1234’ 5. 启动MySQL服务 6…

maven设置阿里云镜像源(加速)

一、settings.xml介绍 settings.xml是maven的全局配置文件,maven的配置文件存在三个地方 项目中的pom.xml,这个是pom.xml所在项目的局部配置文件用户配置:${user.home}/.m2/settings.xml全局配置:${M2_HOME}/conf/settings.xml 优…

YOLOV10训练集制作+Train+Val记录

代码地址:THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection (github.com) 一、数据制作 在这篇文章有讲过如何制作数据集及代码实现 YOLOV9训练集制作TrainVal记录_yolov9 train yaml-CSDN博客 二、配置文件 (1)代码结构…

“私域流量:解锁电商新机遇,共创数字化未来“

一、私域流量的战略意义再探 步入数字化浪潮的深处,流量已成为企业成长不可或缺的血液。与广泛但难以掌控的公域流量相比,私域流量以其独特的专属性和复用潜力,为企业铺设了通往深度用户关系的桥梁。它不仅赋能企业实现精准营销,…

国产跨平台高性能远程控制软件 RayLink,畅享高清流畅远程办公

不管是手机还是电脑,出色的硬件是好用的基础。而其中的软件工具,也是提高效率、减轻负担的好东西。 免费的软件工具众多,当然付费工具也不少。大家可能会觉得正版软件很贵,但国内软件代理商的价格其实很实惠。 本次为大家介绍一…

一文看尽AI绘画工具 Stable Diffusion发展史,AI绘画究竟发展到什么地步了?!

01、引言 Stable Diffusion 在短短两年内发布了多个版本。最著名的版本是 1.5 和 SDXL。不过,还有许多其他版本值得一提。让我们一起来探索稳定扩散模型的起源和发展。 闲话少说,我们直接开始吧! 02、缺失的SD V1.0版本 Stable Diffusion…

C语言快速学习笔记

学习网站:C 语言教程 | 菜鸟教程 (runoob.com)C 语言教程 | 菜鸟教程 (runoob.com)C 语言教程 | 菜鸟教程 (runoob.com) 这个网站知识完整,讲解清晰。 在线C语言编程工具:菜鸟教程在线编辑器 (runoob.com) 国外学习网站:C语言介…

【机器学习】机器学习的重要方法——线性回归算法深度探索与未来展望

欢迎来到 破晓的历程博客 引言 在数据科学日益重要的今天,线性回归算法以其简单、直观和强大的预测能力,成为了众多领域中的基础工具。本文将详细介绍线性回归的基本概念、核心算法,并通过五个具体的使用示例来展示其应用,同时探…

免费分享:2000-2021年全国分省250mNDVI数据集(附下载方法)

NDVI (Normalized Difference Vegetation Index)归一化植被指数,又称标准化植被指数。是目前应用最广泛的植被指数,与植被的分布呈线性相关,是植被生长状态和空间分布的最佳指示因子,也是遥感估算植被覆盖度(FVC,Fract…

深入学习 Kafka(2)- Partition 和 Topic

1. Partition的作用 Topic是逻辑的概念,Partition是物理的概念: Partition 对一个 Topic 的消息进行物理上的分离,让消息可以分布在不同的实体机器上,可以提升系统吞吐量和并行处理能力。每个Partition可以有多个副本&#xff08…

交换机06_vlantrunk

一、虚拟局域网vlan 目的:划分广播域 思科设备如何去配置vlan 创建vlan设置对应的接口模式将接口加入vlan全局模式配置vlan vlan 2 设置接口模式(目前需要将接口加入对应vlan,一般用于连接PC) en conf t int f0/0 switchport m…

学会python——用python编写一个计算机程序(python实例十六)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.编写计算器程序 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读…

【C语言】刷题笔记 Day1

多刷题 多思考 【题目1】 实现字母的大小写转换,实现多组输入输出 1. getchar 为输入函数,EOF(end of file)为文件结束标志,通常为文件结束的末尾。 2. 题目中要求实现多组输入输出,那我们用 while 循…

python+django 环境搭建以及post接口封装

1、搭建pythondjango环境 python 3.7.9的版本 具体参考之前的安装教程 django 使用 pip install django 会自动安装 检验安装版本: python -m django --version 2、创建django项目 django-admin startproject projectname 启动项目:python manage.py…

011-GeoGebra基础篇-验证泰勒斯定理(动点在指定曲线上移动)

注意咯,如果说前期的文章随便看看就行,但从这篇往后的内容,则需要君略微动动brain了。当然,后续的文章如果感觉吃力的话,可以看看本专栏序号比较小的文章,可能会对你开卷有益。 若A, B, C是圆周上的三点&am…

Windows PowerShell 添加新配置文件(打开对应的目录,并执行命令)

%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe ./redis-server.exe %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe yarn dev 人工智能学习网站 https://chat.xutongbao.top

数据分析如何在企业中发挥价值

数据分析如何在企业中发挥价值 数据分析的目的是什么为什么怎么做做什么 思考问题流程确认问题拆解问题量化分析 分析数据流程收集数据处理数据制作图表 全流程 数据分析的目的 是什么 通过数据量化企业当前的经营现状或业务事实,将业务细节转换为具体数据&#xf…

通过容器启动QAnything知识库问答系统

QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用。目前已支持格式:PDF(pdf),Word(docx),PPT(pptx),XLS(xlsx),Markdown(md)&…