注意!注意!IP编址知识点复习来啦
I
P
!
编
址
!
IP地址是分配给IP网络中每台机器的数字标识符,它指出了设备在网络中的具体位置。
IP地址是软件地址,而不是硬件地址。硬件地址被硬编码到网络接口卡(NIC)中,用于在本地网络中寻找主机。IP地址让一个网络中的主机能够与另一个网络中的主机通信,而不管这些主机所属的LAN是什么类型的。
IP
术语
● 比特一个比特相当于一位,其取值为1或0。
● 字节1 B为7或8位,这取决于是否使用奇偶校验。在本章余下的篇幅中,我们都假定1B为8位。
● 八位组(Octet) 由8位组成,是普通的8位二进制数。
● 网络地址在路由选择中, 使用它将分组发送到远程网络,如10.0.0.0、172.16.0.0和 192.168.0.0。
● 广播地址应用程序和主机用于将信息发送给网络中所有节点的地址,这样的例子包括:255.255.255.255,表示所有网络中的所有节点:172.16.255.255, 表示网络172.16.0.0 中的所有子网和主机; 0.255.255.25, 表示网络10.0.0.0中的所有子网和主机。
层次型IP
编址方案
IP地址长32位,这些位被划分成4组(称为字节或八位组),每组8位。我们可使用下面3种方法描述IP地址:
● 点分十进制表示,如172.16.30.56。
● 二进制
如10101100.000000.00011110.00111000。
● 十六进制,如AC.10.1E.38。
上述示例表示的是同一个IP地址。讨论IP编址时,十六进制表示没有点分十进制和二进制那样常用,但某些程序确实以十六进制形式存储IP地址, Windows注册表就将机器的IP地址存储为十六进制。
32位的IP地址是一种结构化(层次型)地址,而不是平面或非层次型地址。虽然这两种编址方案都可使用,但对于选择层次型编址方案我们有充分的理由。这种方案的优点在于,它可处理大量的地址,具体地说是43亿(在32位的地址空间中,每位都有0或1这两种可能的取值,因此支持232个地址,即4294 967296个)。平面编址方案的缺点与路由选择相关,这也是没有将其用于IP编址的原因。如果每个地址都是唯一的,因特网上的路由器将需要存储所有机器的地址,这使得几乎无法进行高效的路由选择,即使只使用部分可能的地址亦如此。
对于这种问题,解决方案是使用包含2层或3层的层次型编址方案,即地址由网络部分和主机部分组成,或者由网络部分、子网部分和主机部分组成。
使用2层或3层的编址方案时,IP地址类似于电话号码:第-部分是区号, 指定了一个非常大的区域;第二部分是前缀,将范围缩小到本地呼叫区域;最后一部分是用户号码,将范围缩小到具体的连接。IP地址使用类似的分层结构:与平面编址将全部32位视为一个唯一的标识符不同, 它将其一部分作为网络地址,另一部分作为子网和主机部分或节点地址。
下面讨论IP网络编址以及各种可用于给网络编址的地址类型。
1.网络地址
网络地址(也叫网络号)唯- -地标识网络。在同-一个网络中,所有机器的IP地址都包含相同的网络地址。例如,在IP地址172.16.30.56中,172.16 为网络地址。网络中的每台机器都有节点地址,节点地址唯-地标识了 机器。这部分IP地址必须是唯一的, 因为它标识特定的机器(个体)而不是网络(群体)。这一编号也称主机地址。在IP 地址172.16.30.56中,30.56 为节点地址。
设计因特网的人决定根据网络规模创建网络类型。对于少量包含大量节点的网络,他们创建了A类网络;对于另一种极端情况的网络,他们创建了C类网络,用来指示大量只包含少量节点的网络;介于超大型和超小型网络之间的是B类网络。
网络的类型决定了IP 地址将如何划分成网络部分和节点部分。图3-13总结了这3类网络。
为确保高效的路由选择,设计因特网的人对每种网络地址的前几位做了限制。例如,由于路由器知道A类网络地址总是以0打头,因此只需阅读地址的第一位,从而提高转发分组的速度。编址方案在此指出了A类、B类和C类地址的差别。在接下来的几节中,我将首先讲述这种差别,然后介绍D类和E类地址。(只有A类、B类和C类地址可用于给网络中的主机编址。)
●A类网络地址范围
IP编址方案设计师指出,A类网络地址的第一个字节的第一位必须为0,这意昧着A类地址第一个字节的取值为0~ 127。请看下面的网络地址:
0xxxxxxx
如果将余下的7位都设置为0,然后将它们都设置为1,我们便可获得A类网络地址的范围:
00000000 = 0
01111111 = 127
因此,A类网络地址第-一个字节的取值范围为0~ 127 (但0和127不是有效的A类网络地址号。稍后我将介绍保留地址)。
●B类网络地址范围
RFC规定,B类网络地址的第一个字节的第一位必须为1,且第二位必须为0。如果将余下的6位全部设置为0,再将它们全部设置为1,便可获得B类网络地址的范围:
10000000 = 128
10111111 = 191
正如你看到的,B类网络地址第一个字节的取值为128~ 191。
●C类网络地址范围
RFC规定,C类网络地址的第一个字节的前两位必须为1,而第三位必须为0。我们可按前面的方法将二进制转换为十进制,以找出C类网络地址的范围:
11000000 = 192
11011111 = 223
因此,如果IP地址以192 ~ 223打头,我们就可判定它是C类IP地址。
●D类和E类网络地址范围
第一个字节为224~ 255的地址被保留用于D类和E类网络。D类(224~ 239 )用作组播地址,而E类(240~255)用于科学用途。
●具有特殊用途的地址
有些IP地址被保留用于特殊目的,网络管理员不能将它们分配给节点。表3-4列出了一些特殊地址以及将其用于特殊目的的原因。
A类地址
在A类地址中,第一个字节为网络地址,余下的3B为节点地址。A类地址的格式如下:
network. node . node. node
例如,在IP地址49.22.102.70中,49为网络地址,22.102.70 为节点地址。在该网络中,每台机器的网络地址都为49。
A类网络地址长1 B,其中第一位被保留,余下的7位可用于编址。因此,最多可以有128个A类网络。为什么呢?因为在这7位中,每位的可能取值都为0或1,因此可表示27 ( 128 )个网络。让问题更复杂的是,全0网络地址( 0000 00)被保留用于指定默认路由(参阅表3-4)。另外,地址127被保留用于诊断,你也不能使用,这意味着你只能使用编号1~ 126指定A类网络地址。也就是说,实际可以使用的A类网络地址数为128-2= 126。
注意:IP地址127.0.0.1用于测试一个节点上的IP栈,不能用作主机地址。然而,该环回地址为运行在同一台设备上的TCP/IP 应用程序和服务之间的通信提供了一种快捷方法。
每个A类地址都有3B ( 24位)用于表示机器的节点地址。这意味着有2*( 16777216种组合),因此每个A类网络可使用的节点地址数为16 777 216。由于全0和全1的节点地址被保留,A类网络实际可包含的最大节点数为24-2= 16 777214。无论如何,这在一个网段都是一个很大的主机数目。
●A类网络的合法主机ID
下面的示例演示了如何确定A类网络的合法主机ID。
■ 所有主机位都为0时,得到的是网络地址: 10.0.0.0。
■ 所有主机位都为1时,得到的是广播地址: 10.255.255.255。
合法的主机ID为网络地址和广播地址之间的地址: 10.0.0.1~ 10.255.255.254。注意, 0和255不是合法的主机ID。确定合法的主机地址时,只需记住一点: 主机位不能都为零,也不能都为1。
B类地址
在B类地址中,前2 B为网络地址,余下的2B为节点地址,其格式如下:
network . network.node. node
例如,在IP地址172.16.30.56 中,网络地址为172.16,节点地址为30.56。
在网络地址为2B (每字节8位)的情况下,有2的16平方种不同的组合,但设计因特网的人规定,所有B类网络地址都必须以二进制数10开头,只留下14位供我们使用,因此有16 384 (2的14次方)个不同的B类网络地址。
B类地址用2 B表示节点地址,因此每个B类网络有2的6次方-2 (两个保留的地址,即全为1和全为0的地址),即65 534个节点地址。
●B类网络的合法主机ID
下面的示例演示了如何确定B类网络的合法主机ID。
▼ 所有主机位都为0时,得到的是网络地址: 172.16.0.0。
▼ 所有主机位都为1时,得到的是广播地址: 172.16.255.255。
合法的主机ID为网络地址和广播地址之间的地址: 172.16.0.1~ 172.16.255.254。
C类地址
C类地址的前3个字节为网络部分,余下的一-个字节表示节点地址,其格式如下:
network. network . network . node
在IP地址192.168.100.102中,网络地址为192.168.100,节点地址为102。
在C类网络地址中,前3位总是为二进制110。计算C类网络数的方法如下: 3B为24位,减去3个保留位后为21位,因此有2的21次方(2 097 152)个C类网络。
每个C类网络都1 B用作节点地址,因此每个C类网络有2的8次方- 2 (两个保留的地址,即全为1和全为0的地址),即254个节点地址。
●C类网络的合法主机ID
下面的示例演示了如何确定C类网络的合法主机ID。
口 所有主机位都为零时,得到的是网络地址: 192. 168.100.0。
口 所有主机位都为1时,得到的是广播地址: 192.168.100.255。
合法的主机ID为网络地址和广播地址之间的地址: 192.168.100.1 ~ 192.168.100.254。