地址解析协议ARP与逆地址解析协议RARP
IP地址是用来通信的,但是和硬件地址是有区别的。物理地址是数据链路层和物理层使用的地址,IP地址是网络层及以上各层使用的地址。
发送数据时,数据从高层向下层传输,使用IP地址的IP数据报交给下层的数据链路层,就会被封装为MAC帧。IP数据报的首部存放着IP地址,包括源地址和目的地址。MAC帧的首部存放着物理地址,在数据链路层看不到数据报的IP地址。
在通信过程中,不管网络层使用什么协议,在实际网络的链路上传输数据必须使用硬件地址。
IP地址有32位,MAC地址有48位,它们之间不存在简单的映射关系,在网络中,经常会出现加入新主机,撤走主机,以及更换网卡,这些都会使主机的硬件地址发生改变,在主机中存放IP-MAC的映射表,应该要经常动态更新,实现起来很繁琐。
我们如何简便地实现IP地址到物理地址的转换呢,地址解析协议ARP很好地解决了上述问题。
首先,每个主机上都应该设有一个ARP高速缓存,存放着所在的局域网上的各主机IP地址和其物理地址的映射表。那么这些映射表是如何来的呢?
当主机A想向本局域网上的主机B发送IP数据报,那么先在ARP高速缓存中查找主机B的IP地址,如果有,就对应出主机B的硬件地址,将地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
如果在ARP高速缓存中没有找到主机B的IP地址,有可能是主机B刚刚入网,或者主机A刚刚上电,高速缓存是空的。这个时候主机A就自动运行ARP,然后按照一定步骤来获取主机B的物理地址。
(1)ARP进程在本局域网上广播发送一个ARP分组请求。主要内容包括自己的物理地址和IP地址,以及主机B的IP地址。
(2)本局域网上的所有主机上运行的ARP进程都会收到这个ARP分组请求
(3)主机B在分组请求中看到自己的IP地址后,就向A发送ARP分组响应,写入自己的物理地址。并将A的IP地址和物理地址的映射写入自己的ARP缓存中,以便自己向主机A发送数据。其余所有的主机虽然收到但是不理睬A的这个分组请求。另外这个分组响应是普通的单播,即从一个源地址发送到一个目的地址。
(4)主机A收到B的分组响应后,将主机B的IP地址和MAC地址的映射写入自己的ARP高速缓存中
注意:ARP高速缓存中的映射表是有生存时间的,一般设为10-20分钟。超过生存时间就会被删除。那是因为,会出现其中一个主机的网卡坏了,立即更新了一块,这样该主机的硬件地址就变了,如果映射表没变的话,已经存储的其他主机还按照原来的物理地址来寻找它,自然就找不到了。有了生存时间,如果在高速缓存中找不到,再次广播就好了。
逆地址协议RARP是使只知道自己硬件地址的主机能够知道自己的IP地址。一般是无盘工作站,它都是只要运行ROM中的文件传送代码,就能用下行装载的方法从局域网的其他主机上得到所需的操作系统和TCP/IP通信软件,但这些软件中没有IP地址。要通过运行ROM中的RARP来获得IP地址
为了能使RARP工作,在局域网上至少要有一个主机充当RARP服务器,无盘工作站先向局域网发生RARP分组请求,并在此分组中给出自己的硬件地址。RARP服务器上有一个事先做好的从无盘工作站的硬件地址到IP地址的映射表,当收到RARP分组请求后,RARP服务器就从这映射表查出该无盘工作站的IP地址。然后写入RARP分组响应,发回给无盘工作站。无盘工作站用此方法获得自己的IP地址。
地址解析协议ARP与逆地址解析协议RARP的更多相关文章
- 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- (5)RARP:逆地址解析协议
一.简介 无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中).感觉这个过程和上一章中 ...
- 《TCP/IP详解卷1:协议》——第5章 RARP:逆地址解析协议(转载)
1.引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得IP地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络接口生 ...
- TCP/IP具体解释学习笔记——地址解析协议ARP
一 概述 我们知道,IP协议是用来在不同的物理网络之间数据传输的.要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址. 一般来说.就是将IPv4地址转换为mac地址 ...
- 地址解析协议(ARP) 分析
什么是ARP协议 ARP(A ddress R esolution P rotocol)- 地址解析协议 ,用于将IP地址解析为MAC地址.复杂来说,ARP用于32位IPv4地址和以太网的48位MAC ...
- 【RL-TCPnet网络教程】第23章 RL-TCPnet之地址解析协议ARP
第23章 RL-TCPnet之地址解析协议ARP 本章节为大家讲解ARP(Address Resolution Protocol,地址解析协议),通过前面章节对TCP和UDP的学习,需要大家 ...
- <TCP/IP>地址解析协议ARP
从前两章中有学到,网络层地址和链路层地址是由不同的,一个是物理地址,一个是IP地址.物理地址固定存储在网卡中,不会改变,而IP地址是可以网络管理员和用户自己分配的 在传统的IPv4网络中,一台A主机要 ...
- TCP/IP的排头兵――地址解析协议(ARP) (转载)
转自:http://blog.csdn.net/wangxg_7520/article/details/2488442 一.引言 古人行军打仗,都要有一个可以引领队伍前进方向的排头兵,在TCP/IP网 ...
- 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP
1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...
随机推荐
- JAVA编程中button按钮,actionlistener和mouseClicked区别
在java的编程中,对于按钮button 有两个事件: 1.actionPerformed 2.mouseClicked 区别: actionPerformed:一般事件,仅侦听鼠标左键的单击事件,右 ...
- Redisson 分布式锁实战与 watch dog 机制解读
Redisson 分布式锁实战与 watch dog 机制解读 目录 Redisson 分布式锁实战与 watch dog 机制解读 背景 普通的 Redis 分布式锁的缺陷 Redisson 提供的 ...
- 全栈性能测试修炼宝典-JMeter实战笔记(一)
了解性能测试 性能测试不仅能够定位.分析问题,还要把握系统性能变化趋势:性能测试工程师能够帮助解决性能问题,搞定测试过程中的各种不合理配置,给出专业的优化建议. 第一章 性能方向职业发展 软件测试职业 ...
- Qt 使用tablib获取多媒体tag信息
最近项目需要, 要获取音乐文件tag信息. 有两个方式, 本人偏向第二种方式. 效率比较高,可控性比较好. 一.QML方式 使用QML Audio component 进行解析. 将多媒体文件都放到P ...
- httpd反向代理实践(一)
div.example { background-color: rgba(229, 236, 243, 1); color: rgba(0, 0, 0, 1); padding: 0.5em; mar ...
- Android使用代码开关Location服务
Android系统中,只有系统设置里面有入口开关位置服务.其他的应用应该怎么去开关这个服务呢? 首先,应用需要有系统权限(签名),在这基础上,我们就可以通过一些手段来实现这个功能. 这里要注意一点,不 ...
- exkmp(Z函数) 笔记
exkmp 用于求解这样的问题: 求文本串 \(T\) 的每一个后缀与模式串 \(M\) 的匹配长度(即最长公共前缀长度).特别的,取 \(M=T\),得到的这个长度被称为 \(Z\) 函数.&quo ...
- springboot+Jenkins+docker-compose自动部署项目实践
DevOps思想 一个开发.测试.运维的整个过程的思想. plan:需求.计划 code:编码 build:构建 test: 测试 release:发布版本 deploy:部署 operate:项目运 ...
- Spring Cloud与Eureka
Spring Cloud与Eureka 一.使用SpringCloud注册中心Eureka 1.1 Eureka和Zookeeper对比 1.1.1 Zookeeper保证CP 1.1.2 Eurek ...
- Go语言学习笔记(1)——顺序编程
Go语言学习笔记这一堆主要是<Go语言编程>(人民邮电出版社)的读书笔记.中间会穿插一些零碎的点,比如源码学习之类的.大概就是这样吧. 1. 顺序编程 1.1 变量 变量的声明: var ...