第四章 网络层
大纲
| 谢仁希 | 王道 | 节 |
---|
网络层提供的两种服务 | p113,4.1 | P37, | 2.1.5 | 网际协议IP | p115,4.2 | P143,P194,P135 | 4.3.1 & 4.3.2 & 4.3.4的1,2 & 4.8 4.1.1 | 划分子网和构造超网 | p135,4.3 | P148, | 4.3.3 | 网际控制报文协议ICMP | p147,4.4 | P152, | 4.3.4的4 | 互联网路由选择协议 | p151,4.5 | P177, P139, | 4.5 4.2.1和4.2.2 | 虚拟专用网VPN | p185, | | | 网络地址转换NAT | p187, | p147, | |
4.1 网络层提供的两种服务
4.1.1 数据报和虚电路
这两种服务方式都由网络层提供;且数据报方式和虚电路方式是 分组交换(物理层)的两种方式。
补充概念:
- 无连接服务(数据报为网络层提供):不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
- 连接服务(虚电路为网络层提供):首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组, 系列分组传输路径相同,传输结束后拆除连接。
1. 数据报服务
报文被拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成的就是数据报分组(即网络层的PDU)。
数据报服务的流程:主机A现将分组逐个发往与它直接相连的交换结点A,交换结点A缓存收到的分组后查找自己的转发表,按照转发表转发出去(由于不同时刻的网络状态不同,所以转发表也不尽相同)。
特点:
- 不需要事先建立连接。可随时发送分组,网络中的结点随时可接受结点。
- 尽最大努力交付,不保证可靠性,传输路径可能不同,也不一定按序到达终点。
- 分组要包括发送端和接收端的完整地址,以便分组进行独立传输。
- 分组在交换结点存储转发时,要排队等候处理,会有一定的时延。交换结点还可以根据情况丢弃部分分组,所以会导致丢失分组。
- 网络具有冗余路径,所以对故障的适应能力强。
- 延时一般较小,提高了网络的吞吐量。
- 通信双方不独占某条链路,资源利用率高。
- 分组在某一条链路上传送时不占用网络的其他资源,资源是共享的。
- 不同的分组可以走不同的路径,也可以按不同的顺序不分先后的到达目的结点。
2. 虚电路
试图将数据报方式与电路交换方式结合起来,发挥两者的优点,来达到最优的数据交换效果。
整个通信分为三个阶段:虚电路建立、数据传输、虚电路释放。
特点:
- 通信链路的建立和拆除需要时间开销,所以对于交互式应用和小量的短分组情况有点浪费,但长时间、频繁的数据交换效率较高。
- 路由选择体现在连接建立阶段,连接建立后,就确定了传输路径。
- 提供了可靠的通信功能,能保证每个分组正确且有序的到达。
- 分组通过虚电路上的每个节点时,节点只进行差错检测,不进行路由选择。
- 一次通信的所有分组都通过虚电路顺序传送,分组不需携带源地址、目的地址等信息,但要包含虚电路号,相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
- 有一个致命的弱点:若网络中的某个结点或者某条链路出现故障而彻底失效,所有经过该结点或该链路的虚电路将遭到破坏。
- 每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对 两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务。
注意:网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
3. 比较与区别
数据报服务和虚电路服务的比较
| 虚电路服务 | 数据报服务 |
---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 | 连接的建立 | 必须有 | 不需要 | 目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号 | 每个分组都有完整的目的地址 | 路由选择 | 属于同一条虚电路的分组按照同一路由转发 | 每个分组独立地进行路由选择和转发 | 分组顺序 | 保证分组的有序到达 | 不保证分组的有序到达 | 对网络故障的适应性 | 所有经过故障结点的虚电路均不能正常工作 | 出故障的结点丢失分组,其他分组路径选择发生变化时可以正常传输 | 差错处理和流量控制 | 可由分组交换网负责,也可由用户主机负责 | 由用户主机进行流量控制,不保证数据报的可靠性 |
注:TCP/IP 体系的网络层提供的是数据报服务。
4.2 网际协议 IP
IPv1、2、3、5从未使用过。
一些概念
- 与 IP 协议配套使用的还有三个协议:ARP、ICMP、IGMP。
- TCP/IP 体系结构中网络层通常被称为网际层或者 IP 层。
- IP 协议消除了异构网络之间的差异性,使得在网络层看来就好像是一个网络一样。
- 一个 IP 地址在整个互联网范围内是唯一的。
4.2.1 虚拟互连网络
1.一些中间设备
层次 | 设备 |
---|
网络层以上 | 网关 | 网络层 | 路由器 | 数据链路层 | 网桥(或者叫桥接器) | 物理层 | 转发器 |
2.虚拟互连网络
? 虚拟互连网络就是指使用相同的网际协议 IP 把互连起来的计算机网络。 使用 IP 协议就可以使性能各异的网络在网络层上看起来好像是一个统一的网络。
互联网可以由多个异构网络互连组成。
4.2.2 分类的 IP 地址
1.IP 地址及其表示方法
? IP 地址的编址方法经过了三个历史阶段 ? 1)分类的 IP 地址 ? 2)子网的划分 ? 3)构成超网
一个 IP 地址在整个互联网范围内是唯一的。
2.常用的三种类别的 IP 地址
1)A类网络
A类地址的网络号字段占一个字节,且只有7位可以使用(第1位固定为0)。 可指派的网络号是 126 个(即
2
7
?
2
2^7-2
27?2 )少的两个网络号是 1:IP 网络号全 0 表示 “这个(this)”。(是网络号!!!只有8位 如:0000 0000)是一个保留地址,意思是 “ 本网络”; 2:网络号为 127 (0111 1111)保留作为本地软件,环回测试本主机进程之间的通信之用。如果一个主机发送的一个目的地址为环回地址(例如:127.0.0.1)的 IP 数据报,则本机中的协议处理软件就处理数据报中的数据,而不会把数据报发送到任何网络。划重点:目的地址是环回地址的 IP 数据报永远不会出现在任何网络上,因为网络号为 127 的地址根本不是一个网络地址。
A 类地址的主机号占 3 个字节,因此每一个A类网络的最大主机数是
2
24
?
2
2^{24} -2
224?2,少的两个主机号是: 1)全 0 表示该 IP 地址是 “本主机” 所连接到的***单个网络地址***。 (是主机号(后24位)如:一个主机的 IP 地址为 5.6.7.8,则该主机所在的网络地址就是 5.0.0.0), 2)全 1 表示 “所有的(all)”,全 1 的表主机号字段示该网络上的所有主机。
2)B类网络
网络号占 2个字节 16位,但前两位固定为 (10) 所以剩下14位可以自由分配,但注意:128.0.0.0 是不指派的,可以指派的最小网络地址为 128.1.0.0,故总数为
2
14
?
1
2^{14}-1
214?1 。
主机号占 2 个字节,扣除全0 和 全1 的主机号,剩下
2
16
?
2
2^{16}-2
216?2 个主机数。
总地址空间为
2
30
2^{30}
230 个地址,占总 IP 地址空间的 25%。
3)C类网络
网络号有 3个字节,最前三位固定为 (110),剩下 24 -3 = 21位,而且 192.0.0.0 也是不指派的, 所以可以指派的最小网络地址是 192.0.1.0,所以可指派的网络总数为
2
21
?
1
=
2097151
2^{21}-1=2097151
221?1=2097151。
每个网络主机号占 8位,而且 全0(XXXX.XXXX.XXXX.0000) 和 全1(XXXX.XXXX.XXXX.1111)也都是不指派的,所以C类网络每个网络的最大主机数是
2
8
?
2
=
254
2^{8}-2=254
28?2=254 个。
总地址空间为
2
29
2^{29}
229
4)总结三类网络
IP 地址的指派范围
网络类别 | 最大可指派的网络数 | 第一个可指派的网络号 | 最后一个可指派的网络号 | 最大地址空间 |
---|
A |
126
=
2
7
?
2
126=2^7-2
126=27?2 | 1.X.X.X | 126.X.X.X |
2
31
2^{31}
231 | B |
16383
=
2
14
?
1
16383=2^{14}-1
16383=214?1 | 128.1.X.X | 191.255.X.X |
2
30
2^{30}
230 | C |
2097151
=
2
21
?
1
2097151=2^{21}-1
2097151=221?1 | 192.0.1.X | 223.255.255.X.X |
2
29
2^{29}
229 |
网络类别 | 最大可指派的主机数 | 第一个可指派的主机号 | 最后一个可指派的主机号 |
---|
A |
16777214
=
2
24
?
2
16777214=2^{24}-2
16777214=224?2 | X.0.0.1 | X.255.255.254 | B |
65534
=
2
16
?
2
65534=2^{16}-2
65534=216?2 | X.X.0.1 | X.X.255.254 | C |
254
=
2
8
?
2
254=2^8-2
254=28?2 | X.X.X.1 | X.X.X.254 |
注:主机号 全0 表示本机,全1 表示所有主机。
5)IP 地址的一些特点
1.IP地址是一种分等级的地址结构。 2.实际上 IP 地址是标志一台主机(或路由器)和一条链路的接口。 3.一个路由器至少连接两个网络,所以一个路由器至少拥有 2个不同的 IP 地址. 4.用网桥或者转发器连接起来的若干个局域网仍然为一个网络,因为这些局域网具有相同的网络号。具有不同网络号的局域网必须通过路由器相连。 5.互联网同等对待每一个 IP 地址
6)需要注意的点:
- 在同一个局域网上的主机或者路由器的 IP 地址中网络号必须一样。
- 用网桥(它只在数据链路层工作)互联的网段仍然是一个局域网,
只能有一个网络号。 - 路由器总是具有两个或两个以上的 IP 地址。
- 路由器的每一个接口都由一个不同网络号的 IP 地址
(因为路由器连接的都是两个网段) - 当两个路由器直接相连时,在连线两端的接口处,
可以分配也可以不分配 IP 地址。 - 如果两个路由器直接相连,并且在两端接口处分配了 IP 地址,这是一种只包含一段线路的特殊“网络”。是无编号网络或者叫无名网络。
4.2.3 IP 地址与硬件地址
物理地址 是数据链路层和物理层使用的地址。 IP 地址 是网络层和以上各层使用的地址,是一种逻辑地址。 (因为IP 地址是用软件实现的)
IP数据报一旦交给数据链路层,就被封装成 MAC 帧了。 MAC 帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在 MAC 帧的首部中。
数据链路层看不见数据报的 IP 地址。
不同层次、不同区间的源地址和目的地址 1)网络层写入 IP 数据报首部的地址从未发生改变。 2)数据链路层写入 MAC 帧首部的地址一直在改变。
如上图所示,在数据链路层写入 MAC 帧首部的地址
源地址 | 目的地址 |
---|
H
A
1
{HA_1}
HA1? |
H
A
3
HA_3
HA3? |
H
A
4
HA_4
HA4? |
H
A
5
HA_5
HA5? |
H
A
6
HA_6
HA6? |
H
A
2
HA_2
HA2? |
强调几点
1)在 IP 层抽象的互联网上只能看到 IP 数据报。 2)数据报首部的源地址和目的地址在传输的过程中始终不变。 3)数据报中间经过的几个路由器的IP地址并不出现在 IP 数据报的首部中。 4)路由器只根据目的站的 IP 地址的网络号进行路由选择。 5)局域网的链路层,只能看见 MAC 帧,IP 数据报是被封装在 MAC 帧中作为 数据部分的。 6)MAC 帧在不同的网络上传送时,MAC 帧首部中的源地址和目的地址要发送 变化,数据链路层在收到一个帧之后,要丢弃原来的 MAC 帧的首部和尾部, 在转发时,在数据链路层要重新加上 MAC 帧的新的首部和尾部。 (问:直通式交换机只检查 6 字节的目的地址,然后直接转发,那么直通式 交换机在转发的过程中是否去掉了原来MAC 帧的首部和尾部,然后 又重新加上 MAC 帧的新的首部和尾部呢?) 7)IP 层抽象的互联网屏蔽了下层这些很复杂的细节。只要是在网络层讨论问 题,就可以用统一的、抽象的 IP 地址来研究主机和主机或路由器之间的 通信,而无需考虑下层是如何将数据送到我们要求的地方的。
4.2.4 地址解析协议 ARP
4.2.5 IP 数据报的格式
4.2.6 IP 层转发分组的流程
4.3 划分子网和构造超网
4.4 网际控制协议 ICMP
4.5 互联网的路由选择协议
4.6 虚拟专用网 VPN 和网络地址转换 NAT
|