【计算机网络系列】网络层①:简述网络层的几个重要概念

网络层概述

我们接着讨论网络互连问题,其核心内容是网际协议IP,这也是计算机网络的一个重点内容。只有深入地掌握了协议IP的主要内容,才能理解互联网是怎样工作的。接着还要讨论网际控制报文协议ICMP、几种常用的路由选择协议IPv6的主要特点IP多播的概念等。在讨论虚拟专用网VPN网络地址转换NAT后, 最后简单介绍多协议标签交换MPLS软件定义网络SDN的基本概念。

网络层最重要的内容是:

  • 虚拟互连网络和两种服务、两个层面概念
  • IP地址与MAC地址的关系。
  • 传统分类的IP地址无分类域间路由选择CIDR(后者是重点)。
  • 路由选择协议的工作原理。

首先要明确的是,网络层的主要任务是实现网络互连,进而实现数据包在网络之间的传输。

要实现网络层的任务,需要解决如下三个问题:

  1. 网络层向运输层提供怎么样的服务(可靠传输还是不可靠传输)

在不同网络体系结构中提供的服务可能是不同的

  • 在因特网所使用的TCP/IP协议的网络层中使用的是无连接、不可靠的数据报服务
  • ATM、帧中继和X.25的网络层使用的都是面向连接的、可靠的虚电路服务。
  1. 网络层如何寻址问题

各个路由器接口都有不同的IP地址来进行识别,根据其IP地址(网络编号)来识别其路由器接口,就能解决寻址问题。

  1. 路由如何选择问题(路径选择问题)

在路由器中,路由器收到数据后是依据什么来决定将数据包从自己的哪个接口发送出去的,这里就引出了路由器中的路由表:路由表中记录了目的网络以及各级跳的路由器端口,以此来选择走哪个路由器到达端口。路由记录表的记录有两种情况生成:

  1. 由用户或网络管理员进行人工配置。这种方法只适用于规模较小网络拓扑不改变的小型互联网。
  2. 实现各种路由选择协议由路由器执行路由选择协议中所规定的路由选择算法,而自动得出路由表中的路由记录,这种方法更适合规模较大网络拓扑经常改变的大型互联网

因特网(lnternet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。

由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层

综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

网络层的几个重要概念

网络层提供的两种服务

面向连接的虚电路服务

  • 虚电路与电路交换类似。
  • 虚电路要求通信双方必须建立网络层的连接:虚电路(Virtual Circuit)
  • 通信双方必须沿着建立的虚电路发送分组

image.png
通信双方在通信过程中先建立一条虚电路连接,数据沿着这条虚电路有序传输。

目的主机的地址仅在建立连接阶段使用,之后每个分组的首部只需携带一条虚电路编号(构成虚电路的每一段链路都有一个虚电路编号)。这种通信方式再使用可靠传输的网络协议便可使分组最终正确到达接收方。在通信结束后释放虚拟连接。

虚电路相当于逻辑上建立了电路交换,但是不产生物理上的连接

很多广域分组交换网都使用面向连接的虚电路服务。例如,曾经的X.25和逐渐过时的帧中继FR、异步传输模式ATM等。

无连接的数据报服务

  • 无连接数据报服务相当于分组交换
  • 要求可靠连接应当由用户主机来保证
  • 不需要建立网络层连接(虚电路需要)
  • 每个分组可以走不同的路径

image.png
其路径的选择类似分组交换。因此每个分组的首部必须携带目的主机完整地址。这种通信方法所传送的分组可能会产生分组差错(误码、丢失、重复、失序)。

由于网络本身不提供端到端的可靠传输服务,因此网络中的路由器可以做的比较简单,造价低廉(与电信网中的交换机相比)。因特网采用了这种设计思想。将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层)。相对简单的分组交付功能尽最大努力的置于因特网核心。

这样带来的好处显而易见:

  • 使得网络造价大大降低。
  • 运行方式灵活,能够适应多种应用。

数据报服务和虚电路服务对比:

对比的方面 虚电路服务 数据报服务
思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证
连接的建立 必须有 不需要
终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址,即IP地址
分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立查找转发表进行转发
当节点出故障时 所有通过出故障的节点的虚电路均不能工作 出故障的节点可能会丢失分组,一些路由可能会发生变化
分组的顺序 总是按发送顺序到达终点 到达终点的顺序不一定按发送的顺序
端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责

网络层的两个层面

在路由器之间传送的信息有以下两大类:

  • 第一类是转发源主机和目的主机之间所传送的数据,把源主机所发送的分组,像接力赛跑那样从一个路由器转发到下一个路由器,最后把分组传送到目的主机。
  • 第二类则是传送路由信息,是根据路由选择协议所使用的路由算法,彼此不断地交换路由信息分组,目的是为了在路由器中创建路由表,并由此导出为转发分组而用的转发表。这一类信息的传送是为第一类数据的传送服务的。

用下图的方法来描述,也就是把网络层抽象地划分为数据层面(或转发层面)和控制层面
image.png
这两个层面的机制相差很大。

  • 数据层面中,每一个路由器根据本路由器生成的转发表,把收到的分组,从查找到的对应接口转发出去。数据层面的问题比较单纯,因为路由器在转发分组时,是独立地根据本路由器的转发表转发分组的。
  • 但在控制层面中的情况则不同。一个路由器不可能独自创建出路由表。路由器必须和相邻的路由器经常交换路由信息,然后才能创建出本路由器的路由表。根据路由选择协议所用的路由算法计算路由需要使用软件。控制层面比较复杂,因为路由器要创建路由表,就必须依靠许多路由器协同动作。不同的路由选择协议定义了不同的协同动作方式。

最近在网络界提出的软件定义网络SDN (Software Defined Network),对这两个层面的结构进行了重大的改变。下图是SDN提出的这两个层面的构成。
image.png
在SDN结构中,所有的路由器都变简单了。路由器中的路由选择软件都不存在了,因此路由器之间不再相互交换路由信息。在网络的控制层面有一个在逻辑上集中的远程控制器(但在物理上可以由不同地点的多个服务器组成)。远程控制器掌握各主机和整个网络的状态,能够为每一个分组计算出最佳的路由,然后在每一个路由器中生成其正确的转发表。路由器的工作很单纯,即收到分组,查找转发表,转发分组。

在某些具体条件下,特别是像一些大型的专好的经济效益。

虚拟互联网络

因为用户的需求是多种多样的,没有一种单一的网络能够适应所有用户的需求。

从一般的概念来讲,将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,可以有以下四种不同的中间设备:

  • 物理层使用的中间设备叫作转发器(repeater)。
  • 数据链路层使用的中间设备叫作网桥桥接器(bridge),以及交换机(switch)。
  • 网络层使用的中间设备叫作路由器(router)。
  • 网络层以上使用的中间设备叫作网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。

当中间设备是转发器或网桥时,这仅仅是把一个网络扩大了,而从网络层的角度看,这仍然是一个网络,一般并不称之为网络互连。网关由于比较复杂,目前使用得较少。因此现在我们讨论网络互连时,都是指用路由器进行网络互连和路由选择。路由器其实就是一台专用计算机,用来在互联网中进行路由选择

下图(a)表示有许多计算机网络通过一些路由器进行互连。由于参加互连的计算机网络都使用相同的网际协议IP,因此可以把互连以后的计算机网络看成为下图(b)所示的一个虚拟互连网络

所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用协议IP就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。

这种使用协议IP的虚拟互连网络可简称为IP网
image.png
使用IP网的好处是:当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议,等等)。

如果在这种覆盖全球的IP网的上层使用TCP协议,那么就是现在的互联网。

在下图所示的互联网中的源主机 H 1 H_1 H1要把一个IP数据报发送给目的主机 H 2 H_2 H2

  1. 根据分组交换的存储转发概念,主机 H 1 H_1 H1先要查找自己的转发表,看目的主机 H 2 H_2 H2是否就在本网络上。
  2. 如是,则不需要经过任何路由器而是直接交付,任务就完成。如不是,则必须把IP数据报发送给某个路由器(图中的 R 1 R_1 R1)。
  3. R 1 R_1 R1在查找了自己的转发表后,知道应当把数据报转发给 R 2 R_2 R2进行间接交付
  4. 这样一直转发下去,最后由路由器 R 5 R_5 R5知道自己是和 H 2 H_2 H2连接在同一个网络上,不需要再使用别的路由器转发了,于是就把数据报直接交付目的主机 H 2 H_2 H2

总之,分组从源节点A发送到目的节点B,若中间必须经过一个或几个路由器(这表示A和B不在同一个网络上),则是间接交付。但若不需要经过路由器(这表示A和B在同一个网络上),则是直接交付
image.png

强调:互联网可以由多种异构网络互连组成

有时可以把问题简化。我们可以想象IP数据报就在网络层中传送,传输路径可省略路由器之间的网络以及连接在这些网络上的许多无关主机。下图表示了这样的传输路径。
image.png
在互联网的词汇中,分组在传送途中的每一次转发都称为一“(hop)”。路由器在转发分组时也常常使用“下一跳(next hop)”的说法。

  • 例如, R 1 R_1 R1的下一跳是 R 2 R_2 R2,而 R 4 R_4 R4的下一跳是 R 5 R_5 R5。对于本例, H 1 H_1 H1 H 2 H_2 H2发送分组需要经过6跳。
  • 每一跳两端的两个节点都必定直接连接在同一个网络上。
  • 在上面所举的例子中,前5跳都是间接交付,只有最后一跳是直接交付。

猜你喜欢

转载自blog.csdn.net/qq_37085158/article/details/128393027