当我使用TCP时,我需要目标端口(能够与其他主机上的其他进程“对话”)和源端口(因为TCP是面向连接的,所以我将数据发送回源代码,如ack,seq和更多)。 另一方面,无连接的UDP也需要源端口。
为什么? (我不需要发回数据)
答案 0 :(得分:2)
你不需要,但仍然有可能发回回来(实际上非常有用),但如RCF 768所述
源端口是可选字段,有意义时表示端口 发送过程,可以假设是a的端口 应在没有任何其他信息的情况下处理答复。如果 未使用,插入零值。
答案 1 :(得分:2)
可能有两个原因。
首先,接收者经常需要回复,为此提供标准工具很有用。
其次,您可能有多个接口(网卡)并使用源地址,您可以决定必须使用哪些接口来发送数据包。
答案 2 :(得分:0)
我想在这里补充答案。除了简单地知道要回复什么之外,源端口还可以属于list of well-known port numbers。这些端口指定将哪种数据封装在UDP(或TCP!)数据包中。
例如,源端口530指示该数据包包含Remote Procedure Call,而520指示Routing Information Protocol数据包。