Jawaban singkat:
Pergi dengan jawaban yang diberikan di sini . Anda dapat memiliki dua aplikasi mendengarkan pada alamat IP yang sama, dan nomor port, begitu lama salah satu port adalah port UDP, sementara yang lain adalah port TCP.
Penjelasan:
Konsep port relevan pada lapisan transport dari TCP / IP stack, sehingga selama Anda menggunakan protokol transport layer yang berbeda dari stack, Anda dapat memiliki banyak proses mendengarkan pada <ip-address>:<port>
kombinasi yang .
Satu keraguan yang dimiliki orang adalah jika dua aplikasi berjalan pada <ip-address>:<port>
kombinasi yang sama , bagaimana klien yang berjalan pada mesin jarak jauh membedakan antara keduanya? Jika Anda melihat header paket lapisan IP ( https://en.wikipedia.org/wiki/IPv4#Header ), Anda akan melihat bahwa bit 72 hingga 79 digunakan untuk mendefinisikan protokol, ini adalah bagaimana perbedaan dapat dibuat.
Namun jika Anda ingin memiliki dua aplikasi pada <ip-address>:<port>
kombinasi TCP yang sama , maka jawabannya adalah tidak (Latihan yang menarik akan meluncurkan dua VM, berikan mereka alamat IP yang sama, tetapi alamat MAC yang berbeda, dan lihat apa yang terjadi - Anda akan memperhatikan bahwa beberapa kali VM1 akan mendapatkan paket, dan lain kali VM2 akan mendapatkan paket - tergantung pada penyegaran cache ARP).
Saya merasa bahwa dengan membuat dua aplikasi berjalan pada saat yang sama <op-address>:<port>
Anda ingin mencapai semacam penyeimbangan beban. Untuk ini, Anda dapat menjalankan aplikasi pada port yang berbeda, dan menulis aturan tabel IP untuk membagi dua lalu lintas di antara mereka.
Juga lihat jawaban @ user6169806.