我有两个debian服务器位于同一个子网。 他们通过交换机连接。 我知道UDP是不可靠的。
问题1:我假设链路层是以太网。 而标准以太网的MTU是1500字节。 所以没有被分段的最大数据报是1500-20 8 = 1472字节? 我能说,因为这两台服务器之间没有路由器,所以IP数据报不会被分割。
问题2:由于两台服务器直接与交换机连接,我能假设所有的数据报都按顺序到达,path上没有丢失吗?
问题3:如何确定由于缓冲区溢出而导致数据报在服务器上丢失的机会。 设置接收缓冲区的大小,使数据报不会溢出接收缓冲区。
IP数据包当然可以由发送它们的设备来分割; 他们知道他们媒体的MTU低于他们发送的数据包,所以他们会相应地分割IP数据包。 在这个时代,许多主机实现pathMTU发现,它明确告诉路由器根本不处理分段,而是告诉主机调整其有效的MTU,以便处理任何必要的分段。
不 – 用单一的开关拓扑结构,你可以假设他们会按顺序到达,但是你不能承担任何损失。
这完全取决于正在使用的设备,它们的性能以及传输中的数据量。
1)否。实际上,即使设置不分片(DF)位也不能保证UDP上面的层没有分片。 UDP根本不提供这个保证上面的层。 UDP之上的层不应该关心。
2)否,UDP根本不提供这个保证,以上层。
3)唯一可靠的方法是在您计划使用的实际条件下进行测量。
从根本上说,你所要做的是通过推理来综合保证,你不能想到保证可能会被违反。 你不能以这种方式来综合保证。 你只能得到协议实际提供的保证。 虽然在实践中,这种方式大部分时间都会发生,但这并不能保证。