第 3章 IP地址
3.1 IP地址
3.2 分类 IP地址
3.3 特殊 IP地址
3.4 私有网络地址
3.5 IP地址配置
3.6 子网及子网掩码
3.7 超网
3.8 无类地址
3.1 IP地址
地址是标识对象所处位置的标识符 。传输中的信息带有源地址和目的地址,分别标识通信的源结点和目的结点。
不同的物理网络技术(底层网络技术)通常具有 不同的地址结构 和 不同的地址长度 。
在一个物理网络中,每个结点都至少有一个机器可识别的地址,该地址叫作 物理地址 。物理地址又称为 硬件地址,MAC地址 或 第二层地址 。
物理地址有两个特点,不一致性和不唯一性。
在进行网络互联时首先要解决的问题是物理网络 地址的统一问题 。
因特网 在网络层( IP层)完成地址的统一工作,将不同物理网络的地址统一到具有全球惟一性的 IP地址 上,IP层所用到的地址叫作因特网地址,又叫 IP地址。
物理网络 B 地址 物理网络 A 地址 物理网络 N 地址互联网地址 — IP 地址
图 3 - 1 用 IP 地址统一物理网络地址网络接口层
I P 层因特网沿用了 ARPANET的思想,仍然采用层次型地址 。 IP地址由网络号和主机号构成。
表示为:
IP-address,:= {<Network-number>,<Host-number>}
网络号( N e t w o r k - n u m b e r ) 主机号( H o s t - n u m b e r )
网络标识 (网络号 )的长度决定整个因特网中能包含多少个网络。
主机标识 (主机号 )的长度决定每个网络能容纳多少台主机。
IPv4地址长度 为 32比特( IPv6规定地址长度为 128比特)。
IPv4的 地址空间 为 232,4 294 967 296个 IP地址。
IP地址一般用 点分十进制数表示,也可以用二进制 或 十六进制 表示。
返回
3.2 分类 IP地址传统的因特网采用 分类地址 。 IP定义了五类 IP地址:
A类,B类,C类,D类和 E类 。
A 类,
图 3 - 3 互联网 IP 地址类别
0
B 类,10
C 类,1 10
D 类,1 1 10
E 类,1111
第一字节 第二字节 第三字节 第四字节
0 ~ 127
第一字节取值
128 ~ 191
192 ~ 223
224 ~ 239
240 ~ 255
网络号 主机号
1 字节 3 字节
2 字节 2 字节
3 字节 1 字节各类网络所占因特网地址空间的比例如图 3-4
所示。
A 类图 3 - 4 互联网 IP 地址空间
50%
E 类 D 类 B 类 C 类
25% 12,5% 6,25% 6,25%
2 31 2 30 2
29 2 28 2 28
A类地址 第一个字节的最高位固定为 0,另外 7比特可变的网络号可以标识 128个网络( 0~ 127),0一般不用,127用作环回地址。主机号为全 0时用于表示网络地址,主机号为全 1时用于表示 广播地址,这两个主机号不能用来标识主机。
A类地址的第一个字节的取值范围为 0~ 127。
B类地址 第一个字节的最高 2比特固定为 10。
B类地址的第一个字节的取值范围为 128~ 191。
C类地址 第一个字节的最高 3比特固定为 110。
C类地址的第一个字节的取值范围为 192~ 223。
D类地址 用于组播( multicasting),因此,D类地址又称为组播地址。
D类地址的范围为 224.0.0.0~ 239.255.255.255,
每个地址对应一个组,发往某一组播地址的数据将被该组中的所有成员接收。 D类地址的第一个字节的取值范围为 224~ 239。有些 D类地址已经分配用于 特殊用途 。
E类地址 为 保留 地址,可以用于 实验 目的。
E类地址的范围,240.0.0.0 ~ 255.255.255.254,
E类地址的第一个字节的取值范围为 240~ 255。
表 3-1 各类网络地址块的示例类别 起始地址 结束地址 网络地址 主机地址范围 广播地址
A类 86.0.0.0 86.255.255.255 86.0.0.0 86.0.0.1~86.255.255.254 86.255.255.255
B类 188.6.0.0 188.6.255.255 188.6.0.0 188.6.0.1~188.6.255.254 188.6.255.255
C类 206.8.2.0 206.8.2.255 206.8.2.0 206.8.2.1~206.8.2.254 206.8.2.255
每个网络都要占用两个 IP地址,一个用于标识网络,一个用于网络广播。每个网络使用该网络地址块的起始地址作为 网络地址,该地址仅作为网络的标识,主要用在网络路由中。网络地址块的结束地址被用作该网络的广播地址 。
在因特网的地址中包含了网络信息。当一个路由器或网关连到多个网络上时,每个网络都会给路由器或网关分配一个 IP地址,每个地址对应于一个物理连接。
因特网地址的本质 是标识主机的网络连接。
图 3-5给出了多宿主设备的地址配置。
图 3 - 5 I P 地址标识网络连接路由器
203.16.2 2,0
203.16.2 1,0
203.16.20,0 多宿主主机
203.16.2 0,1
203.16.2 1,1
203.16.2 2,1
203.16.2 2,2
203.16.2 1,2
返回
3.3 特殊 IP地址在 IP地址中有些地址并不是用来标识主机的,
这些地址具有特殊意义。
特殊地址:
网络地址直接广播地址有限广播地址本网络地址环回地址
1.网络地址因特网上的每个网络都有一个 IP地址,其主机号部分为,0”。
网络地址的一般表达式为:
{<Network-number>,<Host-number>}={<Network-number>,0}
该地址用于标识网络,不能分配给主机,因此不能作为数据的源地址和目的地址。
2.直接广播地址直接广播 向某个网络上所有的主机发送报文。 TCP/IP
规定,主机号各位全部为,1”的 IP地址用于广播,
叫作广播地址。 直接广播地址的一般表达式为:
{<Network-number>,<Host-number>}={<Network-number>,-1}
这里的,-1”表示全,1”。
直接广播地址只能作为目的地址 。
3.受限广播地址受限广播地址是在本网络内部进行广播的一种广播地址 。 TCP/IP规定,32比特全为,1”的 IP地址用于本网络内的广播。
受限广播地址的 一般表达式 为:
{<Network-number>,<Host-umber>}={-1,-1}
其点分十进制表示为,255.255.255.255。
受限广播地址只能作为目的地址 。
路由器隔离受限广播,因特网不支持全网络范围的广播。
4.本网络地址本网络特定主机地址的一般表达式为:
{<Network-number>,<Host-number>}={0,Hostnumber>}
本网络特定主机地址只能作为目的地址 。
本网络本主机地址 的一般表达式为:
{<Network-number>,<Host-number>}={0,0}
本网络本主机地址的点分十进制表示为,0.0.0.0。
本网络本主机地址只能作为源地址 。
5.环回地址环回地址( Loopback Address)是 用于网络软件测试以及本机进程之间通信 的特殊地址。
A类网络地址 127.X.X.X被用作环回地址。
环回地址的一般表达式为:
{<Network-number>,<Host-number>}={127,any>}
习惯上采用 127.0.0.1作为环回地址,命名为 localhost。
环回接口对 IP数据报的处理过程如图 3-6所示。
图 3 - 6 环回接口对 IP 数据报的处理
IP 输出函数 IP 输入函数放入 IP
输入队列根据帧类型进行分用地址解析目的 IP 地址是广播地址 / 组播地址?
是 目的 IP 地址与本接口的 IP 地址相同?
否是否目的 IP 地址是环回地址?
否是返回
3.4 私有网络地址
因特网地址分配机构为 私有网络 保留了三组 IP地址
( RFC 1918),任何位于防火墙和代理服务器后面的私有网络都可以使用这三组地址。这三组保留地址如下:
A类,10.0.0.0~ 10.255.255.255
B类,172.16.0.0~ 172.31.255.255
C类,192.168.0.0~ 192.168.255.255
节省大量的 IP地址,缓解 IP地址不足的问题。
借助于代理服务器的网络地址转换( NAT)功能,
隐藏私有网络的地址框架,保证私有网络的安全。
返回
3.5 IP地址配置
为了确保网络上的主机能够正常工作,在为主机配置 IP地址时,应遵守以下 原则,
同一物理网络上的所有主机应该采用相同的网络号;
在一个网络中主机号必须是惟一的;
主机号不能为全,1”(主机号为全,1”是广播地址 );
主机号不能为全,0”(主机号为全,0”表示网络 );
因特网上的网络号必须是惟一的;
网络号不能为全,1”;
网络号不能为全,0”(“0”表示一个本地网 );
网络号不能以 127开头 (127是环回地址 )。
返回
3.6 子网及子网掩码一个标准的 A类,B类和 C类网络可以进一步划分为子网。 子网划分技术能够使单块网络地址横跨几个物理网络,这样路由器所连接的多个物理网络可以是同属于一个网络的不同子网。
划分子网的原因,
( 1)有效地利用地址空间。
( 2) 便于进行管理 。
( 3)可以 隔离广播 和通信,减少网络拥塞。
( 4)出于 安全 方面的考虑。
( 5)由于 历史的原因和应用的需要 。
划分子网的方法 是将 IP地址的主机号部分划分成两部分,拿出一部分来标识子网,另一部分仍然作为主机号。带子网标识的 IP地址结构如图 3-9所示。
划分后 IP地址由 三部分 组成:网络号、子网号以及主机号。因此,IP地址可以表示为:
IP-address,:= {<Network-number>,<Subnet-
number>,<Host-number>}
网络号( N e t w o r k - n u m b e r )
图 3 - 9 带子网的 IP 地址结构主机号( H o s t - n u m b e r ) 子网号( S u b n e t - n u m b e r )
网络号( N e t w o r k - n u m b e r ) 主 机 号( H o s t - n u m b e r )
在划分子网后,我们如何知道网络号、子网号以及主机号的长度呢?为此,TCP/IP采用了 子网掩码 。
子网掩码 是一个 32位的二进制数字,指定了子网标识和主机号的 分界点 。子网掩码中对应于网络号和子网号的所有比特都被设为 1,
而对应于主机号的所有比特都被设为 0。
TCP/IP协议使用子网掩码判断目的主机是位于本地子网,还是位于远程子网。
获得子网地址的方法是将子网掩码和 IP地址进行按位“与”运算。
究竟拿出多少比特作为子网号来标识子网,取决于子网的数量和子网的规模。
各类网络的主机号的比特数用 p表示,如果从 p比特主机号中拿出 m比特来划分子网,则剩下 n=p-
m比特用于标识主机。
m比特可以标识 2m个子网,但一般不建议使用 m
比特子网号为全,0”和全,1”的子网,原因是有些路由协议并不同时发布网络地址和子网掩码。
这样,m比特实际可以划分 2m-2个可用的子网。
n比特可以标识 2n台主机,但 n比特为全,0”时用于标识子网,为全,1”时用于表示子网广播地址。
这样,n比特主机号实际可以标识 2n-2台主机。
通常规划一个网络时划分子网的 步骤 如下:
( 1)确定需要多少个子网号来惟一标识每一个子网。
( 2)确定需要多少个主机号来标识每个物理网络 (子网 )上的每台主机。
( 3)综合考虑子网数和子网中的主机数后,
确定一个符合要求的子网掩码。
( 4)确定标识每个子网的网络号。
( 5)确定每个子网上可以使用的主机号的范围。
例:假设已经得到一个 B类网络地址
160.46.0.0。要求把整个网络划分成 18个不同的子网,该网络的最大的段要求 1800个可供主机寻址的地址。
想要提供 18个子网,必须占用主机地址的 5
比特。除去子网号为全,0”和全,1”的子网外,5比特可以提供 30个可用的子网( 25-
2=30)。这样,子网掩码为:
255.255.248.0。每个子网可以容纳的主机数为 211-2=2046,可以满足要求。表 3-3给出了各个子网的地址、子网中主机 IP地址的范围以及子网的直接广播地址。
表 3 - 3 160,46,0.0 的 32 个子网划分子网地址 开始地址 结束地址 广播地址
160,46,0,0 n / a n / a n / a
160,46,8,0 160,46,8,1 160,46,15,2 5 4 160,46,15,2 5 5
160,46,16,0 160,46,16,1 1 6 0,46,23,2 5 4 160,46,23,2 5 5
160,46,24,0 160,46,24,1 160,46,31,2 5 4 160,46,31,255
160,46,32,0 160,46,32,1 160,46,39,2 5 4 160,46,39,2 5 5

160,46,240,0 160,46,240,1 1 6 0,46,247,2 5 4 160,46,247,2 5 5
160,46,248,0 n / a n / a n / a
A类网络的默认掩码 ( Default mask),255.0.0.0
B类网络的默认掩码,255.255.0.0
C类网络的默认掩码,255.255.255.0。
引入子网概念后,由于路由器对广播的隔离作用,受限广播数据被限制在子网中。
针对某一子网的直接广播 可以表示为:
{<Network-number>,<Subnet-number>,<Host-number>}=
{<Network-number>,<Subnet-number>,-1}
针对某一网络内所有子网的直接广播 可以表示为:
{<Network-number>,<Subnet-number>,<Host-number>}=
{<Network-number>,-1,-1}
在上面所讨论的子网划分中,各个子网的地址空间是一样大,各个子网的掩码也是一样的。但为了 提高地址空间的利用率,需要将子网进行进一步的划分,从主机号中再拿出一些比特来划分子网,这就使得在一个网络中有多个 不同规模的子网,每个子网都有其惟一的子网掩码,这便是 可变长子网掩码
VLSM( Variable-Length Subnet Mask)。
可变长子网掩码要求路由器支持子网掩码和路由信息的同时发布 。当系统中的所有路由协议都支持子网掩码和路由信息的同时发布时,不仅可以使用可变长子网掩码,全,0”
的子网号和全,1”的子网号也可以使用。
返回
3.7 超网
利用 超网技术,可以将 C类网络地址块合并为一个大的地址块 。理论上,也可以将多个 B类地址块合并为一个更大的地址块。
超网技术使用与子网技术正好相反的方法,如图 3-
11所示,构造超网时,从网络号中拿出一些比特和主机号拼接在一起形成新的主机号 。
超网号( S u p e r n e t- n u m b e r )
图 3 - 1 1 超网的 IP 地址结构主机号( H o s t - n u m b e r)
网络号( N e tw o r k - n u m b e r) 主 机 号( H o s t - n u m b e r)
m 位和子网的划分类似,超网通过 超网掩码 来指定超网号和主机号的分界点。超网掩码中对应于超网号的所有比特都被设为 1,而对应于主机号的所有比特都被设为 0。与子网划分不同的是,子网划分是通过增加掩码中,1”的位数来实现的,而超网划分是通过减少掩码中,1”的位数来实现的 。获得超网地址的方法也是将超网掩码和 IP地址进行按位“与”
运算。
在构造超网时,须 注意 以下 3点:
( 1)构造超网的地址块必须连续。
( 2)待合并的地址块的数量必须是 2m( m=1,
2,… )。
( 3)被合并的 C类网络的第一个地址块的地址中的第三字节的值必须是待合并的地址块的整数倍。 返回
3.8 无类地址
通过前面对子网和超网的介绍,我们看到利用掩码中,1”的位数的增加或减少可以方便地控制网络的规模。在实际应用中许多单位都只需要很少的 IP地址,为了方便 IP地址的分配和提高 IP地址的利用率,
1996年因特网组织机构发布了无类别域间路由 CIDR
( Classless Interdomain Routing)。
CIDR去掉了 A类地址,B类地址和 C类地址的概念,
采用了无类地址的概念,不再由地址的前几个比特来预先定义网络类别。每一个地址仅仅包含网络号部分和主机号部分。整个 IP地址空间被分割为一些不同大小的块。每一块对应一个物理网络。
对每个无类地址块的 要求,地址块由 2m个连续的 IP地址构成,地址块的起始地址必须是能够被 2m整除的地址。
注意,由于 IP地址 X.Y.Z.0一定是 28的整数倍,
X.Y.0.0一定是 216的整数倍,X.0.0.0一定是 224
的整数倍,因此我们在考察起始地址是否合法时,可以简化计算过程。当地址块中的地址数小于 28时,只需要考察起始地址的最后一个字节是否可以被 2m整除;当地址块中的地址数小于 216时,只需要考察起始地址的最后两个字节是否可以被 2m整除;当地址块中的地址数小于 224时,只需要考察起始地址的后三个字节是否可以被 2m整除即可。
无类地址也是利用掩码来划分网络号和主机号的界线。只要给出了起始地址和掩码,就可以确定整个地址块。
例如,起始地址为 10.126.60.40,掩码为
255.255.255.248的地址块所对应的地址范围是
10.126.60.40~ 10.126.60.47。同样,该地址范围的第一个地址作为网络地址,最后一个地址作为直接广播地址 。
掩码的点分十进制数表示较复杂,在无类地址中常采用的一种表示法是 斜线表示法 ( Slash
Notation)。斜线表示法将 地址和掩码一起表示出来,其格式为,W.X.Y.Z/n。斜线前面是 IP地址,斜线后面是前缀长度。这里的前缀是指 IP地址中的网络号部分,因此前缀长度是指 IP地址中的网络号部分的比特数,也就是掩码中连续,1”
的比特数。
表 3 - 5 前缀长度与掩码的关系
/n 掩码 /n 掩码 /n 掩码 /n 掩码
/1 128,0,0,0 / 9 2 5 5,128,0,0 / 1 7 255,255,128,0 / 2 5 255,255,255,128
/2 192,0,0,0 / 1 0 255,192,0,0 / 1 8 255,255,192,0 / 2 6 255,255,255,192
/3 224,0,0,0 / 1 1 255,224,0,0 / 1 9 255,255,224,0 / 2 7 255,255,255,224
/4 24 0,0,0,0 / 1 2 255,240,0,0 / 2 0 255,255,240,0 / 2 8 255,255,255,240
/5 248,0,0,0 / 1 3 255,248,0,0 / 2 1 255,255,248,0 / 2 9 255,255,255,248
/6 252,0,0,0 / 1 4 255,252,0,0 / 2 2 255,255,252,0 / 3 0 255,255,255,252
/7 254,0,0,0 / 1 5 255,254,0,0 / 2 3 255,255,254,0 / 3 1 255,25 5,255,254
/8 255,0,0,0 / 1 6 255,255,0,0 / 2 4 255,255,255,0 / 3 2 255,255,255,255
斜线表示法又称为 CIDR表示法 。斜线表示法中的前缀长度与掩码是一一对应的,前缀长度与掩码的对应关系如表 3-5所示。
本章要点
一个物理网络中的每个结点都至少拥有一个机器可识别的物理地址。 物理地址 又称为硬件地址,MAC地址或第二层地址。
因特网在 IP层(网络层)用 IP地址实现了 地址的统一 。
IP地址体现了因特网的层次化结构。 32比特的 IPv4地址由网络号和主机号构成,网络号的位数决定网络的数量,
主机号的位数决定网络的规模 。
IP地址的本质 是标识设备的网络连接。
4个字节的 IP地址通常用点分十进制数表示,根据 IP地址的第一个字节的值可以知道 IP地址的类别 。
因特网上的 每个网络都有一个 IP地址,其主机号部分为
,0”。
直接广播 是向某个网络中所有的主机发送信息。
受限广播 是向本网络内的所有主机发送信息。
环回地址 是用于网络软件测试以及本机进程之间通信的特殊地址。 返回