اتصال غير مهيأ

[تصغير|300 بك|[قناة اتصال غير مُهيّأ بين بروتوكولين يعملان بحسب نموذج اتصال طبقي.]]

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

يُنشئ هذا النوع من الاتصالات بين بروتوكولين يعملان في نفس الطبقة في نموذج في المصدر والوجهة. يُمكن لبروتوكول يُنشئ اتصالاً غير مُهيّأ يعمل في الطبقة (N) من النموذج أن يطلب خدمة تهيئة الاتصال من بروتوكول آخر يعمل في طبقة أعلى، مثلاً الطبقة (N+1) من نفس النموذج، وهي عمليّة شائعة في شبكة الإنترنت. تمتاز البروتوكولات التي تُنشئ قنوات اتصال غير مُهيأ بحجم ترويسات أقل، بالإضافة لكونها مُناسبة للبث العام والبثّ المجموعاتي.

تشرح وثيقة طلب التعليقات (RFC 787) عملية نقل البيانات عبر قنوات اتصال غير مُهيأة، أمّا المعيار (ISO 8072/AD1) فيصفّ خدمة نقل البيانات عبر قنوات اتصال غير مُهيأة، في حين خُصص المعيار (ISO 8602) لبيان عمل بروتوكولات الاتصال غير المُهيأة.

## تعاريف
في المُراجعات الخاصّة بنموذج الاتصال المعياري ورد تعريفان لنقل البيانات عبر قنوات الاتصال غير المُهيئة، الأول هو تعريف مُرتبط ببنية النموذج والثاني بالخدمة التي تقدّمها القناة. وجاء التعريف الأول كما يلي:" نقل البيانات عبر قنوات عير مُهيّأة هو نقل وحدة بيانات في الطبقة (N) من المصدر إلى الطبقة (N) في وجهة واحدة أو أكثر بدون تأسيس اتصال لنقل البيانات على مستوى الطبقة (N)."، أمّا التعريف المتعلّق بالخدمة فقد ورد بالشكل التالي: "خدمة نقل البيانات عبر قنوات الاتصال غير المُهيأة في الطبقة (N) هي خدمة تحقق عملية نقل وحدة مُعطيات وحيدة مستقلة في الطبقة (N) عبر (N+1) طبقة بين طرفين..."، كما شملت التعاريف التمييز بشكلٍ دقيق بين عمليات نقل (Transmit) وتحويل (Transfer) وتبادل (Exchange) البيانات عبر القنوات غير المُهيئة.

يُعرّف المعيار الفيدرالي (1037C) الخاص بمُصطلحات الاتصالات نمط النقل غير المُهيأ بأنّه: "عمليّة نقل يتم فيها ترميز الرزمة مع ترويسة تحتوي على عنوان الوجهة بشكلٍ مُناسبٍ للسماح بتوصيلها بشكلٍ مُستقل بدون أي تعليمات إضافيّة"، كما يُشير المعيار إلى أنّ مزوّد الخدمة لا يستطيع عادةً أن يضمن عدم حصول ضياع أو أخطاء أو توصيل بغير ترتيب الإرسال، مع إمكانية تخفيف هذه الآثار بالاعتماد على بروتوكول يؤمّن نقلاً موثوقاً للبيانات في طبقة أعلى.

## إنشاء قنوات الاتصال غير المهيأ باستخدام المقابس

في نموذج طلب الخدمة، بشكلٍ عام، يجري استضافة المُخدّم بشكلٍ مُستقلٍ عن استضافة العملاء الذين يتصلون معه، ثم يحصلون على الخدمة وأخيراً يُنهون الاتصال، قد تكون قنوات الاتصال التي يتمّ إنشاؤها مُهيّئة أو غير مُهيئة. على أيّة حال، تستخدم المقابس لإنشاء قنوات الاتصال. في نموذج الإنترنت تُشكّل المقابس واجهة الوصل بين طبقة التطبيق وطبقة النقل. من أجل الاتصال غير المُهيأ، لا تُؤسس المقابس قناة اتصال لتعبرها البيانات، ولكن يُحدد المُخدّم اسماً للقناة، ويمكن للعميل أن يرسل البيانات إليه. تعتمد عملية إعداد الاتصال غير المُهيّأ على بروتوكول حزم بيانات المُستخدم (UDP).

يُقدّم الطرح التالي مثالاً عن كيفيّة إعداد قناة اتصال غير مُهيّأ بين طرفين أحدهُما يلعب دور العميل، والآخر يلعب دور المُخدّم في نموذج طلب الخدمة، يفترض المثال أنّ إعدادات الشبكة تعمل بشكلٍ سليم، وبأنّ كل من العميل والمخدّم يستضيفان عنواناً من عناوين الشبكة. إنّ العبارات البرمجيّة الواردة في هذا القسم مُتوافقة مع المكتبة البرمجية الخاصّة بالمقابس (sys/socket.h) في نظام التشغيل يونكس. توفّر العديد من لغات البرمجة الأخرى دعماً لإنشاء المقابس أيضاً.

[تصغير|300بك|مخطط زمني لبيان تتابع [دالة (برمجة)|الدوال عند إنشاء قناة اتصال غير مُهيّأ باستخدام مقابس بحسب نموذج طلب الخدمة.]]

### مراحل إعداد الاتصال غير المُهيأ في طرف المُخدّم
فيما يلي الخطوات الأساسية اللازم اتباعها لإعداد طرف المُخدم لإنشاء قنوات اتصال غير مُهيأ:
# إنشاء مقبس في المُخدّم، باستخدام الدالة (()socket)، يجب تحديد عائلة العناوين المستخدمة ونوع المقبس. في هذه الحالة، تكون عائلة العناوين المُستخدمة هي عائلة عناوين الإنترنت، التي يُشار إليها بالثابت (AF_INET)، ونوع المقبس هو مقبس حزم بيانات (Datagram socket)، ويُشار إليه بالثابت (SOCK_DGRAM).
# استخدام الدالة (()bind) من أجل تخصيص اسم مميز للمقبس.
# استخدام الدالة (()recvfrom) لانتظار استقبال البيانات من العميل، تجعل هذه الدالة المقبس في حالة انتظار إلى حين بدء ورود البيانات.
# استخدام الدالة (()sendto)، لإرسال الردّ المُناسب إلى العميل، يتعلّق الردّ بنوع الخدمة التي يُقدمّها المُخدّم.
# إغلاق القناة باستخدام الدالة (()close).

### مراحل إعداد الاتصال غير المهيأ في طرف العميل
فيما يلي الخطوات الأساسية اللازم اتباعها لإعداد طرف العميل لإنشاء قنوات اتصال غير مُهيأ:

# إنشاء مقبس في العميل، باستخدام الدالة (()socket)، يجب أن تتطابق عائلة العناوين ونوع المقبس مع تلك المُستخدمة في المخدّم. في هذه الحالة، تكون عائلة العناوين المُستخدمة هي عائلة عناوين الإنترنت، التي يُشار إليها بالثابت (AF_INET)، ونوع المقبس هو مقبس حزم بيانات (Datagram socket)، ويُشار إليه بالثابت (SOCK_DGRAM).
# يملك العميل اسم المُخدّم، ولابد من الحصول على عنوانه من أجل الاتصال به، من أجل ذلك تُستخدم الدالة (()gethostbyname)، ويتمّ الاعتماد على خدمة نظام أسماء النطاقات (DNS) للقيام بذلك.
# استخدام الدالة (()sendto) لإرسال البيانات إلى المُخدّم.
# استخدام الدالة (()recvfrom) لانتظار استقبال الردّ من المُخدّم، تجعل هذه الدالة المقبس في حالة انتظار إلى حين بدء ورود البيانات.
يتعلّق الردّ بنوع االخدمة التي يُقدمّها المُخدّم.
# إغلاق القناة باستخدام الدالة (()close).

## أمثلة
من الأمثلة على البروتوكولات التي تنشئ قنوات اتصال غير مُهيّئة: بروتوكول حزم بيانات المُستخدم (UDP) والإصدار الرابع من بروتوكول الإنترنت (IPv4). ينُشئ بروتوكول رسائل التحكم في شبكة الإنترنت (ICMP) قنوات اتصال غير مُهيئة أيضاً وبسبب بُنية رسائل البروتوكول وعدم إمكانيّة تعقّبها فإنّها تشكل ثغرة أمنيّة لهجمات مثل هجوم حجب الخدمة (DoS).

في حزمة بروتوكولات الإنترنت (TCP/IP)، يعمل بروتوكول الإنترنت على مستوى طبقة الإنترنت، وهو بروتوكول يُؤمّن نقلاً غير موثوق للبيانات عير قنوات اتصال غير مُهيّأة. أمّا بروتوكول التحكّم بالنقل (TCP)، فهو يعمل على مستوى طبقة النقل ويُنشئ قنوات اتصال مُهيّئة من أجل نقل موثُوق للبيانات باستخدام آليّة خاصّة هي المُصافحة الثُلاثيّة (Three Way Handshaking)، عند عمل الحزمة، يعتمد بروتوكول الإنترنت على بروتوكول التحكم بالنقل في تأمين الوثوقيّة. بشكلٍ مُشابه، في حزمة بروتوكولات نوفل (IPX/SPX)، يُؤمّن بروتوكول تبادل رزم الشبكات (IPX) نقلاً غير موثوقاً لرزم البيانات ويعتمد على بروتوكول الرزم المُتتابعة (SPX) في إنشاء قنوات اتصال مُهيئة لتأمين نقل موثوق للرزم.

## انظر أيضاً
* قناة الاتصال.
* الاتصال المُهيّأ.
* نموذج طلب الخدمة (Client/Server).
* نموذج الاتصال المعياري (OSI).
* حزمة بروتوكولات الإنترنت (TCP/IP).

## مراجع

## وصلات خارجية
* إنشاء مقابس لقتوات اتصال غير مُهيّأة، مقالة من من أي بي أم (IBM).
* [مقارنة بين الاتصال المُهيأ والاتصال غير المُهيأ](https://msdn.microsoft.com/en-us/library/windows/hardware/ff545366(v=vs.85).aspx)، مقالة من مايكروسوفت.
* الاتصال غير المُهيأ، مقالة من مشروع معلومات لينوكس.

تصنيف:بروتوكولات الشبكة
تصنيف:بروتوكولات الإنترنت
تصنيف:بنية الإنترنت
تصنيف:ربط الشبكات الحاسوبية