Dror
Dror

Reputation: 177

Why do I need source port on UDP

When I use TCP I need destination port (to be able to "talk" to other process on the other host) and source port (because TCP is connection oriented so I'll send data back to source like ack, seq and more). On the other side, UDP which is connectionless needs also source port.

Why is it? (I don't need to send back data)

Upvotes: 3

Views: 7157

Answers (3)

a3y3
a3y3

Reputation: 1191

I would like to add to the answers here. Apart from simply knowing what to reply to, the source port can belong to the list of well-known port numbers. These ports specify what kind of data is encapsulated in the UDP (or TCP!) packet.

For example, the source port 530 indicates that the packet contains a Remote Procedure Call, and 520 indicates a Routing Information Protocol packet.

Upvotes: 0

JoulinRouge
JoulinRouge

Reputation: 466

You don't need to but there's still the possibility to send a response back (that is very useful actually) however as stated in the RCF 768

Source Port is an optional field, when meaningful, it indicates the port of the sending process, and may be assumed to be the port to which a reply should be addressed in the absence of any other information. If not used, a value of zero is inserted.

https://www.rfc-editor.org/rfc/rfc768

Upvotes: 2

Valentin Tihomirov
Valentin Tihomirov

Reputation: 1

Probably, two reasons.

First, receivers often need to reply and it is useful to provision a standard tool for that.

Secondly, you may have multiple interfaces (network cards) and using source address, you decide which of them must be used to emit the packet.

Upvotes: 6

Related Questions