ARP协议详解:从概念到实现
需积分: 10 105 浏览量
更新于2024-09-14
收藏 1.13MB PDF 举报
"TCP/IP详解卷二:实现\021.PDF"
本文主要讨论了TCP/IP协议族中的地址解析协议(ARP),这是网络层的重要组成部分,负责将IP地址转换为物理网络接口的硬件地址,如以太网的48位MAC地址。ARP的工作原理是通过高速缓存来存储IP地址与MAC地址的映射关系,当需要发送IP数据到目标主机时,首先会在ARP缓存中查找对应的目标MAC地址。如果找不到,ARP会通过广播方式发送请求,等待目标主机回应其MAC地址,然后才能正确封装以太网帧并发送数据。
在Net/3的实现中,ARP与路由表紧密相关,路由表决定了数据包如何转发。图21-1展示了一个例子,显示了在特定主机(bsdi)上的ARP缓存结构。这个结构包括了接口信息(Ifnet)、接口地址(Ifaddr)以及接口的IP地址(In_ifaddr)。每个接口的IP地址与MAC地址的映射关系存储在llinfo_arp结构的双向链表中,全局变量llinfo_arp作为链表的头部。
图中省略了一些详细的结构信息,如sockaddr_dl和In_ifaddr结构后面的详细内容,但提到了关键点。例如,llinfo_arp结构包含了每个已知硬件地址的一些基本信息。链表的lal_prev指针未在图中表示,通常它会指向前一个元素,形成完整的链表。
在ARP的具体操作中,当需要发送IP数据报给未知MAC地址的目标主机时,ARP会先检查自己的缓存,如果找到匹配的条目,就直接使用对应的MAC地址封装数据。如果缓存中没有,ARP会发送一个ARP请求报文到网络上,这个报文包含了自己的IP和MAC地址,以及目标主机的IP地址。网络中的所有设备都会接收到这个广播,但只有目标主机才会回应它的MAC地址。收到回应后,发送方更新其ARP缓存,并使用获取到的MAC地址发送数据。
ARP协议对于网络通信至关重要,因为它确保了IP层的数据能够正确地通过物理层传输。在本章后续的部分,作者可能还会深入探讨ARP协议的其他方面,如ARP请求和响应的格式、ARP缓存的更新策略、ARP欺骗等安全问题,以及在不同网络环境下的实现细节。这些内容有助于读者全面理解ARP在TCP/IP网络中的作用和运作机制。
213 浏览量
193 浏览量
162 浏览量
2012-12-11 上传
2012-12-11 上传
2012-12-11 上传
2012-12-11 上传
sheshizhang
- 粉丝: 16
- 资源: 99
最新资源
- ADA-Framework:ADA框架是第一个旨在简化本机Android应用程序源代码的库。 你准备好了吗?-Android application source code
- 基于matlab的彩色图片去噪
- PHP实例开发源码—PHP飞天下载系统FTDMS.zip
- Creature-Creator:在Unity中按程序生成生物-受孢子启发
- 待办事项
- MATLAB工具箱大全-Matlab数学建模工具箱
- CodeFind:这是一个Android源代码参考应用程序-Android application source code
- leetcode答案-leetcode:学习用基础数据结构与常见算法二刷leetcode相关题目
- 2001年3月主要宏观经济统计指标
- ReactPhotosub:带React的WebSite Photosub
- kaniko-build-private-repo
- leetcode答案-leetcode1701:平均等待时间有一家只有一名厨师的餐厅。给定一个数组customers,其中customers[
- 生成艺术:围棋中的生成艺术
- 2021.1.23
- 金哥哥的秘密小屋.zip
- 金雅拓-Gemalto 智能汽车技术 M2M Automotive-综合文档