ما هي الفوائد / تأثير IPv6 سوف يكون على تطوير التطبيقات والتصميم؟ [مغلق]

StackOverflow https://stackoverflow.com/questions/207838

  •  03-07-2019
  •  | 
  •  

سؤال

لقد كان هناك الكثير من الصحافة حول IPv6 والتبديل وشيك على إلى IPv6 من عناوين IPv4. لدي بعض فهم IPv6، ولكن كنت كثيرا ما تساءلت مدى تأثير ديه IPv6 على تطوير التطبيقات والتصميم (على وجه التحديد)؟

هل هناك بعض الفوائد الملموسة / معروفة يوفر الإصدار IPv6 الذي ليس لدينا بالفعل اليوم؟

وأنا أعلم ويندوز فيستا وسيرفر 2008 دعم IPv6 خارج مربع، وأي شخص يستخدم (أو تصميم مع IPv6 في العقل) اليوم، وإذا كان الأمر كذلك، ما هي الفوائد؟ يجب ان تنظر IPv6 في المشاريع الحالية والمستقبلية؟

هل هناك أي جيدة أمثلة على التطبيقات الإصدار IPv6 علم؟

هل كانت مفيدة؟

المحلول

ووسوف تؤثر على تصميم واجهة المستخدم لأي برنامج حيث يمكنك إدخال عنوان IP، وسوف تحتاج إلى السماح لهم الاختيار بين IPv4 و المدخلات الإصدار IPv6. جميلة واضحة بالرغم من ذلك.

وما أفهمه هو أن ليس أي شيء آخر سوف يتغير. تستخدم معظم البرامج مرافق الشبكات التي يوفرها نظام التشغيل، وذلك من خلال يحصل على البيانات في الوقت مرة أخرى إلى التطبيق تتم إزالة كافة معالجة ونقل تعقيدات. بالطبع هناك بعض التطبيقات التي سوف تكون أكثر تأثرا، ولكن تلك ستكون تلك التي تعمل مباشرة مع شبكة ... ليس لديك نموذجي خط إنتاج الأعمال التطبيق.

وأنت بحاجة الى ان ننظر في مكمن لك التطبيق في نموذج OSI . أعتقد أن عناوين IP هي جزء من الطبقة 3، لذلك إذا كنت فوق تلك الطبقة، وتستخرج لكم من التغييرات من قبل نظام التشغيل.

وشيء واحد والتي قد تمتص هو الألعاب القديمة حيث كنت وضعت في عنوان IP من اللاعب الذي تريد الاتصال به (عصر الامبراطوريات، ستاركرافت، الخ). ويبدو أن تمنع نوعا من عناوين IPv4-الإصدار IPv6 نفق أن هذه الوظيفة من المباراة ستكون مكسورة.

نصائح أخرى

والرد هارون هو، وأنا خائف، جميلة صحيحة من ذلك بكثير. نعم، سوف التغييرات UI يكون ضروريا، ولكن أي رمز باستخدام واجهات برمجة التطبيقات مأخذ التقليدية غير المحتمل أن تحتاج إلى تغييرات جوهرية لدعم الإصدار IPv6 أيضا.

يستخدم كود

ومعظم كبار السن ومحددة "عنوان العائلة" ثابت (AF_INET) وبنية بيانات معين (struct sockaddr_in). أي رمز لا تزال تستخدم التي عالق بشكل فعال في أرض عناوين IPv4.

ويجب أن تستخدم كود أحدث المكالمات API الحديثة مثل getaddrinfo() التي هي قادرة على إعادة القيم الصحيحة للبروتوكول، عائلة عنوان (أي AF_INET6)، والعنوان، وغيرها، وبغض النظر عن ما إذا كان المضيف البعيد يستخدم عناوين IPv4 أو الإصدار IPv6 (أو كليهما).

وانها طويلة بعض الشيء، ولكن هنا على نموذج التعليمات البرمجية من الصفحة رجل لينكس للgetaddrinfo. لاحظ كيف يحصل على دعوة قائمة كاملة من عناوين النائية المحتملة، وتحاول كل بدوره حتى ينجح:

         memset(&hints, 0, sizeof(struct addrinfo));
         hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */
         hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */
         hints.ai_flags = 0;
         hints.ai_protocol = 0;          /* Any protocol */

         s = getaddrinfo(hostname, service, &hints, &result);
         if (s != 0) {
             fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(s));
             exit(EXIT_FAILURE);
         }

         /* getaddrinfo() returns a list of address structures.
            Try each address until we successfully connect(2).
            If socket(2) (or connect(2)) fails, we (close the socket
            and) try the next address. */

         for (rp = result; rp != NULL; rp = rp->ai_next) {
             sfd = socket(rp->ai_family, rp->ai_socktype,
                          rp->ai_protocol);
             if (sfd == -1)
                 continue;

             if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1)
                 break;                  /* Success */

             close(sfd);
         }

         if (rp == NULL) {               /* No address succeeded */
             fprintf(stderr, "Could not connect\n");
             exit(EXIT_FAILURE);
         }

         freeaddrinfo(result);           /* No longer needed */

في البداية ليس كثيرا. يجب أن يكون التحول من IPv4 إلى V6 شفاف لمعظم سطح المكتب وتطبيقات الويب.

ولكن في نهاية المطاف التطبيقات التي تستخدم نماذج الشبكة التي يتم إجراؤها أسهل عن طريق الإصدار IPv6 سوف تصبح أكثر شيوعا. على سبيل المثال معظم المستخدمين وراء NAT ذلك شبكات يتناغم ممكنة فقط لجمهور التقني. أي شخص لديه لفتح منافذ على جهاز التوجيه له لبرامج P2P يعرف هذا ليس شيئا يمكن استخدام أمه.

والجري والبث أيضا الأشياء التي يتم إجراؤها أسهل عن طريق الإصدار IPv6.

جميع متصفحات الويب الحديثة (الكروم، IE، وسفاري، وفايرفوكس يتبادر إلى الذهن) يدركون كل الإصدار IPv6. أيضا الإصدار IPv6 علم هو السيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top