IPv4地址
& 知识点
l IPv4地址分类
l 可用主机地址数量计算
一个通讯系统必须有一种方式能够唯一地标识不同的通讯者。在TCP/IP网络中使用IP地址标识终端设备,IP地址为32位2进制数,其中包括网络部分与主机部分。网络地址在全网中必须唯一,而在同一网络中主机地址必须唯一。
Internet由不同的网络组成,IP协议用于网络上的数据的端到端的路由,意味着一个IP数据包必须在多个网络之间旅行,而且在达到目的地之前可能经过多个路由器接口。
路由器用来连接不同的网络,并在不同网络间转发用户的数据,同一个路由器的不同接口必须配置不同网段的IP地址,而相临路由器的相邻接口的IP地址必须是在同一网段内的不同地址。如图所示:
IPv4地址介绍:
网际协议(IP)的规范是在1982年由RFC791建立的。这些规范的部分内容规定了IP地址的结构。这个结构为每个主机和路由器接口提供了32位2进制逻辑地址。其中包括网络部分与主机部分。
为方便书写及记忆,一个IP地址通常采用用0~255之内的4个十进制数表示,数之间用句点分开。这些十进制数中的每一个都代表32位地址的其中8位,即所谓的八位位组,称为点分表示法。如图所示:IPv4地址分类:
按照原来的定义,IP寻址标准并没有提供地址类,为了便于管理后来加入了地址类的定义。地址类的实现将地址空间分解为数量有限的特大型网络(A类),数量较多的中等网络(B类)和数量非常多的小型网络(C类)。另外,还定义了特殊的地址类,包括D类(用于多点传送)和E类(通常指试验或研究类)。如图所示:
IP地址的类别可以通过查看地址中的前8位位组(最重要的)而确定。最高位的数值决定了地址类。位格式也定义了和每个地址类相关的8位位组的十进制的范围。
A类:A类地址,8位分配给网络地址,24位分配给主机地址。如果第1个8位位组中的最高位是0,则地址是A类地址。这对应于0~ 127的可能的八位位组。在这些地址中,0和127具有保留功能,所以实际的范围是1~ 126。A类中仅仅有126个网络可以使用。因为仅仅为网络地址保留了8位,第1位必须是0。然而,主机数字可以有24位,所以每个网络可以有16,777,214个主机。
B类:B类地址中,为网络地址分配了16位,为主机地址分配了16位,一个B类地址可以用第1个8位位组的头两位为10来识别。这对应的值从128~191。既然头两位已经预先定义,则实际上为网络地址留下了14位,所以可能的组合产生了16,384个网络,而每个网络包含65,534个主机。
C类:C类为网络地址分了24位,为主机地址留下了8位。C类地址的前8位位组的头3位为110,这对应的十进制数从192 ~ 223。在C类地址中,仅仅最后的8位位组用于主机地址,这限制了每个网络最多仅仅能有254个主机。既然网络编号有21位可以使用(3位已经预先设置为110),则共有2,097,152个可能的网络。
D类:D类地址以1110开始。这代表的八位位组从224~239。这些地址并不用于标准的IP地址。相反,D类地址指一组主机,它们作为多点传送小组的成员而注册。多点传送小组和电子邮件分配列表类似。正如你可以使用分配列表名单来将一个消息发布给一群人一样,你可以通过多点传送地址将数据发送给一些主机。多点传送需要特殊的路由配置,在默认情况下,它不会转发。
E类:如果第1个8位位组的前4位都设置为1111,则地址是一个E类地址。这些地址的范围为240~ 254,这类地址并不用于传统的IP地址。这个地址类有时候用于实验室或研究。
我们的大部分讨论内容的重点是A类、B类和C类,因为它们是用于常规IP寻址类别。
保留的IP地址:IP地址空间中的某些地址已经为特殊目的而保留,而且通常并不允许作为主机地址使用。这些保留地址如下表所示:
地址 | 用途 |
网络127.0.0.0 | 指本地节点(一般为127.0.0.1),用于测试网卡及TCP/IP软件 |
主机地址全0 | 用于指定网络本身,称之为网络地址或者网络 |
主机地址全1 | 用于广播,也称定向广播,需要指定目标网络 |
对这些保留IP地址的详细解释如下:
l 网络地址
当IP地址中的主机地址中的所有位都设置为0时,它表示一个网络,而不是网络上的特定主机。这些类型的条目通常可以在路由表中找到,因为路由器控制网络之间的通信,而不是单个主机之间的通信。在一个子网中,将主机位设置为0将代表特定的子网。
网络位不能全部都是0,因为0是一个不合法的网络地址,而且用于代表“未知网络或地址”。
l 回环地址
网络地址127.0.0.1已经分配给当地回环地址。这个地址的目的是提供对本地主机的网络配置的测试。使用这个地址提供了对协议堆栈的内部回环测试。
l 广播地址
当IP地址中的主机地址中的所有位都设置为1时,它是一个广播地址。
RFC1918标准中也定义了一些保留地址,这些地址不允许直接出现在互联网上。这些保留的地址范围是:10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255。通常,这些地址作为私有地址,在企业或组织机构的内部网络中使用。
带子网划分的编址
& 知识点
l 子网掩码与可变长子网掩码
l 子网地址计算
有子网的编址:在有子网的编址中,主机位可以被细分为子网位与主机位。如图所示,子网位占用了整个第3段的8位,与上图的区别是原来一个B类网络被划分成了256个子网,每个子网可容纳的主机数量减少为254。
划分出来了不同的子网,即划分出了不同的逻辑网络。这些不同网络之间的通讯通过路由器来完成,也就是说将原来一个大的广播域划分成了多个小的广播域。
网络设备使用子网掩码确定哪些部分为网络位,哪些部分为子网位,哪些部分为主机位。网络设备根据自身配置的IP地址与子网掩码,可以识别出一个IP数据包的目的地址是否与自己处在同一子网,或处在同一主类网络但处于不同子网,或处于不同的主类网络。
子网掩码:
IP地址在没有相关的子网掩码的情况下存在是没有意义的。子网掩码定义了构成IP地址的32位中的多少位用于网络位,或者网络及其相关子网位。
子网掩码中的二进制位构成了一个过滤器,它通过标识应该解释为用IP地址的哪一部分来计算网络地址。完成这个任务的过程称为按位求与。
按位求与是一个逻辑运算,它对地址中的每一位和相应的掩码位进行计算。划分子网其实就是将原来地址中的主机位借位作为子网位来使用,目前规定借位必须从左向右连续借位,即子网掩码中的1和0必须是连续的。
地址计算示例:
上图给出了计算实例:对给定IP地址和子网掩码要求计算该IP地址所处的子网网络地址,子网的广播地址及可用IP地址范围。
1. 首先将IP地址转换为二进制表示。
2. 然后将子网掩码也转换成二进制表示。
3. 在子网掩码的1与0之间划一条竖线,竖线左边即为网络位(包括子网位),竖线右边为主机位。
4. 将主机位全部置0,网络位照写就是子网的网络地址。
5. 将主机位全部置1,网络位照写就是子网的广播地址。
6. 介于子网的网络地址与子网的广播地址之间的即为子网内可用IP地址范围。
7. 然后将前3段网络地址写全
8. 最后转换成十进制表示形式。
变长子网掩码VLSM
定义子网掩码的时候,我们作出了假设,在整个网络中将一致地使用这个掩码。在许多情况下,这导致浪费了很多主机地址。
比如我们有一个子网,它通过串口连接了2个路由器。在这个子网上仅仅有两个主机,每个端口一个,但是我们已经将整个子网分配给了这两个接口。这将浪费很多IP地址。
如果我们使用其中的一个子网,并进一步将其划分为第2级子网,将有效地“建立子网的子网”,并保留其他的子网,则可以最大限度地利用IP地址。“建立子网的子网”的想法构成了VLSM的基础。
为使用VLSM,我们通常定义一个基本的子网掩码,它将用于划分第1级子网,然后用第2级掩码来划分一个或多个1级子网。
VLSM仅仅可以由新的路由协议,如BGPv4或OSPF或RIPv2识别。
如图所示,子网172.16.1.0/24 被划分为更小的子网以适应网络的需求并避免了IP地址的浪费。
172.16.0.1/23 格式解释:23就是指23个二进制中的“1”。
255.255.0.0换成二进制就是16个1后跟16个0,所以写做172.16.0.1/16。
在IP地址后加上"/"符号以及1-32的数字,其中1-32的数字表示子网掩码中网络标识位的长度
如:192.168.1.1/24 的子网掩码也可以表示为255.255.255.0