سؤال ما الفرق بين مقبس Unix ومقبس TCP / IP؟


إنها من هذا الجواب:

https://stackoverflow.com/questions/2482411/is-this-pdo-bug-fixed-now/2482424#2482424


82
2018-03-20 09:13


الأصل




الأجوبة:


ا مقبس يونيكس هي آلية اتصال بين العمليات التي تسمح بتبادل البيانات ثنائي الاتجاه بين العمليات التي تعمل على نفس الجهاز.

مقابس IP (خاصة مآخذ توصيل TCP / IP) هي آلية تسمح بالاتصال بين العمليات عبر الشبكة. في بعض الحالات ، يمكنك استخدام مآخذ توصيل TCP / IP للتحدث مع العمليات التي تعمل على نفس جهاز الكمبيوتر (باستخدام واجهة الاسترجاع).

تدرك مقابس نطاق UNIX أنها تنفذ على نفس النظام ، لذا يمكنهم تجنب بعض عمليات الفحص والعمليات (مثل التوجيه) ؛ مما يجعلها أسرع وأخف من مقابس IP. لذلك إذا كنت تخطط للتواصل مع العمليات على نفس المضيف ، فهذا خيار أفضل من مقابس IP.

تحرير: حسب تعليق نيلس تويدتمان: تخضع مآخذ نطاق UNIX لأذونات نظام الملفات ، بينما يمكن التحكم في مآخذ توصيل TCP فقط على مستوى عامل تصفية الحزمة.


148
2018-03-20 09:39



ربما إضافة أن مآخذ نطاق UNIX تخضع لأذونات نظام الملفات ، بينما لا تكون مآخذ توصيل TCP. وكنتيجة لذلك ، يكون من الأسهل تنظيم المستخدمين الذين يمكنهم الوصول إلى مقبس مجال UNIX مما هو الحال مع مقبس TCP. - Nils Toedtmann
pQd ، يا رجل يمكنك تسميته Unix IPC بدلاً من Unix Sockets؟ - Pacerier
@ مقابس Pixerier Unix هي ببساطة طريقة واحدة لتحقيق Unix IPC (ذاكرة Interprocess مشتركة بين الآخرين) ، لذا لن يكون صحيحًا استدعاء unix sockets unix IPC. - fyquah95
يتم التعامل مع مآخذ TCP بواسطة يونيكس أيضا؟ مآخذ TCP جزءًا من مواصفات بروتوكول TCP أو أي بروتوكول يمكن استخدام IP Sockets؟ - Federico
نشرتFederico I إجابة والتي تحاول معالجة استفسارك ، إذا كنت بحاجة إلى مزيد من العمق يرجى نشر سؤال جديد. - Peter Green


يمكنك سرد مآخذ Unix المحلية الخاصة بالجهاز باستخدام الأمر التالي:

netstat -a -p --unix

إستمتع!


21
2018-03-20 13:49



لا توجد مآخذ Unix على Windows. netstat ومع ذلك يعمل على ويندوز. - Mark Tomlin
apache ، شيء مشابه في نظام التشغيل Windows يسمى "Named pipes". - expert
الأنابيب المسماة موجودة على لينكس كذلك. - Sahil Singh
expert ، المسماة أنابيب في Windows تساوي أنابيب الاتصال المسماة في Unix. مآخذ IPC في Unix ليس لها تكافؤ في Windows - Pacerier
لاحظ أن أحد الاختلافات هو أن أنابيب الاتصال المسماة يمكن أن يكون لها عميل واحد فقط متصلاً في المرة الواحدة (عمليتان تتصلان بالإجمالي). يمكن لمقابس UNIX ، مثل مآخذ توصيل IP ، أن يكون لها عدة عملاء متصلين في وقت واحد ، كل منها يحصل على استجابات منفصلة. - peterflynn


ما الفرق بين مقبس Unix ومقبس TCP / IP؟

يتم استخدام مأخذ توصيل TCP / IP للاتصال عبر شبكات TCP / IP. يتم تحديد مأخذ توصيل TCP متصل بواسطة الجمع بين IP المحلي والمنفذ المحلي وعنوان IP البعيد والمنفذ البعيد. يتم التعرف على مأخذ توصيل TCP بالاستماع بواسطة المنفذ المحلي وربما IP المحلي. دائمًا ما ينتج AIUI على مآخذ توصيل TCP / IP على الأقل في إنشاء حزم TCP / IP وفك تشفيرها ، حتى إذا كان العميل والخادم على نفس الجهاز.

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

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


يتم التعامل مع مآخذ TCP بواسطة يونيكس أيضا؟

بالطبع بكل تأكيد

تعتبر مآخذ توصيل TCP جزءًا من مواصفات بروتوكول TCP

تميل مواصفات بروتوكول الإنترنت إلى القلق بشأن ما يحدث على السلك ، حيث تحتوي مواصفات TCP على تعريف للمقبس لكن هذا التعريف ليس هو نفس طريقة استخدام المصطلح من قِبل "واجهة برمجة تطبيقات مآخذ التوصيل".

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

تم توثيق بعض الإضافات لواجهة برمجة التطبيقات مآخذ توصيل في rfcs ولكن تلك RFCs هي "معلومات" فقط.

أو أي بروتوكول يمكن استخدام IP Sockets؟

عندما يقوم تطبيق بإنشاء مأخذ باستخدام وظيفة "مأخذ التوصيل" بشكل صريح (يتم أيضًا إنشاء مآخذ التوصيل بواسطة الدالة accept) فإنه يمرر ثلاث معلمات ، "domain" ، "type" و "protocol". فيما بينها يمكن استخدام هذه المعايير الثلاثة لتحديد العديد من أنواع مختلفة من المقبس.

  • يختار النطاق عائلة البروتوكولات / العناوين المستخدمة ، على سبيل المثال ، AF_INET لـ ipv4 و AF_INET6 لـ ipv6 و AF_Unix لمسارات نظام ملفات يونيكس وما إلى ذلك.
  • يختار النوع دلالات الاتصال ، وأهمها هي مخطط البيانات والجداول ، ولكن هناك أيضًا أنواع أخرى أكثر تخصصًا.
  • يختار البروتوكول البروتوكول المراد استخدامه ، إذا تم تعيينه إلى 0 ، فسيتم استخدام بروتوكول افتراضي لتجميع النطاق والنوع.

5
2017-09-13 17:32