目录
IPv4地址
当网络中的两台主机要进行通信时,必须知道双方各自的IP地址,TCP/IP协议通过IP地址来识别网络中不同的主机。
1. IP地址的表示
IP地址由32位二进制数组成,为了方便记忆,将IP地址32位进制数进行分段,每段8位,共4段,然后将没段8位二进制转换为十进制数,中间点号分割。这种表达方式称之为点分十进制
32位二进制数能表达2的32次方种不同的情况,达4294967296个不同的Internet地址
进制换算图:
2. IP地址的分类
每个IP地址内部分成两部分,即网络号和主机号。
- 网络号:也叫网络地址,用于标识大规模TCP/IP网际网络内的单个网段(即由网络组成的网络)。
- 主机号:也叫主机地址,用于识别每个网络内部的TCP/IP节点,如工作站、服务器、路由器或其它TCP/IP设备。
IP地址中的网络号和主机号总共32位,因为网络规模有所不同,为了方便网络的管理,IP地址被分为 A,B,C,D,E,5类
- A、B、C 类地址称之为单点传送地址,只能分配给唯一的主机;
- E类地址则是在IP地址设计之初保留作为科学研究用的;
IP地址类型 | 二进制固定最高位 | 二进制网络位 | 二进制主机位 | 网络号地址范围 | 可容纳主机数 |
A 类 | 0 | 8位 | 24位 | 1.0.0.0~126.0.0.0 | 2的24次方减2 |
B 类 | 10 | 16位 | 16位 | 128.0.0.0~191.255.0.0 | 2的16次方减2 |
C 类 | 110 | 24位 | 8位 | 192.0.0.0~223.255.255.0 | 2的8次方减2 |
D 类 | 1110 | 组播地址:IP地址范围224.0.0.0~239.255.255.255。 其中224.0.0.1指向所有主机,224.0.0.2指向所有路由器。 主要用于视频广播和视频点播系统。 | |||
E 类 | 11110 | 保留地址:240.0.0.0 ~ 255.255.255.255。科学研究用的。 |
3. 特殊IP地址
(1)广播地址
- 一个子网内的所有 网络接口 都能收到此广播消息。
- 直接广播:带目标网络号,主机地址二进制全1的地址。(使用的范围在当前网段下)
- 有限广播:网络号和主机地址二进制全为1的地址(即255.255.255.255)。(使用范围限于当前网段下 ,通常用于 DHCP 客户端向DHCP服务器请求时设置的报文目的地 IP 地址,且目标 MAC 为 FF:FF:FF:FF:FF:FF)
(2)组播地址
- 可实现跨网段的组播(多播)地址。
- D类地址,主要用于视频广播和视频点播系统
- 地址范围从 224.0.0.0 到 239.255.255.255
- 224.0.0.1 指所有主机,224.0.0.2 指所有路由器
(3)环回地址
- 网络地址是 127 的 IP 地址成为环回地址或回送地址,主要用于对本地回路测试及实现本地机器进程间的通信。
- 在实际中经常使用的环回地址是 127.0.0.1 ,它还有一个别名叫做 localhost。
(4)私有地址
- IP 地址是由网络信息中心统一管理并分配给提出注册申请的组织机构的,这类 IP 地址成为公有地址。
- 而私有地址属于非注册地址,专门为组织机构内部网络使用。
私有 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 |
特殊 IP 地址汇总:
网络地址 | 主机地址 | 地址类型 | 用途 |
全 0 | 全 0 | 本机地址 | 代表一个没有分配的主机地址,如 DHCP 客户端第一次 获取 IP 时发送报文所设置的源 IP,MAC 为 FF:FF:FF:FF:FF:FF |
有网络号 | 全 0 | 网络地址 | 标识一个网络 |
有网络号 | 全 1 | 直接广播地址 | 一个网段内广播 |
全 1 | 全 1 | 有限广播地址 | (255.255.255.255)网段内广播,可被路由 |
127 | 任意 | 环回地址 | 回送本机测试 |
子网技术
将单一网络划分为多个物理网络,并使用路由器将它们连接起来。这些物理网络通称为子网,这种操作方法称为子网划分。
1. 划分子网的方法
对于标准 A 类、B 类和 C 类地址来说,它们只具有网络号和主机号两层结构。为了划分子网,可以将其主机号分为两个部分,其中一部分用于子网号的编制,剩余部分用于主机号的编制。这样就形成了一个三层结构,即网络号、子网号、主机号。
2. 子网掩码
下图两个 IP 地址从外观上没有任何差别,那么如何区分这两个地址呢?这就要用到子网掩码。
子网掩码(子网屏蔽码)与 IP 地址相同,32位二进制数。对于子网掩码的取值,对应于 IP 地址,网络号和子网号的所有二进制位设置为1,主机号的所有二进制位设置为0。
子网掩码的表示方法:
- 点分十进制:表示法与 IP 地址中相同。
- 网络前缀标记法(网络地址位数):从左到右连续的取网络号和子网号的位数来表示子网掩码。列如,一个子网掩码为255.255.0.0 的 B类网络地址 156.81.0.0,用网络前缀标记法表示为 156.81.0.0/16。
A、B、C 类网络地址的默认子网掩码:
地址类型 | 子网掩码二进制位 | 点分十进制 | 网络前缀 | |||
A 类地址 | 11111111 | 00000000 | 00000000 | 00000000 | 255.0.0.0 | /8 |
B 类地址 | 11111111 | 11111111 | 00000000 | 00000000 | 255.255.0.0 | /16 |
C 类地址 | 11111111 | 11111111 | 11111111 | 00000000 | 255.255.255.0 | /24 |
3. 子网 IP 地址的计算
- 就是用 IP 地址与子网掩码进行“按位与(AND)”运算(二进制位运算),结果为网络地址。
- 即 1 & 1 = 1, 1 & 0 = 0,0 & 0 = 0。
例-1:已知 IP 地址为 B 类 168.16.16.51,默认子网掩码为 255.255.0.0,求出其网络地址。
例-2:已知 IP 地址为 B 类 168.16.16.51,非默认子网掩码为 255.255.255.0,求出其网络地址。
4. 划分子网步骤
- 根据所需网络数确定需要多少二进制位子网号标识网络上的每一个子网。
- 根据子网中的主机数确定需要多少主机号来标识每个子网上的每一条主机。
- 根据网络号和子网号的位数,计算符合网络要求的子网掩码。
- 确定标识每个子网的网络地址。
- 确定每一个子网上所使用的主机地址范围。
例子:
某公司向相关机构申请了一个 C 类网络号:203.66.77。该公司有 4 个分布于各地的局域网络,每个网络各约有 15 台主机。
为这 4 个子网分配子网地址与子网掩码,并计算 IP 地址范围。
- 确定子网位数:网络中有 4 个子网,2 n次方 - 2 >= 4,求 n (子网位数)?计算得出 n = 3 位二进制位(子网位)。剩余主机位8-3=5位,则每个子网中最多容纳 2 的 5 次方 = 32 台主机。
- 确定子网掩码:将 IP 地址的网络位和子网位写为 1,主机位写为 0,即可得到子网掩码。如下:
二进制 | 十进制 |
11111111.11111111.11111111.11100000 | 255.255.255.224 |
3. 可用子网数:3位子网位公有 000、001、010、011、100、101、110、111,8 种组合,
扣掉不可用的 000(避免代表本身:203.66.77.0)与111(避免代表广播:203.66.77.255),还有 6 个组合(子网)。如下子网地址:
网络位 | 子网位 | 主机位 | 十进制子网地址 |
11001001.01000010.01001101. | 001 | 00000 | 203.66.77.32 |
11001001.01000010.01001101. | 010 | 00000 | 203.66.77.64 |
11001001.01000010.01001101. | 011 | 00000 | 203.66.77.96 |
11001001.01000010.01001101. | 100 | 00000 | 203.66.77.128 |
11001001.01000010.01001101. | 101 | 00000 | 203.66.77.160 |
11001001.01000010.01001101. | 110 | 00000 | 203.66.77.192 |
4. 子网提供的 IP 地址范围:
子网地址 | 网络号 | 子网号 | 主机号 | 子网主机地址范围 | 直接广播地址 |
203.66.77.32 | 203.66.77. | 001 | 00001 | 203.66.77.33--> | 203.66.77.63 |
11110 | 203.66.77.62 | ||||
203.66.77.64 | 203.66.77. | 010 | 00001 | 203.66.77.65--> | 203.66.77.95 |
11110 | 203.66.77.94 | ||||
203.66.77.96 | 203.66.77. | 011 | 00001 | 203.66.77.97--> | 203.66.77.127 |
11110 | 203.66.77.126 | ||||
203.66.77.128 | 203.66.77. | 100 | 00001 | 203.66.77.129--> | 203.66.77.159 |
11110 | 203.66.77.158 | ||||
203.66.77.160 | 203.66.77. | 101 | 00001 | 203.66.77.161--> | 203.66.77.191 |
11110 | 203.66.77.190 | ||||
203.66.77.192 | 203.66.77. | 110 | 00001 | 203.66.77.193--> | 203.66.77.223 |
11110 | 203.66.77.222 |
IPv6
现在使用的 IPv4 采用 32 位地址长度,只有大约 43 亿个地址,估计在未来的若干年间将被分配完毕。
IPv6 地址的表示方法
- IPv6 地址采用十六进制的表示方法,共 128 位,分 8 组表示,每组 16 位,每组表示 4 个十六进制数。
- 各组之间用 “ : ”号隔开,例如:1080:0:0:0:8:800:200C:417A
- 在 IPv6 地址段中有时会出现连续的机组0,为了简化书写,这些 0 可以用“ : : ”代替,但一个地址中只能出现一次“ : : ”。例如:
1080:0:0:0:8:800:200C:417A | ---> | 1080::8:800:200C:417A |
FF01:0:0:101:0:0:1:101 | FF01::101:0:0:1:101 或 FF01:0:0:101::1:101 | |
0:0:0:0:0:0:0:1 | ::1 |
IPv6 包含 IPv4 地址:在某些情况下,IPv4 地址需要包含在 IPv6 地址中,这时,IPv6 的最后两组用现在习惯使用的 IPv4 地址的十进制表示法,前6组用 IPv6表示。例如:IPv4地址 61.1.133.1 包含在 IPv6地址中表示为 0:0:0:0:0:0:61.1.133.1 或者 ::61.1.133.1。
IPv6 地址结构
128 位的 IPv6 地址由 64 位网络地址和 64 位主机地址组成。其中,64 位的网络地址又分为 48 位的全球网络标识符和 16 位的本地子网标识符:
IPv6 特点
- 更大的地址空间。
IPv6 地址长度为128位(16字节),即有 2的128次方 - 1(3.4E+38)个地址,IPv6 地址空间是 IPv4 地址空间的 1E28 倍。 - 简化的报头和灵活的扩展。
IPv6 对数据报头作了简化,将其基本报头长度固定为 40 字节,减少了处理器开销并节省了网络宽带。此外,IPv6 定义了多种扩展报头,使得 IPv6 标的极其灵活,能提供对多种应用的强力支持,同时又为以后支持新的应用提供了可能。 - 层次化的地址结构。
IPv6 的设计者把 IPv6 的地址空间按照不同的地址前缀来划分,采用了层次化的地址结构,以利于骨干网路由器对数据包的快速转发。
在 IPv6 定义了 3 中不同的地址类型:单点传送地址、多点传送地址和任意点传送地址。所有类型的 IPv6 地址都属于接口(Interface)而不是节点(Node)。一个 IPv6 单点传送地址呗赋给某一个接口,而一个接口又只能属于某一个特定的节点,因此一个节点的任意一个接口的单点传送地址都可以用来表示该节点。 - 即插即用的连网方式。
IPv6 允许主机发现自身地址并自动完成地址更改,这种机制既不需要用户花精力进行地址设定,又可以大大减轻网络管理者的负担。IPv6 有两种自动设定功能,一种是和 IPv4 自动设定功能相同的名为“全状态自动设定”功能,另一种是“无状态自动设定”功能。 - 网络层的认证与加密。
IP 安全协议(IPSec)是 IPv4 的一个可选扩展协议,是 IPv6 的一个必须组成部分,主要功能是在网络层对数据分组提供加密和鉴别等安全服务。IPSec 提供了认证和加密两种安全机制。#认证机制:使 IP 通信的数据接收方能够确认数据发送方的真是身份以及数据在传输过程中是否遭到改动。
#加密机制:通过对数据进行编码来保证数据的机密性,以防数据在传输过程中被他人截获而失密。 -
服务质量的满足。服务质量(Quality of Service,QoS)通常是指通信网络在承载业务时为业务提供的品质保证。基于 IPv4 的Internet 在设计之初,只有一种简单的服务质量,即采用“尽最大努力(Best effort)”传输。但是随着 IP 网上多媒体业务增加(如 IP电话、VoD、电视会议),对传输延时和延时抖动均有严格的要求,因此对服务质量的要求也就越来越高。
IPv6数据包的格式包含一个8位的业务流类别(Class)和一个新的20位的流标签(FlowLabel)。它的目的是允许发送业务流的源节点和转发业务流的路由器在数据包上加上标记,中间节点在接收到一个数据包后,通过验证它的流标签,就可以判断它属于哪个流,然后就可以知道数据包的 QoS 需求,并进行快速地转发。 -
对移动通信更好的支持。未来移动通信与互联网的结合将是网络发展的大趋势之一。移动互联网将成为我们日常生活的一部分,改变我们生活的方方面面。IPv6 为用户提供可移动的 IP 数据服务,让用户可以在世界各地都使用同样的 IPv6 地址,非常合适未来的无线上网。
参考《计算机网络技术基础》主编:盛立军