IP地址和硬件地址
从层次角度来看,硬件地址是数据链路层和物理层使用的地址(常称作MAC地址),而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
在网络层我们进行数据报文从IP1传输到IP2,无论我们中间经过多少次转发,从网络层来看,源地址始终是IP1,目的地址始终是IP2。
但是从数据链路层来看,显然就不是这样了,这些是物理地址,很有可能从源节点经过多次中间节点的物理地址的转变才能到达目的节点。
而IP地址和物理地址的之间的转化则需要依靠两个重要的协议ARP(地址解析协议),RARP(逆地址解析协议)。IP地址通过ARP转化成物理地址,物理地址可以通过RARP转化成相应的IP地址。
子网和超网
简单的来说就是如何来管理一个IP地址下的多台主机
子网
现在假设这样一个场景,一个数据报起目的地址是145.13.3.10(在子网 145.13.3.0中),已经到达路由器R1(145.13.0.0),那么这个路由器怎么将它转发到145.13.3.0呢?
我们并不知道目的地址是否进行了子网的划分。
这就引出了子网掩码的概念了,子网掩码也是32位,由一串1和0组成,子网掩码中的1对应于IP地址中的网络号位置+子网网络号位置,子网掩码中的0对应与IP地址中现在的主机号位置。
我们只要将IP地址和子网掩码进行“与”运算,如果进行子网的划分,就立刻得出要找的子网的网络地址,如果没有进行子网划分(有默认的子网掩码),则直接能够得出该IP地址的网络地址出来。
A类地址的默认子网掩码是255.0.0.0B类地址的默认子网掩码是255.255.0.0C类地址的默认子网掩码是255.255.255.0
超网
无分类编址CIDR,使用变长的子网掩码,可以进一步提高IP地址的资源利用率。有两个特点
第一,消除了传统的ABC类地址及划分子网的概念,CIRD把32位的IP地址划分成为两个部分,网络前缀和剩下的部分,表示方法为,在IP地址后面加上“/”,然后写上网络前缀所占位数。第二,把网络前缀相同的IP地址组成一个CIDR地址块,例如,IP地址 128.14.35.7/20 用二进制表示 100000000 00001110 00100011 00000111,所以我们很容易可以得出这块地址中最小地址为