《TCP/IP 详解 卷一》读书笔记 -----第四章 ARP
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的更多相关文章
- TCP/IP详解 卷一(第十四章 DNS:域名系统)
域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过 ...
- 【TCP/IP详解 卷一:协议】第二章:链路层
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...
- 【TCP/IP详解 卷一:协议】第一章概论 学习笔记
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...
- 《TCP/IP详解》读书笔记
本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层 一.整体概念 1.各层协议的关系,只讨论四层 各层常见的协议: 网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...
- TCP/IP详解 卷一学习笔记(转载)
https://blog.csdn.net/cpcpcp123/article/details/51259498
- TCP/IP详解 卷一(第十二章 广播和多播)
广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道 ...
- TCP/IP详解 卷一(第十九章 TCP的交互数据流)
TCP需要同时处理两类数据:块数据.交互数据. 本章将以Rlogin应用为例观察交互数据的传输过程. 交互式输入 首先观察在一个Rlogin连接上键入一个交互命令时所产生的数据流(每键入一个交互按键都 ...
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- 『TCP/IP详解——卷一:协议』读书笔记——02
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...
随机推荐
- Win7配置Go环境
最近想学习下Go语言,先从最基本的Hello Go开始,搭建Go开发环境 一.下载Go包 由于Go官网国内访问经常有问题,可以从国内的镜像下载: http://www.golangtc.com/ 二. ...
- linux 常用技巧
1--查看版本 查看内核版本 # cat /proc/version 查看linux版本 # lsb_release -a或者 cat /etc/issue 2--linux服务器测速 speedte ...
- Ahjesus获取自定义属性Attribute或属性的名称
1:设置自己的自定义属性 public class NameAttribute:Attribute { private string _description; public NameAttribut ...
- 六个创建模式之简单工厂模式(Simple Factory Pattern)
定义: 定义一个工厂类,它可以根据参数的不同生成对应的类的实例:被创建的类的实例通常有相同的父类.因为该工厂方法尝尝是静态的,所以又被称为静态工厂方法(Static Factory Method) 结 ...
- SystemClock.sleep和Thread.sleep的区别(转)
在Java中我们处理线程同步问题时,处理延迟可能会使用Thread类的sleep方法,这里抛开concurrent类的一些方法,其实 Android平台还提供了一个SystemClock.sleep方 ...
- Design Patterns (简单工厂模式)
文章很长很精彩,如是初学请耐心观看.(大神请绕道!) 简单工厂模式: 1.创建型模式 2.简单工厂模式概述 3.简单工厂模式的结构与实现 4.简单工厂模式的应用实例 5.创建对象与使用对象 6.简单工 ...
- 使用Apache ab进行压力测试(参数说明)
我们一般会使用Apache自带的ab来对项目进行压力测试,看项目的执行情况如何. 我们可以使用 ab -v 来查看ab的详细参数使用方法. [root@node234 bin]# ./ab -v ab ...
- 我为什么要做富文本编辑器【wangEditor5个月总结】
请访问wangEditor官网:www.wangEditor.com ----------------------------------------------------------------- ...
- DevExpress.XtraGrid.Views 设置指定行的背景颜色 .
如需要将指定行的背景设置颜色,可参考以下示例 1.事件:CustomDrawCell 2.示例: private void gridView1_CustomDrawCell(object sender ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q81-Q84)
Question 81You need to create a Web Part that creates a copy of the out-of-the-box Contribute permis ...