概述
前言
参考王道书。
后续会进一步整理,包括添加笔记内容,标明参考资料。
更新中。。。
跳过目录
目录
- 一、网络层功能
- 1、异构网络互联
- 异构
- 网络互联
- 中间设备(中继系统)
- 路由器
- 2、路由选择与分组转发
- 路由选择
- 分组转发
- 3、拥塞控制
- 开环控制
- 闭环控制
- 二、数据交换方式
- 三种数据交换方式
- 1、电路交换
- 特点
- 优点
- 缺点
- 2、报文交换
- 3、分组交换
- 三种数据交换方式比较
- 数据报和虚电路
- 无连接服务
- 连接服务
- 数据报
- 虚电路
- 数据报服务和虚电路服务的比较
- 习题
一、网络层功能
- 是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。
-
数据报和分组的关系:
- 数据报是一段比较长的数据,将它进行切割成一段段之后就得到分组
功能:
-
异构网络互联
-
路由选择与分组转发:最佳路径
-
拥塞控制
1、异构网络互联
异构网络互联需要解决许多问题:
- 不同的寻址方案
- 不同的网络接入机制
- 不同的差错处理方法
- 不同的路由选择机制
…
异构
网络的异构性是指传输介质、数据编码方式、链路控制协议及不同的数据单元格式和转发机制,这些特点分别在物理层和数据链路层协议中定义。
物理层:
- 传输介质
- 数据编码方式
数据链路层:
- 链路控制协议
网络互联
网络互联是指将两个以上的计算机网络,通过一定的方法,用一种或多种中间设备(如路由器)相互连接起来,以构成更大的网络系统。
TCP/IP体系在网络互联上采用的做法是在网络层(即IP层)采用标准化协议,但相互连接的网络可以是异构的。
由于参加互联的计算机网络都使用相同的网际协议(Intenet Protocol,IP),因此可以把互联后的计算机网络视为如图所示的一个虚拟 IP网络。
中间设备(中继系统)
- 中间设备又称中间系统或中继系统。
根据所在的层次,中继系统分为以下4种:
-
物理层中继系统
中继器、集线器(Hub)
-
数据链路层中继系统
网桥、交换机
-
网络层中继系统
路由器
-
网络层以上的中继系统
网关
使用物理层或数据链路层的中继系统时,只是把一个网络扩大了,而从网络层的角度看,它仍然是同一个网络,一般并不称之为网络互联。
因此网络互联通常是指用路由器进行网络互联和路由选择。
路由器
-
路由器是一台专用计算机,用于在互联网中进行路由选择。
-
路由器是网络层设备
-
可以分割广播域和冲突域
-
向传输层及以上层次隐藏下层的具体实现,所以物理层、数据链路层、网络层协议可以不同。
-
而网络层之上的协议数据是路由器所不能处理的。
2、路由选择与分组转发
- 路由选择:确定哪一条路径
- 分组转发:当一个分组到达时所采取的动作
路由选择
根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。
路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。
分组转发
处理通过路由器的数据流。
关键操作:
- 转发表查询
- 转发及相关的队列管理
- 任务调度
…
路由器根据转发表将用户的IP数据报从合适的端口转发出去。
在讨论路由选择的原理时,往往不去区分转发表和路由表,而是笼统地使用路由表一词。
补充:OSI参考模型各层传输单位
并不确定是否正确
层 | 传输单位 |
---|---|
应用层 | 报文 |
表示层 | 报文 |
会话层 | 报文 |
传输层 | 报文段 |
网络层 | IP数据报,分组 |
数据链路层 | 帧 |
物理层 | 比特流 |
3、拥塞控制
若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。
要采取一定措施,缓解这种拥塞。
拥塞控制方法:
- 开环控制:静态
- 闭环控制:动态
开环控制
在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。
- 静态的预防方法。
一旦整个系统启动并运行,中途就不再需要修改。
开环控制手段包括确定何时可接收新流量、何时可丢弃分组及丢弃哪些分组,确定何种调度决策等。
所有这些手段的共性是:在做决定时不考虑当前网络的状态。
闭环控制
事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,及时检测哪里发生了拥塞,然后将拥塞信息传到合适的地方,以便调整网络系统的运行,并解决出现的问题。
-
基于反馈环路的概念
-
动态的方法。
二、数据交换方式
在【计算机网络学习笔记 2.1 物理层基本概念】中也有相关笔记,此处会详细复习一遍
- 网络的核心:路由器
- 如何使用路由器连接不同主机并传输数据:数据交换
-
两两主机之间各建立一条链路
总链路数: C n 2 C_n^2 Cn2条链路
缺点:
- 链路过多,复杂且麻烦
- 难以实现远距离主机通信
-
通过交换设备相连
交换设备:交换机、网桥、路由器总链路数:n 条链路
缺点:
- 增加连接的主机时,交换设备难以增大内部吞吐量
- 链路不能过长:对于远距离主机,会遇到链路过长信号衰减的问题
-
交换网络
三种数据交换方式
- 电路交换
- 报文交换
- 分组交换
- 数据报方式
- 虚电路方式
1、电路交换
在进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能经过许多中间结点。
这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放。
因此,电路交换技术分为三个阶段:
- 连接建立
- 数据传输
- 连接释放
从通信资源的分配角度来看,"交换"就是按照某种方式动态地分配传输线路的资源。电路交换的关键点是,在数据传输的过程中,用户始终占用端到端的固定传输带宽。
- 可以使用多路复用技术
特点
独占资源
优点
- 通信时延小
通信线路为通信双方用户专用,数据直达。 - 有序传输
双方通信时按发送顺序传送数据,不存在失序问题。 - 没有冲突
不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。 - 适用范围广
电路交换既适用于传输模拟信号,又适用于传输数字信号。 - 实时性强
通信双方之间的物理通路一旦建立,双方就可以随时通信。 - 控制简单
电路交换的交换设备(交换机等)及控制均较简单。
缺点
- 建立连接时间长
电路交换的平均连接建立时间对计算机通信来说太长。 - 线路独占,使用效率低
电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。 - 灵活性差
只要在通信双方建立的通路中的任何一点出了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的。 - 无差错控制能力
- 难以规格化
电路交换时数据直达,不同类型、规格、速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
注意:
- 电路建立后,除源结点和目的结点外,电路上的任何结点都采取"直通方式"接收数据和发送数据,即不会存在存储转发所耗费的时间 。
2、报文交换
报文:源应用发送的信息整体。
数据交换的单位是报文,报文携带有目标地址、源地址等信息。报文交换在交换结点采用的是存储转发的传输方式。
- 源先根据报文加上ip地址,物理地址等,通过物理层发送
- 交换机收到报文之后,先进行存储,等待链路空闲之后进行转发,但是转发的路径不是固定的,是比较随机的
- 通过许多交换设备最终到达目的地
优点:
- 无须建立连接
报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接时延,用户可以随时发送报文。 - 动态分配线路
当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去。 - 线路可靠性高
如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,因此提高了传输的可靠性。 - 线路利用率高
通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通道,因而大大提高了通信线路的利用率。 - 多目标服务
一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
缺点:
- 有存储转发时延
由于数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延(包括接收报文、检验正确性、排队、发送时间等)。 - 要求网络结点需要有较大的缓存空间
报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间。
注意:
- 报文交换主要使用在早期的电报通信网中,现在较少使用,通常被较先进的分组交换方式所取代。
3、分组交换
分组:把大的数据块分割成小的数据块。
同报文交换一样,分组交换也采用存储转发方式,但解决了报文交换中大报文传输的问题。
分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(Packet)。
网络结点根据控制信息把分组送到下一结点,下一结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。(存储转发)
优点:
- 无建立时延
不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组。 - 线路利用率高
通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。 - 简化了存储管理(相对于报文交换)
因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。 - 加速传输
分组是逐个传输的,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一次报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的概率及时间也必然少得多。 - 线路可靠性高
- 减少了出错概率和重发数据量
因为分组较短,其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。
缺点:
- 存在存储转发时延
尽管分组交换比报文交换的传输时延少,但相对于电路交换仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。 - 需要传输额外的信息量
每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量增大了5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。 - 当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,因此很麻烦。
- 若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
例:比较报文交换和分组交换花费时间
忽略传输时延和分组额外信息量
报文交换:
10000 b i t 1000 b i t / s × 3 = 30 s dfrac{10000 bit}{1000 bit/s} × 3=30s 1000bit/s10000bit×3=30s
分组交换:
100 b i t 1000 b i t / s = 0.01 s dfrac{100 bit}{1000 bit/s}=0.01s 1000bit/s100bit=0.01s
10 s + 0.01 s × 2 = 10.02 s 10s + 0.01s× 2=10.02s 10s+0.01s×2=10.02s
三种数据交换方式比较
- 报文交换和分组交换都采用存储转发。
- 要传送的数据量很大且其传送时间远大于呼叫时间时,采用电路交换较为合适。
- 端到端的通路由多段链路组成时,采用分组交换传送数据较为合适。
- 从提高整个网络的信道利用率上看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式数据通信。
数据报和虚电路
分组交换:
- 数据报
为网络层提供无连接服务 - 虚电路
为网络层提供连接服务
无连接服务
- 不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
连接服务
- 首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
注
- 数据报和虚电路两种服务方式都由网络层提供。
- 要注意数据报方式和虚电路方式是分组交换的两种方式。
数据报
- 无连接
- 每个分组携带源和目的地址
- 路由器根据分组的目的地址转发分组
基于路由协议/算法构建转发表;检索转发表;每个分组独立选路。
作为通信子网用户的端系统发送一个报文时,在端系统中实现的高层协议先把报文拆成若干带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)。
中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。
不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。
用下图的例子来说明数据报服务的原理:
假定主机A要向主机B发送分组。
- 主机A先将分组逐个发往与它直接相连的交换结点A,交换结点A缓存收到的分组。
- 然后查找自己的转发表。由于不同时刻的网络状态不同,因此转发表的内容可能不完全相同,所以有的分组转发给交换结点C,有的分组转发给交换结点D。
- 网络中的其他结点收到分组后,类似地转发分组,直到分组最终到达主机B。
当分组正在某一链路上传送时,分组并不占用网络的其他部分资源。因为采用存储转发技术源是共享的,所以主机A在发送分组时,主机B也可同时向其他主机发送分组。
特点
- 发送分组前不需要建立连接
发送方可随时发送分组,网络中的结点可随时接收分组。 - 网络尽最大努力交付,传输不保证可靠性,所以可能丢失
为每个分组独立地选择路由,转发的路径可能不同,因而分组不一定按序到达目的结点。 - 发送的分组中要包括发送端和接收端的完整地址,以便可以独立传输。
- 分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
- 网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强。
- 存储转发的延时一般较小,提高了网络的吞吐量。
- 收发双方不独占某一链路,资源利用率较高。
虚电路
虚电路方式试图将数据报方式与电路交换方式结合起来,充分发挥两种方法的优点,以达到最佳的数据交换效果。
虚电路:一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。
在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,并且连接一旦建立,就固定了虚电路所对应的物理路径。
与电路交换类似,整个通信过程分为三个阶段:
- 虚电路建立
- 数据传输
- 虚电路释放
在虚电路方式中,端系统每次建立虚电路时,选择一个未用过的虚电路号分配给该虚电路,以区别于本系统中的其他虚电路。
在传送数据时,每个数据分组不仅要有分组号、校验和等控制信息,还要有它要通过的虚电路号,以区别于其他虚电路上的分组。
在虚电路网络中的每个结点上都维持一张虚电路表,表中的每项记录了一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号、前一结点和下一结点的标识。
数据的传输是双向进行的,上述信息是在虚电路的建立过程中确定的。
虚电路方式的工作原理如图所示。
- 为进行数据传输,主机A与主机B之间先建立一条逻辑通路,主机A发出一个特殊的"呼叫请求"分组,该分组通过中间结点送往主机B,若主机B同意连接,则发送"呼叫应答"分组予以确认。
- 虚电路建立后,主机 A 就可向主机 B 发送数据分组。当然,主机 B 也可在该虚电路上向主机 A 发送数据。
- 传送结束后主机A通过发送"释放请求"分组来拆除虚电路,逐段断开整个连接。
特点
- 虚电路通信链路的建立和拆除需要时间开销,对交互式应用和小量的短分组情况显得很浪费,但对长时间、频繁的数据交换效率较高。
- 虚电路的路由选择体现在连接建立阶段,连接建立后,就确定了传输路径。
- 虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可以对两个数据端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送。
- 虚电路有一个致命的弱点,即当网络中的某个结点或某条链路出现故障而彻底失效时,所有经过该结点或该链路的虚电路将遭到破坏。
- 分组首部并不包含目的地址,而包含虚电路标识符,相对数据报方式开销小。
虚电路之所以是"虚"的,是因为这条电路不是专用的,每个结点到其他结点之间的链路可能同时有若干虚电路通过,也可能同时与多个结点之间建立虚电路。每条虚电路支持特定的两个端系统之间的数据传输,两个端系统之间也可以有多条虚电路为不同的进程服务,这些虚电路的实际路由可能相同也可能不同。
注意,上图所示的数据传输过程是有确认的传输(由高层实现),主机B收到分组后要发回相应分组的确认。网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
数据报服务和虚电路服务的比较
数据报服务 | 虚电路服务 | |
---|---|---|
连接的建立 | 不需要 | 必须有 |
目的地址 | 每个分组都有完整的目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号 |
路由选择 | 每个分组独立地进行路由选择和转发 | 属于同一条虚电路的分组按照同一路由转发 |
分组顺序 | 不保证分组的有序到达 | 保证分组的有序到达 |
可靠性 | 不保证可靠通信,可靠性由用户主机来保证 | 可靠性由网络保证 |
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择发生变化时可以正常传输 | 所有经过故障结点的虚电路均不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责,也可由用户主机负责 |
习题
1、网络层的主要目的是( )。
A. 在邻接结点间进行数据报传输
B. 在邻接结点间进行数据报可靠传输
C. 在任意结点间进行数据报传输
D. 在任意结点间进行数据报可靠传输
知识点:【异构网络互联】
答案:C
解析:
网络互联是指将两个以上的计算机网络相互连接起来,以构成更大的网络系统。任意阶段间都能进行数据报传输,选项A、B错误。
IP提供的是不可靠的服务,选项D错误。
2、路由器连接的异构网络是指( )。
A. 网络的拓扑结构不同
B. 网络中计算机操作系统不同
C. 数据链路层和物理层均不同
D. 数据链路层协议相同,物理层协议不同
知识点:【异构网络互联】
答案:C
解析:
网络的异构性是指传输介质、数据编码方式、链路控制协议及不同的数据单元格式和转发机制,这些特点分别在物理层和数据链路层协议中定义。
3、在路由器互联的多个局域网的结构中,要求每个局域网( )。
A. 物理层协议可以不同,而数据链路层及其以上的高层协议必须相同
B. 物理层、数据链路层协议可以不同,而数据链路层以上的高层协议必须相同
C. 物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
D. 物理层、数据链路层、网络层及高层协议都可以不同
知识点:【路由器】
答案:C
解析:
路由器是第三层设备,向传输层及以上层次隐藏下层的具体实现,所以物理层、数据链路层、网络层协议可以不同。而网络层之上的协议数据是路由器所不能处理的,因此网络层以上的高层协议必须相同。
本题容易误选B,主要原因是在目前的互联网中广泛使用的是TCP/IP协议族,在网络层用的多是IPv4,所以误认为网络层协议必须相同。而实际上,使用特定的路由器连接IPv4与IPv6网络,就是典型的网络层协议不同而实现互联的例子。
3、列协议中属于网络层协议的是( )。
I.IP I. TCP Ⅲ. FTP IV. ICMP
A.I和Il B. IⅡ和Ⅲ C.Ⅲ和IV D.1和I
A. IP、TCP
B. TCP、FTP
C. FTP、ICMP
D. IP、ICMP
知识点:【网络层协议栈】
答案:D
解析:
TCP和UDP是传输层协议;IP、ICMP、ARP、RARP(逆地址解析协议)是网络层协议。
最后
以上就是愉快小虾米为你收集整理的计算机网络学习笔记 4.1 网络层的功能一、网络层功能二、数据交换方式习题的全部内容,希望文章能够帮你解决计算机网络学习笔记 4.1 网络层的功能一、网络层功能二、数据交换方式习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复