当我使用TCP时,我需要目标端口(以便与另一台主机上的其他进程进行通信)和源端口(因为TCP是面向连接的,所以我将向源发送数据,例如确认、序列号等)。另一方面,UDP是无连接的,也需要源端口。 为什么呢?(我不需要发送回数据)
你不需要回复,但仍然有可能发送回复(实际上非常有用),但是根据 RCF 768 中所述,源端口是一个可选字段。如果有意义,它指示发送进程的端口,并且可以假定在没有任何其他信息的情况下应将答复寄往该端口。如果未使用,则插入值为零。 https://www.rfc-editor.org/rfc/rfc768
我想在这里补充一下答案。除了简单地知道如何回复外,源端口可以属于众所周知的端口号列表。这些端口指定了UDP(或TCP!)数据封装的类型。 例如,源端口530表示该数据包包含一个远程过程调用,而520表示一个路由信息协议数据包。