当前位置: 首页 > news >正文

ARP协议

   计算机网络资料下载:CSDN

ARP协议

APR(address resolution protocol):地址解析协议,用于实现从IP地址到MAC地址的映射,即访问目标ip地址的mac地址。

网络层及以上采用的ip地址来标记网络接口,但是以太数据帧的传输,以物理地址来标记网络接口,所以我们需要ip地址到网络地址的转换。

对于IPV4采用ARP地址解析协议,IPV6则使用邻居发现协议进行IP地址与mac地址的转换。

ARP协议提供了网络层地址(IP)到物理地址(MAC)之间的动态映射。ARP协议是地址解析的通用协议。

获取目的端的mac地址步骤

1,发送ARP请求的以太网数据帧给以太网上的每个主机,即广播,ARP请求帧中包含了目的主机的ip地址。

2,目的主机收到该ARP请求后,会发送一个应答ARP,里面包含了目的主机的mac地址

ARP协议的工作原理

1,每个主机都会或在自己的ARP缓冲区建立一个ARP列表, 表示ip地址与mac地址的对应关系

2,主机(网络接口)新加入网络时(或者mac地址发生变化,接口重启等)会发送免费的ARP报文,将自己的IP地址与mac地址的映射关系广播到其他主机;

3,网络上的主机接收到报文时,会更新自己的ARP缓冲区,将映射关系更新到自己的ARP列表中;

4,某个主机发送报文时,首先检查自己的ARP列表看看是否有对应的IP地址的目的主机的mac地址,如果有则直接发送数据,如果没有,则向本网段所有主机发送ARP数据包。具体数据包内容下文有讲解

5,当本网络的所有主机收到该ARP数据包时:

a:首先检查数据包中的ip是否时自己的ip地址,如果不是就直接忽略

b:如果是,则首先从数据包中取出源主机的ip和mac地址写到ARP列表中,如果存在则覆盖

c:将自己的mac地址写入到arp响应包中,告诉源主机自己是它想要找的mac地址

6,源主机收到arp响应包后,将主机的IP和mac地址写入arp列表,并利用此信息发送数据。如果源主机一直没有收到arp响应包,表示arp查询失败。

RARP协议

RARP(Reverse Address Resolution Protocol):反向地址转换协议。

反向地址转换协议就是将局域网中某个物理地址转为IP地址,。比如局域网中有一台主机只知道物理地址而不知道IP地址,那么就可以通过RARP协议广播请求自己的IP地址,然后由RARP服务器负责回答。RARP通常用于无盘工作站的IP地址。

无盘系统:无盘系统用于网吧,卡拉OK,办公室,教育平台的一种网络传输技术。使用无盘系统的计算机将不再使用本机的硬盘获得启动系统,而是通过网络的指定服务器获得启动系统的镜像,并下载回本机用于机器启动。而且也不需要使用传统硬盘读取资料,而是通过局域网内的服务器读取资料。

RARP允许局域网的物理机从网关服务器的ARP表或者缓存上请求其ip地址。网络管理员在局域网网关路由器中创建一个表以映射mac地址和对用IP地址。当设置一台新机器是,其RARP客户机程序需要向路由器上的RARP服务器请求响应的ip。

RARP工作过程

1,主机发送一个本地的RARP广播,在广播包中,声明自己的mac地址并请求RARP服务器分配一个IP地址;

2,本地网段的RARP服务器收到这个请求后,检查RARP列表,查找该mac对应的mac地址

3,如果存在,RARP服务器则给源主机发送一个响应数据包,并将IP地址提供给对方主机使用,

4,如果不存在,RARP服务器则对此不作任何响应

5,源主机收到从RARP服务的响应信息,就利用的到的IP地址进行通信。如果一直没收到响应信息,表示初始化失败。

http://www.lryc.cn/news/401022.html

相关文章:

  • Qt程序图标更改以及程序打包
  • 普通人还有必要学习 Python 之类的编程语言吗?
  • 「Python」基于Gunicorn、Flask和Docker的高并发部署
  • 在攻防演练中遇到的一个“有马蜂的蜜罐”
  • 一文了解MySQL的表级锁
  • LVS+Keepalive高可用
  • 网络安全防御【防火墙安全策略用户认证综合实验】
  • IOS上微信小程序密码框光标离开提示存储密码解决方案
  • AWS CDN新增用户ip 地区 城市 响应头
  • Elasticsearch基础概念
  • Redis 7.x 系列【24】哨兵模式配置项
  • SpringBoot+Vue实现简单的文件上传(策略模式)
  • 软考中级科目包含哪些?应该考哪个?
  • ArcGIS Enterprise 命令行组件创建配置
  • Web组成架构
  • 「Pytorch」roLabelImg 图像异常旋转 bug
  • java.sql.SQLException: Unknown system variable ‘query_cache_size‘【Pyspark】
  • 汽车连接器革新!中国星坤产品在汽车安全与效率中的卓越表现!
  • DHCP服务、FTP服务
  • AWS云计算实战:电商平台发卡机器人开发指南
  • 虚拟机及其Debian(kali)安装
  • Linux部署禅道(无脑复制版)
  • C# .net6使用Hangfire
  • NaiveUI与ElementUI 比较分析
  • 使用ChatGPT来撰写和润色学术论文的教程(含最新升级开桶ChatGpt4教程)​​
  • matine组件库踩坑日记 --- react
  • 爬虫学习前记----Python
  • 详解Go语言中的Goroutine组(Group)在项目中的使用
  • Linux桌面环境手动编译安装librime、librime-lua以及ibus-rime,提升中文输入法体验
  • 一文入门【NestJs】Providers