网络协议与内核套接字深度解析
1. ARP与RARP协议
ARP(地址解析协议)是为链路层寻址而设计的。在以太网链路的IP环境中,一个以太网网络接口可能关联一个或多个IP地址,每个以太网接口都有特定地址。
当在以太网中要向已知IP地址的特定主机发送数据包时,会生成ARP请求以获取与该IP关联的硬件地址。ARP以硬件广播形式发送到网络,IP地址与ARP数据包中IP匹配的主机会进行响应。ARP数据包封装在链路层帧中广播,其目的硬件地址设为全“f”,ARP报头中的目的协议地址设为已知的IP地址。
RARP(反向地址解析协议)是ARP的反向操作,用于根据以太网地址获取对应的IP地址。此时,ARP报头中的目的硬件地址设为已知的硬件地址,由RARP服务器响应查询。RARP通常由主机用于获取自身IP地址,多用于网络引导客户端。需注意,RARP服务器必须与请求主机在同一子网,因为RARP请求是广播,不会跨越路由器。
ARP和RARP的数据包格式如下:
| 字段 | 描述 | 以太网值 | RARP值 |
| ---- | ---- | ---- | ---- |
| 硬件类型(hardware type) | 16位字段,指示生成ARP/RARP的链路层标识 | 1 | 0x8035 |
| 协议类型(protocol type) | 16位值,是与硬件地址关联的网络层协议标识 | 0x0800(IP) | - |
| 硬件地址长度(hardware addr len) | 8位字段,包含硬件地址长度 | 6字节 | - |
| 协议地址长度(proto addr len) | 8位字段,包含与硬件关联的协议地址长度
超级会员免费看
订阅专栏 解锁全文
277

被折叠的 条评论
为什么被折叠?



