Anda mengajukan pertanyaan yang bagus. Jangan biarkan orang lain mengatakan sebaliknya.
Sayangnya, tidak ada aturan praktis untuk jenis protokol yang menggunakan TCP dan jenis protokol yang menggunakan UDP.
Keputusan apakah suatu protokol menggunakan satu atau yang lain jatuh kepada siapa pun yang menulis / membuat protokol untuk memulai.
Jika mereka tidak ingin repot menulis sistem "pengiriman yang dapat diandalkan" sendiri, maka mereka dapat menggunakan TCP yang menyediakan semua keandalan secara bawaan.
Jika mereka berpikir (mengetahui protokol mereka sendiri) bahwa mereka dapat menulis sistem "pengiriman yang lebih baik" yang lebih baik atau lebih tepat, maka mereka dapat membangun itu ke dalam protokol itu sendiri dan hanya menggunakan UDP sebagai transportasi mereka.
Sebagai contoh, lihat pengambilan sampel TFTP UDP , Anda akan melihat ada dibangun dalam sistem pengakuan dalam TFTP itu sendiri - memiliki keduanya dan sistem pengakuan tambahan dalam TCP hanya akan menjadi berlebihan.
Sedangkan FTP, yang berjalan melalui TCP, tidak memiliki sistem pengakuan bawaan. Seorang pengguna hanya meminta file, dan pengirim mengirimkannya. Ada pemberitahuan "transfer file selesai", tetapi tidak ada yang menjamin telah menerima setiap bit file. FTP mengandalkan keandalan TCP untuk memastikan file mendapatkan hasil yang baik.
Yang mengatakan, saya melihat daftar port pada halaman wiki yang Anda tautkan, dan melihat sejumlah protokol yang diduga menggunakan TCP dan UDP. Ini asing bagi saya, dan saya hanya tahu sangat sedikit yang menggunakan keduanya (yaitu, DNS). Tetapi mungkin ada implementasi TFTP yang menggunakan TCP, dan jika demikian, saya khawatir saya tidak memiliki eksposur untuk itu.
Domain Name System (DNS) secara tradisional adalah protokol yang dirujuk ketika membahas protokol yang menggunakan TCP dan UDP. Itu tidak menggunakan ini pada saat yang sama, ingatlah. Tetapi fungsi berbeda dalam DNS mungkin membutuhkan TCP vs UDP.
Misalnya, ketika membuat permintaan resolusi A-record yang sederhana, "permintaan" dan "respons" sangat ringan, keduanya membutuhkan satu paket. Dengan demikian, ini biasanya dilakukan di atas UDP.
Tetapi jika permintaan atau respons memerlukan transfer yang lebih besar (di atas jumlah byte tertentu), maka DNS memilih untuk menggunakan TCP untuk memastikan "semua bit" sampai di sana. Ini biasa terjadi pada permintaan Transfer Zona lengkap.