1. IPv4概述
1. 1 IPv4概述
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。网络层提供了无连接数据传输服务,即网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报文)独立发送,与前后的分组无关。网络层的IPv4协议族为数据链路层和传输层实现互通提供了保障。IPv4协议族可以屏蔽各链路层的差异,为传输层提供统一的网络层传输标准。
1.2 IPv4地址
在IP网络上,如果用户要将一台计算机连接到Internet上,就需要向因特网服务提供方ISP(Internet Service Provider)申请一个IP地址。
IP地址是在计算机网络中被用来唯一标识一台设备的一组数字。IPv4地址由32位二进制数值组成,但为了便于用户识别和记忆,采用了“点分十进制表示法”。采用了这种表示法的IP地址由4个点分十进制整数来表示,每个十进制整数对应一个字节。例如,IPv4地址使用二进制的表示形式为00001010 00000001 00000001 00000010,采用点分十进制表示法表示为10.1.1.2。
IPv4地址由如下两部分组成:
网络号码字段(Net-id)。IP地址的网络号码字段用来标识一个网络,网络号码字段的前几位用来区分IP地址的类型。
主机号码字段(Host-id)。主机号码字段用来区分一个网络内的不同主机。对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
IPv4地址的特点
IPv4地址的主要特点【1】有:
IP地址是一种非等级的地址结构,IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。
当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号码Net-id是不同的,这种主机称为多地址主机(Multihomed Host)。主机上的每个接口都对应着一个IP地址,因此多接口主机会有多个IP地址。
在IP地址中,所有分配到网络号码Net-id的网络都是平等的。
IPv4地址分类
为了方便IP地址的管理及组网,IP地址分成五类,如图所示。
目前大量使用的IP地址属于A、B、C三类IP地址中的一种。D类地址是组播地址,E类地址保留。A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法。在IETF(Internet Engineering Task Force)发布的RFC1166 Internet Numbers中详细描述了各类IP地址。
在使用IP地址时要注意,一些IP地址是保留作为特殊用途的,一般的用户不能使用。下表列出各类IP地址的范围。
网络类型 |
地址范围 |
说明 |
A |
0.0.0.0~127.255.255.255 |
全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播。 |
B |
128.0.0.0~191.255.255.255 |
全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播。 |
C |
192.0.0.0~223.255.255.255 |
全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播。 |
D |
224.0.0.0~239.255.255.255 |
D类地址是一种组播地址。 |
E |
240.0.0.0~255.255.255.255 |
保留。255.255.255.255用于局域网广播地址。 |
特殊IPv4地址
IP地址网络号 |
IP地址主机号 |
能否作为源端地址 |
能否作为目的端地址 |
描述 |
全0 |
全0 |
可以 |
不可以 |
用于本网络上的本主机 |
全0 |
主机号 |
可以 |
不可以 |
用于网络上的特定主机 |
127 |
非全0或全1的任何值 |
可以 |
可以 |
用于环回地址 |
全1 |
全1 |
不可以 |
可以 |
用于受限的广播(永远不被转发) |
Net-id |
全1 |
不可以 |
可以 |
用于向以Net-id为目的的网络广播 |
私有IPv4地址
为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。RFC1918描述了为私有网络预留的3个IP地址段。
网络类型 |
地址范围 |
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 |
1.3子网划分
通过将IP地址的网络部分进一步划分为若干个子网,解决了IP地址空间利用率低和两级IP地址不够灵活的问题。
当一个单位的主机很多而且分布在很广的地理范围时,为了便于管理,可将单位内部的主机号码再进一步划分为多个子网。通过子网划分,整个网络地址可以划分成更多的小网络。
子网的划分是网络内部的行为,从外部看,这个单位只有一个网络号码。只有当外部的报文进入到本单位范围后,本单位的路由设备才根据子网号码再进行选路,找到目的主机。
如图所示,为一个B类IP地址子网划分情况,其中子网掩码由一串连续的“1”和一串连续的“0”组成。“1”对应于网络号码和子网号码字段,而“0”对应于主机号码字段。
图中,把一个B类地址的Host-id的高位5bits用来划分子网,Subnet-id的范围是从00000~11111,总共可以划分25(32)个子网出来。对应的子网掩码也会相应的发生变化,比如Subnet-id为11111的子网掩码就是255.255.248.0。将IP地址与其相应掩码位执行与运算的结果就是网络地址。
多划分出一个子网号码字段是要付出代价的。举例来说,本来一个B类IP地址可以容纳65534个主机号码。但划分出5bits长的子网字段后,最多可有32个子网,每个子网有11bit的主机号码,即每个子网最多可有2046(211-2,去掉全1和全0的主机号码)个主机号码。因此主机号码的总数是(32 x 2046 = 65472)个,比不划分子网时要少62个。
子网划分与IP地址规划时,通常需要综合考虑以下原则,实现合理高效的网络规划。
层次性
实现网络的层次性划分,需要综合考虑地域和业务因素,采用自顶向下的方法划分,达到有效管理网络、简化路由表的目标。一般情况下:
· 对于大骨干网络和大城域网络相结合的网络,采用层次性划分方式。
· 对于行政区类型的网络,采用多级网络分配方式。
连续性
连续地址在层次结构的网络中易于进行路由聚合,大大缩减路由表数量,提高路由查找的效率。
· 尽量为每个区域分配连续的IP地址空间。
· 尽量为具有相同业务和功能的设备分配连续的IP