数据交换
从本文开始介绍网络层,本文先简单介绍一下网络层的功能和数据交换的几种方式。
网络层的功能是把 分组 从源段传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输的单位是 数据报 。
(1) 路由选择与分组转发,即选择最佳路径。
(2) 异构网络互联。
(3) 拥塞控制。若所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定措施,缓解这种拥塞。通常有两种方式:开环控制和闭环控制。
(1) 应用层的传输单元叫做 报文 。
(2) 传输层的传输单元叫做 报文段 。如果应用层的报文很大,那么传输层就对报文进行分割形成报文段。
(3) 网络层的传输单元叫做 IP数据报(数据报) 或 分组 。分组是如果数据报过长时,网络层会将数据报划分成一个个 分组 。
(4) 数据链路层的传输单元是 帧 。
(5) 物理层传输的传输单元是 比特流 。
数据交换的方式分为: 电路交换、报文交换、分组交换 。
早期如果两部电话要通信,就必须要在两个电话之间用1对电线连接起来,三个电话要相互通信那就要3对电线连接起来,如果有N部电话要相互之间通信,那么就需要(N - 1)N / 2对电线相连接,这显然是不太现实的。后来想到用一个电话交换机将电话连接起来。如下图所示(用主机代替电话)
报文交换是基于存储转发原理,报文在链路上传递达到交换设备(交换机),交换设备具有存储转发的功能,达到交换设备后不会立即发送,而是会等待一段时间,做一些检查,等到链路空闲时,查找转发表转发到下一个节点,而且路径也不是固定的路径,而是根据网路状态动态分配线路,一直到目的设备。这个过程很像快递发送过程,一般快递到一个中转站都不会立马发送,而会等一段时间。
分组交换和报文交换类似,都是使用存储转发思想,在发送端先把较长的报文划分成较短的、固定长度的数据段,每个数据段前添加上首部构成分组。分组交换网以分组作为数据传输单元,依次把各分组发送到接收端。
每一个分组的首部都有地址等 控制信息 。分组交换网中的节点交换机根据收到的分组首部中的地址信息、把分组转发到下一个节点的交换机。用这样的存储转发方式,最后分组就能到达最终目的地。
分组交换又分为 数据报方式和虚电路方式 。
优点:相对于报文交换,存储管理更容易。
缺点:有存储转发时延、需要传输额外的信息量(需要将分组编号,以便于在接收端排序还原成最初的报文)、乱序达到目的主机时,要对分组排序重组。
电路交换 ——整个报文的比特流连续地从源点直达终点,好像在一条管道中传送。
报文交换 ——整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
分组交换 ——单个分组(报文的一部分)传送到相邻节点,存储下来后找转发表,转发到下一个节点。
分组交换分为数据报方式和虚电路方式。
数据报方式为网络层提供 无连接服务 。虚电路方式为网络层提供 连接服务 。
数据报是网络层的传输单元。
每个分组都携带源地址和目的地址。
路由器会根据分组的目的地址转发分组:
虚电路方式是 面向连接 的通信,它将电路方式和数据报方式优点结合起来。
虚电路表示这是一条 逻辑上的连接 ,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立一条物理连接(电路交换建立的是真正的连接),然后通信双方就沿着已建立的虚电路发送分组。这样分组的首部就不需填写完整的目的主机的地址,而只需要填写这条虚电路的编号,电路路径上所有的节点都维持这条虚电路的建立,都维持这一张虚电路表,每一项记录了打开的虚电路的信息。