Ich verwende, was ich annehme, ist eine "fest codierte" Adresse
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.
Sind IPV6-Adressen immer dynamisch?
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.
Oder um zu einem IPV6-Netzwerk zu wechseln, muss ich eine statische IPV6-Adresse erhalten, um meine Anwendung fest zu codieren?
Sie sollten bestimmte Adressen in Ihrer Anwendung nicht unbedingt fest codieren.
Ich habe mich eher gefragt, wie ich vermeiden kann, dass eine Adresse in eine Anwendung hartcodiert wird
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.
Ich denke, ich müsste einen Domain-Namen bekommen ... und dann einen DNS-IPV6-Namen in meine Anwendung "hart codieren"
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.
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.