第四章 IP地址规划
文章目录
- 一、网络层协议
- 1、网络层定义
- 2、IP协议
- 3、数据封装
- 4、IPv4报文格式
- 5、数据包分片
- 6、生存时间
- 7、协议号
- 二、IPv4地址介绍
- 1、IP地址定义
- 2、IP地址的表示
- 3、IP地址构成
- (1)、网络部分
- (2)、主机部分
- (3)、网络掩码
- 4、IP地址寻址
- (1)、二层网络寻址
- (2)、三层网络寻址
- 5、IP地址分类
- 6、IP地址类型
- (1)、网络地址
- (2)、广播地址
- (3)、可用地址
- 7、私网IP地址
- 8、特殊IP地址
- 三、子网划分
- 1、背景知识
- 2、子网划分
- (1)、确认需要多少子网位
- 3、计算新的子网参数
一、网络层协议
1、网络层定义
网络层是计算机网络体系结构中的第三层(在OSI七层模型中),位于数据链路层之上、传输层之下。它的主要功能是实现数据包从源主机到目的主机的逻辑寻址与路由选择,即负责将数据跨越多个网络进行传输。
网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。
2、IP协议
IP是Internet Protocol的缩写。 Internet Protocol本身是一个协议文件的名称,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。
经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容。
IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。
3、数据封装
应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。
如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。
这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。
4、IPv4报文格式
IP Packet(IP数据包),其包头主要内容如下:
Version:4 bit,4:表示为IPv4;6:表示为IPv6。
Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
Total Length:16 bit,总长度,整个IP数据包的长度。
Identification:16 bit,标识,分片重组时会用到该字段。
Flags:3 bit,标志位。
Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
Time to Live:8 bit,生存时间。
Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。
常见值:
1: ICMP, Internet Control Message;
2: IGMP, Internet Group Management;
6: TCP , Transmission Control Protocol;
17: UDP, User Datagram Protocol。
Header Checksum:16 bit,首部检验和。
Source IP Address:32 bit,源IP地址。
Destination IP Address:32 bit,目的IP地址。
Options:可变,选项字段。
Padding:可变,填充字段,全填0。
5、数据包分片
将报文分割成多个片段的过程叫做分片。
网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。
Identification:16 bit,发送主机赋予的标识,分片重组时会用到该字段。
Flags:3 bit,标志位。
保留段位:0,保留。
不分段位:1,表示“不能分片”;0,表示“能分片”。
更多段位:1,表示“后面还有分片”;0,表示“最后一个数据片”。
Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文。
6、生存时间
Time to Live:8 bit,生存时间。可经过的最多路由数,即数据包在网络中可通过的路由器数的最大值。
- 报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞。
- 为避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1。初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。(注意:网络设备也可被配置为不向源端发送ICMP错误消息。)
7、协议号
IP报文头中的协议号字段标识了将会继续处理该报文的协议。
即指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上报给哪个进程处理。
二、IPv4地址介绍
1、IP地址定义
IP地址(Internet Protocol Address)是分配给网络中每个设备的一串数字标识,用于在网络层实现主机寻址与通信定位。它使得数据包能够在复杂的网络环境中从源主机正确地传输到目标主机。
IP地址是网络层逻辑地址,工作在OSI模型的第三层(网络层),主要功能包括:
- 唯一标识网络中的设备(主机或路由器接口)
- 支持跨网络的数据路由和转发
- 与MAC地址(物理地址)不同,IP地址具有层次性(网络部分 + 主机部分)
2、IP地址的表示
IP地址是长度是32 bit,由4个字节组成。为了阅读和书写方便,IP地址通常采用点分十进制数来表示。
00000000.00000000.00000000.00000000~11111111.11111111.11111111.11111111,
即
0.0.0.0~255.255.255.255
。
3、IP地址构成
(1)、网络部分
网络部分:用来标识一个网络。
- IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。
- 对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
(2)、主机部分
主机部分 (主机号):用来区分一个网络内的不同主机。
(3)、网络掩码
网络掩码 (Netmask),又称子网掩码 (Subnet Mask):
网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
网络掩码不是一个IP地址,在二进制的表示上是一堆连续的1、后面接一堆连续的0。
通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码
0.0.0.0
的长度是0,掩码252.0.0.0
的长度是6。网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位。
4、IP地址寻址
(1)、二层网络寻址
二层网络寻址:可直接通过IP地址,找到对应的主机接口。
(2)、三层网络寻址
三层网络寻址:利用网关转发来自不同网段之间的数据包。
5、IP地址分类
为了方便IP地址的管理及组网,IP地址分成五类:
A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法。
A、B、C三类地址是单播IP地址 (除一些特殊地址外),只有这三类地址才能分配给主机接口使用。
D类地址属于组播IP地址。
E类地址专门用于特殊的实验目的。
A类网络的网络号为8 bit,个数很少,但所允许的主机接口的个数很多;首位恒定为0,地址空间为:
0.0.0.0~127.255.255.255
。
B类网络的网络号为16 bit,介于A类和C类网络之间;首两位恒定为10,地址空间为:128.0.0.0~191.255.255.255
。
C类网络的网络号为24 bit,个数很多,但所允许的主机接口的个数就很少;首三位恒定为110,地址空间为:192.0.0.0~223.255.255.255
。
注:
主机 (Host):通常指路由器和计算机的统称。并且常把主机的某个接口的IP地址简称为主机IP地址。
组播地址:组播能实现一对多传递消息。
6、IP地址类型
(1)、网络地址
网络地址:用于标识一个网络。
- 网络号为X,主机号的每个比特都为0。
- 不能分配给具体的主机接口使用。
(2)、广播地址
广播地址:用于向该网络中的所有主机发送数据的特殊地址。
- 网络号为X,主机号的每个比特都为1。
- 不能分配给具体的主机接口使用。
(3)、可用地址
可用地址:又称主机地址,可分配给网络中的节点或网络设备接口的地址。
一个网段可用地址数量计算:
一个网段的主机位为n位,则IP地址数为:2ⁿ,可用IP地址数为:2ⁿ-2 (减去网络地址和广播地址)。
7、私网IP地址
公网IP地址:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是指公网IP地址。
私网IP地址:实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述情况,称为私网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
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
8、特殊IP地址
IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用,举例如下。
255.255.255
:
- 这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。
- 路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发。
0.0.0.0
:
- 如果把这个地址作为网络地址,它的意思就是“任何网络”的网络地址;如果把这个地址作为主机接口地址,它的意思就是“这个网络上主机接口”的IP地址。
- 例如:当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址。
127.0.0.0/8
:
- 这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备自身的软件系统。
- 一个设备产生的、目的IP地址为环回地址的IP报文是不可能离开这个设备本身的。
169.254.0.0/16
- 如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信。
三、子网划分
对
192.168.10.0/24
网段进行子网划分
1、背景知识
原始网络:
192.168.10.0/24
- 子网掩码:
255.255.255.0
- 可用主机数:254(2^8 - 2)
- 默认情况下,这个网段只能支持一个局域网
2、子网划分
将
192.168.10.0/24
划分为 4个等分子网,每个子网能容纳约60台主机。
(1)、确认需要多少子网位
要划分成 4 个子网:
2^n≥4→n=2
所以我们需要从原来的主机部分“借用” 2位 来作为子网位。
原始
/24
表示前24位是网络位,现在加上2位子网位 → 新的前缀长度为/26
新子网掩码:
/26
→255.255.255.11000000
→255.255.255.192
3、计算新的子网参数
参数 | 值 |
---|---|
新前缀长度 | /26 |
子网掩码 | 255.255.255.192 |
每个子网的主机位数 | 32 - 26 = 6 位 |
每个子网可用主机数 | 26−2=6226−2=62 台 |
子网数量 | 22=422=4 个 |
主机地址不能全0(网络地址)和全1(广播地址),所以减2
原 /24: 192.168.10.[00000000] ~ [11111111] → 共256个地址
拆分为 /26: 每64个地址一组(2^6 = 64)第1组: 00 000000 → 00 111111 → 0~63 → 192.168.10.0/26
第2组: 01 000000 → 01 111111 → 64~127 → 192.168.10.64/26
第3组: 10 000000 → 10 111111 → 128~191 → 192.168.10.128/26
第4组: 11 000000 → 11 111111 → 192~255 → 192.168.10.192/26