1
第四章 网络层
2
主要内容
*因特网控制报文协议 ICMP4
因特网的路由选择协议 RIP5
网络层提供的两种服务1
*因特网的网际协议 IP2
*划分子网3
下一代的网际协议 IPv6(IPng)6
7
8
第四章 网络层
3
4.1 网络层提供的两种服务第四章 网络层
在计算机网络领域,网络层应该向运输层提供怎样的服务(,面向连接”还是“无连接” )曾引起了长期的争论。
争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责? 是 网络 还是 端系统?
4
4.1 网络层提供的两种服务第四章 网络层
1.电信网的成功经验 ——让网络负责可靠交付
建立 虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源 。
虚电路服务本质 上就是第一章所讨论过的面向连接服务 。
应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层
H1 H2
虚电路
H1 发送给 H2 的所有分组都沿着同一条虚电路传送
5
结论:
虚电路 数据通信过程与电路交换类似,均要经过,连接建立、数据交换和释放连接,三个阶段。由于分组交换采用了存储转发技术
,因而两者存在差异。电路交换在交换数据期间 自始至终地占用一条端到端的物理信道 ;虚电路在进行计算机通信时,断续地占用一段又一段的链路,只是建立了一条逻辑上的连接 。
虚电路就好像在两个主机之间建立了一条穿过网络的数字管道,
因而所有分组都将按发送的先后顺序沿着管道被送到目的主机,即分组的收发顺序是一致的 。
由于在建立虚电路时,涉及的中间交换结点 预先保留了一定数量的缓冲区,因而分组一般不会因网络出现拥塞而丢失。
分组不需携带完整的目的地址,仅需携带 虚电路号 。
第四章 网络层
4.1 网络层提供的两种服务
6
4.1 网络层提供的两种服务第四章 网络层
2.因特网采用的设计思想
网络层向上只提供简单灵活的,无连接的,尽最大努力交付 的 数据报服务 。
数据 报服务本质上就是第一章所讨论过的无连接服务 。
7
应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层
H1 H2IP 数据报丢失
H1 发送给 H2 的分组可能沿着不同路径传送第四章 网络层
4.1 网络层提供的两种服务数据报服务
8
4.1 网络层提供的两种服务第四章 网络层结论:
主机只要想发送数据就可随时发送 (数据发送的任意性 )。
每个分组独立地选择路由 。这样,先发送出去的分组不一定先到达目的站主机。这就是说,数据报不能保证按发送顺序交付给目的站 。
当网络发生拥塞时,网络中的某个结点可以将一些分组丢弃。所以,数据报提供的服务是不可靠的,它不能保证服务质量,而是一种,尽最大努力交付,的服务。
每个分组必需携带完整的目的地址信息。
9
1,网络互连面临的问题互连在一起的网络要进行通信,会遇到许多问题需要解决,包括:
不同的寻址方案主要反映在不同的网络,对网络主机的 编址方法 可能不同,那么应如何在不同网络之间寻址呢?
不同的最大分组长度例如,有的网络可能采用 128字节 的分组方案;有的网络可能采用 256字节 的分组方案,那么应如何在这两类不同网络之间进行分组长度的转换呢?
4.2 因特网的网际协议 IP
第四章 网络层
10
不同的超时控制机制主要指超时重发的定义方式 。
不同的网络接入机制例如受控接入和随机接入媒体使用方式的差异。
不同的差错恢复方法进行差错检查还是不检查?差错处理的方法?
不同的状态报告方法
不同的路由选择技术
不同的用户接入控制
不同的服务 (面向连接服务和无连接服务 )
不同的管理与控制方式
4.2 因特网的网际协议 IP
第四章 网络层
11
2.实现网络互连的常用设备及互连层
( 1) 中继的概念在实现网络互连时,一般不是简单地将网络直接连接在一起,而是 要通过一个中间设备,通常将起这种作用的设备 称为中继设备 ( Relay) 或中继系统,如图 4-1所示 。
网 A 网 B
中继系统图 4-1 中继系统的作用由于现代计算机网络均采用层次结构,因而在实现网络互连时,
随中继系统在哪一层引入,有着不同的作用 。
4.2 因特网的网际协议 IP
第四章 网络层
12
( 2) 中继系统的分类如果某中继系统在进行信息的转发时与各网络系统共享共同的第 N层协议,那么这个中继系统就称为 第 N层中继系统 。
按中继系统所属层次划分,通常将中继系统分成四大类,即 转发器,桥接器,路由器 以及 网关 。
a.转发器( Repeater)
又称为 中继器,属 物理层中继系统 。
转发器概念上仅是一种信号放大设备,其作用仅用来扩大网络覆盖范围,因而严格意义上讲,转发器并不属于实现多网互连的中继系统。
4.2 因特网的网际协议 IP
第四章 网络层
13
b.桥接器( Bridge)
属 数据链路层中继系统 。
c.网关( Gateway)
在 网络层以上各层 实现网络互连的中继系统称为网关。用网关连接两个不兼容的系统需在若干层进行协议的转换,因而概念上 网关也就是一个协议转换器,或语言翻译机,以实现不同协议标准的网络互连时的协议转换,如图 4-2所示。
4.2 因特网的网际协议 IP
第四章 网络层
14
从网关的构建技术来看,有 全网关( full-gateway) 和 半网关 (half-gateway)之分。
全网关,网关可以实现多种协议的相互转换。
半网关,网关仅实现单向协议的转换。
图 4-3描述了这两种网关的作用。
网 A(使用 X协议族 )
网 B(使用
Y协议族 )
网关(协议转换)
图 4-2 网关的作用
X Y
X Y
4.2 因特网的网际协议 IP
第四章 网络层
15
网 Z
网 W
网 X
网 Y
全网关网 X 网 Y
图 4-3 全网关和半网关的作用
X Y
半网关
4.2 因特网的网际协议 IP
第四章 网络层
16
d.路由器 ( Router)
网络层中继系统 。
所谓路由器其实就是一台 专用计算机,主要用来在互连网中进行 路由选择,协议转换和速度匹配,是目前用得最多的一种网络互连设备 。 其作用如图 4-4所示 。
图 4-4 路由器的作用局域网 广域网局域网路由器
4.2 因特网的网际协议 IP
第四章 网络层
17
互连网络与虚拟互连网络网络网络网络网络网络
(a) 互连网络 (b) 虚拟互连网络路由器虚拟互连网络
( IP 网)
第四章 网络层
4.2 因特网的网际协议 IP
18
3.互连协议 IP的认识这里通过一个例子,来进一步理解互连协议的作用。
例,通过路由器实现两个异种 LAN( 如以太网和令牌环网 ) 的远程互连,如图 4-5所示 。
LAN
X
( IP)
LAN
Y
( IP

WAN
使用协议 Z
路由器 A 协议 Z的 PDU
MACX头 LLC头 MACX尾 MACY头 LLC头 MACY尾路由器 B
图 4-5 两异种 LAN的远程互连以及互连协议 IP的作用
LAN X的帧结构 LAN Y的帧结构
IP
协议
X
协议
Z
IP
协议
Z
协议
Y
4.2 因特网的网际协议 IP
第四章 网络层
19
4.网际协议 IP的基本特征
( 1) 基于数据报服务 ;
( 2) 具双重作用,既可以作为独立的网络层协议(这也是 TCP/IP体系最初的考虑),也可作为加在某一网络层协议之上(如 X.25之上)的网络互连层的协议;
( 3) 与之配套使用的协议有四个,即
★ ARP(Address Resolution Protocol);
★ RARP(Reverse Address Resolution Protocol);
★ ICMP(Internet Control Message Protocol);
★ IGMP(Internet Group Management Protocol)。
图 4-6给出了网际协议 IP和四个协议的层次关系。
4.2 因特网的网际协议 IP
第四章 网络层
20
各种应用层协议网络接口层
(TELNET,FTP,SMTP 等 )
物理硬件运输层 TCP,UDP
应用层
ICMP
IP
RARP ARP
与各种网络接口网际层
IGMP
4.2 因特网的网际协议 IP
第四章 网络层图 4-6 网际协议 IP及其配套协议
21
5.Internet的 IP地址
( 1) IP地址的作用如果把整个 Internet 看成为一个单一的、抽象的网络,那么所谓 IP地址就是给每一个连接在 Internet上的主机分配的一个在全世界范围内是唯一的 32位二进制标识 。
( 2) IP地址的结构
IP地址的结构如图 4-7所示。
网络号 Net-id 主机号 host-id
32位图 4-7 IP地址的结构
4.2 因特网的网际协议 IP
第四章 网络层
22
( 3) IP地址的分类既然 IP地址的长度为 32位,那么在给定位数的情况下,网络号和主机号究竟分别应占多少位呢?
可以看出,网络号长度将直接决定了整个 Internet中能包括的不同网络数 。同理,主机号长度则直接决定了在每个网络中能容纳的主机数 。
为了便于对 IP地址进行管理,同时还考虑到网络的差异很大,
有的网络拥有很多主机,而有的网络拥有的主机则很少。 因此因特网的 IP地址分成为了五大类,即 A类到 E类,如图 4-8所示 。
4.2 因特网的网际协议 IP
第四章 网络层
23
4.2 因特网的网际协议 IP
第四章 网络层
net-id
24 bit
host-id
24 bit
net-id
16 bit
net-id
8 bit
0A 类地址
host-id
16 bit
B 类地址
C 类地址 01 1
host-id
8 bit
D 类地址 1110 多 播 地 址
E 类地址 保 留 为 今 后 使 用1111 0
01
图 4-8 IP 地址中的网络号字段和主机号字段
24
( 4) IP地址的表示法
4.2 因特网的网际协议 IP
第四章 网络层
10000000000010110000001100011111 机器中存放的 IP 地址是 32 bit 二进制代码
10000000 00001011 00000011 00011111 每隔 8 bit 插入一个空格能够提高可读性采用 点分十进制 记法则进一步提高可读性 128.11.3.31
128 11 3 31 将每 8 bit 的二进制数转换为十进制数
25
( 5)特殊用途的 IP地址网络号 主机号 作 用
0 0
0 非 0
0非 0
非 0 & 非全 1 全 1
全 1 全 1
“本网络上,的,本主机,
“本网络上,的,某一台主机,
“本主机,所连接的,网络地址,
“针对目的网络所有主机,的 广播地址仅在本网络上广播
127 非 0 & 非全 1 回送地址 (一般为 127.0.0.1)
4.2 因特网的网际协议 IP
第四章 网络层
26
( 6) IP地址的特点
★ 路由器仅根据 IP地址的网络号来转发分组,即路由表中只需存储网络号;
★ 实际上 IP 地址是标志 一个主机(或路由器)和一条链路的接口 。
例如,可以多个主机公用一个 IP地址,也可以一台主机拥有多个 IP地址;
★ 当一个主机或网络设备同时连接到两个网络上时(如路由器),该主机就 必须同时具有两个网络号 net-id不同的 IP地址,这种主机通常称为 多地址主机 。
4.2 因特网的网际协议 IP
第四章 网络层
27
★ 按照因特网的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
★ 在 IP地址中,所有分配到网络号 net-id的网络 (不管是局域网还是广域网 )都是 平等 的 。
图 4-9 描述了互联网中 IP地址的作用。
6.2 因特网的网际协议 IP
第四章 网络层
28
网桥
LAN 1
222.1.1
LAN 2
222.1.2
LAN 3
222.1.3
222.1.1.1 222.1.1.2 222.1.1.3
222.1.3.3
222.1.3.1
222.1.2.4 222.1.2.3
222.1.2.2
222.1.2.1222.1.2.5
222.1.3.2
222.1.1.4
R1
R2R3
图 4-9 互联网中的
IP地址
222.1.4.2 222.1.4.1
Ni 222.1.4
29
接下来,我们思考关于 IP地址的几个问题:
★ 在同一个局域网上的主机或路由器的 IP 地址有何特点?
(网络号必须是一样的)。
★ 路由器应有几个 IP地址? (路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的
IP 地址。)
★ 只有一个 IP地址的路由器合法吗? (两个路由器直接相连的接口处,可指明也可不指明 IP 地址。如指明 IP 地址,
则这一段连线就构成了一种只包含一段线路的特殊,网络,。
现在常不指明 IP 地址。)
4.2 因特网的网际协议 IP
第四章 网络层
30
直接交付和间接交付间接交付间接交付 间接交付
A
B
C
直接交付直接交付直接交付不需要使用路由器但间接交付就必须使用路由器固定部分可变部分
0 4 8 16 19 24 31
版 本标志生 存 时 间 协 议标 识服 务 类 型 总 长 度片 偏 移填 充首 部 检 验 和源 地 址目 的 地 址可 选 字 段 (长 度 可 变)
比特首部长度
0 1 2 3 4 5 6 7
D T R C 未用优 先 级数 据 部 分比特数 据 部 分首 部传送
IP 数据报首部图 4-15 给出了 IP数据报的基本格式
32
4.2 因特网的网际协议 IP
第四章 网络层
9.IP层转发分组的流程
★ 如图 4-16,有四个 A 类网络通过三个路由器连接在一起 。 每一个网络上都可能有成千上万个主机 。
★ 可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。
★ 但若按主机所在的 网络地址 来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。
下面以此为例来讨论 IP分组的转发流程。
图 4-16 路由表举例网 1
10.0.0.0
网 4
40.0.0.0
网 3
30.0.0.0
网 2
20.0.0.0
10.0.0.4 40.0.0.430.0.0.220.0.0.920.0.0.7
目的主机所在的网络 下一跳地址
20.0.0.0
30.0.0.0
10.0.0.0
40.0.0.0
20.0.0.7
30.0.0.1
直接交付,接口 1
直接交付,接口 0
路由器 R2 的路由表
30.0.0.1
10.0.0.4 40.0.0.430.0.0.220.0.0.920.0.0.7 30.0.0.1
链路 4链路 3链路 2链路 1
R2 R3R1
0 1
R2 R3R1
在路由表中,对每一条路由,最主要的是
(目的网络地址,下一跳地址)
0 01 1
34
4.2 因特网的网际协议 IP
第四章 网络层
IP分组转发算法:
(1) 从数据报的首部提取目的主机的 IP 地址 D,得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则把数据报 直接交付 目的主机 D;否则是 间接 交付,执行 (3)。
(3) 若路由表中有目的地址为 D 的 特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 (4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行 (5)。
(5) 若路由表中有一个 默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 (6)。
(6) 报告转发分组出错 。
35
1.问题的提出
★ IP地址的管理问题和利用率问题。
例如,设某个单位申请到了一个 B类地址,理论上该单位在同一个网络号下可支持 65534台主机。但是可能回存在两个问题
:第一,如何同时管理 6万多台主机;第二,如果该单位用不了这么多的 IP地址,别的单位能用吗?
★ 如果每个物理网络均分配一个网络号,路由器的路由表会变得很大,而使网络的性能变差。
★ 局域网的规模差异很大,网络间的安全访问使得两级结构的 IP
地址很难应对。
为了提升 IP地址使用上的灵活性,提出了,子网,的概念。
4.3 子网划分第四章 网络层
36
2.子网的划分机制思想,将 IP地址中 主机号字段的若干个比特 拿出来作为,子网号字段,,剩下的比特仍为 主机号字段,如图所示。
引入子网的概念后,可以用路由器来分割各子网,从而更加便于管理。
注意,子网的划分纯属一个单位内部的事,在本单位以外看不见这样的划分。从外部看,这个单位仍只有一个网络号。只有当外面的分组进入到本单位范围后,本单位的路由器才根据子网号进行选路,最后找到目的主机。
图 4-17和图 4-18给出了一个子网划分的实例。
Net-id subnet-id host-id
4.3 子网划分第四章 网络层
R1
R3
R2
我的网络地址是 145.13
所有到网络 145.13的分组均到达此路由器
145.13.0.0
网络
145.13.21.23
145.13.21.9
145.13.21.8
145.13.7.56
145.13.7.35
145.13.7.34145.13.3.101145.13.3.11
145.13.3.10
图 4-17 一个 B类网络 145.13.0.0
R1
R3
R2
所有到网络 145.13的分组均到达此路由器 145.13.21.23
145.13.21.9
145.13.21.8
145.13.7.56
145.13.7.35
145.13.7.34
145.13.3.101145.13.3.11
145.13.3.10
图 4-18 将图 4-17的网络划分为三个子网(对外仍是一个网络)
子网 145.13.3.0
子网 145.13.21.0
子网 145.13.7.0网络 145.13.0.0
39
问题,由于子网号是人为确定的,不具备固定格式,因而如何标识其所占位数呢? 而 从一个 I P数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网的划分 。 也就是说,如何来判断有子网划分后的网络地址 ( 网络号 +子网号 )?
3.子网掩码的概念
IP协议规定了一个 32位的 子网掩码 (subnet mask)来表示子网号字段的长度,即用 一连串的,1”和,0”来分别获取网络号、子网号和主机号。
其中:
,1”的个数对应于网络号和子网号字段所占的比特数;
,0”的个数对应于主机号字段所占的比特数。
图 4-19给出了一个基于 B类 IP地址的子网掩码例子。
4.3 子网划分第四章 网络层
10 net- id host- id
10 net- id subnet- id host- id
1111111111111111 111111 00000000000
本地分配
B类地址,
增加了子网号字段子网号 主机号子网掩码(模板)
图 4-19 子网掩码的实例
41
4.引入子网掩码后的寻址过程采用子网掩码后,路由器的寻址过程将演变成一个两级寻址过程:
★ 检查分组目的 IP地址中的网络号,若网络号不是本网络,
则从路由表中找出相应的转发结点地址将其转发出去 。
★ 检查子网号,当网络号是本网络时,路由器将检查子网号
,向相应的子网转发此分组 。
图 4-20说明了引入子网概念后的路由器寻址过程 。
4.3 子网划分第四章 网络层
H1
128.30.33.13
网络地址,128.30.33.0
子网掩码,255.255.255.128子网 1
128.30.33.1
128.30.33.130
0
1
子网 2 128.30.33.129 128.30.33.138
0
1
R1
R2
H2
子网 3
128.30.36.12
128.30.36.2
H3
网络地址,128.30.33.128
子网掩码,255.255.255.128
网络地址,128.30.36.0
子网掩码,255.255.255.0
R1的路由表目的网络地址 子网掩码 下一跳
128.30.33.0 255.255.255.128 接口 0
128.30.33.128 255.255.255.128 接口 1
128.30.36.0 255.255.255.0 R2
图 4-20 主机 H1发一个分组给主机 H2
43
5.思考二个问题
★ 有一个 B类网络,网络号为 130.130.0.0,要求对该网络进行子网划分,子网数应不少于 100个,子网号应不得少于多少位?
★ 计算机学院局域网中某子网各主机的 IP地址为:
218.103.24.96~ 218.103.24.127,该子网的子网掩码是什么?
4.3 子网划分第四章 网络层
44
1.为什么需要 ICMP
IP协议作为一个提供数据报服务的协议,不能保证数据报不丢失。问题在于,从网络互连层来看,数据传送的 质量保证 应如何体现呢?因特网将这一任务交给了 ICMP协议。
2.ICMP的作用支持主机或者路由器向其他主机(通常是源主机)或路由器报告差错情况和提供有关异常情况的报告,以减少分组的丢失。
4.4 因特网控制报文协议 ICMP
第四章 网络层
45
3.ICMP协议的特征
★ ICMP不是高层协议,它仍是网际层的一个协议 。
★ ICMP报文作为 IP数据报的数据,加上 IP数据报的首部,
组成 IP数据报发送出去 。
★ ICMP报文分为两大类别,即 ICMP差错报文和 ICMP询问报文 。
★ 与 IP协议一样,仍以 4个字节为一个描述单位 。
图 4-21给出了 ICMP报文与 IP包的关系以及报文格式 。
4.ICMP协议类型字段的值与报文类型的关系
4.4 因特网控制报文协议 ICMP
第四章 网络层
0 8 16 31
类型 代码 检验和
ICMP报文
ICMP的数据部分(长度取决于类型)
(这 4个字节取决于 ICMP报文的类型)
所有 ICMP报文的前 4个字节都是一样的数据报首部 数据报数据
IP数据报图 4-21 ICMP报文的格式
47
表 4-1 类型字段的值与 ICMP报文类型的关系
ICMP报文种类 类型的值 ICMP报文的类型差错报告报文
3
4
11
12
5
终点不可达源站抑制 (通知源站放慢发送速率 )
时间超过 (通知已丢失超时报文 )
参数问题 (告知数据报首部问题 )
改变路由询问报文
8或 0
13或 14
17或 18
10或 9
Echo请求 (8)或回答 (0)
时间戳请求或回答地址掩码请求或回答路由器询问或通告
4.4 因特网控制报文协议 ICMP
第四章 网络层
48
5.ICMP协议报文应用举例
ICMP Echo请求报文:类型字段取 8。
作用,用来支持主机或路由器向一个特定目的的主机发送询问。
规定,凡收到 ICMP Echo请求报文的机器必须给发出此报文的源主机或路由器发送 ICMP Echo应答报文 。
实用价值,ICMP询问报文常用来测试目的站是否可达以及了解其有关状态。
应用实例,因特网的应用层有一个十分有用的服务,称为 PING
( Packet InterNet Groper),被用来测试两个主机之间的连通性。
PING使用了 ICMP Echo请求与 ICMP Echo回答报文。
4.4 因特网控制报文协议 ICMP
第四章 网络层
49
4-01
4-03
4-04
4-07
4-09
4-21
课后练习第四章 网络层