TCP/IP协议详解卷一:Chapter4 Chapter5 笔记

Chapter 4 ARP:地址解析协议

地址解析协议 = Address Resolution Protocol = ARP
ARP为IP地址到对应的硬件地址之间提供动态映射。这个过程是自动完成的,一般应用程序用户和系统管理员不必关心。

硬件地址
硬件地址 = 物理地址(Physical Address) = MAC地址(Media Access Control Address) = 局域网地址(LAN Address) = 以太网地址(Ethernet Address);
硬件地址长度为6个字节,即48bit。通常表示为12个16进制数,每两个数之间用冒号隔开。例如08 : 00 : 20 : 0A : 8C : 6D。

ARP高速缓存
每个主机上都有一个ARP高速缓存,存放了最近Internet地址到硬件地址之间的映射记录。
高速缓存中的每一项的生存时间大概为20分钟。可以用 arp -a 命令查看高速缓存中的所有内容。

4.4节 ARP的分组格式

用于以太网的ARP请求或应答分组格式 = 14字节以太网首部 + 28字节ARP请求/应答

以太网首部 = 6字节以太网目的地址 + 6字节以太网源地址 + 2字节帧类型
其中:
目的地址为全1的是广播地址;
ARP请求/应答的帧类型是0x0806

ARP请求/应答 = 2字节硬件类型 + 2字节协议类型 + 1字节硬件地址长度 + 1字节协议地址长度 + 2字节op + 6字节发送端以太网地址 + 4字节发送端IP地址 + 6字节目的以太网地址 + 4字节目的IP地址
其中:
硬件类型:以太网地址用值1表示;
协议类型:IP地址用值0x0800表示;
硬件地址长度 = 6个字节,协议地址长度 = 4个字节;
操作字段op:ARP请求 = 1,ARP应答 = 2,RARP请求 = 3,RARP应答 = 4;
发送端(或目的)以太网地址(硬件地址);
发送端(或目的)IP地址(协议地址)。

4.5节 ARP举例

tcpdump命令
tcpdump第一行是一个ARP请求,其中:
09:11:22.642008 对应输出的时间戳;
0:0:c0:6f:2d:40 对应源端主机的硬件地址;
ff:ff:ff:ff:ff:ff 对应目的端主机的硬件地址(此处是一个以太网广播地址);
arp字段说明此数据帧是一个ARP请求或应答。其后的数字60指的是以太网数据帧的长度;
arp who-has svr4 表示作为ARP请求的这个数据帧中的目的IP地址是主机svr4的地址;
tell bsdi 表示发送端的IP地址是主机bsdi的地址。

第二行是一个ARP应答,其中arp repl 之后打印出了响应者的主机名(svr4)和硬件地址。此时svr4通常已经将ARP请求端(bsdi)的硬件地址和IP地址存入其ARP高速缓存
第三行是一个请求建立连接的TCP段,目的主机是svr4。
第四行是svr4发送第一段TCP报文。

Chapter 5 RARP:逆地址解析协议

逆地址解析协议 = Reverse Address Resolution Protocol = RARP
RARP被那些没有磁盘驱动器的系统使用(一般是无盘工作站或者X终端),需要系统管理员进行手动设置。

无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(以广播方式传送),请求某个主机通过RARP应答(以单播方式传送)响应该无盘系统的IP地址。

RARP的分组格式与ARP基本一致。主语差别在于RARP请求/应答的帧类型代码为0x8035,RARP请求的操作代码op = 3,应答的操作代码op = 4。

5.3节 RARP举例

在主机bsdi上运行RARP程序和tcpdump命令得到的输出:
RARP第一行目的端硬件地址为ff:ff:ff:ff:ff:ff 代表RARP请求以广播方式传送;
第二行的RARP应答以单播方式传送,其中at sun字段表示该RARP应答包含主机sun的IP地址;
第三行表示主机sun发送一个TFTP读请求给文件8CFC0D21.SUN4C。其中十六进制 8C:FC:0D:21 = 140.252.13.33 是主机sun的IP地址,SUN4C = 系统类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GottdesKrieges

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值