【问题标题】:net mask and TCP connection issue网络掩码和 TCP 连接问题
【发布时间】:2013-05-21 22:42:44
【问题描述】:

问题1。假设计算机 A 和 B 的 IP 地址分别为 10.105.1.113 和 10.105.1.91,并且它们都使用相同的网络掩码 N。如果 A 和 B 应属于同一网络,则不应使用下面给出的 N 值中的哪一个?

  1. 255.255.255.0
  2. 255.255.255.128
  3. 255.255.255.192
  4. 255.255.255.224

问题2。在打开 TCP 连接时,初始序列号将使用日时钟 (ToD) 推导出来,该时钟即使在主机关闭时也会继续运行。 ToD 时钟计数器的低 32 位用于初始序列号。时钟计数器每毫秒递增一次。最大数据包生命周期为 64 秒。下面给出的选择最接近用于连接数据包的序列号可以增加的最小允许速率?

  1. 0.015/s
  2. 0.064/s
  3. 0.135/s
  4. 0.327/s

在公司面试期间,面试官问我这些问题。如何解决这些问题。请帮帮我。

谢谢。

【问题讨论】:

  • 怎么想,为什么?我不得不说,问题 2 完全没有意义,除非你正在面试一家没有任何专业知识的公司编写 TCP 堆栈的职位,而这种情况的可能性微乎其微。

标签: networking tcp netmask


【解决方案1】:

真的,每个帖子你应该只问一个问题...

对于问题 1,屏蔽后的 IP 地址必须看起来相同。掩码是按位与运算,因此您需要用二进制写下相关数字。现在前三组无关紧要,因为 255 == 11111111 你不会改变任何东西。让我们只关注最后一个数字:

113 = 0111 0001
 91 = 0101 1011

对于面具:

  0 = 0000 0000
128 = 1000 0000
192 = 1100 0000
224 = 1110 0000

现在是掩蔽:

例子:

1110 0000
0111 0001
========= AND
0110 0000 

0 AND 1 == 0,但1 AND 1 == 1

将此掩码应用于两个地址,我们得到

      113         91
  0 0000 0000  0000 0000
128 0000 0000  0000 0000
192 0100 0000  0100 0000
224 0110 0000  0100 0000 **** when this mask is applied to the two IP addresses, the result is different

我们得出结论,这两个地址最终会位于不同的子网中。

结论:如果你想让这两个IP地址在同一个子网上,你不能使用255.255.255.224作为掩码。想了解更多信息,你可以去https://en.wikipedia.org/wiki/Subnetwork例如。

至于问题 2,它是那些措辞不好的问题之一。 “最低利率”是最低数字还是最高数字?当您说“这是最大比率”时,您通常是指“最低数字”,但它可以解释。我认为在这种情况下,他们询问的是“最大比率”(最小数字),因为对问题的字面解释没有意义。我仍然在努力理解他们在问什么。当两台计算机通信时,它们会增加每个数据包的序列号。那么什么是“允许”呢?我不知道。但是 0.015/s 接近于 1/64s - 如果我是一个赌徒,我会把钱放在那里,但我无法解释。我希望你的第一个问题的答案至少是有用的......也许第二个问题的漫无边际会引发一些好的讨论和一个实际的答案。

【讨论】:

  • 在最后一步“现在进行掩码”中,如何在 113 和 91 下调整这些二进制数,请再次解释最后一步@Floris
  • 在最后一步“now for masking”中如何调整这些二进制数在 113 和 91 下,请再解释最后一步。
  • 好的.....现在我清楚地理解了你的第一个答案,是的你的答案是正确的......你能解决第二个问题
  • 我建议您将第二个问题作为一个单独的问题提出......因为它们确实有很大的不同。
  • 第二个问题是智障,浪费了很多人的时间。为什么他们不能更加小心!
猜你喜欢
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 2011-07-24
相关资源
最近更新 更多