传输层能够为应用程序提供无连接服务或面向连接服务。
类似的,网络层也能够提供无连接服务或连接服务。网络层的连接和无连接服务在许多方面等同于传输层的面向连接和无连接服务。
TCP/IP 网络体系结构(因特网)中,提供了主机到主机的连接服务,称为数据报网络.
曾经的 ATM 网络,是在网络层提供连接服务的计算机网络,被称为虚电路(了解这种技术就可以了,现在已经不用了,但是可以在这种技术的发展、消亡中学到点什么)。
在传输层实现面向连接的服务与在网络层实现连接服务是根本不同的。传输层面向连接服务是在位于网络边缘的端系统中实现的;而网络层连接服务除了在端系统中实现外,也在位于网络核心的路由器中实现。
虚电路和数据报网络是计算机网络的两种基本类型。
一:虚电路网络
曾经的许多网络体系结构(包括 ATM、帧中继)都是虚电路网络,在网络层使用连接,这 些网络层连接被称为虚电路。
尽管虚电路技术已经不再使用,但是类似的思想在电话网络和多协议标记交换网络 (MPLS)还是有其应用,因此学习虚电路技术还是有必要的。
一条虚电路(VC)的组成如下:
①源和目的主机之间的路径(即一系列链路和路由器);
②VC 号,沿着该路径的每段链路一个号码;
③沿着该路径的每台路由器中的转发表表项。
属于一条虚电路的分组将在它的首部携带一个 VC 号。因为一条虚电路在每条链路上可能具有不同的VC号,所以每台中间路由器必须用一个新的VC号替代每个传输分组的VC号。 这个新的 VC 号从转发表中获得。
考虑图中的网络,现在假定主机 A 请求该网络在它自己与主机 B 之间创建一条虚电路。 同时假定该网络为该虚电路选择路径 A-R1-R2-B,并为这条路径上的这 3 条链路分配 VC 号 12、22 和 32。在这种情况下,当这条虚电路中的分组离开主机 A 时,该分组首部中的 VC 字段的值是 12;当它离开 R1 时该值是 22,而当它离开 R2 时该值是 32。
对于分组通过某路由器,该路由器怎样决定 VC 号的更换呢?对于虚电路网络,每台路由 器的转发表包括了 VC 号的转换。例如,R1 中的转发表可能是:
当跨越一台路由器创建一条新的虚电路时,转发表就增加一个新项。类似地,无论何时 终止一条虚电路,就删除沿着该路径每个表中的相应项。
一个分组沿着其路由在每条链路上不能保持相同的 VC 号。原因有二:
逐链路代替该号码减少了分组首部中 VC 字段的长度。
通过允许沿着该虚电路路径每条链路有一个不同的 VC 号,大大简化了虚电路的建立。特别是具有多个 VC 号,该路径上的每条链路能够选择一个 VC 号,独立于沿着该路 径的其他链路的 VC 号。如果沿着某路径的所有链路需要一个共同的 VC 号的话,路由器将 不得不交换相当大量的报文,以约定一个共同的 VC 号来用于一次连接。
在虚电路中有 3 个明显不同的阶段:
1:虚电路建立。
虚电路的所有分组要通过的一系列链路与路由器。网络层也为沿着该路径 的每条链路确定一个 VC 号。在沿着路径的每台路由器的转发表中增加一表项。在虚电路建 立期间,网络层还可以预留虚电路路径上的资源(如带宽)。
2:数据传送。一旦创建了虚电路,分组就可以开始沿该虚电路流动了。
3:虚电路拆除。当发送方(或接收方)通知网络层它想终止该虚电路时,就启动这个过程。
在网络层的虚电路建立与传输层的连接建立之间的区别:
传输层的连接建立仅涉及两个端系统。
虚电路网络中,沿两个端系统之间路径土的路由器都要参与虚电路的建立,且每台路由 器都完全知道经过它的所有虚电路。
端系统向网络发送指示虚电路启动与终止的报文,以及路由器之间传递的用于建立虚电 路(即修改路由器表中的连接状态)的报文被称为信令报文,用来交换这些报文的协议常称为 信令协议。
二:数据报网络
在数据报网络中,每当一个端系统要发送分组时,它就为该分组加上目的地端系统的地 址,然后将该分组推进网络中。
在数据报网络中,路由器没有虚电路的概念,当然不维护任何类似虚电路的状态信息。
分组从源向目的地传输通过一系列路由器。路由器中的每个都使用该分组的目的地址来 转发该分组。
路由器有一个将目的地址映射到链路接口的转发表,当分组到达路由器时,该路由器使 用该分组的目的地址在该转发表中查找适当的输出链路接口。然后,路由器有意识地将该分 组向该输出链路接口转发。
由于转发表使用地址块索引输出链路,因此一个目的地址可能匹配多项。当有多个匹配时,该路由器使用最长前缀匹配规则,即在该表中寻找最长的匹配项,并向与最长前缀匹配的链路接口转发该分组。
3 虚电路和数据报网络的由来
虚电路的概念来源于电话领域,它采用了真正的电路,使用 VC 号转发分组。
因特网作为一种数据报网络,是由互连计算机的需求发展而来的,使用 IP 地址转发分组。