在网络层,需要对因特网上每一个设备进行唯一标识,这样所有的设备间才能实现全球通信。
IPv4协议相对应的IPv4编址机制。
不过IPv6总有一天会超过现在主流的IPv4协议。
目标:
引入地址空间总概念,重点介绍IPv4的地址空间;
分类编址体系结构,介绍此模型中的各个类,以及每个类可用的地址块;
多级编址的思想以及它是如何在分类编址中实现的;
分类结构中的子网划分或构造超网,并说明它们如何用来客服分类编址的缺点;
无分类编址,为了解决在分类编址中遇到的问题(如地址耗尽)而设计的一种体系结构;
从分类编址中借用的某些思想,例如子网划分,如何在无分类编址中很容易地实现;
一些特殊地址块以及各个地址块中存在的一些特殊地址;
NAT技术,并说明它是如何被用来缓解IPv4中地址短缺矛盾的;
引言
TCP/IP协议族中,用于在IP层标识每一个连接到因特网设备的标识符称为因特网地址或IP地址(IP Address)。
IP地址的长度是32位,是全球统一且唯一的;
IPv4的地址空间是 2^32=4294967296;
有三种常用的记法来表示IPv4地址:
二进制记法(基2)(binary notation);
点分十进制记法(基256)(dotted-decimal notation);
十六进制记法(基16)(hexadecimal notation);
#熟悉各种记法的转换
经常需要对一个二进制或点分十进制的IPv4地址执行某种运算,三种常用到的运算:
与(AND);
或(OR);
非(NOT);
分类编址
在IPv4地址诞生之初就使用了分类的概念,这种体系结构称为 分类编址(Classful Address)。
到了后来,出现了一种称为 无分类编址(Classless Address)的新体系。
分类
在分类编址中,IPv4地址空间被分为五类:A、B、C、D、E。每一类占地址空间的一部分。
A类地址以 0(0) 开头;
B类地址以 10(128) 开头;
C类地址以 110(192) 开头;
D类地址以 1110(224) 开头;
E类地址以 1111(240) 开头;
网络标识与主机标识
在分类网络中,对于A、B、C类地址来说,IP地址都可以划分为 网络位(net-id) 和 主机位(host-id)两个部分。D类和E类地址不划分网络位和主机位。
地址类和地址块
A类地址有 2^7=128 个地址块,每个地址块都包含了 2^24=16777216 个地址;
数以百万计的A类地址都被浪费了;
B类地址有 2^14=16384 个地址块,每个地址块包含了 2^16=65536 个地址;
许多B类地址被浪费了;
C类地址有 2^21=2097152 个地址块,每个地址块包含了 2^8=256 个地址;
C类地址中的地址数对大多数机构来说是不够的;
D类地址只有一个地址块,它用来进行多播。这类地址中的每一个地址都被用来定义因特网上的一组主机;
E类地址块仅有的一个地址块为将来使用而保留;
两级编址
分类编址时,指派给一个组织的地址段是A、B、C类的一个地址块。
一个地址块就是一段地址,给定该地址块中的任意一个地址,我们通常要了解三个信息,地址数、首地址和末地址。
网络地址
网络地址就是对一个网络的标识。
网络地址(Network Address),它被用来为分组选择路由,使其能够到达目的网络。
网络掩码(Network mask)
因特网上的路由器通过网络掩码在通过某种算法从分组的目的地址中提取出网络地址。
三级编址:子网划分
IP地址最初设计为两级编制,也像是说,要想抵到因特网中的一台主机,首先必须要抵达其网络。
但这样的两级编址还不够,原因如下:
首先,一个被授权的 A类或B类地址块的组织,处于安全性和管理方便的考虑,有必要将自己的大网络进一步划分为若干个子网;
其次,因为 A类和B类地址块已几近耗尽,而C类地址又太小,无法满足大多数组织的需要,所以可以将 A类或B类地址划分成多个较小的子地址块,并与其它组织一起分享;
将一个地址块分割成若干个较小地址块的思想称为子网划分。
在二十世纪就是年代,因特网服务提供商(ISP)开始流行。ISP是这样的一种组织,它可以给个人、小公司以及中等规模的组织提供到因特网的接入,这些公司不想创建自己的因特网网站,也不想忙于为自己的员工提供因特网服务(如Email),而ISP则能够提供这样的一些服务。
1996年,因特网管理机构宣布了一种新的体系结构,称为 无分类编址(Classless Addressing)。无分类编址使用的是可变长度的地址块,这些地址块不属于任何类。
两级编址
在分类编址中,通过将一个地址划分为 网络位 和 主机位 两部分来提供两级编址。网络位指明了网络,而主机位指明了网络中的一台主机。
这个思想同样也可应用于无分类编址中。这个地址块实际上也可以划分为两部分,前缀(prefix) 和 后缀(suffix),前缀指明网络,后缀指明主机。
在分类编址中,网络位的长度是固定的;
在无分类编址中,前缀长度可以在 1 到 32 之间;
斜线记法(/)(Slash notation)
斜线标记法的正式名称是 无分类域间路由(Classless Interdomain Routing、CIDR)。
在无分类编址中,我们需要知道地址块中的一个地址,以及定义该块的前缀长度。
地址块的分配
分配地址的最终责任被交给了一个全球管理机构,称为 ICANN。不过ICANN通常不会直接向因特网的个人用户分配地址,它将大块的地址指派个某一个ISP。
子网划分
通过子网划分就可以建立一个三级结构。授权使用某段地址的一个组织(或ISP)可以将该地址段进一步划分为若干个子段,并为每个子网络(子网)指派一个子地址段。请注意,该组织可以随意地继续往下分为更多级,没有任何限制。一个子网还可以划分成若干个子子网(sub-subnetwork)。
地址聚合
CIDR体系的一个优点就是地址聚合。ICANN把大块的地址段指派给ISP,ISP把得到的地址块在划分为较小的子地址块,然后把这样的子地址块授权给它的客户使用。也就是说许多地址块聚合成一个大块,然后将其授权给一个ISP使用。
特殊地址
在分类编址中有些地址因特殊用途而被保留,无分类编址也从分类编址中继承了部分的特殊地址的策略。
全0地址
地址块 0.0.0.0/32 仅含有一个地址,它被保留用于某主机需要发送一个IPv4 分组,但又不知道自己的地址的情况下。例如DHCP。
全1地址:受限广播地址
地址块 255.255.255.255/32 仅含有一个地址,它被保留作为当前网络的受限广播地址;
路由器会隔绝广播地址,所以广播只能局限在本地网络;
环回地址
地址块 127.0.0.0/8 被用作环回地址(Loopback Address),用来测试机器上的软件;
在使用这个地址时,分组从来没有离开过机器,它只是简单地路由协议软件返回;
#如 Ping程序
专用地址
有一些地址被指派为专用地址,它们不会在全球被识别;
多播地址
地址块 224.0.0.0/24 为多播通信保留;
每个地址块中的特殊地址
一个地址块中的后缀全为 0 定义为网络地址;
一个地址块的后缀全为 1 定义为 直接广播地址;
NAT
网络地址转换(Network Address Translation,NAT),用于提供挂载专用地址和全球地址之间的互相映射,同时也支持虚拟专用网络。
地址转换
所有外出的分组都要通过这台NAT路由器,它将分组中的源地址替换为NAT全球地址;
所有进入的分组也都要通过这台NAT路由器,他又将这些分组的目的地址(NAT全球地址)替换为响应的内部的地址;
转换表
1,使用一个IP地址;
2,使用IP地址池;
3,使用IP地址和端口地址;
RFC
有几份RFC专门讨论了IPv4地址。包括:RFC917、RFC930、RFC927、RFC932、RFC940、RFC1122和RFC1519;
重要术语
地址聚合;
地址空间;
二进制记法;点分十进制记法;十六进制记法;
地址块;
A、B、C、D、E类地址;
分类编址;
无分类编址;
无分类域间路由选择;
默认掩码;
直接广播地址;
主机标识;网络标识;
IP地址;
受限广播地址;
环回地址;
网络地址转换(NAT);
网络掩码;
前缀,后缀;
前缀长度,后缀长度;
斜线记法;
子网;
子网掩码;
子网划分;
子网络;
超网掩码;
构造超网;
地址转换表;