1、一个物理层的网络,例如以太网,可以同时被多个不同的网络层所使用。例如网络中的一些主机使用TCP/IP协议,其他主机使用其他的网络协议。

2、设备驱动软件从不关心IP数据报中的目的IP地址。这也是为什么要有ARP的原因。既然局域网中能够采用广播的方式传递数据,那为什么不把每个包都进行广播,然后让目的主机核对IP地址呢?原因就在于物理层首先需要核对数据帧中的目的物理地址是否与自己的地址相匹配,如果不匹配就可能被丢弃了,网络层都没有机会进行IP地址的匹配。而且每个包都使用广播的方式,让每台主机都到网络层才进行匹配,开销太大,显然设计是不合理的。

3、点对点链路不需要使用ARP,在链路配置时,需要告诉主机内核链路两端的IP地址,至于以太网之类的物理地址是不需要的。

4、当一台主机遇到针对自己的ARP请求时,它仅仅只是将自己的物理地址填充到ARP请求中的目的地址字段,然后分别将ARP请求中的两个源地址和两个目的地址互换,接着改变op字段,将ARP的类型由请求变为应答,最后发送回源主机。

5、以太网数据帧的大小最小为60个字节(不包含尾部4个字节),对于帧类型为ARP的以太网数据帧而言,以太网的报头占据了14个字节,ARP的相关信息占据了28个字节,所以仍然需要对数据帧进行相应的填充,以满足要求。

6、当系统收到一个ARP请求时,在发送一个ARP应答的同时,也会将该请求ARP的IP地址和物理地址保持在ARP缓存中。

7、ARP缓存中的数据不是永久保存的,一般的实现都是超过二十分钟未被使用,则该条记录废弃,同时如果该记录在有效期内又被使用了,则重新开始二十分钟的计时。

8、Proxy ARP:当一台主机,想要把数据发送到与之相连的路由器另一端的一台主机时,它其实得到的ARP应答其实是该路由器发出来的。因此,数据先是由源主机到达路由器,然后再路由器到达目的主机,在数据的整个传递过程中,目的IP地址是不变的,目的物理地址却一直在变。整条数据的传递路径上,除了源主机和目的主机外,其余的路由器都起到了代理作用。两台主机其实并不知道对方的物理地址,这也就是Proxy ARP的作用。

9、Gratuitous ARP:这一类ARP请求的特点就是,请求中的目的IP地址其实就是它自身的IP地址。为什么要这么做呢?原因有两个:一、在启动初期,确认网络中是否有主机的IP地址与自身重复,如果该ARP请求收到了回复,则说明IP地址有重复。二、让网络中的其他主机更新它们的ARP缓存,因为很有可能发送Gratuitous ARP的主机已经更换了网卡,物理地址已经变了,那么原本网络中其他主机内的ARP缓存的相关条目已经错误了,因此有必要通知它们进行更新。通常很多备份服务器在替换出问题的服务器时,会基于理由二发送Gratuitous ARP,以保证在IP地址不变的情况下,让其他客户机程序仍然能够与自己进行通信。

《TCP/IP 详解 卷一》读书笔记 -----第四章 ARP的更多相关文章

  1. TCP/IP详解 卷一(第十四章 DNS:域名系统)

    域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过 ...

  2. 【TCP/IP详解 卷一:协议】第二章:链路层

    2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...

  3. 【TCP/IP详解 卷一:协议】第一章概论 学习笔记

    第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...

  4. 《TCP/IP详解》读书笔记

    本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层   一.整体概念   1.各层协议的关系,只讨论四层 各层常见的协议:   网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...

  5. TCP/IP详解 卷一学习笔记(转载)

    https://blog.csdn.net/cpcpcp123/article/details/51259498

  6. TCP/IP详解 卷一(第十二章 广播和多播)

    广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道 ...

  7. TCP/IP详解 卷一(第十九章 TCP的交互数据流)

    TCP需要同时处理两类数据:块数据.交互数据. 本章将以Rlogin应用为例观察交互数据的传输过程. 交互式输入 首先观察在一个Rlogin连接上键入一个交互命令时所产生的数据流(每键入一个交互按键都 ...

  8. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  10. 『TCP/IP详解——卷一:协议』读书笔记——02

    2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...

随机推荐

  1. C#根据CPU+磁盘标号来注册软件

    很多私人软件都需要自己的作品出售给别人只能一台电脑使用,不可以随便一个电脑都可以运行自己的软件,所以就有了软件注册限制的控制,收集了一个注册软件的帮助类,分享记录一下. 功能介绍:    根据CPU+ ...

  2. webservice 原理

    webservice 原理1.soap协议,其实就是用http协议来传输xml格式的数据,可以post,get.一般有post.2.服务端有:本地程序代码(也不是dll)和xml格式的文件用来描述dl ...

  3. docker与虚拟机性能比较

    http://blog.csdn.net/cbl709/article/details/43955687www.chenbiaolong.com 概要 Docker是近年来新兴的虚拟化工具,它可以和虚 ...

  4. C语言范例学习02

    第二章 指针 算是重点吧,这也是C语言的特色啊,直接访问物理存储. 重点: 指针就是一个存放它指向变量地址的变量,好绕口.   区分*在定义是与引用是的作用.   区分*.&的不同.   指针 ...

  5. Struts2执行过程解析

    说到Struts2执行过程就少不了一张图: 1 客户端初始化一个指向Servlet容器的请求: 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextClea ...

  6. Jsoup实现java模拟登陆

    Jsoup实现java模拟登陆 2013-10-29 14:52:05|  分类: web开发|举报|字号 订阅     下载LOFTER我的照片书  |     1:如何获取cookies. 1.1 ...

  7. Mysql优化经验

    一.索引优化 范围匹配使用B-tree索引  等值匹配使用 HASH索引,hash所有唯一Memory引擎 2.索引三星系统, 1.相关记录放到一起 2.索引中的数据和查找中的排序顺序一直 3.索引的 ...

  8. ArcMap中的名称冲突问题

    这是一个非常有趣的问题. 现在我一个点层叫"汶川73",有一个面层也叫"汶川73",使用空间连接工具来计算每个面中被落入有多少个点.但不管怎么算,结果都只能生成 ...

  9. SharePoint 如何找到List的Template ID

    在我们添加Ribbon操作,或者对特定模板进行操作的时候,经常需要ListTemplate的数值,我们经常需要搜索各种网页,来查找匹配的ListTemplate值,其实,有个比较简便的方法. 像定义R ...

  10. android 多屏幕适配 : 第一部分

    1.在xml布局文件中,控件的宽度和高度用  dp ;   字体大小用 sp 2.根据屏幕的宽高来动态的适配 , 获取屏幕的宽高的两种方法: 第一种方法: /** * 屏幕的宽度 * 屏幕的高度 * ...