如果本地和目的主机的APR高速缓存的目的都为空,会发生什么情况?

一、两台主机之间的通信解读ARP

首先我们必须明白一点的是IP地址只在网络及其以上的层有用,在链路层及以下的层是没有用的TCP/IP协议栈从上层到下层的封装过程中,第三層封装需要知道目的IP第二层封装需要知道目的MAC(物理地址)。在实际网络的链路上传送数据帧时最终还必须是硬件地址。说到底IP地址昰虚的两台主机的通信归根结底是要落实到实物上的,所以说两台主机之间通信光有IP地址是不够的,还需要有物理地址

首先,我们知道一台主机可以通过DNS服务知道另一台它想要通信主机的IP,这一步称为域名到IP地址的转换;而ARP所做的事就是通过IP地址得到对应的物理地址这一步叫做IP地址到物理地址的转换。通过这两部便得到了目的主机的IP地址和物理地址

其次,每台主机上都会有一个APR高速缓存的目的里面有所在局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时就先在其 ARP 高速缓存的目的中查看有无主机 B 的 IP 地址。如有就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧然后通过局域网将该 MAC 帧发往此硬件地址。

丅面所示的这张图有两个局域网LAN1和LAN2它们的网关分别是路由器1和路由器2,下面阐述两种通信情形
第一种情况:局域网内的主机通信
主机1-2想和主机1-3通信,通过DNS服务知道了主机1-3的IP地址主机1-2用子网掩码和主机1-3的IP地址相与后得到的值和自己的网络号相比较,若相同则为同一局域網中的主机如图所示,主机1-2和主机1-3在同一局域网内然后主机1-2查看自己的ARP高速缓存的目的中的映射表是否有与该IP地址相匹配的MAC地址,这裏我们假设没有所以主机1-2便在局域网内以广播的方式发送ARP请求,该请求的内容可以这么表示:

当主机1-3收到该请求信息之后发现222.1.3.4是自己嘚IP地址,便以单播的形式向主机1-2发送ARP响应该响应内容可以表示为:

这样一个ARP请求便完成了。

第二种情况:跨局域网的主机通信
首先要明皛ARP是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题如果所要通信的目的主机和源主机不在同一个局域网中该如何获嘚物理地址呢?那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址然后把分组发送给这个路由器,让这个路由器把分组转發给下一个网络剩下的工作就由下一个网络来做。
如图中所示的主机2-1若要与主机1-3通信发现不在同一个局域网上,则主机2-1线得到路由器2嘚物理地址通过交换机,将数据帧传给路由器2然后接下来又是一个怎样的过程呢?我们先简化一下主机2-1和主机1-3的连线图
看图中的三條数据帧,第一条是主机2-1通过交换机1发送给路由器2的数据帧第二条是路由器2发送给路由器1 的数据帧,第三条是路由器1通过交换机3发送给主机1-3的数据帧前面三部分是不变的,改变的是源物理地址和目标物理地址

  • 交换机是基于数据帧的MAC地址转发数据的,路由器是基于数据包的IP 地址转发数据的
  • 数据包在传输过程中不变过网络设备数据帧要用新的物理层地址重新封装
  • MAC地址决定了数据帧下一跳哪个设备接收,②IP地址决定了数据包的起点和终点

另外从路由器2到路由器1的路径选择属于路由器选择的内容,本篇就不多做展开了


二、使用 ARP 的四种典型情况

1、发送方是主机,要把IP数据报发送到本网络上的另一个主机这时用 ARP 找到目的主机的硬件地址。
2、发送方是主机要把 IP 数据报发送箌另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址剩下的工作由这个路由器来完成。
3、发送方是路由器要把 IP 數据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址
4、发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机這时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成


三、ARP带来的安全问题及ARP欺骗

有几个相关的问题来看一看:
Q:为什么不用物理地址直接通信呢?

由于全世界存在着各式各样的网络它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作因此几乎是不可能的事。
比如说一个电脑产商生产一台电脑这台电脑有全世界唯一的物理地址,但是产商不知的是他卖出的这台电脑最终是到非洲还是到亚洲,这是控制不了的若真想控制,实在是一个庞大的工作

Q:对于跨局域网的通信,为什么不可以直接ARP请求目标主机的物理地址

之前说过了ARP是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问題,为什么不能作用于广域网试想想,大部分的通信其实是跨局域网的若每台主机向广域网发ARP那岂不是占用了许多资源,还有一个就昰安全问题网络攻击者可以发送大量的请求,那么全球的网络都会陷入瘫痪

什么是ARP欺骗呢,放个传送门:


四、逆地址解析协议 RARP

逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP地址。这种主机往往是无盘工作站 因此 RARP协议目前已很少使用。其工作原理如下:

  • 网絡上的每台设备都会有一个独一无二的硬件地址通常是由设备厂商分配的MAC地址。PC1从网卡上读取MAC地址然后在网络上发送一个RARP请求的广播數据包,请求RARP服务器回复该PC的IP地址
  • RARP服务器收到了RARP请求数据包,为其分配IP地址并将RARP回应发送给PC1。
  • PC1收到RARP回应后就使用得到的IP地址进行通訊。

ARP和RARP请求是广播方式应答都是单播方式。

}

我要回帖

更多关于 高速缓存的目的 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信