面向连接与电路交换,无连接与分组交换

时间:2015-05-05 17:01:10

标签: networking network-programming

正如标题所示,我无法看到在我的大学网络课程中经常提到的以下概念之间的区别:

  • 面向连接的服务与(虚拟)电路交换有什么区别?
  • 无连接服务与数据包切换有什么区别?

我觉得使用相同的类比不断解释各自的术语。由于我无法在网上找到澄清的答案,我认为在这里提一下可能是个好主意。

谢谢!

3 个答案:

答案 0 :(得分:4)

大多数人都了解经典的互联网(IP)和电话线(POTS)示例,但遗憾的是,这些示例并不足以完全区分这四个术语:

                         | Packet-switching (PS)        | Circuit-Switching (CS) |
                         |------------------------------|------------------------|
Connectionless (CL)      | IP                           | -                      |
Connection-oriented (CO) | ...                          | Telephone (POTS)       |

从上面可以很容易地看出人们如何将CO等同于CS并将CL等同于PS。然而,这种等同是错误的,因为事实证明,有些协议 面向连接和数据包交换:

                         | Packet-switching (PS)        | Circuit-Switching (CS) |
                         |------------------------------|------------------------|
Connectionless (CL)      | IP                           | -                      |
Connection-oriented (CO) | TCP, ATM, X.25               | Telephone (POTS)       |

左下角现在填充了第三种类型的网络,起初可能看起来很混乱 要理解,请比较三者:

  1. (CO,CS):数据流采用相同的路径 - 此图层和下面的所有图层都使用相同的路径。
  2. (CL,PS):数据流采用不同路径 - 对于此图层,较低层本身可能会破坏数据并转移到更多备用路径。< / LI>
  3. (CO,PS):数据流显然采用相同的路径 - 此层和下层通过一个细节紧密耦合:低层协议是获取更高层的数据流并分解成&#34;数据包&#34;采取不同的路径。低层协议必须在最后重新排序,以便'#34;技巧&#34;更高层认为他们采取相同的路径(这里更高层协议暂时采取的观点是按顺序到达的数据包与采用相同路径的数据包相同)。
  4. 第一种情况太不灵活,不再使用。第三种情况被互联网大量使用 - 在TCP中,数据流是一条简单的路径,包括从主机到主机的一条边。在这一层,这只是一条可能的路径,因此数据总是沿着同一条路径流动(平凡地)。但是,它使用较低层协议IP,它采用我们的数据流并打入&#34;数据包&#34;采取不同的路径。 (CO,PS)网络的名称为virtual circuits。另请注意,(CL,CS)网络不存在。

    • 数据包交换 / 电路交换 - 数据未被分解为&#34;数据包&#34;
    • 无连接 / 面向连接 - 数据可能不会/确实采用相同的路径,或等效:数据可能无序到达/始终按顺序到达

    不要通过写&#34;(虚拟)来混淆术语电路交换虚拟电路电路交换&#34; 。它们是两个完全不同的东西。例如,POTS电话线是电路交换,但与虚电路无关!

    我看到的最大错误是假设所有分组交换网络都是无连接的。在学校,他们告诉我,分组交换网络必须采取分组并单独路由它们,从而导致不同的路径和无序传送。这是错误!这仅适用于CL分组交换。来自Wikipedia

      

    分组交换可以分为无连接分组交换,也称为数据报交换,以及面向连接的分组交换,也称为虚电路交换。

    事实上,当您在浏览器中访问网站时,您将使用CO包交换(确切地说是TCP)。

    如果你喜欢类比:

    • (CO,CS):旧式电话。你的话按照你说的顺序到达。电话呼叫数据没有被分成&#34;数据包&#34;用于路由(实际上,路由是由电话运营商使用交换板手动完成的)。
    • (CL,PS):用邮寄信件。你的信件可能无序到达。这些字母是&#34;数据包&#34;。
    • (CO,PS):X向助理提供文件。助理用信函发送文件的每一页。在另一端,另一个助手重新组织文档的页面并将它们提供给Y.X和Y能够将所有页面按顺序发送给对方;但实际上他们已经陷入困境,在后期采取各种路线;最后解开了。

答案 1 :(得分:0)

你有点不对劲。基于分组的通信可以是无连接的或面向连接的。例如,原始IP通信是无连接的。 IP不保存有关接收主机的任何状态信息,仅发送数据包。另一方面,TCP通过交换SYN和ACK消息来实现基于IP的连接,以确保两个主机都知道正在进行的通信。

据我了解,基于电路的通信始终是面向连接的。

答案 2 :(得分:0)

对我来说,它似乎应该是:

面向连接的服务和无连接服务有什么区别? (第3层/第4层问题)

分组交换和电路交换服务有什么区别? (第1层/第2层问题)

面向连接的服务可以是利用TCP(传输控制协议)的任何服务,因为它需要可靠的连接,其中数据需要以特定顺序到达并且没有错误。 ftp,http和telnet等服务使用TCP。 TCP使用一系列ACK和SYN消息来确保连接已启动且数据包按预期到达。这是在发送和接收的所有数据包上完成的。如果丢弃数据包,则会将消息发送回发送方以重新传输数据包。 TCP在第4层运行。

另一方面,无连接服务可以是利用UDP(用户数据报协议)和/或IP(网际协议)的任何东西,其中不需要保证流量到达其目的地。需要快速使用UDP作为丢弃数据包的应用程序在近乎实时工作时是一种权衡。 snmp,syslog和一些速度测试站点等服务使用UDP。 UDP也在第4层运行.IP在第3层运行。

电路交换是一种传统上用于电信行业的技术。 TDM(时分复用)用于为诸如语音服务之类的服务分配电路。当设置电路时,例如在T1内的DS0上进行电话呼叫时,该电话呼叫具有分配给该电路(DS0)的所有带宽,因此带宽不与其他任何人共享。在物理层(层1)T1,DS0,DS1,DS3和光载波电平电路(SONET)用于传输。针对上述技术提供的电路是端到端的专用电路。

分组交换是将数据分段为数据包并通过网络进行交换的地方。在第2层利用分组交换的主要技术是以太网。通过分组交换,分组在共享媒体上移动,其中资源不是端到端的专用资源。因此,可能会发生拥堵。