引言
当主机把以太网数据发送到另一台主机时,是根据48bit的以太网接口确定的。设备驱动程序从不会检查IP数据报中的目的IP地址。
ARP为IP地址到硬件地址的动态映射
例子
例子始终是最令人心潮澎湃的,一个例子让你知道发生了什么
当你输入命令时 % ftp bsdi,到底发生了什么???
- 利用DNS服务得到IP地址(bsdi)
- FTP客户端请求TCP用得到的IP建立连接
- TCP发请求道远端的主机
- 目的主机在以太网上,IP数据报直接发送到目的主机
- 以太网,那么发送主机必须把IP地址转换为48bit的以太网地址(ARP)
- ARP发送ARP请求给以太网上的每个主机,广播,ARP请求数据中有目的IP地址,也就是说当你是这个IP地址的时候,请回答
- ARP应答包括IP地址和它对应的硬件地址
- 可以传送IP数据报了
所以除了知道目的主机的IP地址外,内核必须知道硬件地址。点对点链路不需要ARP,这是与以太网区别的地方
ARP高速缓存
- 存储的是最近internet地址到硬件地址的映射:sun (140.252.13.33) at 8:0:20:3:f6:42
ARP代理
- 定义:如果ARP请求是从一个网络主机发送到另一个网络主机,那么连接两个网络的路由回答该请求,这个就是ARP代理
ARP服务通常是TCP/IP在内核中实现的一部分
RARP引言
- IP地址获得:具有本地磁盘引导的时候,一般从磁盘的配置文件获取。但无盘机,则需要通过其他方法
- 无盘系统可以从网络接口获取硬件地址,随后发送RARP请求,请求某个主机响应该无盘系统的IP地址,RARP请求也是广播,回复是单播,RARP回复中含有IP地址
- RARP是在链路层上广播的,路由器不能转发
知识补充
- 链路层广播是用数据链路层协议(第二层)在一个以太网上实现的对该局域网上的所有主机的MAC帧进行广播。 IP广播则是用IP协议通过因特网实现的对一个网络(即目的网络)上的所有主机的IP数据报广播。
- 网络层广播:255.255.255.255
数据链路层广播:FFFFFFFFFFFF
路由器接受到广播直接丢弃!实际上是路由器有IP HELP ADDRESS配置才可以,路由器识别出广播后,再以单播方式转发给实际的DHCP服务器。表面看起来像穿越了路由器,可实际上任何广播都不可能被路由器转发的!