.\" -*- coding: UTF-8 -*- .\" Copyright 2000, Andi Kleen .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-1-para .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ipv6 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم ipv6 \- تنفيذ بروتوكول IPv6 في لينكس .SH موجز .nf \fB#include \fP \fB#include \fP .P \fItcp6_socket\fP\fB = socket(AF_INET6, SOCK_STREAM, 0);\fP \fIraw6_socket\fP\fB = socket(AF_INET6, SOCK_RAW, \fP\fIprotocol\fP\fB);\fP \fIudp6_socket\fP\fB = socket(AF_INET6, SOCK_DGRAM, \fP\fIprotocol\fP\fB);\fP .fi .SH الوصف ينفذ لينكس 2.2 بروتوكول الإنترنت، الإصدار 6، اختيارياً. تحتوي صفحة الدليل هذه على وصف لواجهة برمجة التطبيقات الأساسية لـ IPv6 كما ينفذها نواة لينكس و glibc 2.1. تعتمد الواجهة على واجهة مقابس BSD؛ انظر \fBsocket\fP(7). .P تهدف واجهة برمجة تطبيقات IPv6 إلى أن تكون متوافقة إلى حد كبير مع واجهة برمجة تطبيقات IPv4 (انظر \fBip\fP(7)). تُوصف الاختلافات فقط في صفحة الدليل هذه. .P لربط مقبس \fBAF_INET6\fP بأي عملية، يجب نسخ العنوان المحلي من المتغير \fIin6addr_any\fP الذي له نوع \fIin6_addr\fP. في التهيئات الثابتة، يمكن أيضًا استخدام \fBIN6ADDR_ANY_INIT\fP، والذي يتوسع إلى تعبير ثابت. كلاهما بترتيب بايت الشبكة. .P عنوان الاسترجاع IPv6 (::1) متاح في المتغير العام \fIin6addr_loopback\fP. للتهيئات، يجب استخدام \fBIN6ADDR_LOOPBACK_INIT\fP. .P يمكن معالجة اتصالات IPv4 باستخدام واجهة برمجة تطبيقات v6 عن طريق استخدام نوع العنوان v4 المُعيّن على v6؛ وبالتالي يحتاج البرنامج إلى دعم نوع واجهة برمجة التطبيقات هذا فقط لدعم كلا البروتوكولين. يُعالج هذا بشفافية بواسطة دوال معالجة العناوين في مكتبة C. .P تشارك IPv4 و IPv6 مساحة المنفذ المحلي. عندما تحصل على اتصال IPv4 أو حزمة إلى مقبس IPv6، سيُعيّن عنوان مصدره إلى v6. .SS "تنسيق العنوان" .in +4n .EX struct sockaddr_in6 { sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* port number */ uint32_t sin6_flowinfo; /* IPv6 flow information */ struct in6_addr sin6_addr; /* IPv6 address */ uint32_t sin6_scope_id; /* Scope ID (new in Linux 2.4) */ }; \& struct in6_addr { unsigned char s6_addr[16]; /* IPv6 address */ }; .EE .in .P يُضبط \fIsin6_family\fP دائماً على \fBAF_INET6\fP؛ \fIsin6_port\fP هو منفذ البروتوكول (انظر \fIsin_port\fP في \fBip\fP(7))؛ \fIsin6_flowinfo\fP هو معرف تدفق IPv6؛ \fIsin6_addr\fP هو عنوان IPv6 ذو 128 بت. \fIsin6_scope_id\fP هو معرف يعتمد على نطاق العنوان. إنه جديد في لينكس 2.4. يدعمه لينكس فقط للعناوين المحلية للرابط، في هذه الحالة يحتوي \fIsin6_scope_id\fP على فهرس الواجهة (انظر \fBnetdevice\fP(7)) .P يدعم IPv6 عدة أنواع من العناوين: أحادي الإرسال لعنونة مضيف واحد، متعدد الإرسال لعنونة مجموعة من المضيفين، أي إرسال لعنونة أقرب عضو في مجموعة من المضيفين (غير منفذ في لينكس)، IPv4 على IPv6 لعنونة مضيف IPv4، وأنواع عناوين محجوزة أخرى. .P ترميز العنوان لـ IPv6 هو مجموعة من 8 أرقام سداسية عشرية مكونة من 4 أرقام، مفصولة بـ \[aq]:\[aq]. \&"::" يرمز إلى سلسلة من 0 بت. العناوين الخاصة هي ::1 للاسترجاع و ::FFFF:<عنوان IPv4> لـ IPv4 المُعيّن على IPv6. .P مساحة المنفذ لـ IPv6 مشتركة مع IPv4. .SS "خيارات المقبس" انظر \fBIPPROTO_IPV6\fP(2const). .SH الأخطاء .TP \fBENODEV\fP حاول المستخدم \fBbind\fP(2) إلى عنوان IPv6 محلي للرابط، لكن \fIsin6_scope_id\fP في بنية \fIsockaddr_in6\fP المقدمة ليس فهرس واجهة صالحاً. .SH الإصدارات سيكسر لينكس 2.4 التوافق الثنائي لـ \fIsockaddr_in6\fP للمضيفات ذات 64 بت عن طريق تغيير محاذاة \fIin6_addr\fP وإضافة حقل \fIsin6_scope_id\fP إضافي. تبقى واجهات النواة متوافقة، لكن البرنامج الذي يتضمن \fIsockaddr_in6\fP أو \fIin6_addr\fP في بنى أخرى قد لا يكون كذلك. هذه ليست مشكلة للمضيفات ذات 32 بت مثل i386. .P حقل \fIsin6_flowinfo\fP جديد في لينكس 2.4. يُمرر/يُقرأ بشفافية بواسطة النواة عندما يحتوي طول العنوان المُمرر عليه. بعض البرامج التي تمرر مخزناً عنوانياً أطول ثم تتحقق من طول العنوان الصادر قد تتعطل. .SH ملاحظات بنية \fIsockaddr_in6\fP أكبر من \fIsockaddr\fP العام. البرامج التي تفترض أن جميع أنواع العناوين يمكن تخزينها بأمان في \fIstruct sockaddr\fP تحتاج إلى التغيير لاستخدام \fIstruct sockaddr_storage\fP بدلاً من ذلك. .P خيارات المقبس \fBSOL_IP\fP، \fBSOL_IPV6\fP، \fBSOL_ICMPV6\fP، وغيرها من \fBSOL_*\fP هي متغيرات غير محمولة من \fBIPPROTO_*\fP. انظر أيضًا \fBip\fP(7). .SH العلل واجهة برمجة تطبيقات IPv6 الموسعة كما في RFC\ 2292 منفذة جزئياً فقط حالياً؛ على الرغم من أن نواة 2.2 لديها دعم شبه كامل لاستقبال الخيارات، فإن وحدات الماكرو لتوليد خيارات IPv6 مفقودة في glibc 2.1. .P دعم IPSec لرؤوس EH و AH مفقود. .P إدارة تسمية التدفق غير مكتملة وغير موثقة هنا. .P صفحة الدليل هذه غير مكتملة. .SH "انظر أيضًا" \fBIPPROTO_IPV6\fP(2const), \fBip\fP(7) .P RFC\ 2553: واجهة برمجة تطبيقات IPv6 الأساسية؛ يحاول لينكس أن يكون متوافقاً مع هذا. RFC\ 2460: مواصفات IPv6. .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .