IPv4地址就是因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符。
IP地址由因特网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。
lPv4地址的编址方法经历了如下三个历史阶段:分类编址(1981年)、划分子网(1985年)、无分类编址(1993年)
32
比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用。
进制转换
- 十进制→二进制:除2取余法、观察法
- 二进制↔八进制:每3个二进制位对应一个八进制位
- 二进制↔十六进制:每4个二进制位对应一个十六进制位
网络类型 | 第一个可指派的网络号 | 最后一个可指派的网络号 | 不能指派的网络号 | 占总地址空间 | IP地址范围 | 网络数量及主机数量 |
---|---|---|---|---|---|---|
A类地址 | 1 | 126 | 0和127 | 1/2 | 1.0.0.1~126.255.255.254 | 126(28-1 -2)个,每个网络能容纳16,777,214(224 -2)个主机 |
B类地址 | 128.0 | 191.255 | 无 | 1/4 | 128.0.0.1~191.255.255.254 | 16384(216-2 )个,每个网络能容纳65534(216 -2)个主机 |
C类地址 | 192.0.0 | 223.255.255 | 无 | 1/8 | 192.0.0.1~223.255.255.254 | 2097152(224-3 )个,每个网络能容纳254(28 -2)个主机 |
D类地址 | 多播地址 | 1/16 | 224.0.0.1~239.255.255.254 | |||
E类地址 | 保留为今后使用 | 1/16 | 240.0.0.1~255.255.255.254 |
127.0.0.1
,最大的本地环回测试地址为127.255.255.254
。所以网络号范围是1~126注:
0.0.0.0
是一个特殊的IPv4地址,只能作为源地址使用,表示“在本网络上的本主机”。封装有DHCP Discovery报文的IP分组的源地址使用0.0.0.0;127.0.0.1
;255.255.255.255
是一个特殊的IPv4地址,只能作为目的地址使用,表示“只在本网络上进行广播(各路由器均不转发)”。一般不使用的特殊IP地址:
网络号 | 主机号 | IP地址 | 作为源地址 | 作为目的地址 | 表示的意思 |
---|---|---|---|---|---|
0 | 0 | 0.0.0.0 | 可以 | 不可以 | 在本网络上的本主机(例如,DHCP协议) |
0 | host-id | 0.host-id | 可以 | 不可以 | 在本网络上的某台主机host-id |
全1 | 全1 | 255.255.255.255 | 不可以 | 可以 | 只在本网络上进行广播(各路由器均不转发) |
net-id | 全1 | A类:net-id.255.255.255; B类:net-id.255.255; C类:net-id.255 |
不可以 | 可以 | 对网络net-id上的所有主机进行广播 |
127 | 非全0或全1的任何数 | 127.0.0.1~127.255.255.254 | 可以 | 可以 | 用于本地软件环回测试 |
【练习】请给出下图各网络的IPv4地址分配方案,要求尽量节约IP地址。
解析:1. 找出图中有哪些网络;2. 根据各网络中主机和路由器的接口总数量给各网络分配相应类别的网络号。3.依据所确定的网络号类别,为每个网络挑选一个网络号。
为什么需要划分子网?
比如一个单位有300台主机,如果申请C类网络地址,只有254个,不够使用,此时需要申请一个B类网络地址,很容易得知,分配出去300个IP地址后,申请得到的B类网络还剩下很多IP地址。
当单位扩大规模,需要再添加两个子网的时,又要为这两个子网分别申请B类地址,这会花费一些不必要的支出,实际上子网1申请到的B类地址还有很多没用到,我们希望能够将这些剩余地址应用到其他子网中(节约地址),具体实现上可以从主机号部分借用一部分比特作为子网号。
32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号:
IPv4
地址与其相应的子网掩码进行逻辑与运算(即掩码是1的部分)就可得到IPv4地址所在子网的网络地址。【习题】已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。
解析:根据所给网络地址可知其为C类网络地址,网络号占3字节,主机号占1字节;根据所给子网掩码可知,从1字节主机号中借用1比特作为子网号。
划分出的子网数量:21 = 2
每个子网可分配的地址数量:2(8-1) – 2 = 126 (减2是去掉主机号为全0的网络地址和全1的广播地址)
【练习】已知某个网络的地址为145.13.0.0,使用子网掩码255.255.192.0对其进行子网划分,请给出划分细节。
解析:根据所给网络地址可知其为B类网络地址,网络号和主机号各占2字节;根据所给子网掩码可知,从2字节主机号中借用2比特作为子网号。
划分出的子网数量:22 = 4
每个子网可分配的地址数量:2(16-2) – 2
【2012年题39】某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0,如该主机向其所在子网发送广播分组,则目的地址可以是()
A.180.80.76.0
B.180.80.76.255
C.180.80.
D.180.80.79.255
解析:由题目可知这是一个B类网络地址,将子网掩码的主机号部分转换为16个二进制比特,即1111 1100.0000 0000,其中有6个连续的比特1表示从主机号中借用6个比特作为子网号。将IP地址的主机号部分转换为二进制形式,即0100 1101.0011 0111,然后将子网掩码中连续6个比特1所对应的主机号部分作为子网号。
因此本题选D。
默认的子网掩码:是指在未划分子网的情况下使用的子网掩码。
划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。
为此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。
1993年,IETF发布了无分类域间路由选择CIDR(Classless Inter-Domain Routing)的RFC文档:RFC 1517~1519和1520。
CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念;
CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。
CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节。
例1:请给出CIDR地址块128.14.35.7/20的全部细节(最小地址,最大地址,地址数量,聚合C类网数量,地址掩码)。
解析:
使用无分类编址方法,可以根据客户的需要分配适当大小的CIDR地址块,因此可以更加有效地分配IPv4的地址空间。
使用无分类编址方法的另一个好处是路由聚合(也称为构造超网)。
路由聚合(构造超网)
【举例】
【2011年题38】在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是( )
A.0
B.1
C.2
D.4
【2018年题38】某路由表中有转发接口相同的4条路由表项,其目的网络地址分别为35.230.32.0/21、35.230.40.0/21、35.230.48.0/21和35.230.56.0/21,将该4条路由聚合后的目的网络地址为()
A.35.230.0.0/19
B.35.230.0.0/20
C.35.230.32.0/19
D.35.230.32.0/20
解析:路由聚合的方法:找共同前缀
IPv4地址的应用规划是指将给定的IPv4地址块(或分类网络)划分成若干个更小的地址块(或子网),并将这些地址块(或子网)分配给互联网中的不同网络,进而可以给各网络中的主机和路由器的接口分配IPv4地址。
【举例】假设申请到的C类网络为218.75.230.0,请使用定长的子网掩码给下图所示的小型互联网中的各设备分配IP地址。
应用需求:将C类网络218.75.230.0划分成5个子网,每个子网上可分配的IP地址数量不得少于各自的需求。即网络1需要IP地址数量为9,网络2需要IP地址数量为28,网络3需要IP地址数量为15,网络4需要IP地址数量为13,网络5需要IP地址数量为4。
【举例】假设申请到的地址块为218.75.230.0/24,请使用变长的子网掩码给下图所示的小型互联网中的各设备分配IP地址。
应用需求:从地址块218.75.230.0/24中取出5个地址块(1个“/27”地址块,3个“/28”地址块,1个“/30"地址块),按需分配给上图所示的5个网络。
在218.75.230.0/24地址块中给上图所示的网络N1~N5分配子块,分配原则是“每个子块的起点位置不能随意选取,只能选取块大小整数倍的地址作为起点”。建议先给大的子块分配。
32
比特(即4字节)为单位来描述。4
比特,表示IP协议版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本为号为4
(IPv4
)4
比特,表示IP数据报首部长度。该字段取值以4字节为单位5
,表示IP数据报首部只有20
字节(4
字节单位,所以取值5
对应20
字节)固定部分15
,表示IP数据报首部包含20
字节固定部分 + 最大40
字节可变部分1
到40
个字节不等。用来支持排错、测量及安全等措施4
字节长度的整数倍,使用全0
进行填充8
比特,利用该字段的不同数值可提供不同等级的服务质量,只有在使用区分服务时,该字段才起作用。一般情况下不使用该字段16
比特,表示IP数据报的总长度(首部+数据载荷),最大取值为十进制65535
,以字节为单位16
比特,属于同一个数据报的各分片数据报应该具有相同的标识(可理解为ID)+1
,并将此值赋给标识字段3
比特,各比特含义如下
DF
位:1
表示不允许分片,0
表示允许分片MF
位:1
表示"后面还有分片",0
表示"这是最后一个分片"0
13
比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少单位8
个字节为单位以上三个字段共同用于IP数据报分片:
【举例】某个IPv4数据报总长度为3820字节,采用20字节固定首部,根据数据链路层要求,需要将该IPv4数据报分片为长度不超过1420字节的数据报片。
总长度 | 标识 | MF | DF | 片偏移 | |
---|---|---|---|---|---|
原始数据报 | 3800+20 | 12345 | 0 | 0 | 0 / 8 = 0 |
分片1的数据报 | 1400+20 | 12345 | 1 | 0 | 0 / 8 = 0 |
分片2的数据报 | 1400+20 | 12345 | 1 | 0 | 1400 / 8 = 175 |
分片3的数据报 | 1000+20 | 12345 | 0 | 0 | 2800 / 8 = 350 |
8
比特,最初以秒为单位,最大生存周期为255
秒;路由器转发IP数据报时,将IP数据报首部中的该字段值减去IP数据报在本路由器上耗费的时间,若不为0
(说明路由器消耗时间后还活着)就转发,否则丢弃1
,若不为0
就转发,否则丢弃(防止兜圈)8
比特,指明IPv4
数据报的数据部分是何种协议数据单元PDU16
比特,用来检测首部在传输过程中是否出现差错,比CRC
检验码简单,称为因特网检验和IPv6
中,路由器不再计算首部校验和,从而更快转发IP数据报32
比特,用来填写发送该IP数据报的源主机IP地址和接收该IP数据报的目的主机【2018年题47】某公司网络下图所示。IP地址空间192.168.1.0/24被均分给销售部和技术部两个子网,并已分别为部分主机和路由器接口分配了IP地址,销售部子网的MTU=1500B,技术部子网的MTU=800 B.
(2)假设主机192.168.1.1向主机192.168.1.208发送一个总长度为1500B的IP分组,IP分组的头部长度为20B,路由器在通过接口F1转发该IP分组时进行了分片。若分片时尽可能分为最大片,则一个最大IP分片封装数据的字节数是多少?至少需要分为几个分片?每个分片的片偏移量是多少?
解析:
⌊ ( 780 ÷ 8 ) ⌋ × 8 = 97 × 8 = 776 \lfloor (780 \div 8) \rfloor \times 8 = 97 \times 8 = 776 ⌊(780÷8)⌋×8=97×8=776
从图中可知,主机的默认网关就是路由器R,主机会将Web请求发送给默认网关,由默认网关将Web请求转发到因特网。
因此,以太网帧头中的目的MAC地址字段,封装的就是默认网关的MAC地址。具体为00-21-27-21-51-ee
IP分组经过路由器R时,生存时间字段被减1;首部检验和会被重新计算;若IP分组总长度大于MTU,则需要进行分片。
此时总长度字段、标志字段、片偏移字段都需要修改。
为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP
ICMP差错报告报文共有以下五种:
当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。具体可再根据ICMP的代码字段细分为目的网络不可达、目的主机不可达、目的协议不可达、目的端口不可达、目的网络位置、目的主机未知等13种错误
当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报发送速率放慢
当路由器收到一个目的IP地址不是自己的IP数据报,会将其生存时间TTL字段值减1
。若结果不为0,则将该IP数据报转发出去;若结果为0,除丢弃该IP数据报外,还要向源点发送时间超过报文
当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,也会向源点发送时间超过报文
当路由器或目的主机收到IP数据报后,根据其首部中的检验和字段发现首部在传输过程中出现了误码,就丢弃该数据报,并向源点发送参数问题报文
路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)
如主机1的默认路由是R1,信息经过R1时,R1发现最佳路由不是自己,而是R2,所以通过ICMP告知主机1
32
比特的字段,其中写入的整数代表从1900年1月1日起到当前时刻一共有多少秒ping www.baidu.com
)实验背景:假设你是某高校的网络管理员。该高校申请到了一个公网地址102.3.1.1/30。现在要为该高校进行IP组网规划。假设使用172.16.0.0/16地址块。应如何规划才能尽量不浪费IP地址?请给出IP地址规划方案,并用下图实验拓扑进行模拟实验。
该校区有教学办公楼、图书馆、南区学生宿舍、英东楼北区学生宿舍公有5个区域需要分配IP地址。其中南区学生宿舍有1500台主机,英东楼中有700台主机,北区学生宿舍有500台主机,教学办公楼有100台主机,图书馆有50台主机。
实验步骤:
1、根据学校需求分配IP网段(理论方案)
区域 | 主机数 | 网段 | 子网掩码(前缀) | 网关 |
---|---|---|---|---|
南区学生宿舍 | 1500 | 172.16.0.0/21 | 255.255.248.0 | 172.16.7.254 |
英东楼 | 700 | 172.16.8.0/22 | 255.255.252.0 | 172.16.11.254 |
北区学生宿舍 | 500 | 172.16.12.0/23 | 255.255.254.0 | 172.16.13.254 |
教学办公楼 | 100 | 172.16.14.0/25 | 255.255.255.128 | 172.16.14.126 |
图书馆 | 50 | 172.16.14.128/26 | 255.255.255.192 | 172.16.14.190 |
外网网段 | 2 | 102.3.1.0/30 | 255.255.255.252 | 102.3.1.2 |
注:网关为网段内可用的最大主机地址。
2、完成出口路由器R1和ISP的接口配置
路由器所用主要配置命令:
# R1
<Huawei>sys # 进入系统视图
[Huawei]sysname R1 # 修改设备名称
[R1]int g0/0/0 # 进入接口视图
[R1-GigabitEthernet0/0/0]ip add 172.16.7.254 21
[R1-GigabitEthernet0/0/0]quit
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 172.16.11.254 22
[R1-GigabitEthernet0/0/1]q
[R1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip add 172.16.13.254 23
[R1]int g2/0/0
[R1-GigabitEthernet4/0/0]ip add 172.16.14.126 25
[R1]int g2/0/1
[R1-GigabitEthernet4/0/1]ip add 172.16.14.190 26
[ISP]int s2/0/0
[ISP-Serial2/0/0]ip add 102.3.1.1 30
# ISP
[ISP]int s4/0/0
[ISP-Serial4/0/0]ip add 102.3.1.2 30
# 查看接口信息
[R1]dis ip int b
4、验证内网连通
5、出口路由配置
在R1配置:
[R1]ip route-static 0.0.0.0 0.0.0.0 102.3.1.2
在ISP上配置:
[ISP]ip route-static 172.16.0.0 20 102.3.1.1
6、验证ISP与内网连通
思考题:如果设备R1上不做默认路由的配置,对本次实验是否有影响?
A:没有影响,对R1而言,所有网段均是直连网段,均已生成。可以使用 display ip routing-table
查看R1路由表
❗ 转载请注明出处
作者:HinsCoder
博客链接: 作者博客主页