从该篇文章开始我们进入网络层的学习

网络层的核心功能

网络层介于传输层和数据链路层之间,网络层的目的是实现将数据从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。

网络层的任务

为了向传输层提供服务,则网络层必须要使用数据链路层提供的服务。而数据链路层的主要作用是负责解决两个直接相邻节点之间的通信,但并不负责解决数据经过通信子网中多个转接节点时的通信问题,因此,为了实现两个端系统之间的数据透明传送,让源端的数据能够以最佳路径透明地通过通信子网中的多个转接节点到达目的端,使得传输层不必关心网络的拓扑构型以及所使用的通信介质和交换技术,网络层必须具有以下功能:

  • 分组与分组交换:把从传输层接收到的报文封装成分组(Packet,也称为“包”)再向下传送到数据链路层。
  • 路由选择:通过路由选择算法为分组通过通信子网选择最适当的路径。
  • 网络连接复用:为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接(多采取时分复用技术)。
  • 差错检测与恢复:一般用分组中的头部校验和进行差错校验,使用确认和重传机制来进行差错恢复。
  • 服务选择:网络层可为传输层提供数据报和虚电路两种服务,但 Internet的网络层仅为传输层提供数据报一种服务。
  • 网络管理:管理网络中的数据通信过程,将数据设法从源端经过若干个中间节点传送到目的端,为传输层提供最基本的端到端的数据传送服务。
  • 流量控制:通过流量整形技术来实现流量控制,以防止通信量过大造成通信子网的性能下降。
  • 拥塞控制:当网络的数据流量超过额定容量时,将会引发网络拥塞,致使网络的吞吐能力急剧下降。因此需要采用适当的控制措施来进行疏导。
  • 网络互连:把一个网络与另一个网络互相连接起来,在用户之间实现跨网络的通信。
  • 分片与重组:如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就要对该分组进行分片,分片到达目的主机之后,有目的节点的网络层再重新组装成原分组。

网络层的功能

数据报网络与虚电路网络

我们已经知道网络层的主要任务是为网络上的不同主机提供通信。它通过路由选择算法,为分组通过通信子网选择最适当的路径,以实现网络的互连功能。分组交换网络主要有:

  • 数据报网络
  • 虚电路网络

数据报网络:无连接服务的分组交换网络,按照目的主机地址进行路由选择的网络;他的原理是源主机每发送一个分组,就为该分组加上目的主机地址,然后将该分组推进网络。每个路由器使用一个分组的目的地址来转发该分组。路由器匹配目的地址时,使用最长前缀匹配规则。转发表大概每1~5分钟由路由算法更新一次。在数据报网络中,发送的分组和接收的分组次序不一定相同,需要对分组重新进行排序,这个任务通常由传输层来完成。

数据报网络

特点:

  • 在双方通信前,不需要先建立连接,因此称“无连接”。
  • 数据报网络中每个分组被单独处理。
  • 发送的分组和接收的分组次序不一定相同,每个分组被传送的路径也可能不一致。
  • 分组在网络传输的过程中出现了丢失或者差错,数据报网络本身也不做处理
  • 需要在转发表中维护转发信息,更新频率慢,通常 1~5min

采用该方式的路由器上,有两个重要的东西,一个是路由算法,用来确定通过网络的端到端路径;另一个是转发表,转发表确定了本路由器如何转发分组。需要注意的是对于转发表,目的地址是32位的IP地址,那么就有几十亿个IP地址,一个路由器不可能维护一个几十亿的表,所有转发表是按照地址的范围转发的。

虚电路网络:面向连接的分组交换网络;双方通信前先使用虚拟电路建立连接,通信结束后再拆除连接。

虚电路(virtual circuit,VC):源主机到目的主机的一条路径上建立的一 条网络层逻辑连接。

虚电路网络中的3个阶段:

  • 虚电路建立。
  • 数据传送。
  • 虚电路删除。

一条虚电路由3个要素构成:

  • 从源主机到目的主机之间的一条路径(一系列的链路和分组交换机)。
  • 路径上的每条链路各有一个虚电路标识(VCID)。
  • 该路径上每台分组交换机的转发表中记录虚电路标识的接续关系

虚电路网络

如上述图片中的通道,所有的分组都将沿着这条线路有序可靠地传输。但是这个线路上的某个路由器或者链路也可以为其他用户进行服务,比如某一段链路可以是A和B之间虚拟电路的一部分同时又是C和D虚拟电路的一部分,并不是A和B专门占用一条完整的通信线路,所以这样的电路称为虚拟电路(电信网中的物理线路是被A和B单独占用的),只是逻辑上看去A和B通过该专用线路进行通信,事实上是该线路的某一部分也在为别人工作。虚拟电路网络应用于计算机网络。

数据报网络与虚电路网络对比

数据报网络在因特网上取得了巨大的成功,随着因特网的多媒体应用需求越来越广,人们越来越关注如何让网络提供更好的服务质量,并且再次把目光投向了虚拟电路技术。因特网的底层网络的很多广域分组交换网采用的都是虚电路网络。