Networking 如何估计UDP和TCP(分布式系统)中完成请求的总时间

Networking 如何估计UDP和TCP(分布式系统)中完成请求的总时间,networking,tcp,udp,distributed-computing,distributed-system,Networking,Tcp,Udp,Distributed Computing,Distributed System,我偶然发现了一个问题,我真的不知道答案是怎么来的。我会把问题和答案贴在下面 考虑具有以下特征的分布式系统: *每个数据包的延迟(本地或远程,在发送和接收时发生):5毫秒。 *连接设置时间(仅TCP):5毫秒。 *数据传输速率:10 Mbps。 *MTU:1000字节。 *服务器请求处理时间:2毫秒 假设网络负载较轻。客户端将200字节的请求消息发送到 一种服务,它生成包含5000字节的响应。估计到达的总时间 在下列每种情况下完成请求,并列出性能假设 下: 1) 使用无连接(数据报)通信(例如UD

我偶然发现了一个问题,我真的不知道答案是怎么来的。我会把问题和答案贴在下面

考虑具有以下特征的分布式系统: *每个数据包的延迟(本地或远程,在发送和接收时发生):5毫秒。 *连接设置时间(仅TCP):5毫秒。 *数据传输速率:10 Mbps。 *MTU:1000字节。 *服务器请求处理时间:2毫秒

假设网络负载较轻。客户端将200字节的请求消息发送到 一种服务,它生成包含5000字节的响应。估计到达的总时间 在下列每种情况下完成请求,并列出性能假设 下:

1) 使用无连接(数据报)通信(例如UDP)

答:UDP:5+2000/10000+2+5(5+10000/10000)=37.2毫秒

我们没有得到任何公式,所以我很难找到上面计算的数字的实际含义

  • 2000/10000——我认为10000必须是10Mbps*1000,我只是不知道2000意味着什么

  • (5+10000/10000)-(我知道这必须乘以5,因为MTU是1000字节,但我不知道这些数字是什么意思)


谢谢,期待着您对2000/10000的想法,我想2000意味着以位为单位的请求消息大小。理论上,请求消息大小应该是1600位,因为200字节=200*8位。为了简单起见,我猜答案大概是2000

对于5(5+10000/10000),第一个MTU是最大传输单元的缩写,它是可以在网络中通信的最大数据包大小。响应消息为5000字节,MTU为1000字节,因此响应分为5个数据包,每个数据包有1000字节


因为这是无连接的通信,所以没有管道。每次链路中只有一个数据包。因此,对于每个数据包,发送回数据包的时间是5+10000/10000(严格地说,它应该是8000/10000,因为MTU是1000*8位。同样,为了简单起见,我猜它也近似于10000)。因此,要发回所有5个数据包,总时间是5(5+10000/10000)。

对于2000/10000,我猜2000表示以位表示的请求消息大小。理论上,请求消息大小应该是1600位,因为200字节=200*8位。为了简单起见,我猜答案大概是2000

对于5(5+10000/10000),第一个MTU是最大传输单元的缩写,它是可以在网络中通信的最大数据包大小。响应消息为5000字节,MTU为1000字节,因此响应分为5个数据包,每个数据包有1000字节


因为这是无连接的通信,所以没有管道。每次链路中只有一个数据包。因此,对于每个数据包,发送回数据包的时间是5+10000/10000(严格地说,它应该是8000/10000,因为MTU是1000*8位。同样,为了简单起见,我猜它也近似于10000)。因此,要发回所有5个数据包,总时间是5(5+10000/10000)。

下面是我如何计算UDP和TCP的

 Total transmission time (UDP) = transmission time for request message packet 
                                    + Server request processing time 
                                    + transmission time response message

 Total transmission time (TCP) = connection setup time + 
                                 transmission time for request + 
                                 server request processing time + 
                                 transmission time for response message packet

注意:这可能与问题中给出的参数类型有关。这只是答案的一个迭代

下面是我如何计算UDP和TCP的

 Total transmission time (UDP) = transmission time for request message packet 
                                    + Server request processing time 
                                    + transmission time response message

 Total transmission time (TCP) = connection setup time + 
                                 transmission time for request + 
                                 server request processing time + 
                                 transmission time for response message packet

注意:这可能与问题中给出的参数类型有关。这只是答案的一个迭代

你能解释一下如何用TCP计算吗?TCP:(5)+(5+2000/10000)+(2)+(5+10000/10000)+(4+10000/10000)+(3+10000/10000)+(2+10000/10000)+(1+10000/10000)。意思:连接建立时间+请求数据包时间+服务器请求处理时间+第一个响应数据包时间+第二个响应数据包时间+第三个响应数据包时间+第四个响应数据包时间+第五个响应数据包时间基本上就是说,连接建立时间+udp时间你能解释一下如何使用TCP计算吗?TCP:(5)+(5+2000/10000) + (2) + (5 + 10000/10000) + (4 + 10000/10000) + (3 + 10000/10000) + (2 + 10000/10000) + (1 + 10000/10000). 含义:连接建立时间+请求包时间+服务器请求处理时间+第一响应包时间+第二响应包时间+第三响应包时间+第四响应包时间+第五响应包时间基本上就是说,连接建立时间+udp时间