电路交换和分组交换

在网络中,有两种基本的方式传输数据

Circuit Switching

  • 大多数翻译为电路交换。
  • 独享连接,用之前要先建立一条路。建立这条路需要时间。
  • 举个饭店的例子:吃之前要预订,去到就可以上桌吃饭了。
  • 主要分为frequency-division multiplexing(FDM) 和 time-division multiplexing (TDM)。前者根据频率分,后者根据时间。
    • 根据频率分这一块没弄懂,说什么电话是用0~4kHz,FM radio stations(无线电台?)是88 MHz and 108 MHz,但是不是无线电台吗?这里聊的不都是有线连接吗?
    • 根据时间分的意思就是:比如把一秒分为若干帧,然后把每一帧分为很多个时间块,然后A只能用每一帧的第一块,B只能用每一帧的第二块这样子。
  • 适用场景:极其需要实时性的,不希望打电话打着打着突然说忙音叫你排队。但其实现在打电话也慢慢转向了packet switching了,因为延时越来越短,难以察觉了。

Packet Switching

  • 大多数翻译为分组交换,中文教材上还多了个message switching,即报文交换,但分组交换似乎是报文交换的进化版?那么感觉就没必要介绍message switching了

  • 按需使用

  • 举个饭店的例子:packet switching就是不用预订,去到饭店可能可以直接上桌点餐,但也可能因为人多要排队等候。
  • 不同于电路交换,A要传数据到C,数据可能要经过几个路由器,比如路由器A只知道附近有B,B只知道附近有A和C,那么A就要经过B再到C。而一个packet从A传到B,不是说传了一位数据到B,B就可以把这一位发给C,要等整个packet传完,才能给C。所以相比circuit switching会多了这个时间,而且一般会经过多个路由器,每个路由器都会有这样的耗时,但实际上每个packet都很少,而且一般十几个的路由器后目的地址就找到了吧?

对比一下

  1. circuit switching易造成浪费,比如你占用了一条路来上网,但可能只有百分之十的时间在实际传输数据的,那另外的时间就都浪费了,别人用不了。反之如果是packet switching,一条线十个人用,但是某个时间段只有一个人实际传输数据,那个人就可以享受超高速了。
  2. packet switching能让更多人使用,比如都是一条线,同样带宽都是1Mbps,每个用户都报装了100kbps的宽带,每个用户每天都要10%的时间上网(均匀分布,不会集中在一个时间段。且这里的上网是指必定传输数据),对于circuit switching,每个用户在任何时间都要保留100kbps,那最多只能有十个用户;而对于packet switching,如果有35个用户,那么同一时间段,同时有11个或以上用户上网的概率大概为0.0004(这个高中学过怎么算吧),也就是说,一般来说同一时间最多只会有10个用户上网。所以同一条线,后者可以卖给35个人用。当然,上网时间怎么可能集中在同一时间段呢???(以前用过XX宽带,估计他们就是这么想的,一条线卖给很多人共用,导致高峰时期网速超慢!)不过不管怎么样,packet switching总会能更多人用吧?【其实这里是有疑惑的,既然知道同一时间段不会有太多人用,那对于circuit packet为什么要在任何时候都为每个用户分配连接,不能在有需要的时候才分配吗?猜测是不是在实际情况中,每个用户一直都在传输数据,但大部分时间数据量都是很小?】

总结

似乎随着技术的发展,packet switching的延时已经可以忽略?这是看《Computer Networking A Top-Down Approach 6th》英文版1.3节后的读后感。欢迎纠错,毕竟看的是英文,很容易理解错。

你可能感兴趣的:(计算机网络)