1
1
这主要是因为: a.)客户端可能需要知道服务器使用的协议版本 B.)你甚至不知道你在和一个支持该协议的服务器交谈。 简而言之,在向它发送数据之前,知道你在说什么通常是有意义的。 |
2
1
我想知道这种设计是否可以说是违反 Postel's Law 因为它假设了关于接收者的事情,因此在知道之前发送什么是合法的。 我至少希望这一原则是大多数协议设计的原因,以便它们在发送可能根本不被理解的数据之前,花一次往返的时间来了解另一端的更多信息。 |
3
0
如果延误是你主要关心的问题,你可能想看看 LPT ,一种专门为具有非常长往返时间的连接而设计的协议。 在设计新的传输协议时,当防火墙遇到未知协议的数据包时,应该注意拥塞控制和防火墙将要做什么。 |
4
0
HTTP、SMTP等协议的设计目标不是速度,而是在脆弱的物理网络条件下的可靠性,以及带宽利用率很低。在很大程度上,这些条件现在已经随着更好的硬件而改变了。 您的设计应该考虑到您将要遇到的网络条件、所需的可靠性、延迟和预期应用程序的带宽利用率。 |
5
0
为什么不打开几个TCP套接字,通过这些多个连接发送单独的请求呢?这里没有头顶!噢,这已经被一些现代网络浏览器完成了。使用A
不止这些。TCP套接字需要时间来设置(syn,一些时间,syn+ack,一些时间,ack…)。有人认为在每次请求后重置连接是浪费,所以一些现代HTTP服务器和客户端使用
很抱歉,我认为你的想法很好,但是你可以在RFC里找到它们。尽管如此,继续思考,我相信有一天你会发明出一些优秀的东西。参见F.E. here 对于优化的Bitorrent客户端。 |
Zarathustra · java协议实现头长度 6 年前 |
nariman amani · 如何查找数据包类型 9 年前 |
John · 如何将HTTPS流量从SOCKS代理转发到HTTP代理 10 年前 |
Sherif · 如何计算音频流中每个数据包的RTP时间戳 10 年前 |
Theis Kristensen · TDS流中的协议错误-错误 10 年前 |
T. Webster · 1个IPv4地址有多少种可能的解释?[已关闭] 11 年前 |