TCP/IP 协议族 - ARP 笔记

Apr 22, 2016


地址映射

静态映射

创建一张表,把逻辑地址和物理地址关联起来。 这么做的局限性:

  • 如果更改了 NIC(网卡),就变成了一个新的物理地址。
  • 在某些局域网,如 LocalTalk 中,每加电一次,物理地址都要改变。
  • 移动电脑从一个物理网络到另一个物理网络,会引起物理地址的改变。??

动态映射

包括 ARP 和 RARP。

ARP 协议

当主机或路由器要找出网络上另一个主机或路由器的物理地址时,就发送一个广播,只有期待接收方才能认出是自己的 IP 地址,然后返回一个 ARP 响应分组。 这个响应分组包括接收方的物理地址和 IP 地址,利用查询分组里的物理地址单播给查询者。

分组格式

ARP

  • 硬件类型,用来定义运行 ARP 的网络类型。
  • 协议类型,用来定义使用的协议。
  • 硬件长度,定义物理地址长度。
  • 协议长度,定义逻辑地址长度。
  • 操作,分为两种,ARP 请求和 ARP 回答。

封装

封装在数据链路帧中。

操作

  1. IP 请求 ARP 创建一个 ARP 请求报文。
  2. 交给数据链路层。
  3. 收到就回复

四种情况:

  1. 发送方和接收方在同一个网络上,这时候的目标逻辑地址就是另一个主机的 IP。
  2. 不在一个网络上,这时候要查路由表,找出到达这个终点的下一跳的 IP 地址,如果没有路由表,就查默认路由的逻辑地址。

剩下两种是发送方作为路由器的,都差不多。

代理 ARP

简单来说就是路由器代表了一个子网里的计算机,当收到广播时,就把自己的 Mac 地址发出去,然后收到 IP 分组时就转发到相应主机。

ARP 软件包

##