首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
《TCP/IP 详解 卷1:协议》第4章:地址解析协议 ...
返回列表
发新帖
《TCP/IP 详解 卷1:协议》第4章:地址解析协议
[复制链接]
发表于 2025-6-29 12:30:33
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
ARP 协议
地址解析协议(ARP, Address Resolution Protocol)是IPv4协议栈中一个关键的组成部分,用于在网络层的IP地址与数据链路层的硬件地址(如MAC地址)之间建立映射关系。它的重要使命是:
将32位的IPv4地址解析为对应的48位MAC地址
,以便以太网等链路层协议可以或许正确封装并投递帧。
提供动态映射机制
,主动顺应网络环境的变革,而无需手动
配置
。
直接交付过程
直接交付(Direct Delivery)
是指当发送方与目的主机在同一IP子网中时,IP数据报可以不颠末路由器,直接通过链路层协议(如以太网)发送到目的主机。这一过程中,
地址解析协议(ARP)
起到了关键作用 —— 将目的主机的IPv4地址解析为其对应的MAC地址。
应用程序启动连接
应用程序(如 Web 浏览器)发起哀求,目的地址是 IPv4 地址 10.0.0.1(非主机名,因此不需要DNS解析)。
哀求建立连接
应用层哀求 TCP 建立连接至目的地址。
TCP发送数据报
TCP 构造连接哀求,并封装成 IP 数据报,目的地址为 10.0.0.1。
查抄是否直接交付
网络层检测到 10.0.0.1 与当地主机在同一子网内,因此无需经由网关或路由器,执行直接交付。
发起地址解析哀求(ARP 哀求)
发送方必须知道目的主机的 MAC 地址,但仅有其 IP 地址,因此需要执行地址解析。
发送方构造一个
ARP 哀求
:广播一个以太网帧,询问 “谁是 10.0.0.1,请告诉我你的 MAC 地址”。
广播ARP哀求
ARP 哀求在链路层广播给当地网络上的所有主机。这要求底层网络必须是
广播网络
(如以太网),不能黑白广播多路访问网络(NBMA,如 Frame Relay)。
接收与相应ARP哀求
所有在该广播域内的主机都能接收到 ARP 哀求。
只有
配置
了 IP 地址 10.0.0.1 的主机才会相应。
相应为
ARP应答(Unicast)
,包罗其 MAC 地址。
同时,所有接收到哀求的主机都可以被动“学习”发送方的 IP-MAC 对,并缓存。
发送现实数据报
一旦发送方接收到 ARP 应答,便获得目的主机的 MAC 地址。
然后,发送方利用这个地址将现实的 IP 数据报封装为以太网帧进行投递。
ARP 缓存
为了避免在每次发送IP数据报时都重复进行地址解析操作(即重复发送ARP哀求),
操作系统会维护一个称为 ARP 缓存(ARP Cache)的数据布局
,用于
存储
已解析的 IP 地址与其对应的 MAC 地址之间的映射关系。
该缓存明显提拔了网络通信的效率,是ARP协议运行的关键组成部分。
ARP缓存的布局
ARP缓存通常包罗以下内容:
字段说明IP地址(逻辑地址)IPv4地址MAC地址(物理地址)对应的硬件地址接口信息当地用于通信的网络接口状态静态或动态TTL / 过期时间条目的剩余生命周期(通常几分钟)
缓存条目的两种范例
动态条目(Dynamic Entries)
由ARP协议主动创建。
在主机接收到ARP应答时添加。
偶然间限定,过期主动删除(典范值是 60 秒到几分钟)。
接收ARP哀求时也可被动学习(即非目的主机也可更新缓存)。
静态条目(Static Entries)
由管理员手动
配置
(如通过 arp 命令)。
永不外期,需手动删除或重启系统后清除。
用于
安全
或关键通信链路,防止ARP诱骗。
缓存更新机制
每当主机发送ARP哀求并收到应答时,都会
插入或更新
缓存中的对应条目。
接收到其他主机的ARP哀求时,也会根据哀求中包罗的信息更新当地ARP缓存。
动态条目
在一段时间后过期,以顺应网络拓扑或装备变更,也就是
软状态刷新
。
ARP 帧格式
在以太网中,ARP哀求和应答消息封装在以太网帧中,用于实现IPv4地址到以太网MAC地址的映射。ARP帧分为两部分:
以太网帧头(14字节)
ARP消息体(28字节,用于IPv4 → MAC 映射)
广播地址
:ARP哀求利用以太网广播地址 ff:ff:ff:ff:ff:ff 作为目的地址。
ARP应答是单播的
:应答帧直接发给哀求发送方,不利用广播。
信息冗余
:ARP帧和以太网头都包罗源MAC地址,这是典范的协议重叠设计。
Op字段告急性
:由于哀求和应答的以太网范例字段相同(都为0x0806),必须通过 Op 字段区分。
代理 ARP
代理ARP(Proxy ARP)是一种
答应装备代表其他主机相应ARP哀求
的机制。根据 [RFC 1027],代理ARP重要应用于以下场景:
🔁
一个系统(通常是路由器)收到一个针对某IP地址的ARP哀求,并不是将哀求转发给目的主机,而是自己代为应答,返回自己的MAC地址。
这使得哀求主机误以为代理装备就是目的主机,从而将后续流量直接发送给代理装备,进而实现跨网络转发。
示例场景
假设有以下两个网络利用相同的IP前缀:
网络A:192.168.1.0/24
网络B:192.168.1.0/24
它们由一台中间路由器连接,出于某些遗留系统的限定,不能更改子网配置。这时路由器可配置为代理ARP:
当网络A中的主机 192.168.1.10 发送ARP哀求:
“谁是192.168.1.20?”
网络B中的主机现实拥有这个IP。
路由器相应该哀求,返回自己的MAC地址。
数据先到路由器,由其再转发给目的主机。
回复
使用道具
举报
返回列表
浏览过的版块
物联网
.Net
Java
数据仓库与分析
程序人生
SQL-Server
运维.售后
向量数据库
石小疯
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表