首先,我们要弄明白一个概念:网络实现当中的地址。

在网络中,只要提到地址,我们会马上想到IP地址。实际上,数据在以太网上传输的时候,并不是直接根据IP地址确定目的接口的,而是根据一个叫做以太网地址的东西确定 的。

设备驱动程序从不检查IP数据报中的目的IP地址!!

和IP地址类似,以太网地址是一个48bit的序列号。每个生产厂商在生产网络硬件接口的时候,都会为它配置一个独一无二的硬件地址,当然,应用于以太网的硬件配置叫以太网地址。

那么,随之而来的是,48bit的硬件地址和32bit的IP地址之间理应有一个对应关系。这样,当我向某个IP地址发送数据的时候,才能找到那个正确的网络接口。

ARP(地址解析协议)就是为IP地址到对应的硬件地址(可以是采用不同网络技术的)之间提供动态映射的。之所以用动态这个词是因为这个过程是自动完成的,通常应用程序用户和系统管理员不需要关心。

在以太网上解析IP地址时,ARP请求和应答分组格式(以字节为单位):

6字节:以太网目的地址。48bit以太网地址一般用6个十六进制的数字来表示,如8:0:20:3:f6:42.下同

6字节:以太网源地址

2字节:帧类型。表示后面数据的类型,对于ARP请求或者应答来说,值为0x0806

2字节:硬件类型。如值为1时,表示以太网网络

2字节:协议类型。表示要映射的协议地址类型。如值为0x0800表示IP地址

1字节:硬件地址长度,以字节为单位,所以,对于以太网上IP地址的ARP请求来说,值为6

1字节:协议地址长度,同上,值通常为4

2字节:op,即操作字段。指出操作类型,他们是ARP请求(值为1),ARP应答(值为2),RARP请求(值为3),RARP应答(值为4)。

6字节:发送端以太网地址。没错,这个与前面的以太网源地址重复了,但是,前面的信息属于以太网首部,这个信息属于ARP/RARP信息

4字节:发送端IP地址

6字节:目的端以太网地址。同上

4字节:目的端IP地址。同上

还有一点要注意的,就是ARP高速运行的关键之一:主机上的ARP高速缓存。在这个缓存中存储了最近的Internet地址与硬件地址之间的映射。每个映射的存在时间大概为20分钟。

RARP:

在某些主机中(具有本地磁盘),一般是从本地的配置文件中读取IP地址的。但对于无盘机,则需要其他的方式获取IP地址,这就是RARP(逆地址解析协议)

RARP的实现过程就是从无盘机自己的接口卡上读取硬件地址(唯一的),然后发送一份RARP请求(在网络上广播),请求某个主机响应该无盘机的IP地址(在RARP应答中)

RARP格式与ARP格式基本一致,他们之间的主要差别是RARP请求或者应答的帧类型值为0x8035.当然op(操作代码)也不同。而求,相对于ARP,RARP请求以广播的形式发送,RARP应答则以单播的形式发送

RARP的几个注意点:

1、作为用户进程的RARP服务器

RARP服务器的实现难度之一就是服务器一般要为多个主机(广播上的所有无盘机)提供服务,即硬件地址到IP地址之间的映射。这些数据会保存在磁盘文件中。由于雷飞一般不读取和分析磁盘文件,所以RARP的功能必须由用户进程来实现,而不是TCP/IO实现的内核之一

2、每个网络上有多个RARP服务器

RARP请求是在硬件层(链路层)上进行广播的,这意味着他们不经由路由器(路由属于IP层)转发。为了让无盘机在某个RARP服务器关机的情况下也能工作,通常在网络上提供多个RARP服务器。这样做也是有弊端的:当服务器增多时,网络流量也随之增多,因为每个服务器都需要对每个RARP请求发送RARP应答。无盘系统通常采用最先收到的RARP应答。

《TCP/IP详解》_卷一_ARP和RARP协议相关推荐

  1. 《TCP/IP详解》卷一:The-internet-protocol-IP

    引言 ​ IP是TCP/IP协议簇中最核心的协议之一.IP提供不可靠.无连接的数据报传输服务. ​ 不可靠(unreliable)的意思是IP不能保证数据报能成功地到达目的地,它仅仅尽最大努力提供最好 ...

  2. 【TCP/IP详解】ARP报文格式 | RARP报文格式

    我将工作中用到的报文格式进行了汇总,方便查阅: [TCP/IP协议]各层报文首部数据格式汇总 ARP报文格式: RARP报文格式: RARP分组的格式与ARP分组基本一致.它们之间主要的差别是RARP ...

  3. TCP/IP详解卷一读书笔记一

    TCP/IP详解卷一:第一章 一.分层   1.网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.   疑点 介质访问控制方法   多个主机需要通过一条"共享介质"发送 ...

  4. 《TCP/IP详解卷一》读书笔记九:IGMP和MLD

    由于工作需要和知识储备,重新系统地学习网络方面的知识,先从<TCP/IP详解卷一>开始,对看书的大体内容进行简单整理,在这里进行记录.记录只是对知识的整理过程,并不追求面面俱到. 概念 I ...

  5. 《TCP/IP详解卷一》学习笔记

    <TCP/IP详解卷一>学习笔记 第1章 概述 第3章 IP:网际协议 第6章 ICMP:internet控制报文协议 第7/8章 Ping/Traceroute程序 第9/10章 IP路 ...

  6. cdt规约报文用程序解析_程序员必备的学习笔记《TCP/IP详解(二)》

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP 协议用来找到目标主机的 Ethernet 网卡 Mac 地址,IP 则承载要发 送的消息.数据链路层可以从 ARP 得到数据的传送信息,而从 ...

  7. 《TCP/IP详解卷1:协议》读书笔记

    <TCP/IP详解卷1:协议>读书笔记 - QingLiXueShi - 博客园 https://www.cnblogs.com/mengwang024/p/4425834.html &l ...

  8. 《TCP/IP详解·卷1:协议》随笔(已完结)

    第一章.概述 Internet的成功 Internet体系结构被设计成支持现有网络互联,同时提供了广泛的服务与协议操作. 选用数据包的分组交换主要是因为它的鲁棒性与效率,而相对来说数据安全性与交付可预 ...

  9. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

最新文章

  1. Faster_RCNN 4.训练模型
  2. 分计算iv值_S71200PLC模拟量编程方法与计算原理
  3. 用ASP.NET Core 2.1 建立规范的 REST API -- 翻页/排序/过滤等
  4. java socket 对方关闭_java Socket判断对方是否已关闭连接
  5. 使用cmd命令创建maven(web)项目+项目转换成IDEA项目+项目打包+Jetty运行Web项目
  6. 【C++_typedef_疑难定义收集整理】
  7. 现代通信原理:月考(二)答案
  8. Word导出带目录的PDF
  9. Win10系统去掉桌面图标小箭头导致打开管理和任务栏处图标报错,且右键开始菜单无反应
  10. 在3D城市模型中添加不同的纹理
  11. Eclipse Neon EGit Integration gives Exception 401 Authorization Required
  12. jenkins中文语言设置
  13. 如何从后面截取字符串 String.slice()
  14. win10系统通过文件名称快速搜索文件的软件
  15. 数据挖掘实战(4)——聚类(Kmeans、MiniBatchKmeans、DBSCAN、AgglomerativeClustering、MeanShift)
  16. 互联网行业应届待遇十一档2014
  17. 搅局者周鸿祎圆梦:忆往昔凶猛斗狠轮战群雄
  18. 使用接口实现手机功能------完善
  19. matlab按图像边缘抠图_ps快速选择工具|抠图常用工具(一)
  20. Google Noto Sans CJK 字体

热门文章

  1. ACTIVITI 5.22 表结构详情
  2. 全国进入裁员潮,到底是大厂难混?还是我技不如人?
  3. java entryset key值_java – HashMap如何以及何时初始化entrySet并向其中添加值
  4. jquery html对象 转换成字符串,JQuery - 将'HTMLDivElement'对象数组转换为字符串
  5. windows Server 2016点击服务管理器无响应解决办法
  6. 保存git登录账号密码
  7. ERP的财务凭证的操作与设计--开源软件诞生23
  8. Android 笔记 surfaceView textureView
  9. OpenInventor实现三维模型的拖动
  10. [网络安全]中间人攻击