ARP 和 RARP
1.ARP
计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。
     在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。
      A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。
     本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。

- 以太网目的地址:
 - 以太网源地址:
 - 帧类型:表示数据类型,对于ARP请求或者应答来说,该字段的值为0x0806,RARP为0x0835
 - 硬件类型:表示硬件地址的类型,1表示以太网地址。
 - 协议类型:0x0800表示IP地址。
 - 硬件地址长度:以字节为单位。
 - 协议地址长度:以字节为单位。
 - 操作类型:ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4)。可见ARP和RARP的帧类型字段一致。
 - 发送端硬件地址
 - 发送端IP地址
 - 目的端硬件地址:注意这里有重复信息。
 - 目的端IP地址
 
3.RARP
2.)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何的响应;
4) 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
ARP 和 RARP的更多相关文章
- TCP/IP详解学习笔记(4)-- ARP 和 RARP
		
1.ARP 地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确地址解析协议定其物理地址的一种协议. 在TCP/IP协议中,A ...
 - ARP及RARP简介
		
1.概念 ARP(Address Resolution Protocol) 地址解析协议 RARP(Reverse Address Resolution Protocol) 反向地址解析协议 2.AR ...
 - ARP与RARP协议及arp脚本
		
1.什么是ARP与RARP协议 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议. 在⽹络通讯时,源主机的应⽤程序知道 ...
 - TCP/IP协议栈 ARP和RARP协议
		
上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议. 这里说一下ARP 和RARP协议. 首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后 ...
 - tcp/ip 卷一 读书笔记(5)arp和rarp 同网段和不同网段之间的通信过程
		
arp和rarp 同网段和不同网段之间的通信过程 IPv6中已经没有arp rarp协议,所以这里都是IPv4. 链路层使用以太网地址来确定目的地址,应用则常使用ip地址通信 arp协议是指从ip地址 ...
 - 【计算机网络】详解网络层(二)ARP和RARP
		
ARP ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(物理地址)的协议.在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设 ...
 - TCP/IP详解 卷一(第四、五章 ARP、RARP)
		
数据链路如 以太网都有自己的寻址机制(MAC)地址,而IP层使用的是IP地址. 当一台主机把以太网数据发送定位于同一局域网上的另一台主机时,是根据MAC地址来确定目的接口的.设备驱动程序从不检查IP数 ...
 - [TCP/IP]ARP与RARP的总结
		
一. 总述 简单的说,ARP协议就是将IP地址转换为MAC物理地址:而RARP,就是ARP的逆向,也就是将MAC物理地址转换为IP地址.看起来这两个协议是完全对称的,但发明这两个协议的初衷基本上没有什 ...
 - arp和rarp协议
		
ARP与RARP详细解析 原创zlnnjit 发布于2016-04-03 15:12:15 阅读数 9544 收藏 展开 地址解析协议 ARP和逆地址解析协议RARP 1.基本关系:  2.地址解析 ...
 
随机推荐
- 关于linux 原始套接字编程
			
关于linux 网络编程最权威的书是<<unix网络编程>>,但是看这本书时有些内容你可能理解的不是很深刻,或者说只知其然而不知其所以然,那么如果你想搞懂的话那么我建议你可以看 ...
 - sql优化的50中方法
			
查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化 ...
 - Hibernat之关系的处理多对多
			
第一步:编写两个pojo,比如一个学生表一个课程表 这里使用注解. 需要 课程表: package com.qcf.pox; import java.util.HashSet; import jav ...
 - IOS开发中怎样验证邮箱的合法性
			
IOS开发中怎样验证邮箱的合法性 文章参考:http://www.codes51.com/article/detail_94157.html 代码: - (void)viewDidLoad { [su ...
 - MVC 分页1 标准的url分页
			
一. 将mvcpager ddl 引用到web服务项目中. 二. 在view加入 <%@ Import Namespace="Webdiyer.WebControls.Mvc" ...
 - javascript实现代码高亮
			
javascript实现代码高亮-wangHighLighter.js 1. 引言 (先贴出wangHighLighter.js的github地址:https://github.com/wangfup ...
 - js判断浏览器类型(手机和电脑终端)
			
工作中经常会用到通过js来判断浏览器的功能!今天这里通过js来判断浏览器是来自移动设备还是pc设备! 代码如下: var browser={ versions:function(){ var u = ...
 - 前端JS开发框架
			
前端JS开发框架-DHTMLX 发框架-DHTMLX 一:介绍 dhtmlxSuite是一个JavaScript库,提供了一套完整的Ajax -驱动UI组件.我们能够使用dhtmlxSuite构建 ...
 - 【转】Android 系统菜单与自定义菜单
			
Android 系统菜单与自定义菜单实现方法如下:系统菜单显示DefaultMenu.java package com.wxz.menu; import com.wxz.menu.R; import ...
 - javascript Function.prototype.bind
			
语法: fn.bind(obj,arg1,arg2,arg3...) bind是es5新增的方法,顾名思义,它的作用是将函数绑定到某个对象上,就像是某个对象调用方法一样.其本质还是改变了该函数的上下文 ...