TCP/IP详解之:ARP协议 和 RARP协议
ARP功能:从逻辑internet地址(IP地址)到对应的物理硬件地址(以太网地址)之间的转换
ARP工作原理:
(1)首先每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP和MAC间的对应关系
(2)当源主机要发数据时,先检查ARP列表中是否有对应IP地址的目的主机的MAC地址。若有则直接发;若无就向本网段的所有主机发ARP数据包,内容有:源IP,源MAC,目的IP。
(3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中IP是否是自己的IP。若不是,则忽略;若是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,若已存在则覆盖,然后将自己的MAC写入ARP响应包,告诉源主机自己是它想要找的MAC地址。
(4)源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。若源主机一直没有收到ARP响应数据包,表示ARP查询失败。
总结:广播ARP请求,单播ARP响应。
ARP高速缓存:
ARP高效运行的关键在于每个主机上都有一个ARP高速缓存。
高速缓存中完整的表项的生存时间一般为20分钟;而不完整表项的生存时间一般为3分钟
注:可使用arp -a命令显示高速缓存中所有的内容
ARP的分组格式:
ARP代理:
如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,此过程称为ARP代理。这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。
免费ARP:
免费ARP是指:主机发送ARP查找自己的IP地址
免费ARP的两个方面的作用:
1)一个主机可以通过它来确定另一个主机是否设置了相同的IP地址
2)若发送免费ARP的主机正好改变了硬件地址(有可能是主机关机了,并换了一块接口卡,然后重启),那么这个分组就可以使其他主机高速缓存中旧的硬件地址进行相应的更新
arp命令:
arp -a 显示ARP高速缓存中的所有内容
arp -d 删除ARP高速缓存中的某一项内容
arp -s 增加高速缓存中的内容。(新增加的内容是永久性的,除非在命令行的末尾附上关键字temp)
RARP协议:
RARP协议是许多无盘系统在引导时用来获取IP地址;
广播RARP请求,它在分组中标明发送端的硬件地址,以请求相应IP地址的响应;单播RARP应答;
TCP/IP详解之:ARP协议 和 RARP协议的更多相关文章
- TCP/IP协议详解笔记——ARP协议和RARP协议
ARP:地址解析协议 对于以太网,数据链路层上是根据48bit的以太网地址来确定目的接口,设备驱动程序从不检查IP数据报中的目的IP地址.ARP协议为IP地址到对应的硬件地址之间提供动态映射. 工作过 ...
- 《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议
4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...
- 《TCP/IP详解卷1:协议》——第4章 ARP:地址解析协议(转载)
章节回顾: 1.引言 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址.地址解析为这两种不同 ...
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 《TCP/IP详解卷1:协议》第1章 概述-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
随机推荐
- hdu 4712 Hamming Distance ( 随机算法混过了 )
Hamming Distance Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...
- ubuntu 11.04安装笔记
首先,本文查询了网络中各位大大的经验共享,特别是<UltraISO制作U盘启动Ubuntu 8.10 LiveCD>,地址在http://blog.sina.com.cn/s/blog_5 ...
- 【最大流,二分图匹配】【hdu2063】【过山车】
题意:裸的求二分图匹配 建立一个源点 连向一边所有的点 容量为1; 另外一边点都连向汇点 容量为1; 二分图的边容量也为1 源点汇点求一遍最大流即可 #include <cstdio> ...
- idea git merge代码
1.点击idea 右下角的红框区域 2.出现如下截图,第一个红框是本地dev merge,也就是说可以从从本地的dev仓库merge,第二个红框表明可以从远程的git dev merge 第三个红框表 ...
- JQ第一篇
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 【linux信号】10.11信号集
POSIX定义数据类型sigset_t以包含一个信号集,并且定义了下面五个函数处理信号集:
- Java log4j的环境搭建
一.Log4j是什么? Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以控制日志信息输出的目的地.最常见的就是输出到控制台或者日志文件.同时,它强大的一点是可以在C.C++等其 ...
- 解决Firefox下input button内文字垂直居中
众所周知,在Firefox下input type=”button”的文字是不好居中的,原因在于Firefox自己比较二,弄了个私有属性,导致以下问题的出现: 按钮左右本身有2px的间距(FF私有属性写 ...
- 【grunt整合版】 30分钟学会使用grunt打包前端代码
grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...
- php 表单校验函数库(判断email格式是否正确、http地址是否合法有效、手机号码是否合法)
/** * 表单校验函数库 */ /** * 判断email格式是否正确 * @param $email */ function is_email($email) { return strlen($e ...