我不明白为什么创建新的TCP连接被认为是一项昂贵的任务。基本上,建立新连接是指执行TCP的3向握手。因此,这将发送两个数据包,而接收一个。考虑到将会有成千上万的(数据)数据包,握手不能成为昂贵的部分。它可以?
我不明白为什么创建新的TCP连接被认为是一项昂贵的任务。基本上,建立新连接是指执行TCP的3向握手。因此,这将发送两个数据包,而接收一个。考虑到将会有成千上万的(数据)数据包,握手不能成为昂贵的部分。它可以?
Answers:
我相信,总的来说,与通过保持打开状态重用已经打开的连接的能力相比,打开TCP连接被认为是昂贵的。没错,打开连接仅需3个数据包/匝,但那时间-RTT的3倍-远远超出了重用已经打开的连接的成本,后者接近0。如果您经常打开和关闭连接。
不过,您肯定是对的,当与应用程序“做某事”时所要看到的匝数相比时,这3个数据包看起来似乎很小,但这又取决于您要如何比较选项,以及您的应用程序的行为/计划打开连接的次数。
编辑 如果我们正在谈论UDP与TCP,那么Cheekaleek在这里是100%正确的-与UDP的无连接操作相比,从长远来看,其开销很大
这肯定比发送UDP数据包而不关心之后发生的事情要多。
TCP还附带了更多的头数据,并维护了连接状态,这将消耗资源。
因此,是的,与UDP相比,TCP更加昂贵,但是昂贵是一个相对术语。
“ TCP连接是女孩最好的朋友???”
"TCP connections are a girl's best friend???"
不,他们不是。我有一个成千上万的女孩在她的生日那天,她所做的一切就是停止退回我的电子邮件。:(