Tak jak w przypadku protokołu TCP, komunikacja typu klient - serwer jest inicjowana przez aplikację po stronie klienta, która to żąda jakichś danych od jakiejś usługi serwera. Aplikacja klienta, wykorzystującego protokół UDP, losowo wybiera numer portu z zakresu portów dynamicznych i używa tego numeru jako portu źródłowego dla tej komunikacji. Port docelowy będzie zwykle z grupy dobrze znanych lub zarejestrowanych portów, który z kolei przyporządkowany jest usłudze na serwerze.

Losowe wybieranie portów źródłowych ma ponadto wpływ na zwiększenie bezpieczeństwa. Gdyby można przewidzieć numery portów źródłowych, potencjalny intruz mógłby łatwiej uzyskać dostęp do klienta, poprzez połączenie z nim na numer portu, który najprawdopodobniej byłby użyty i otwarty dla komunikacji z serwerem.

Ponieważ nie ma sesji, które byłyby inicjowane przez UDP, to od razu kiedy aplikacja przygotuje dane i zostanie im przyporządkowany numer portu źródłowego, tworzone są datagramy, przekazywane do warstwy sieciowej w celu adresacji i wysłania.

Kiedy klient ustali numery portów źródłowego i docelowego, te same numery portów użyte zostaną w odpowiedzi serwera. Oczywiście numery tych portów w nagłówku datagramu, stanowiącego odpowiedź serwera do klienta, będą zamienione miejscami.

Rysunek przedstawia poszczególne elementy procesu inicjowanego przez klientów używających protokół UDP.