无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终使用的是硬件地址。
IP地址(32位)和硬件地址(48位)之间不存在简单的映射关系。ARP协议解决IP地址与物理地址的映射,而RARP协议解决物理地址与IP地址的映射。
每一个主机都设有一个ARP高速缓存(cache),里面存放有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。
当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,即得到其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该 MAC帧发往此硬件地址。否则该主机运行ARP协议。
ARP 高速缓存
ARP是解决同一个局域网上的主机(或路由器)的IP地址和硬件地址的映射问题。只要主机或路由器与本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该 IP地址解析为链路层所需要的硬件地址。
如果所要找的目的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
从IP地址到硬件地址的解析是自动进行的,这种地址解析过程对用户对透明的。
使用 ARP 的四种典型情况
为什么不直接使用硬件地址进行通信?
虚拟专用网VPN
由于IP地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构所拥有的主机数。
考虑到因特网安全性并不很好,一个机构内也并不需要把所有的主机都接入到外部的因特网。
因而就有一个设想:假定一个机构内部的计算机通信也采用TCP/IP协议,那么从原则上讲,对于这些仅在机构内部使用的计算机就可以由本机构自行分配其IP地址
两种地址
存在的问题:在内部使用的本地地址有可能与因特网中某个IP地址重合,从而出现地址的二义性问题 解决的办法:RFC1918指明了一些专用地址。专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。三个专用地址块,即ICANN预留的部分A、B和C类专用地址块。
采用这种专用IP地址的专用网称为拟专用网VPN。虚拟专用网VPN是建立在基础网络之上的一种功能性网络。它向使用者提供一般专用网所具有的功能,但本身却不是一个独立的物理网络,而是通过隧道技术,架构在公共网络服务商所提供的网络平台(如Internet、ATM和FR等)之上的逻辑网络。
虚拟专用网的两个含义:一是“虚拟”,因为整个VPN网上的任意两个结点之间的连接并没有传统专用网所需的端到端的物理链路,而是将它建立在分布广泛的公用网络的平台上;二是一个“专用网”,每个VPN用户都可以从临时的“专用网”上获得所需的资源。
构建虚拟专用网的注意事项
虚拟专用网的特点
虚拟专用网的不足
利用隧道技术实现虚拟专用网
隧道的建立有两种方式:一种是自愿隧道,指服务器计算机或路由器可以通过发送VPN请求配置和创建的隧道;另一种是强制隧道,指由VPN服务提供商配置和创建的隧道。
隧道有两种类型:①点-点隧道。隧道由远程用户计算机延伸到企业服务器,由两边的设备负责隧道的建立,以及两点之间数据的加密和解密。②端-端隧道。隧道中止于防火墙等网络边缘设备,它的主要功能是连接两端的局域网。