一、网络层提供的服务

互联网诞生之初,网络层应该向传输层提供怎样的服务(是面向连接,还是无连接?)引起了讨论。该问题的实质就是在计算机通信中,可靠交付应当由网络来负责还是端系统来负责?根据上述问题,不同思考面的人针对网络层提出了面向连接的服务和无连接的服务:虚电路服务(面向连接)数据报服务(无连接)。支持面向连接的人认为可靠交付应当交由网络来负责,支持无连接的人认为可靠交付应当交由端系统来负责。

数据报、IP数据报、分组是同义词

1、虚电路服务

虚电路服务是指在数据传输之前必须通过虚呼叫设置一条虚电路,该虚电路会提供两端之间长时间的数据交换。虚电路服务的特点就是:可靠通信由网络来保证、需要先建立连接,一旦虚电路中任意一个节点存在故障,那么数据报抵达故障点后会被全部丢弃。

虚电路服务过程

1st.   通信双方先建立连接(一条虚电路):已预留双方通信所需的一切网络资源

2nd. 通过该虚电路发送分组分组头部无需填写完整的目的主机地址,而只需填写该虚电路的编号,这样减少了分组的开销

3rd.  通过可靠传输网络层协议:使得分组无差错按序到达终点,当然也不丢失、重复

4th.  通信结束后释放虚电路

虚电路应用范围:虚电路服务对于电话业务很合适,因为电话机(即终端)非常简单,没有智能也没有差错处理能力。但是计算机网络的终端非常智能,拥有着差错处理能力。所以提出了数据报服务这个崭新的网络设计思路。

OSI七层模型支持网络层采用虚电路服务,也制定了标准X.25,不过已成为历史!

2、数据报服务

数据报服务是指在数据报中加入目的端信息,到达目的端后重新组装报文。数据报服务的特点:可靠通信由终端来保证、无需建立连接,如果存在故障点,数据报服务可以很轻松的绕过,但是不能按照数据报的顺序到达,丢失也不能立刻知晓。

数据报服务的设计思路:网络层向上只提供简单灵活的无连接的尽最大努力交付的数据报服务。

通信双方无需先建立连接,每一个分组独立发送,不进行编号,所以这些分组可能出错、丢失、重复、失序(即网络层不提供可靠交付)。因为传输网络不提供端到端的可靠传输服务,所以网络中的路由器比较简单,且价格低廉。如果终端中的进程之间需要可靠的通信,那么就由上层的传输层负责差错处理、流量控制。

所以采用数据报服务的网络设计,使得网络造价大大降低,灵活性提高,适用多种应用。网络发展至今,说明数据报服务是相当符合网络层设计的需求!

二、网络层协议的特点

二层网络其实已经可以通信了,但是由于不同的用户对二层网络的要求不同,所以出现了很多针对不同需求的二层网络,这些二层网络使用不同的协议去通信,就会产生不同的寻址方案、最大分组长度规定、超时控制、差错恢复方法、路由选择技术、服务等。如何将不同二层网络架构打通?通过网络层来解决这个问题。由于IP是用来使互连起来的许多计算机网络能够进行通信,因此TCP/IP体系中的网络层常常被称为网际层/IP层/虚拟互联网络

网络层使用数据链路层的服务的基础上,为上层传输层提供服务。数据链路层主要解决了处于同一个二层网络的通信,但未解决数据经过通信子网中多个转接节点的通信问题。因此为了实现两个端系统之间的数据透明传输,让源端的数据能够以最佳路径透明地通过通信子网的多个转接节点到达目的端,使得传输层不需要关心网络的拓扑结构和所使用的通信介质和交换技术,网络层必须具备以下特点:

  • 分组和分组交换:将从传输层接收到的数据段封装成Packet(即包),再送到数据链路层。

  • 路由:通过路由选择算法为分组提供通过通信子网的最优路径。

  • 网络连接复用:为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接(时分复用技术)。

  • 差错检测和恢复:分组中具备首部校验和字段用于差错校验,使用确认和重传机制来进行差错恢复(TCP负责可靠传输)。

  • 服务选择:网络层为传输层提供数据报和虚电路两种服务,但是TCP/IP的网络层仅为传输层提供数据报一种服务。

  • 网络管理:管理网络中的数据通信过程,将数据从源端经过若干节点传送到目的端,为传输层提供最基本的端到端的数据传输服务。

  • 流量控制:通过Qos技术来实现流量控制,以防止通信量过大造成通信子网的性能下降。

  • 拥塞控制:当网络的数据流量超过额定容量时,会引发网络拥塞,致使网络的吞吐能力急剧下降,所以需要适当的控制措施来进行疏导。

  • 网络互联:通信子网之间能够相互连接,实现跨网络通信。

  • 分片和重组:如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就会对该分组进行分片,分片到达目的主机后,由目的节点的网络层再重新组装成原分组。

使用网络层的好处:当IP网上的主机进行通信时,就好像在一个单个网络上通信一样。无需关注各个通信子网的异构细节(比如数据链路层协议、编址方案、路由选择协议、网络架构等),在IP网的上层传输层上使用TCP协议,就组成了TCP/IP协议栈。

数据链路层协议需要支持网络层协议,比如IP。

三、典型网络层协议

网际协议IP(internet protocol)是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网协议。网际协议IP又称为Kahn-cerf协议,因为该协议由Robert Kahn和Vint Cerf共同开发的,两位学者在2005年获得了图灵奖!IP协议目前最主流的版本是V4,所以一般也叫IPV4协议。与IPV4配套使用的还有三个协议:

地址解析协议ARP(Address Resolution Protocol)。

网际报文控制协议ICMP(Internet Control Message Protocol)。

网际组管理协议IGMP(Internet Group Management Protocol)。

其中ICMP和IGMP要使用IP协议,IP协议需要使用ARP协议,所以IP在网络层中间。