《TCP/IP详解》笔记——ARP/RARP

本系列是针对《TCP/IP详解》的笔记总结,包含各章节的主要内容。有助于帮助你快速了解并掌握TCP/IP协议的相关内容。

目录

 1、概述
 2、ARP字段解析
 3、RARP字段解析
 4、ARP运行实例

1、概述

 IP地址是指在软件中使用的抽象地址。不论是局域网还是广域网,发送和接收信息时,都依靠的是硬件地址。所以协议软件发送信息包之前,必须把IP地址翻译成对应的物理地址,这个过程称为地址解析(address resolution ARP)。
 RARP是在无盘等系统中,无法直接获取到IP,但是网络接口是生产厂家唯一指定的,通过这个接口就可以获取到唯一的硬件地址(MAC),然后在网络中发生RARP请求,获取到响应的主机IP地址,该过程实现复杂度较高。
这里写图片描述

1.1 ARP作用

  • 在到达最后目的网络之前,要把IP目的地址翻译成下一跳路由器的物理地址;
  • 信息传输的最后一步,要反IP目的地址翻译成目的计算机的物理地址。

1.2 RARP作用

 一般是从本地磁盘中获取IP地址,但是比如局域网中有一台主机只知道物理地址(无盘机)而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站的IP地址。

2、ARP字段解析

这里写图片描述

  • 以太网目的地址:接收方(目的)MAC 6Bytes, 广播时为 ff-ff-ff-ff-ff-ff;
  • 以太网源地址:发送方(源)MAC 6Bytes;
  • 帧类型:2Bytes,0x0806是ARP帧的类型值 0x8035是RARP帧的类型值;
  • 硬件类型:2Bytes, 0x1 以太网类型值;
  • 协议类型:2Bytes, 0x0800 上层协议为IP协议;
  • MAC地址(硬件)长度1Bytes, 0x06 以太网MAC地址长度为 6;
  • IP地址(IP)长度1Bytes, 0x4 IP地址长度为 4;
  • 操作码:2Bytes,0x01表示ARP请求包,0x2表示ARP应答包 0x3表示RARP请求包,0x4表示RARP应答包;
  • 发送方MAC :6Bytes;
  • 发送方IP:4Bytes;
  • 接收方MAC:6Bytes ,不知道写0;
  • 接收方IP :4Bytes;
  • 填充数据 :6Bytes 因为物理帧最小长度为64字节,前面的42字节再加上4个CRC校验字节,还差18个字节。

3、RARP字段解析

RARP与ARP类似,主要区别是:

  • 帧类型: 0x0806是ARP帧的类型值 0x8035是RARP帧的类型值;
  • 操作码:0x1表示ARP请求包,0x2表示ARP应答包 0x3表示RARP请求包,0x4表示RARP应答包。

4、ARP运行实例

4.1 主机A和B地址说明

  • 本机IP(主机A):192.168.0.1 (c0 a8 00 01)
  • 本机MAC(主机A):00-50-56-c0-00-01
  • 目标IP(主机B):192.168.0.2 (c0 a8 00 02)
  • 目标MAC(主机B):00-0c-29-0b-42-7e

4.2 主机A发送数据

 Ping 目标主机192.168.0.2时,本机发送的ARP数据包为:
00000000 : ff ff ff ff ff ff 00 50 56 c0 00 01 08 06 00 01
00000010 : 08 00 06 04 00 01 00 50 56 c0 00 01 c0 a8 00 01
00000020 : 00 00 00 00 00 00 c0 a8 00 02

 各数据字段解释

  • 以太网数据包发送目的地:ff ff ff ff ff ff(全网);
  • 以太网数据包发送源:00 50 56 c0 00 01(本机);
  • 以太网数据包数据包内容类型:08 06(ARP数据包);
  • ARP数据包类型:00 01(Request);
  • 数据内容:告诉IP为c0 a8 00 02的目标主机,本机的IP为c0 a8 00 01,MAC为 00 50 56 c0 00 01,请更新,并将你的MAC发送给我。

目标主机回应本机的ARP数据包为
00000000 : 00 50 56 c0 00 01 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 02 00 0c 29 0b 42 7e c0 a8 00 02
00000020 : 00 50 56 c0 00 01 c0 a8 00 01

4.3 主机B返回数据

 目标主机回应本机的ARP数据包为
00000000 : 00 50 56 c0 00 01 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 02 00 0c 29 0b 42 7e c0 a8 00 02
00000020 : 00 50 56 c0 00 01 c0 a8 00 01

 各数据字段解释

扫描二维码关注公众号,回复: 1452449 查看本文章
  • 以太网数据包发送目的地:00 50 56 c0 00 01;
  • 以太网数据包发送源: 00 0c 29 0b 42 7e;
  • 以太网数据包数据包内容类型:08 06(ARP数据包);
  • ARP数据包类型:00 02(Reply);
  • 数据内容:告诉MAC为 00 50 56 c0 00 01 的主机,你的IP和MAC我已经收到,我的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 02,请保存更新。

猜你喜欢

转载自blog.csdn.net/xk7298/article/details/80558551