Ich versuche, mich um IPV6-Netzwerke zu kümmern. Ich habe ein statisches IPV4 von meinem ISP und beim Erstellen von Apps verwende ich eine "fest codierte" Adresse. Wie die unten:
//The * are replaced with my static IPV4 address
network_connect_raw(client, "**.**.**.***", 8000);
Sind IPV6-Adressen immer dynamisch? Oder um zu einem IPV6-Netzwerk zu wechseln, muss ich eine statische IPV6-Adresse erhalten, um meine Anwendung fest zu codieren? In jedem Fall würde ich eine Methode benötigen, um eine konsistente und zuverlässige Verbindung zu meinem Server herzustellen ...
Ich kenne mich ein wenig mit DNS aus. Ist es so, dass Sie eine "Route" zum DNS fest codieren, die mit der aktuellen Adresse für Ihren IPV6-Server zurückgibt, die dynamisch sein könnte?
Hier sind die DNS IPV6-Adressen von Google:
Die öffentlichen DNS-IPv6-Adressen von Google lauten wie folgt:
2001: 4860: 4860 :: 8888
2001: 4860: 4860 :: 8844
Ich denke, ich müsste einen Domain-Namen bekommen ... und dann einen DNS-IPV6-Namen in meine Anwendung "hart codieren"; Das würde dann meinen Domainnamen übermitteln, um in IPV6 übersetzt zu werden. Ist das richtig?
www.google.com
) als auch numerische Adressen zu. Dh, führen Sie zuerst eine DNS-Suche durch. Ihr Betriebssystem, was auch immer es ist, hat Bibliotheken dafür.Antworten:
Ja. "Hardcoding" bedeutet, dass Sie die Informationen direkt in Ihren Code einfügen, anstatt indirekte Mittel (wie DNS oder einfache Konfigurationsdatei) zu verwenden. Dies ist ein allgemeiner Begriff und nicht auf IP oder sogar Netzwerk beschränkt.
Wenn Ihre connect () -Anrufe direkt auf eine IP-Adresse verweisen - ja, Sie codieren die Adresse fest. Wenn sich die Adresse ändert, müssen Sie das Programm neu kompilieren.
Sowohl IPv4 als auch IPv6 folgen denselben allgemeinen Regeln:
Ob Ihr ISP Ihnen statische oder dynamische Adressen bereitstellt, hängt ganz davon ab, welchen Vertrag Sie mit ihnen unterschreiben (einschließlich des von Ihnen gewählten Plans usw.).
Für Privatanschlüsse und kleinere Geschäftsanschlüsse werden Adressen vom Internetdienstanbieter gemäß den Richtlinien des Internetdienstanbieters zugewiesen. Möglicherweise erhalten Sie eine öffentliche IPv4-Adresse oder ein Dutzend, möglicherweise eine IPv6 / 64- oder eine / 48-Adresse, diese Zuweisungen sind statisch oder ändern sich täglich - dies hängt alles von dem Vertrag ab, den Sie mit dem ISP unterzeichnet haben.
Wie Sie Ihren Servern und anderen Computern in Ihrem LAN Adressen zuweisen, hängt ganz von Ihnen ab. Wenn die Adresse eines Geräts statisch bleiben soll, können Sie dies tun.
Es stimmt, dass die dynamische Zuweisung über SLAAC in IPv6 etwas häufiger ist als DHCP in IPv4. "Dynamisch" bedeutet jedoch nicht, dass sich die Adresse ändert. Bei IPv6 SLAAC wählt dasselbe Gerät normalerweise für immer dieselbe Adresse aus.
Schließlich hindert nichts Sie daran, eine feste Adresse für das Gerät manuell zu konfigurieren. Dies ist in IPv6 völlig normal.
Sie sollten bestimmte Adressen in Ihrer Anwendung nicht unbedingt fest codieren.
Platzieren Sie sie außerhalb der Anwendung. Die zwei häufigsten Methoden sind:
Verwenden von DNS: Konfigurieren eines Domänennamens, der auf Ihren Server verweist.
Bereitstellen eines Konfigurationsmechanismus - z. B. einer INI-Datei oder der Registrierung oder einer anderen vollständigen Datei.
Ja. Sie codieren immer noch etwas (den Domainnamen) fest, aber es ist weniger wahrscheinlich, dass sich der Domainname ändert - wohingegen die IP-Adresse eines Servers viele Gründe haben kann, geändert zu werden. (Beispielsweise kann der Server an einen anderen Standort verschoben oder sein gesamtes Netzwerk umstrukturiert oder zu einem anderen Internetdienstanbieter gewechselt werden.)
Obwohl ich sagen würde, dass es so etwas wie "DNS IPv6-Namen" nicht gibt. Ein Domänenname kann sich gleichzeitig auf IPv4- und IPv6-Adressen beziehen und sogar mehrere Adressen desselben Typs enthalten.
Ein gut geschriebenes Programm versucht alle gefundenen Adressen (zB mit Hilfe der Funktion getaddrinfo ()). Dies ermöglicht es, sowohl in IPv4- als auch in IPv6-Netzen sowie in gemischten Netzen zu arbeiten.
quelle
Die Frage nach der Verfügbarkeit von statischem IPv6 ist besser an Ihren ISP gerichtet. Nicht alle ISPs unterstützen sie, während für andere eine statische IPv6-Zuweisung automatisch mit einer statischen IPv4-Zuweisung einhergeht.
Ich stelle fest, dass das statische IPv6, falls verfügbar, nur eine Präfixdelegation ist. Wenn Sie einen IPv6-kompatiblen Router haben, kann dieser die Präfix-Delegierung akzeptieren und anschließend an Ihr Netzwerk angeschlossene Geräte statischen IPv6-Adressen zuweisen oder diese zuweisen.
Wenn Sie unter "Festcodierung" einen Kurznamen anstelle der Eingabe der langen IPv6-Zeichenfolge verstehen, können Sie diesen über die Hostdatei als Alias definieren. Weitere Informationen finden Sie in der StackOverflow-Post-
IPv6-Datei in der Windows-Hosts-Datei .
quelle
hosts
Datei einen Alias geben .