跑得快
跑得快PHP,敢问谁的PHP程序比我写的跑得快?

  在互联网应用中,每个终端系统可以相互交换信息。这个信息也叫报文.·报文是个大师。它可以包括你想要的任何东西,如文本、数据、电子邮件、音频、视频等。为了将报文从源目的地发送到终端系统,有必要将长报文分成小数据块,这些小数据块称为数据包,也就是说,报文是由小数据包组成的。在终端系统和目的地之间,每个数据包都经过通信链路并交换数据包。通信链路可分为双绞线铜线、同轴电缆和光纤。分组交换机分为路由器和链路层交换机。(如果你不明白这一点,你仍然需要读我的最后一篇文章。你说你知道互联网,你知道这些吗?)数据包在终端系统之间交互需要一定的时间。人工智能的算法原理如果要在两个终端系统之间交互的分组是L比特,并且链路的传输速率是R比特/秒,那么传输时间是L/R秒。
  现在让我们来模拟分组交换的过程。一个终端系统需要通过交换机向其他终端系统发送数据包。当数据包到达交换机时,交换机能否直接转发它们?不,开关不是那么无私的。你要我帮你转包裹吗?嗯,首先,你需要给我完整的数据包数据,然后我会考虑发送给你的问题,这是存储转发传输。
  存储转发传输
  存储转发传输意味着交换机必须在重新传输数据包的第一位之前接收整个数据包。下面是存储转发传输的示意图,从图中可以看出。
  从图中可以看出,数据包1、2和3正以每秒速率向交换机传输,交换机已接收到数据包1发送的位,此时交换机是否直接转发?答案是否定的,交换机将首先在本地缓存您的数据包。这和考试作弊是一样的。一个学生欺负者必须通过学生甲把答案传给学生乙。学生甲说,学生甲收到答案后,能直接通过试卷吗?学渣甲说我抄完答案后会给你试卷(保存功能)。
  队列延迟和数据包丢失
  什么?你认为开关只能连接到一个通信链路?吗?那你就大错特错了。这是一个开关。怎么可能只有一个通信链路?
  因此,我相信你一定能想到这个问题。多个终端系统同时向交换机发送数据包。一定有顺序到达和排队的问题。事实上,对于每个连接的链路,分组交换机都有一个输出缓冲器和与之对应的输出队列,用于存储路由器打算发送给每个链路.的分组。如果到达的分组发现路由器正在接收其他分组,则新到达的分组将在输出队列中排队。等待数据包转发所花费的时间也称为排队延迟。上述分组交换机在转发分组时会等待,这称为存储转发延迟。所以我们现在知道有两种延迟,但实际上有四种延迟。这些延迟不是固定的,它们的变化过程取决于网络的拥塞程度。由于队列容量有限,当多个链路同时发送数据包导致输出缓存无法接受多余的数据包时,这些数据包将会丢失。这种情况称为数据包丢失,到达的数据包或排队的数据包将被丢弃。
  下图说明了一个简单的分组交换网络
  在上图中,分组由一个三位数据面板显示,面板的宽度表示分组数据的大小。所有数据包都具有相同的宽度,因此具有相同的数据包大小。让我们进行一个场景模拟:假设主机A和主机B想要向主机E发送数据包,主机A和主机B首先通过100 Mbps的以太网链路,向第一台路由器发送数据包,然后路由器将这些数据包定向到15 Mbps的链路.如果数据包到达路由器的速率(转换为每秒位数)在短时间间隔内超过15 Mbps, 在数据包在链路输出缓冲区排队并传输到链路.之前,路由器上会出现拥塞。例如,如果主机A和主机B同时发送5个数据包,这些数据包中的大多数会在队列中等待一段时间。 事实上,这种情况完全类似于许多常见的情况,例如,当我们排队等候银行出纳员或在收费站前。

posted on 2020-03-29 18:45  跑得快  阅读(3015)  评论(0编辑  收藏  举报