Loaing......

分组交换 - 廉一鸣的博客
n.

分组交换

电路交换?

Posted by AGZX on August 7, 2020

分组交换

上次咱们聊电路交换的时候提到了分组交换

之所以聊计算机网络要提到电路交换,就是因为分组交换跟电路交换不是一回事,分组交换可以理解为是一种规则,一种协议

而电路交换则是对于通过这个协议分发数据的走向,方向的安排(可以把分组交换理解为是一种交通规则,而电路交换就是在这种交通规则之下的道路(资源)的分配(给了这辆车道路,他才能按着交通规则来运行))

img

计算机网络通常(可能现在就基本上百分之99.9999999……了)采用分组交换技术

图所示的是把一个数据报文划分为几个分组的概念。

通常我们把要发送的整块数据称为一个报文(message)。

在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,例如,每个数据段为1024 bit(比特,计量单位,之后聊)。在每一个数据段前面,加上一些由必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。

分组又称为“包”(也就是咱平常说的数据包),而分组的首部也可称为“包头”

分组是在因特网中传送的数据单元。分组中的“首部”是非常重要的,包含了诸如目的地址和源地址等重要控制信息(这个地址大多数情况下都是主机的IP地址)。计算机将分组通过通信链路直接发送给分组交换机,分组交换机收到一个分组,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址查找转发表

找到合适的端口(就是分组交换机(可以理解为是电路交换中的中继,用来决定究竟该给谁开通这条线)和外部连接的接口)转发出去,把分组交给下一个分组交换机。这样一步一步经过多个分组交换机把分组转发到最终的目的计算机。由于每个分组交换机都是将收到的分组先存储下来再转发出去,因此该方法被称为存储转发方式(这也就是为什么路由器会有内存,道路堵的时候,就会先把要上传的数据在它的内存里边存好,宽敞的时候再送出去)

每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机有一个输出缓存(也称为输出队列)(这也就是上面咱聊到的内存),它用于存储分组交换机准备发往哪条链路的分组。该输出缓存在分组交换中起着重要的作用。如果到达的分组需要从某条链路转发出去,但发现该链路正忙于传输其他分组,则分组必须在该输出缓存中等待(即排队)。特别是当一个分组到达时发现输出缓存已满时,将发生分组丢失,即到达的分组或已经排队的分组之一将被丢弃。当网络中有大量分组需要从某条链路转发时就可能出现这种分组丢失的情况,这时我们说网络发生了拥塞(也就是太TM卡了)