【发布时间】:2019-10-27 22:44:08
【问题描述】:
对于 ICMP 等协议,它不需要端口。那么,为什么各种 TCP 和 UDP 应用程序都需要分配一个端口呢?只有一个端口,然后将应用程序名称之类的东西路由到正确的位置会有什么缺点——例如,它会转到一个端口并具有application="mysql" 标签,而不是“3306”?
【问题讨论】:
-
"类似于应用程序名称的东西,可以路由到正确的位置" 所以,你的意思是类似于端口的东西?
-
因此,您希望拥有一个可变长度字段,而不是 TCP 或 UDP 协议标头中的一个小的 16 位无符号整数(想想校验和) 并且会改变最大有效负载大小,具体取决于标头中标签的长度?您的
mysql标记使用 ASCII 的五个字节(使用 unicode 的更多)与端口号的两个字节。与使用 Chrome (GoogChrome) 或 Firefox (MozillaFirefox) 相比,使用 Edge (MSEdge) 可以获得更大的有效负载。我相信微软会认可这一点。
标签: networking port icmp