地址解析协议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 ...
随机推荐
- 使用git同步代码
方法1.先把远程仓库clone到本地,本地修改后再push到gitee的远程仓库 1. 配置本地的git配置信息 git config -l #查看git本地配置信息 # 如果没有配置,需要配置自己的 ...
- E1.获取Elixir/Erlang版本信息
E1.获取Elixir/Erlang版本信息 获取Elixir版本 直接在shel中打开iex (interactive shell),就可以查到具体的版本信息: iex Erlang/OTP 22 ...
- response返回特性
1. response 返回特性 r=requests.get("http://www.baidu.com")print(r.text) #打印返回正文print(r.status ...
- nodejs的调试debug
目录 简介 开启nodejs的调试 调试的安全性 使用WebStorm进行nodejs调试 使用Chrome devTools进行调试 使用node-inspect来进行调试 其他的debug客户端 ...
- Page (computer memory) Memory segmentation Page table 虚拟地址到物理地址的转换
A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described ...
- 在不同情况下connect失败和ping不通的数据分析
- windows10 中 svn 代码统计工具 StatSVN 使用详解
1.下载TortoiseSVN 下载地址 ps:安装时务必选上命令行的svn命令. 2.下载StatSVN 官网地址 官网上目前时0.7.0版本,我的svn是1.12.0版本,运行时会报错: 所以建议 ...
- LOJ10066
LOJ10066 新的开始 题目描述 发展采矿业当然首先得有矿井,小 F 花了上次探险获得的千分之一的财富请人在岛上挖了 n 口矿井,但他似乎忘记考虑的矿井供电问题-- 为了保证电力的供应,小 F 想 ...
- 浅谈正向代理、反向代理和CDN的区别
一.正向代理 1.正向代理位于客户端和源服务器之间的服务器(代理服务器): 2.隐藏客户端:由代理服务器代替客户端去访问目标服务器,用户需要设置代理服务器的IP和端口: 3.每一次请求是到代理服务器, ...
- 一篇文章图文并茂地带你轻松学完 JavaScript 事件循环机制(event loop)
JavaScript 事件循环机制 (event loop) 本篇文章已经默认你有了基础的 ES6 和 javascript语法 知识. 本篇文章比较细致,如果已经对同步异步,单线程等概念比较熟悉的读 ...