面向连接的服务的实现

我们需要一个虚拟电路子网来提供面向连接的服务。虚拟电路旨在避免必须为每个发送的数据包选择新路由。

相反,当建立连接时,选择从源机器到目标机器的路由作为连接设置的一部分并存储在路由器内部的表中。该路由用于连接上的所有流量,甚至电话的工作方式也完全相同。

当连接被释放时,虚电路也被终止。在面向连接的服务中,每个数据包都有一个标识符,它告诉它属于哪个虚拟电路。

面向连接的服务的实现用图表表示如下 -

示例

考虑上图中提到的场景。

第 1 步- 主机 H1 已与主机 H2 建立连接 1,该连接被记住为每个路由表中的第一个条目。

第 2 步- A 的第一行推断何时数据包具有连接标识符 1 来自主机 H1,并且必须发送到路由器 W,并且连接标识符为 1。

Step 3 - 同样,W 的第一个条目将数据包路由到 Y,连接标识符也为 1。

第 4 步- 如果 H3 也想与 H2 建立连接,则它选择连接标识符 1 并告诉子网建立虚拟电路。这将出现在表格的第二行。

第 5 步- 请注意,我们在这里有冲突,因为虽然我们可以轻松地区分来自 H1 的连接 1 数据包和来自 H3 的连接 1 数据包,但 W 不能这样做。

Step 6 - 为此,我们为第二个连接的传出流量分配不同的连接标识符。避免此类冲突是路由器需要能够替换传出数据包中的连接标识符的原因。在某些情况下,这称为标签切换。