Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 同一子网上的两台主机之间是否会丢失ip数据包?_Networking_Tcp Ip - Fatal编程技术网

Networking 同一子网上的两台主机之间是否会丢失ip数据包?

Networking 同一子网上的两台主机之间是否会丢失ip数据包?,networking,tcp-ip,Networking,Tcp Ip,ip数据包是否会在同一子网上的两台主机之间丢失,或者是否需要涉及路由器?我对数据包重新排序也有同样的问题 我应该澄清一下,这是数据中心有线网络上的一个子网,有两个web服务通过http进行通信。取决于网络上使用的底层链路级协议。对于大多数无线协议,答案是“是”,对于某些(但不是全部)有线协议,答案是“否”。是的,数据中心的有线网络中可能会丢失数据包 在我家,数据包丢失的一些来源包括: 猫在开关上撒尿 兔子咬断了以太网的电线 妻子移动了电缆,因为它很丑 停电了 我把开关从架子上敲了下来 虽然所

ip数据包是否会在同一子网上的两台主机之间丢失,或者是否需要涉及路由器?我对数据包重新排序也有同样的问题


我应该澄清一下,这是数据中心有线网络上的一个子网,有两个web服务通过http进行通信。

取决于网络上使用的底层链路级协议。对于大多数无线协议,答案是“是”,对于某些(但不是全部)有线协议,答案是“否”。

是的,数据中心的有线网络中可能会丢失数据包

在我家,数据包丢失的一些来源包括:

  • 猫在开关上撒尿
  • 兔子咬断了以太网的电线
  • 妻子移动了电缆,因为它很丑
  • 停电了
  • 我把开关从架子上敲了下来
虽然所有这些都可以在专业运营的数据中心实现,但它们似乎不太可能成为数据包丢失的原因。但是,即使是数据中心也存在问题:

  • 开关过热时会变脆
  • 终端计算机过热时会出现问题
  • 数据包卷覆盖了交换机的结构
  • 数据包卷覆盖了端点计算机
  • 某些第三方计算机毒害了ARP缓存
如果您使用的是TCP,那么数据包丢失恢复几乎肯定会导致重新排序的数据包

Sender: Hey Bob, here's packet 78
Sender: Hey Bob, here's packet 79
Sender: Hey Bob, here's packet 80
Bob: Whoa, Sender, I'm missing 78!
Sender: Hey Bob, here's packet 78
Bob: Okay, I've got 78, 79, and 80.
Sender: Hey Bob, here's packet 81

您可以看到,发送方发送了数据包78、79、80、78和81。对于外部观察者来说,这可能被认为是无序的,因为他看到了序列80、78、81。

您所说的对数据包重新排序和数据包丢失都适用吗?还有,为什么数据包不能在同一子网中丢失(我想这有点像问数据包是如何丢失的,如果有已知的路由,这似乎不会发生)?这些似乎不太可能。当您说“数据包卷淹没了终端计算机”时,您的意思是数据到达的速度快于主机处理数据的速度(例如,当新数据到达时,某些接收缓冲区已满)?是的,交换机的缓冲区可能已满,或者终端计算机的缓冲区可能已满。要测量后者,请尝试
ifconfig eth0 | grep drop
。另外,你会在相关网站上得到更好的答案: