Krótka odpowiedź:
Przechodząc od odpowiedzi podanej tutaj . Możesz mieć dwie aplikacje nasłuchujące na tym samym adresie IP i numerze portu, więc jeden z nich jest portem UDP, a drugi portem TCP.
Wyjaśnienie:
Koncepcja portu jest istotna na warstwie transportowej stosu TCP / IP, więc dopóki używasz różnych protokołów warstwy transportowej stosu, możesz mieć wiele procesów nasłuchujących na tej samej <ip-address>:<port>
kombinacji.
Jedną z wątpliwości, które ludzie mają, jest to, że jeśli dwie aplikacje działają na tej samej <ip-address>:<port>
kombinacji, w jaki sposób klient działający na zdalnym komputerze rozróżnia te dwie? Jeśli spojrzysz na nagłówek pakietu warstwy IP ( https://en.wikipedia.org/wiki/IPv4#Header ), zobaczysz, że do zdefiniowania protokołu używane są bity od 72 do 79, w ten sposób można dokonać rozróżnienia.
Jeśli jednak chcesz mieć dwie aplikacje w tej samej <ip-address>:<port>
kombinacji TCP , to odpowiedź brzmi nie (ciekawe ćwiczenie to uruchomienie dwóch maszyn wirtualnych, nadanie im tego samego adresu IP, ale różnych adresów MAC i zobacz, co się stanie - zauważysz to czasami VM1 otrzyma pakiety, a innym razem VM2 otrzyma pakiety - w zależności od odświeżenia pamięci podręcznej ARP).
Wydaje mi się, że poprzez uruchomienie dwóch aplikacji na tym samym <op-address>:<port>
, chcesz osiągnąć pewnego rodzaju równoważenie obciążenia. W tym celu możesz uruchamiać aplikacje na różnych portach i pisać reguły tabeli IP, aby rozdzielić ruch między nimi.
Zobacz także odpowiedź @ user6169806.