目录
IP地址定义
IP地址由网络和主机两部分标识组成
IP地址的分类
A类地址
B类地址
C类地址
D类地址
关于分配IP主机地址的注意事项
广播地址
两种广播
IP多播
子网掩码
CIDR与VLSM
全局地址与私有地址(NAT)
全局地址由谁决定
IP地址定义
IP地址(IPv4地址)由32位正整数来表示。
TCP/IP通信要求将这样的IP地址分配给每一个参与通信的主机。IP地址在计算机内部以二进制方式被处理。然而,由于人类社会并不习惯于采用二进制方式,需要采用一种特殊的标记方式。那就是将32位的IP地址以每8位为一组,分成4组,每组以“."隔开,再将每组数转换为十进制数。
从这个计算结果可知,最多可以允许43亿台计算机连接到网络。
实际上,IP地址并非是根据主机台数来配置的,而是每一台主机上的每一块 网卡(NIC)都得设置IP地址。通常一块网卡只设置一个IP地址,其实一块网 卡也可以配置多个IP地址。此外,一台路由器通常都会配置两个以上的网卡,因 此可以设置两个以上的IP地址。
因此,让43亿台计算机全部连网其实是不可能的。后面将要详细介绍IP地 址的两个组成部分(网络标识和主机标识),了解了这两个组成部分后你会发现 实际能够连接到网络的计算机个数更是少了很多。
IP地址由网络和主机两部分标识组成
IP地址由“网络标识(网络地址)”和“主机标识(主机地址)”两部分 组成。
网络标识在数据链路的每个段配置不同的值。网络标识必须 保证相互连接的每个段的地址不相重复。而相同段内相连的主机必须有相同的网络地址。
IP地址的“主机标识”则不允许在同一个网段内重复出现。
由此,可以通过设置网络地址和主机地址,在相互连接的整个网络中保证每 台主机的IP地址都不会相互重叠。即IP地址具有了唯一性。
IP包被转发到途中某个路由器时,正是利用目标IP地址的 网络标识进行路由。因为即使不看主机标识,只要一见到网络标识就能判断出是 否为该网段内的主机。
那么,究竟从第几位开始到第几位算是网络标识,又从第几位开始到第几位 算是主机标识呢?关于这点,有约定俗成的两种类型。最初二者以分类进行区别。 而现在基本以子网掩码(网络前缀)区分。不过,在有些情况下依 据部分功能、系统和协议的需求,前一种的方法依然存在。
IP地址的分类
IP地址分为四个级别,分别为A类、B类、C类、D类。
它根据IP地址中从第1位到第4位的比特列对其网络标识和主机标识进行区分。
A类地址
A类IP地址是首位以“0"开头的地址。从第1位到第8位是它的网络标识。,用十进制表示的话, 0. 0.0.0-127.0.0.0是A类的网络地址。A类地址的后24位相当于主机标识。因此,一个网段内可容纳的主机地址上限为16, 777, 214个。
B类地址
B类IP地址是前两位为“10”的地址。从第1位到第16位”是它的网络标识。用十进制表示的话,128.0.0.1-191. 255.0.0是B类的网络地址。B类地址的后16标识。因此,一个网段内可容纳的主机地址上限为65, 534个
C类地址
C类IP地址是前三位为"110"的地址。从第1位到第24位是它的网络标识。用十进制表示的话,192. 168. 0.0-239. 255. 255.0是C类的网络地址。C类地址的后8位相当于主机标识。因此,一个网段内可容纳的主机地址上限为 254个
D类地址
D类IP地址是前四位为"1110"的地址。从第1位到第32位”是它的网络标识。用十进制表示的话,224 0 0. 0 ~239. 255. 255.255是 D类的网络地址。D类地址没有主机标识,常被用于多播。
关于分配IP主机地址的注意事项
在分配IP地址时关于主机标识有一点需要注意。即要用比特位表示主机地址时,不可以全部为0或全部为1。
因为全部为只有0在表示对应的网络地址或IP地址不可获知的情况下才使用。
而全部为1的主机地址通常作为广播地址。
因此,在分配过程中,应该去掉这两种情况。这也是为什么C类地址每个网段最多只能有254 (256-2=254)个主机地址的原因。
广播地址
广播地址用于在同一个链路中相互连接的主机之间发送数据。主机地址部分全部设置为1就成为了广播地址。
两种广播
广播分为本地广播和直接广播两种。
在本网络内的广播叫做本地广播。例如网络地址为192.168.0.0/24的情况下,广播地址是192. 168.0.255。
因为这个广播地址的IP包会被路由器屏蔽,所以不会到达192. 168.0.0/24以外的其他链路上。
在不同网络之间的广播叫做直接广播。例如网络地址为192. 168.0.0/24的主机向192. 168. 1. 255/24的目标地址发送IP包。
收到这个包的路由器,将数据转发给192. 168. 1.0/24,从而使得所有192. 168. 1. 1 192. 168. 1.254的主机都能收到这个包。
IP多播
同时发送提高效率
多播用于将包发送给特定组内的所有主机。
由于其直接使用IP协议,因此也不存在可靠传输。而随着多媒体应用的发展,对于向多台主机同时发送数据包,在效率上的要求也日益提高。在电视会议系统中对于1对N, N对N通信的需求明显上升。
而具体实现上往往采用复制1对1通信的数据,将其同时发送给多个主机的方式。在人们使用多播功能之前,一直采用广播的方式。那时广播将数据发给所有终端主机,再由这些主机IP之上的一层去判断是否有必要接收数据。是则接收,否则丢弃。然而这种方式会给那些毫无关系的网络或主机带来影响,造成网络上很多不必要的流量。况且由于广播无法穿透路由,若想给其他网段发送同样的包,就不得不采取另一种机制。
多播这种既可以穿透路由器,又可以实现只给那些必要的组发送数据包 就成为必选之路了。
多播使用D类地址。因此,如果从首位开始到第4位是"1110", 就可以认 为是多播地址。而剩下的28位可以成为多播的组编号。
从224.0.0.0到239.255.255.255都是多播地址的可用范围。其中从 224.0.0.0到224.0.0.255的范围不需要路由控制,在同一个链路内也能实现多播。而在这个范围之外设置多播地址会给全网所有组内成员发送多播的包。
此外,对于多播,所有的主机(路由器以外的主机和终端主机)必须属于 224.0.0. 1的组,所有的路由器必须属于224.0.0.2的组。类似地,多播地址中有 众多已知的地址,它们中具有代表性的部分已在表4. 1中列出。
利用IP多播实现通信,除了地址外还需要IGMP等协议的支持。
子网掩码
一个IP地址只要确定了其分类,也就确定了它的网络标识和主机标识。例如 A类地址前8位(除首位"0"还有7位)、B类地址前16位(除首位"10"还 有14位)、C类地址前24位(除首位"110"还有21位)分别是它们各自的网 络标识部分。
由此,按照每个分类所表示的网络标识的范围如下所示。
用"1"表示IP网络地址的比特范围,用"0"表示IP主机地址范围。将它 们以十进制表示,如下所示。其中"1"的部,分是网络地址部分,"0"的部分是 主机地址部分。
网络标识相同的计算机必须同属于同一个链路。例如,架构B类IP网络时, 理论上一个链路内允许6万5千多台计算机连接。然而,在实际网络架构当中, 一般不会有在同一个链路上连接6万5千多台计算机的情况。因此,这种网络结 构实际上是不存在的。
因此,直接使用A类或B类地址,确实有些浪费。随着互联网的覆盖范围逐 渐增大,网络地址会越来越不足以应对需求,直接使用A类、B类、C类地址就 更加显得浪费资源。为此,人们已经开始一种新的组合方式以减少这种浪费。
现在,一个IP地址的网络标识和主机标识已不再受限于该地址的类别,而是 由一个叫做“子网掩码”的识别码通过子网网络地址细分出比A类、B类、C类 更小粒度的网络。这种方式实际上就是将原来A类、B类C类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。
自从引入了子网以后,一个IP地址就有了两种识别码。一是IP地址本身, 另一个是表示网络部的子网掩码。
子网掩码用二进制方式表示的话,也是一个32 位的数字。它对应1P地址网络标识部分的位全部为1,对应IP地址主机标识 的部分则全部0。
由此,一个IP地址可以不再受限于自己的类别,而是可以 用这样的子网掩码自由地定位自己的网络标识长度。当然,子网掩码必须是IP地 址的首位开始连续的1
对于子网掩码,目前有两种表示方式。以172. 20. 100. 52的前26位是网络地 址的情况为例,以下是其中一种表示方法,它将IP地址与子网掩码的地址分别用 两行来表示。
另一种表示方式如下所示。它在每个IP地址后面追加网络地址的位数"用 “/"隔开。
不难看出,在第二种方式下记述网络地址时可以省略后面的"0"。例如172. 20. 0.0/16跟172. 20/16其实是一个意思。
CIDR与VLSM
直到20世纪90年代中期,向各种组织分配IP地址都以A类、B类、C类等 分类为单位进行。对于架构大规模网络的组织,一般会分配一个A类地址。反 之,在架构小规模网络时,则分配C类地址。然而A类地址的派发在全世界最多 也无法超过128个。加上C类地址的主机标识最多只允许254台计算机相连,导 致众多组织开始申请B类地址。其结果是B类地址也开始严重缺乏,无法满足 需求。
于是,人们开始放弃IP地址的分类,采用任意长度分割IP地址的网络标识 和主机标识。这种方式叫做CIDR, 意为“无类型域间选路”。由于BGP (Border Gateway Protocol , 边界网关协议)对应了CIDR, 所以不受 IP地址分类的限制自由分配。
根据CIDR, 连续多个C类地址,就可以划分到一个较大的网络内。CIDR更 有效地利用了当前:IPv4地址,同时通过路由集中,降低了路由器的负担。
例如,应用CIDR技术将203. 183.224. 1到203. 183.225.254 的地址合为同一个网络(它们本来是2个C类地址)。
类似地,展示了将202.244. 160. 1到202.244. 167.254的地址合并为 一个网络的情形。该例子中实际上是将8个C类地址合并为一个网络。
在CIDR被应用到互联网的初期,网络内部采用固定长度的子网掩码机制。也就是说,当子网掩码的长度被设置为/25以后,域内所有的子网掩码都得使用同样的长度。然而,有些部门可能有500台主机,另一些部门可能只有50台主机。如果全部采用统一标准,就难以架构一个高效的网络结构。为此人们提出组织内要使用可变长度的、高效的IP地址分配方式。
于是产生了一种可以随机修改组织内各个部门的子网掩码长度的机制 VLSM (可变长子网掩码)。它可以通过域间路由协议转换为RIP2 以及OSPF 实现。
根据VLSM可以将网络地址划分为主机数为500个时子网掩码长度为/23,主机数为50个时子网掩码长度为/26。从而在理论上可以将 IP地址的利用率提高至50%。有了CIDR和VLSM技术,确实相对缓解了全局IP地址不够用的问题。但是IP地址的绝对数本身有限的事实无法改变。
全局地址与私有地址(NAT)
起初,互联网中的任何一台主机或路由器必须配有一个唯一的IP地址。一旦 出现IP地址冲突,就会使发送端无法判断究竟应该发给哪个地址。而接收端收到数据包以后发送回执时,由于地址重复,发送端也无从得知究竟是哪个主机返回 的信息,影响通信的正常进行。
然而,随着互联网的迅速普及,IP地址不足的问题日趋显著。如果一直按照 现行的方法采用唯一地址的话,会有IP地址耗尽的危险。
于是就出现了一种新技术。它不要求为每一台主机或路由器分配一个固定的 IP地址,而是在必要的时候只为相应数量的设备分配唯一的IP地址。
尤其对于那些没有连接互联网的独立网络中的主机,只要保证在这个网络内 地址唯一,可以不用考虑互联网即可配置相应的IP地址。不过,即使让每个独立 的网络各自随意地设置IP地址,也可能会有问题,千是又出现了私有网络的IP 地址。它的地址范围如下所示:
包含在这个范围内的IP地址都属于私有IP, 而在此之外的IP地址称为全 局IP
私有IP最早没有计划连接互联网,而只用于互联网之外的独立网络。然而,当一种能够互换私有IP与全局IP的NAT技术诞生以后,配有私有地址的主机 与配有全局地址的互联网主机实现了通信。
现在有很多学校、家庭、公司内部正采用在每个终端设置私有IP, 而在路由 器(宽带路由器)或在必要的服务器上设置全局1P地址的方法。而如果配有私 有IP的地址主机连网时,则通过NAT进行通信。
全局IP地址基本上要在整个互联网范围内保持唯一,但私有地址不需要。只 要在同一个域里保证唯一即可。在不同的域里出现相同的私有IP不会影响使用。
由此,私有IP地址结合NAT技术已成为现在解决IP地址分配问题的主流方 案。它与使用全局IP地址相比有各种限制。为了解决这些问题1Pv6出现了。然 而由千现在1Pv6还没有得到普及,1Pv4地址又即将耗尽,人们正在努力使用1Pv4 和NAT技术解决现有的问题。这也是互联网的现状之一。
全局地址由谁决定
在世界范围内,全局IP由ICANN进行管理。在日本则由一个叫做JPNIC的机构进行管理,它是日本国内唯一指定的全局IP地址管理的组织。
在互联网被广泛商用之前,用户只有直接向JPNIC申请全局IP地址才能接入 互联网。然而,随着ISP的出现,人们在向ISP申请接入互联网的同时往往还会 申请全局IP地址。在这种情况下,实际上是ISP代替用户向JPNIC申请了一个全 局IP地址。而连接某个区域网络时,一般不需要联系提供商,只要联系该区域网 络的运营商即可。
对千FITH和ADSL的服务,网络提供商直接给用户分配全局IP地址,并且 用户每次重连该IP地址都可能会发生变化。这时的IP地址由提供商维护,不需 要用户亲自申请全局IP地址。
一般只有在需要固定IP的情况下才会申请全局IP地址。例如,如果要让多 台主机接入互联网,就需要为每一台主机申请一个IP地址。
不过现在,普遍采用的一种方式是,在LAN中设 置私有地址,通过少数设置全局IP地址的代理服务器结合NAT的设置进行互联网通信。这时IP地址个数就不限千LAN中主机个数而 是由代理服务器和NAT的个数决定。
如果完全使用公司内网,今后不会接人互联网,只要使用私有地址即可。