4、计算机网络知识复习(day04)--网络层功能概述和数据交换方式

366 阅读26分钟

部分参考:blog.csdn.net/weixin_4214… blog.csdn.net/qq_40250617…

文章内容有重复

一、网络层概述(1)--网络层功能概述和数据交换方式

1、互联网的核心部分

第一天我们提到过从其工作方式上看,计算机网络可以划分为以下两大块:

  • 边缘部分:由所有连接在互联网(计算机网络之间通过路由器连接,构成更大的网络,就是互连网,是网络的网络)上的主机host(端系统)组成。这部分是用户直接使用的,利用核心部分提供的服务进行通信和资源共享;
  • 核心部分:由大量网络和连接这些网路的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换),路由器是关键作用。

处在互联网边缘的部分就是连接在互联网上的所有的主机,这些主机又称为端系统。 我们要首先明确下面的概念,我们说:“主机A和主机B进行通信”,实际上是指“主机A的某个进程和主机B的另一个进程进行通信",通常可以称为”计算机之间通信。在网络边缘的端系统之间的通信方式可以划分为以下两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)

  • 客户-服务器方式(C/S方式) :客户是服务请求方,服务器是服务提供方;
  • 对等连接方式(P2P方式) :两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方;

网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。

在网络核心部分起特殊作用的是路由器,它是一种专用计算机(但不叫做主机)。路由器是实现分组交换的关键构件,其任务是转发收到的分组。这是网络核心部分最重要的功能。为了弄清分组交换,下面介绍在网络层数据交换的一些方式

2、网络层功能概述

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是IP数据报。(数据报和分组是父与子的关系,数据报是比较长的数据,分组是对数据报进行切割划分出来的片段。)

  • 功能一:路由选择与分组转发(路由选择就是找路,通过路由选择算法找到最佳路径
  • 功能二: 异构网络互联(网络的异构性指的是传输介质、数据编码方式、链路控制协议以及不同的数据单元格式和转发机制,这些特点分别在物理层和数据链路层中定义)
  • 功能三:拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
    • 解决方式一:开环控制(静态方法,类似数据链路层中的信道划分介质访问控制)
    • 解决方式二:闭环控制(动态方法,类似数据链路层中的随机访问介质访问控制)

2.1、网络层提供的两种服务

(1)虚电路服务:

在分组交换中建立一条虚电路VC(Virtual Circuit)连接,双方沿着已建立的虚电路发送分组,分组的首部只需要填写这条虚电路的编号,减少了分组的开销。如果再使用可靠的传输协议,就可以使发送的分组无差错按序到达终点,不丢失,不重复。在通信结束后要释放建立的虚电路。

image.png

(2)数据报服务:

网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报)独立发送,很可能出错,丢失,重复和失序,当然也不保证分组交付的时限。由于传输网络不提供端到端的可靠传输服务,就使得网络中的路由器比较简单,且价格低廉。如果主机中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。

image.png

2.1、异构网络互连

没有一种单一的网络能够适应所有用户需求,从一般概念来讲,将不同网络互相连接起来要使用一些中间设备【中间系统】。根据中间设备所在的层次,可以有以下四种不同的中间设备。

  1. 物理层使用的中间设备叫做转发器
  2. 数据链路层使用的中间设备叫做网桥或桥接器
  3. 网络层使用的中间设备叫做路由器
  4. 在网络层以上使用的中间设备叫做网关,用网关连接两个不兼容的系统需要在高层进行协议的转换。

当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络,网关由于比较复杂,目前使用得较少。现在讨论网络互连都是指用路由器进行互连的网络。

图a表示有许多计算机网络通过一些路由器进行互联,由于参加互联的计算机网络都使用相同的网际协议IP,因此可以把互联以后的计算机网络看成如图b所示的一个虚拟互联网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用了IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。---- IP网的好处:当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节(如具体的编制方案,路由选择协议等),如果在这种覆盖全球的IP网的上层使用TCP协议,就是现在的互联网。

image.png

当很多异构网络通过路由器互连起来时,如果所有的网络都是用相同的IP,那么网络层变得简单得多了。例如:

image.png

寻址方式: 在互联网中源主机H1要把一个IP数据报发送给目的主机H2,主机H1先要查看自己的路由表,看目的主机就在本网络上。如果是,则不需要经过任何路由器而是直接交付。如果不是,则必须把IP数据报发送给某个路由器R1,R1查找自己的路由表后,知道要把IP数据报转发给R2进行间接交付。这样一直转发下去,最后由路由器Rn知道自己与目的主机H2连接在同一个网络上,不需要再使用路由器进行转发。于是就是把IP数据报直接交付给目的主机H2。

总之, 互联网可以由多种异构网络互连组成。从图中可以看出,路由器之间可以使用卫星链路,无线局域网,以及任意类型的网络

如果我们只从网络层考虑问题,那么IP数据报就可以想象是在网络层中传送。这样就不必画出许多完整的协议栈,使得问题描述更加简单

image.png

3、数据交换

3.1、为什么要数据交换?

image.png

要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。针对一些在主机之间的数据交换方式不能满足通信要求,所以必须实现一种良好的通信交换方式来实现数据的传递与交流。

3.2、数据交换方式

  • 电路交换
  • 报文交换
  • 分组交换
    • 数据报方式
    • 虚电路方式

3.2.1、电路交换(独占资源)

在以前电话数量增多的时候,我们电话通话必须使用电话交换机来进行通话。每一部电话都连接到交换机上,而交换机使用交换的方式,让电话用户彼此之间可以很方便的通信,一百多年以来,电话交换机虽然经过多次更新换代,但交换的方式一直没变,这种通过 电话交换机接通电话线的方式称为电路交换

image.png

当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。在使用电路交换打电话之前,必须先拨号建立连接。当拨号的信息通过许多交换机到达被叫用户所连接的交换机时,该交换机就向被叫用户的电话机振铃。在被叫用户宅基且摘机信令传回到主叫用户所连接的交换机后,呼叫即完成。这时,从主叫端到被叫端建立了一条连接(物理通路)

这条线保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用,此后主叫和被叫双方才能相互通话。这种必须经过“建立连接(占用通信资源)->通信(一直占用通信资源)->释放资源(归还通信资源)”三个步骤的交换方式成为电路交换,示意图如下

image.png

电路交换的用户始终占用到端到端的通信资源

交换机之间拥有大量的话路的中继线(早已经数字化)则是许多用户共享的,正在通话的用户只占用了其中的一个话路。电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上,因此线路上真正用来传输数据的时间往往不到10%甚至1%。实际上,已被用户占用的通信线路咋为绝大部分时间里都是空闲未被充分利用的。例如计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源并未被利用而是白白浪费了。因此计算机网络常常采用分组交换而不是电路交换

电路交换总结

  • 电路交换的原理: 在数据传输期间,源结点与目的结点之间有一条由中间结点构成的专用物理连接线路,在数据传输结束之前,这条线路一直保持。
  • 电路交换的阶段: 建立连接(呼叫/电路建立)--> 通信 -->释放连接(拆除电路)
  • 举例:电话网络: 拨号的时候就是建立连接,接收方接收电话就相当于双方的连接正式建立,然后双方通话相当于进行数据传输,挂断电话相当于连接释放,此时其他人就可以利用刚才的链路进行数据通信。
  • 特点: 独占资源,用户始终占用端到端的固定传输带宽(例如A和B打电话,即使两人不讲话,这个资源也被占用)。适用于远程批处理信息传输或系统间实时性要求高的大量数据传输的情况。可以使用多道复用技术进行带宽和效率的提升
  • 电路交换优缺点:
    • 优点:
      • 通信时延小:因为连接建立好以后,数据就可以直接传输了,没有检错。
      • 有序传输:发送方和接收方是独占资源,因此发送数据就是按序发送,接收数据也是按序接收,传输也是按序传输。
      • 全双工通信,没有冲突:通信双方有不同的信道,不会争用物理信道。
      • 实时性强:双方一旦建立物理通路,便可以实时通信,适用于交互式会话类通信。
      • 适用于模拟信号和数字信号
    • 缺点:
      • 建立连接时间长:比如电话网络连接过程,要先拨号,然后等接收方接通以后才能建立连接。
      • 线路独占,使用效率低:如果双方建立连接后不进行数据传输,那么该信道就浪费了。
      • 灵活性差:假如有一个交换设备宕机,该通信线路就无法进行通信了。
      • 没有差错控制能力:只是单纯的传输数据。
      • 无数据存储能力,难以平滑通信量。

3.2.2、报文交换(存储转发)

报文:

报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块(源主机应用发送的信息整体,例如源主机要发送一个pdf文件,那这一整个pdf文件数据就是报文)。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。报文交换即每次发送一整块报文,路由器接受到整个报文再存储转到传到下一个路由器(交换设备),直到传输到目的主机。

image.png

报文交换的原理:

无需在两个站点之间建立一条专用通路,其数据传输的单位是报文(插一句:数据传输基本单位是IP数据报/分组哦),传送过程采用存储转发方式。(可以在一个交换设备A中存储一会儿,然后可以走B也可以走C,取决于哪条链路是空闲的,再转发出去。)

优点:

  1. 无需建立连接
  2. 存储转发,动态分配线路
  3. 线路可靠性高
  4. 线路利用率较高
  5. 多目标服务:一个报文可同时发往多个目的地址

缺点:

  1. 有存储转发时延,不适合传送实时或交互式业务的数据。
  2. 报文大小不定,需要网络节点有较大缓存空间。
  3. 只适用于数字信号。

3.2.3、分组交换(存储转发)

分组交换概念

基于报文交换,分组交换则采用存储转发技术,是目前网络采用的交换方式 。通常我们要把发送的整块数据称为一个报文。在发送发文之前,先把较长的报文【这个报文是后面的IP数据报】分为一个个更小的等长数据段,例如,每个数据段为1024bit在每个数据段面前,加上一些必要的控制信息组成首部后,就构成了分组。分组又称为,而分组的首部也可以成为包头分组是在因特网中传送的数据单元分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在因特网中独立地选择传输路径,并被正确的交付到分组传输的终点【何时分组,怎么分组下节讲】

image.png

位于边缘部分的主机和核心部分的路由器都是计算机,但他们作用不一样,主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息,路由器是用来转发分组的,即进行分组交换的。

路由器的存储转发

存储转发:路由器收到一个分组,先暂时存储下来,在检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地以存储转发的方式,把分组交付到最终的目的主机。然后目的主机将收到的所有分组进行结合,恢复目的信息。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和维持在路由器中的转发表(路由表),使得转发表能够在整个网络拓扑发生变化时及时更新

image.png

当我们讨论因特网的核心部分中的路由器转发分组的过程时,往往把单个的网络简化成一条链路,而路由器成为核心部分的结点。如上图所示,这种简化图看起来可以更加突出重点,因为在转发分组时最重要的就是要知道路由器之间是怎样连接起来的

  • H1向主机H5发送数据。主机H1先将分组逐个地发往与它直接相连的路由器A。此时,除链路H1-A外,其他通信链路并不被目前通信的双方所占用。需要注意的是,即使是链路Hi-A,也只是当分组正在此链路上传送时才被占用。在各分组传送之间的空闲时间,链路H1-A仍可为其他主机发送的分组使用。
  • 路由器A把主机H1发来的分组放入缓存。假定从路由器A的转发表中查出应把该分组转发到链路A-C。于是分组就传送到路由器C。当分组正在链路A-C传送时,该分组并不占用网络其他部分的资源。
  • 如此重复,又从路由器C开始

在路由器进行分组转发时,路由器暂时存储的是一个个分组,而不是整个报文。段分组是暂时存储在路由器的存储器(即内存),而不是存储在磁盘中,这样就能保证较高的交换速率。

分组交换特点

分组交换在传送数据之前不必先占用一条端到端的通信资源。分组在哪一段链路上传送时,才占用这段链路的通信资源。分组到达一个路由器后,先暂时存储下来,查找转发表,然后从另一条合适的链路转发出去。分组在传输时就这样一段段地断续占用通信资源,而且还省去了建立连接和释放连接的开销,因而数据的传输效率更高。

因特网采取了专门的措施,保证了数据的传送具有非常高的可靠性(在介绍运输层协议时,要着重讨论这个问题)。当网络中的某些结点或链路突然出故障时,在各路由器中运行的路由选择协议(protocol) 能够自动找到其他路径转发分组(下一节详细讨论)。

采用存储转发的分组交换,实质上采用了在数据通信的过程中断续(或动态)分配传输带宽的策略。这对传送突发式的计算机数据非常合适,使得通信线路的利用率大大提高了。为了提高分组交换网的可靠性,因特网的核心部分常采用网状拓扑结构,使得当发生网络拥塞或少数结点、链路出现故障时,路由器可灵活地改变转发路由而不致引起通信的中断或全网的瘫痪。此外,通信网络的主干线路往往由一些高速链路构成,这样就能以较高的数据率迅速地传送计算机数据。

综上:分组交换的优点

优点所采用的手段
高效高效是显而易见的,在分组传输的过程中,动态分配传输宽带,对通信链路是逐段占用的
灵活为每一个分组独立的选择转发路由
迅速以分组作为传送单位,可以不先简历连接就可以向其它的主机发送分组
可靠保证可靠性的网络协议;分布式多路有的分组交换网,使网络有很好的生存性

分组交换的缺点

  1. 分组在各路由器存储转发时需要排队,这就会造成一定的时延。因此,必须尽量设法减少这种时延。此外,由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。
  2. 分组交换网带来的另一个问题是各分组必须携带的控制信息也造成了一定的开销(overhead)。整个分组交换网还需要专门的管理和控制机制。

总结:

分组交换的原理:

分组交换与报文交换的工作方式基本相同,都采用存储转发方式,形式上的主要差别在于,分组交换网中要限制所传输的数据单位的长度,一般选128B。发送节点首先对从终端设备送来的数据报文进行接收、存储,而后将报文划分成一定长度的分组,并以分组为单位进行传输和交换。接收结点将收到的分组组装成信息或报文。

优点:

  1. 无需建立连接:不需要预先建立专门通信线路,用户可随时发送分组。
  2. 存储转发,动态分配线路
  3. 线路可靠性较高:分组较短,减少了出错几率
  4. 线路利用率较高:通信双方在不同的时间一段一段地部分占有这条物理通道,多个分组可共享信道。
  5. 相对于报文交换,存储管理更容易:因为分组的长度固定,相应的换乘区的大小也固定。
  6. 适用于计算机之间突发性数据通信:因为分组短小

缺点:

  1. 有存储转发时延
  2. 需要传输额外的信息量:每个分组都要加控制信息,增加了处理的时间。
  3. 当分组是乱序到目的主机时,要对分组进行排序重组

3.3、数据交换方式的选择

从本质上讲,分组交换这种断续分配传输带宽的存储转发原理并非是完全新的概念。现在报文交换已经很少有人使用了。分组交换虽然也采用存储转发原理,但由于使用了计算机进行处理,这就使分组的转发非常迅速。图中的最下方归纳了三种交换方式在数据传送阶段的主要特点:图中的A和D分别是源点和终点,而B和C是在A和D之间的中间结点。

image.png

  • 电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
  • 报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
  • 分组交换——单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

从图可以看出。若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

因此选择方式如下:

  1. 传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小。
  2. 当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。
  3. 从信道利用率上看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突 发式的数据通信。分组交换的数据传输过程可以看作流水线。计算最后一个分组到达目的主机的时延即可。

4、分组交换的数据报方式与虚电路方式

4.1、数据报方式(因特网在用)

image.png

通信过程:

  1. 源主机(A)将报文分成多个分组,依次发送到直接相连的结点(A)【路由器】。
  2. 结点A收到分组后,对每个分组差错检测和路由选择进行转发,不同分组的下一跳结点可能不同
  3. 结点C收到分组P1后,对分组P1进行差错检测,若正确则向A发送确认信息,A收到C确认后则丢弃分组P1副本。
  4. 所有分组到家辽(主机B) !
  5. 前面的叙述就是这种方式

数据报方式的特点:

  1. 数据报方式为网络层提供无连接服务。(无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同,传到收入端就可能发生信息乱序。类似微信发消息发生错位,后面章节会讲到分组按照编号进行重组)
  2. 同一报文的不同分组达到目的结点时可能发生乱序、重复与丢失。
  3. 每个分组在传输过程中都必须携带每个分组的源地址和目的地址,以及分组号。
  4. 路由器根据分组的目的地址转发分组:基于路由协议/算法构建转发表,检索转发表,每个分组独立选路。
目的网络地址链路接口
  1. 分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
  2. 网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强,适用于突发性通信,不适于长报文、会话式通信【路由选择协议】。

4.2、虚电路方式

虚电路将数据报方式(体现在分组)和电路交换方式(体现在建立连接)结合,以发挥两者优点。

image.png

虚电路:

建立一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虛电路的信息。

通信过程:

image.png

  • 建立连接: A主机给B主机发送“呼叫请求”分组并收到B主机的“呼叫应答”分组后才算建立连接。
  • 数据传输: 全双工通信(A和B互相发送数据)。每个分组携带虚电路号(作用是指引当前分组应该走哪一条虚电路,分组到路由器以后,路由器检索转发表,就知道该分组应该从哪个口转出去,这里就体现了电路交换方式),分组号、检验和等控制信息。
  • 释放连接(虚电路释放): 源主机发送“释放请求”分组以拆除虚电路。

虚电路方式的特点:

  • 虚电路方式为网络层提供连接服务。(连接服务:首先为分组的传输确定传输路径( 建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。类似打电话。)
  • 一次通信的所有分组都通过虚电路顺序传送,分组不需携带源地址、目的地址等信息,而是携带虚电路号,标明哪一条虚电路。相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
  • 分组通过虚电路上的每个节点时,节点只进行差错检测,不需进行路由选择。
  • 每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对两个数据端点的流量进行控制,两个端系统之间也可以有多条虛电路为不同的进程服务。
  • 致命弱点:当网络中的某个结点或某条链路出故障而彻底失效时,则所有经过该结点或该链路的虚电路将遭到破坏。

4.3、数据报与虚电路特点总结

image.png

5、几种传输单元名词辨析

  • 应用层:报文(一整个信息)
  • 传输层:报文段(把很长的报文分割成一小段,如果报文很小就不用分割为报文段)
  • 网络层:IP数据报,分组(IP数据报:封装了网络层的IP地址,包括源地址与目的地址。如果IP数据报过大,就切割成分组,所以数据报如果很小,那么一个分组就是一个数据报。IP协议定义数据传送的基本单元——IP分组/IP数据报及其确切的数据格式。)
  • 数据链路层:帧(加头:MAC地址;加尾:FCS帧检验序列)
  • 物理层:比特流(把比特流转成信号的形式放到链路上进行传输)