目录
IP地址
IP地址的分类
IP地址的分类
点分十进制记法
常用的三种类别的IP地址
IP地址和硬件地址
划分子网
从两级IP地址到三级IP地址
子网掩码
子网掩码的应用
默认子网掩码
子网划分的方法
是在互联网上给主机编址的方式,为每个计算机分配一个在全世界范围是唯一的32位的标识符,这样不但能够对计算机进行识别,还能进行信息共享。
所谓分类的IP地址,就是将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成,其中第一个字段是网络号(net-id)。它标志主机(或路由器)所连接到的网络。一个网络号在整个网络范围内必须是唯一的。第二个字段是主机号(host-id),它标志该主机(或路由器)。一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。
由此可见,一个IP地址在整个因特网范围内是唯一的。
这种两级的IP地址可以记为:
IP地址 ::={<网络号>,<主机号>}
上式中的符号“ ::= ”表示“定义为”。
从上图中可以看出,A类、B类和C类地址的网络号字段分别为1、2和3字节长,而在网络号字段的最前面有1-3位的类别位,其数值分别规定为0、10和110。
1. A类IP地址(用来支持超大网络)
首先,网络号字段全为0的IP地址是个保留地址,意思是本网络,第二:网络号为127(01111111)的IP地址是保留作为本地软件环回测试的地址所以,A类IP地址中实际可用的网络号为1~126,即126个网络号,2^7-2
2. B类IP地址(用来支持中等网络)
在实际中,B类地址的128.0.0.0是不指派的,网络从128.1.0.0开始指派,所以B类网络可以指派的网络为2^14-1
3. C类IP地址(用来支持小型网络)
与B类网络类似,C类IP地址的192.0.0.0也不指派,从192.0.1.0开始指派,所以网络数为2^21-1
4. D类IP地址
D类IP地址用来支持组播,也称组播地址,组播地址不区分网络号或者主机号,局势单一的网络地址,用来转发目的地址为预先定义的一组IP地址的分组。
5. E类IP地址
E类IP地址用于科研,所以Internet上没有E类地址
网络地址(Network address):是互联网上的节点在网络中具有的逻辑地址,可对节点进行寻址。同一网段:指的是IP地址和子网掩码进行与运算得到相同的网络地址。
对于主机或者路由来说,IP地址都是32位的二进制代码,为了提高可读性,我们常常把32位的IP地址中的每8位用其等效的十进制数字表示,并且在这些数字之间加上一个点。
这种记法就叫做点分十进制。
例如:
网络类别 | 最大可指派的网络数 | 第一个可指派的网络号 | 最后一个可指派的网络号 | 每个网络中的最大主机数 |
A | 126(2^7 - 2) | 1 | 126 | 16777214(2^24 - 2) |
B | 16383(2^14 - 1) | 128.1 | 191.255 | 65534(2^16 - 2) |
C | 2097151(2^21 - 1) | 192.0.1 | 223.255.255 | 254(2^8 - 2) |
硬件地址:是数据链路层和物理层使用的地址
IP地址:是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址为逻辑地址是因为IP地址是用软件实现的)
IP地址和硬件地址的区别:
总之,IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。在网络层和网络层和网络层以上使用的是IP地址,而在数据链路层及以下使用的是硬件地址。在上图中,当IP数据报放入数据链路层的MAC帧中以后,整个的IP数据报就成为了MAC帧的数据,因而在数据链路层看不见数据报的IP地址。
为什么要划分子网?
1. IP地址空间的利用率有时很低;
2. 给每一个物理网络分配一个网络号会使路由表变得太大因而使得网络性能变坏;
3. 两级IP地址不够灵活。
划分子网的基本思路:
1. 一个拥有许多物理网络的单位,可将所属的物理网络划分为若千个子网(subnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外仍然表现为一个网络。
2. 划分子网的方法是从网络的主机号借用若干位作为子网号 subnet-id,当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机号。也可以用以下记法来表示:
IP地址:={ <网络号>, <子网号>, <主机号>}
3. 凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。
子网掩码(subnet mask),又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。
子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网号(subnet-id):从主机号中拿出几位作为子网号。
子网掩码是一个32位的2进制数,由一串1和跟随的一串0组成。子网掩码中的1对应于IP地址中原来的网络号(net-id)加上子网号(subnet-id),而子网掩码中的0对应于现在的主机号(host-id)。(建议子网掩码中选用连续的1,以免出现可能的差错)
现在剩下的问题就是:假定有一个数据报(其目的地址是145.13.3.10) 已经到达了路由器R。那么这个路由器如何把它转发到子网145.13.3.0 呢?
我们知道,从IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分。这是因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此必须另外想办法,这就是使用子网掩码(subnet mask)。
图(a)是IP地址为145.13.3.10的主机本来的两级IP地址结构。
图(b)是同一主机的三级IP地址的结构。
也就是说,现在从原来16位的主机号中拿出8位作为子网号subnet-id,而主机号减少到8位。请注意,现在子网号为3的网络的网络地址是145.13.3.0(既不是原来的网络地址145.13.0.0, 也不是子网号3)。
为了使路由器R能够很方便地从数据报中的目的IP地址中提取出所要找的子网的网络地址,路由器R就要使用子网掩码。图(c)是子网掩码,它也是32位,由一串1和跟随的一串0组成。子网掩码中的1对应于IP地址中原来的 net-id 加上 subnet-id, 而子网掩码中的0对应于现在的 host-id。
图(d)表示R把子网掩码和收到的数据报的目的IP地址145.13.3.10 逐位相“与”(AND)(计算机进行这种逻辑AND运算是很容易的),得出了所要找的子网的网络地址145.13.3.0。
如果一个网络不划分子网,那么该网络的子网掩码就使用默认的子网掩码。
我们以B类地址为例,说明有多少种子网划分的方法。在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。
在上表中,子网数是根据子网号 subnet-id 计算出来的。如果子网号有 n 位,则共有 2^n 种排列,除去全0和全1两种情况,就是表中计算的子网数。