为什么我需要UDP上的源端口

时间:2015-11-08 12:31:02

标签: tcp udp port

当我使用TCP时,我需要目标端口(能够与其他主机上的其他进程“对话”)和源端口(因为TCP是面向连接的,所以我将数据发送回源代码,如ack,seq和更多)。 另一方面,无连接的UDP也需要源端口。

为什么? (我不需要发回数据)

3 个答案:

答案 0 :(得分:2)

你不需要,但仍然有可能发回回来(实际上非​​常有用),但如RCF 768所述

  

源端口是可选字段,有意义时表示端口       发送过程,可以假设是a的端口       应在没有任何其他信息的情况下处理答复。如果       未使用,插入零值。

https://tools.ietf.org/html/rfc768

答案 1 :(得分:2)

可能有两个原因。

首先,接收者经常需要回复,为此提供标准工具很有用。

其次,您可能有多个接口(网卡)并使用源地址,您可以决定必须使用哪些接口来发送数据包。

答案 2 :(得分:0)

我想在这里补充答案。除了简单地知道要回复什么之外,源端口还可以属于list of well-known port numbers。这些端口指定将哪种数据封装在UDP(或TCP!)数据包中。

例如,源端口530指示该数据包包含Remote Procedure Call,而520指示Routing Information Protocol数据包。