TCP/IP详解 卷一 ---------ARP地址解析协议

1、ARP作用------地址解析协议

为IP地址到对应的硬件地址之间提供动态映射(硬件地址:一般是从IP地址到MAC地址,也可以是其他类型的网络的地址,即从32位地址到48位地址),本文主要针对IP到MAC

点对点链路不使用ARP。在设置点对点链路时,必须告知内核链路每一端的IP地址,并不涉及以太网地址这类的硬件

由于该过程是全自动所以说是动态完成。

地址解析是为两种不同的地址形式提供映射: 32bit的IP地址 和 数据链路层使用的任何类型的地址。

2、ftp发送数据时 ARP的操作过程

整体过程如图1所示


                                     图1 用户输入命令"FTP主机名"时ARP的操作

步骤如下 :

(1)应用程序FTP客户端调用函数gethostbyname将主机名转换成32bit的IP地址。该转换过程使用的是DNS或者是在较小网络中使用一个静态的主机文件

(2)FTP客户端请求TCP用得到的IP地址建立连接

(3)TCP发送一个连接请求分段到远端主机,即利用上述IP地址发送一份IP数据报

(4)如果目的主机在本地网络上(如以太网、令牌环网或点对点链接的另一端),则IP数据报可直接送到目的主机上。如果目的主机在一个远程网络上,通过IP选路函数确定下一跳路由地址,由它IP数据报

(5)假定发送的是一个以太网,则发送端主机需要把32bit的IP地址转化成48bit的以太网地址

          从逻辑Internet地址(IP)到对应的物理硬件地址(MAC地址)----------ARP的功能

ARP本来是用于广播网络的,有很多主机或路由器连在同一网络上

(6)ARP发送一份称为ARP请求的以太网数据帧给以太网上的每个主机,即广播。ARP请求数据帧中包含目的主机的IP地址,即如果“你是该IP的拥有者,请回答你的硬件地址”。

(7)目的主机的ARP层收到该广播报文后,识别出该报文发送端的IP地址,发送一个ARP应答,该ARP应答包括IP地址以及对应的硬件地址(IP地址到底是该硬件对应的IP地址,还是发送端的IP?应该是当前发送端的IP地址和其对应的硬件地址

(8)收到ARP应答后,使ARP进行请求一应答交换的IP数据报现在可以传送了

(9)发送IP数据报到目的主机

3、ARP高速缓存

ARP高速缓存中保存了最近IP地址到硬件地址(MAC)之间的映射记录,其中每一项的生存时间约为20分钟

可利用arp -a查看,其中48bit的以太网地址利用6个十六进制数表示,中间以冒号隔开

例如: sun(140.252.13.33) at 8:0:20:3:f6:42

4、ARP的分组格式

在以太网上解析IP地址时,ARP请求和应答分组的格式如图2所示:


图2  用于以太网的ARP请求或应答分组格式

目的地址全为1表示广播地址

帧类型  0x0806表示ARP请求或应答

硬件类型字段表示硬件地址的类型。它的值为1表示以太网地址

协议类型字段表示要映射的协议地址类型。它的值为0x0800表示IP地址

硬件地址和协议地址的长度,以字节为单位

操作字段: ARP请求 1   ARP应答 2  RARP请求 3   RARP应答 4

接下来四个字段为 发送端的硬件地址(MAC,又称为以太网地址)、发送端的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址


举例:


                                                          图3 TCP链接请求产生的ARP请求和应答

  第一行:源端主机的硬件地址 0:0:c0:6f:2d:40。目的端主机的硬件地址ff:ff:ff:ff:ff:ff:ff,表示这是一个以太网广播地址      arp表示帧类型字段的值为0x0806,表示该数据帧是一个ARP请求或回答 60表示以太网数据帧的长度(ARP请求或回答的数据帧的长度都是42字节(28字节的ARP数据,14字节的以太网帧头),但是每帧都必须加入填充以达到以太网的最小长度即60自己)

               arp who -has表示ARP请求的数据帧中,目的IP地址是svr4的地址发送端IP地址是bsdi(主机名)的地址

第二行:应答,虽然发送请求是广播,但是应答确实针对请求端主机

第三行是建立连接的TCP端




5、ARP高速缓存超时设置

对于完整的表项设置超时值为20分钟,对于不完整的表项设置超时为3分钟,从表项建立开始计时


6、ARP代理

定义:若ARP请求是从一个网络的主机发往另一个网络上的主机,在连接这两个网络的路由器就可以回答该请求,该过程称为委托ARP或者ARP代理。路由器的功能相当于目的主机的代理


同一个子网中使用委托ARP代理会发现:子网中路由器和主机的IP地址映射的硬件地址相同

ARP代理的用途:通过两个物理网络之间的路由器相互隐藏物理网络。在这种情况下,两个物理网络可以使用相同的网络号,只要把中间的路由器设置为一个ARP代理,以相应一个网络到另一个网络主机的ARP请求。(关于内部ip等,见第四章p7)

7、免费ARP

定义:主机发送ARP查找自己的IP地址(与DNS完成的功能的区别?查找是否有跟自己一样ip的主机,因为如果其他主机IP跟自己的IP一样,却返回了不同的mac,则表示IP地址重复?),通常发生在系统引导期间进行接口配置的时候



免费ARP的作用

(1)一个主机可以通过它来确定另一个主机是否设置了相同的IP地址。主机如果收到回复,则会在终端日志上产生错误消息,这样可以警告系统管理员,系统有不正确的设置

(2)若发送免费ARP的主机正好改变了硬件地址,则该分组就可以使其他主机高速缓存中就的硬件地址进行相应的更新。


8 arp命令


arp -a 显示ARP高速缓存中所有内容

arp -d删除ARP高速缓存中的某项内容(超级用户)

arp -s增加高速缓存中的内容,参数:主机名 和以太网地址,对应于主机名的IP地址和以太网地址被增加到高速缓存中。新增加的内容是永久性的,除非在该字段之后加入temp

位于命令行末尾的关键字pub和-s选项一起,可以是系统起主机ARP代理的作用


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《TCP/IP详解 一、二、三pdf》是一本网络技术的权威著作,由美国网络专家Douglas E. Comer所著。这本书是关于TCP/IP协议的详细解析和介绍,包含了网络通信的基本原理、协议栈的结构、数据传输过程等内容。 《TCP/IP详解 一、二、三pdf》的一主要介绍了TCP/IP协议的基础知识,包括协议栈的层次结构、IP地址和子网划分、网络接口和路由选择、ARP和RARP协议、网络地址转换等。这一的内容非常基础,是理解后续的基础。 二则深入介绍了TCP协议的工作原理和实现细节。包括三次握手和四次挥手过程、拥塞控制、流量控制和窗口管理、超时重传、各种TCP选项和标志位等。通过详细解析,读者能够更好地理解TCP协议的工作机制和数据传输的流程。 三则介绍了一些与IP协议相关的主题,如IP路由表和路由查找算法、多播和广播、IP转发和分片、IP协议的安全性等。这一的内容相对较为复杂,需要读者具备一定的网络知识和经验。 总的来说,《TCP/IP详解 一、二、三pdf》是一本全面深入介绍TCP/IP协议的重要参考书。无论是对于网络工程师、系统管理员还是对于对网络通信感兴趣的读者来说,这本书都具有很高的参考价值。通过阅读这本书,读者可以更好地理解网络通信的原理和实现,提高网络的性能和安全性。 ### 回答2: 《TCP/IP详解 一、二、三》是一本经典的网络技术书籍,全称为《TCP/IP协议详解一-协议》、《TCP/IP协议详解二-实现》和《TCP/IP协议详解三- TCP事务、HTTP、NNTP、IMAP等》。 《TCP/IP详解 一-协议》首先介绍了TCP/IP协议栈的基本原理和架构,包括IP协议、ICMP协议ARP/RARP协议、UDP协议TCP协议等。通过深入解析这些协议,读者可以全面了解TCP/IP协议栈的工作机制和功能。 《TCP/IP详解 二-实现》从实现的角度出发,介绍了如何在不同的操作系统中进行TCP/IP协议栈的实现,包括网络设备驱动程序、协议控制块、握手过程、数据传输和错误处理等。这本书详细讲解了TCP/IP协议栈在各种操作系统环境下的实际应用。 《TCP/IP详解 三- TCP事务、HTTP、NNTP、IMAP等》则着重介绍了一些常用的应用层协议,如TCP事务、HTTP协议、NNTP协议、IMAP协议等。这些协议在互联网中起到了重要的作用,通过深入了解它们的工作原理和应用场景,读者可以更好地掌握网络应用开发和应用层协议的使用。 总体来说,《TCP/IP详解 一、二、三》是一本权威、全面的TCP/IP网络技术著作。适合网络工程师、系统管理员、软件开发人员等专业人士学习使用。通过阅读这本书籍,读者可以深入理解TCP/IP协议栈的原理和实现,提升对网络通信的理解和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值