Das kannst du nicht.
Ich meine, technisch könnte das gemacht werden. DNS ist bekannt dafür, dass es einen Domainnamen übermitteln und eine IP-Adresse erhalten kann. Ich habe mich jedoch ein wenig mit dem DNS-Protokoll befasst, und DNS ist technisch in der Lage, als Abfrage- / Antwortmechanismus für weit mehr als nur Domainnamen und IP-Adressen zu fungieren. Ein möglicher Ansatz wäre die Verwendung eines DNS-Ressourceneintrags, der nicht dem typischen A- oder AAAA-Typ entspricht, z. B. eines TXT-Eintrags (der technisch gesehen nur Text ist und für alles verwendet werden kann) oder eines SRV-Eintrags oder eines anderen neuerer Ressourceneintragstyp, den Sie auswählen.
Wenn Sie Ihre eigene Software (sowohl Client als auch Server) erstellen, gibt es möglicherweise keinen technischen Grund, dies nicht zu tun, außer zu wissen, dass einige Benutzer DNS-Hosting-Unternehmen verwenden und sie auf die Verwendung nur bestimmter Datensatztypen beschränken. Das ist bedauerlich, da Leute, die ihre eigenen DNS-Server betreiben, sicherlich genug Flexibilität für solche Dinge haben.
Wenn Sie jedoch kein eigenes Netzwerkprotokoll erstellen (z. B. wenn Sie HTTP verwenden möchten), tritt wahrscheinlich ein großes Problem auf, nämlich, dass vorhandene Software Ihre benutzerdefinierte Lösung nur verwendet, wenn Sie sie verwenden bereits etablierte Lösungen. Das wird die Barriere sein. Keine technische Unmöglichkeit. Eine soziale Barriere: Können Sie alle davon überzeugen, die Dinge auf Ihre Weise zu tun?
Nachdem ich erklärt habe, warum Sie das nicht können, habe ich möglicherweise eine Lösung für das, wonach Sie suchen. Schauen wir uns zunächst an, warum wir überhaupt IP-Adressen und Ports haben.
IP-Adressen und Ports machen verschiedene Dinge. Der Zweck der IP-Adresse besteht darin, die Ziele der Schichten 2 und 3 des OSI-Modells der Netzwerkkommunikation zu erfüllen. Der Zweck der IP-Adresse besteht darin, zu identifizieren, zu welchem Computer der Datenverkehr gehen soll. Die Tatsache, dass wir möglicherweise eine Portnummer für diesen Zweck verwenden, indem Firewalls / Router Portnummern untersuchen, um NAPT (Network Address Port-based Translation, manchmal auch PNAT oder nur NAT genannt) durchzuführen, ist eine neuere Technik, die a verwendet Ressource (Information), war aber nicht Teil des ursprünglichen Designs. Wenn wir uns für eine Minute von diesem "Missbrauch" der Portnummern entfernen und das ursprüngliche Design berücksichtigen, können wir möglicherweise eine einfachere Lösung finden. Durch das Design des Internets sollten Maschinen mithilfe von IP-Adressen gefunden werden.
Der Sinn einer "Portnummer", die von TCP und UDP und einigen Alternativen verwendet wird, besteht darin, einzelne Konversationen verfolgen zu können. Dies hilft, die Kommunikation mit laufenden Programmen auszurichten. Wenn ein Computer Datenverkehr über den TCP-Port 80 empfängt, weiß der Computer, dass der Netzwerkdatenverkehr von dem Programm verwendet werden soll, das der Webserver ist. Wenn ein Webbrowser mehrere Grafiken gleichzeitig herunterlädt, können Kombinationen aus "Quellport" -Nummern und "Zielport" -Nummern verfolgen, welche Daten für welche Grafik bestimmt sind, sodass diese gleichzeitigen Konversationen stattfinden können, ohne die Daten zu verwechseln.
Ich vermute, Sie haben Zugriff auf einen DNS-Server, und es scheint Ihnen, als ob Sie der Meinung sind, dass die DNS-Verwaltung praktisch wäre, um einen Teil des Verkehrsroutings ein wenig besser verarbeiten zu können. DNS scheint Ihnen jedoch nicht dabei zu helfen, eine Portnummer zu erhalten. Was kannst du tun?
Betrachten Sie IPv6. Mit IPv6 können Sie viel mehr IP-Adressen haben. Darüber hinaus können Geräte, die IPv6 verwenden, im Gegensatz zu einigen IPv4-Implementierungen problemlos mehrere aktive IPv6-Adressen gleichzeitig unterstützen. Wenn Sie also drei verschiedene Netzwerkprotokolle auf einem Computer haben möchten, können Sie demselben Computer mindestens drei verschiedene IPv6-Adressen zuweisen. Und dann können Sie mit diesen IPv6-Adressen beliebige Routing-Spielereien ausführen.
Anschließend können Sie den AAAA-Ressourceneintragstyp verwenden, um dieser IPv6-Adresse einen Namen zuzuweisen, den Ihr Netzwerkdesign als effektiv für den bestimmten Dienst auf dem gewünschten Computer reserviert behandeln kann.
Wallah, Sie haben jetzt DNS, das effektiv auf die Software verweist, und dieses Ziel erreicht, ohne sich darauf verlassen zu müssen, dass DNS auf eine Portnummer verweist, was einfach nicht gut funktioniert, weil diese Funktionalität einfach nicht üblich ist unterstützt.
Möglicher Einwand:
Und wenn Sie sich mit IPv4 festgefahren fühlen und der Meinung sind, dass IPv6 irgendwie nicht unterstützt wird, würde ich Sie ermutigen, zu versuchen, dieses Problem anzugehen. Dieses Problem wird wahrscheinlich einfacher zu beheben sein (möglicherweise mithilfe einer Art Tunneling) und wird wahrscheinlich eine lohnendere Lösung sein, sobald Sie es implementiert haben.