网络缓冲区的最小尺寸

时间:2016-01-31 20:29:20

标签: tcp network-programming operating-system udp buffer

我是一名学生,我现在正在学习操作系统课程。在学习考试的时候,我偶然发现了一个问题的奇怪答案,我无法找到解释。

问题:假设我们有一个在低物理内存上运行的操作系统。因此,设计人员决定使缓冲区(处理连接到网络的所有工作)尽可能小。什么是最小的缓冲区?

答案:不能只用一个字节实现,但可以用2个字节大小实现。

我的想法:它有4个答案,其中一个是" 3个字节或更多"所以我认为这是正确的答案,因为为了建立一个连接,您需要在列表中能够发送包含所有连接信息的tcp / udp或类似包的标头,所以我不知道为什么这是正确的答案(根据参考)。也许是一些堕落的情况?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

缓冲区必须至少与网络上的数据包大小一样大。这取决于硬件接口的类型。我知道没有网络系统,甚至回到拨号时代,使用了接近2个字节的任何东西。

从理论上讲,你可能有一个使用2字节数据包的网络系统。相同的逻辑允许您使用1字节数据包(在数据包中传输一个字节的分数)。

有时我想知道CS教授提出的问题。我想这就是原因:

  1. 能做的人,做;
  2. 那些不能做的人,教导;
  3. 那些不能教,不能教导,教授体育的人。