SMB vs NFS Protocols: مقارنة مفصلة

تشارك الملفات بين الكمبيوترات والمستخدمين في التواصل وتبادل البيانات بكفاءة وراحة أكبر. يمكنك مشاركة الملفات عبر الشبكة بطرق مختلفة، على سبيل المثال، باستخدام بروتوكول SMB أو NFS على الخوادم والكمبيوترات. تُستخدم أيضًا أجهزة NAS (التخزين المتصل بالشبكة) لمشاركة الملفات عبر SMB و NFS.

اقرأ مقارنة NFS مقابل SMB لفهم ما يناسب حالتك وأي بروتوكول تختاره.

ما هو بروتوكول SMB؟

SMB (Server Message Block) هو بروتوكول لمشاركة الملفات يوفر الوصول إلى البيانات المشتركة عبر الشبكة. يُستخدم على نطاق واسع في بيئات Windows للوصول إلى الملفات عبر شبكة المنطقة المحلية (LAN). تم تطويره من قبل IBM في عام 1983، واعتمده مايكروسوفت لاحقًا ويوفر الدعم المدمج لـ SMB في نظام التشغيل Windows الآن. يستمر البروتوكول في التطور، وأحدث إصدار له هو الإصدار v.3.1.1.

أحيانًا يتم الخلط بين مصطلح CIFS و SMB. CIFS هو لهجة SMP، أي تنفيذ لـ SMB v1 من قبل مايكروسوفت. اقرأ مقارنة CIFS مقابل SMB لمعرفة المزيد.

ما هو بروتوكول NFS؟

NFS (Network File System) هو بروتوكول لمشاركة الملفات مصمم لأنظمة التشغيل المبنية على UNIX و Linux. على الرغم من الاسم، إلا أن NFS ليس نظام ملفات. تم تطوير بروتوكول NFS أصلاً من قبل شركة Sun Microsystems في عام 1984.

  • استخدمت Sun الإصدار 1 من NFS لأغراض داخلية ولم يتم إصداره أبدًا.
  • قدم NFS v2 وظائف مشاركة الملفات الأساسية.
  • يدعم NFS v3 التعامل مع أحجام متغيرة وتحسين تقارير الأخطاء ولكنه ليس متوافقًا مع عملاء NFS v2.
  • NFS v4 هي أحدث إصدار من NFS الذي تم تطويره بمشاركة مجموعة عمل هندسة الإنترنت (IETF). يدعم الوصول المتوازي للملفات، وتم تحسين الأمان في هذا الإصدار. التوافق مع الإصدارات السابقة NFS v2 و NFS v3 موجود. يدعم NFS v4 مصادقة Kerberos.

NFS مقابل Samba – الفروق الرئيسية

Samba هي تطبيق مجاني لتثبيت خادم SMB على نظام Linux. يرجى ملاحظة أن Samba لا يتضمن عميل SMB. يجب تثبيت حزمة cifs-utils للحصول على عميل SMB في Linux.

لا يجب مقارنة NFS كبروتوكول شبكة مع حزمة برمجيات (Samba). ومع ذلك، إذا كنا نتحدث عن تنفيذ NFS لنظام Windows، فيجب تثبيت دور الخادم و/أو العميل NFS المناسب (اعتمادًا على المهام) في Windows لاستخدام NFS.

NFS مقابل SMB – نظرة عامة على الميزات

في هذا القسم، نقارن ميزات SMB و NFS في 7 فئات مختلفة.

1. الاتصال بالشبكة/المنافذ المستخدمة

  • كل من بروتوكولات مشاركة SMB و NFS تعمل على طبقة التطبيق في نموذج OSI (الطبقة 7) وتستخدم بنية العميل-الخادم.
  • يتطلب SMB إنشاء جلسات (غير مطلوب مع NFS).
  • يمكن أيضًا لـ SMB استخدام طبقة العرض لعملياتها (الطبقة 6).
  • هذه البروتوكولات مُحسَّنة للعمل في شبكة المنطقة المحلية (LAN) بدلاً من العمل عبر الإنترنت. بروتوكولات مشاركة SMB و NFS غير ملائمة لترجمة عناوين الشبكة والتوجيه لاستخدامها عبر الإنترنت.
  • تستخدم NFS المنافذ 2049 (TCP و UDP) والمنفذ 111 (TCP و UDP). يُستخدم TCP 111 من قبل مُخطِّط المنافذ. تُستخدم TCP 1110 و UDP 1110 للعنقود وحالة العميل. يستخدم مُدير قفل NFS TCP 4045 و UDP 4045.
  • يستخدم SMB منفذ TCP 445 بدون نقل NetBIOS، من خلال استخدام TCP/IP مباشرة (هكذا يعمل SMB ابتداءً من Windows 2000، بما في ذلك آخر إصدارات SMB المستخدمة حاليًا). يستخدم SMB منافذ TCP 139، UDP 137، و UDP 138 للتشغيل فوق NetBIOS عبر TCP/IP. NetBIOS هو بروتوكول طبقة الجلسة (يعمل على الطبقة 5 من نموذج OSI) الذي كان يستخدم لتنفيذات SMB القديمة قبل Windows 2000.

2. مشاركة الطابعات

يدعم SMB مشاركة الطابعات، مما يتيح للمستخدمين عن بعد استخدام طابعة متصلة بجهاز معين لطباعة الملفات عبر الشبكة. بروتوكول NFS لا يوفر ميزة مشاركة الطابعات – لدي Linux آليات أخرى للطباعة عبر الشبكة.

3. المصادقة

A major difference between the NFS vs SMB protocols is how they authenticate.

  • يستخدم SMB مفهوم ACL (قائمة التحكم في الوصول) مع المستخدمين والمجموعات. يوفر SMB الوصول إلى الملفات المشتركة للمستخدمين والمجموعات المحددة (المصادقة القائمة على المستخدم). يمكنك تكوين الأذونات بمرونة. لتكوين الوصول للمضيفين المسموح بهم، يمكنك استخدام جدار الحماية.
  • يوفر NFS بشكل تقليدي الوصول إلى عناوين IP المسموح بها. يستخدم NFS نظام المصادقة القائم على المضيف – يمكنك تمكين عناوين IP للمضيفين المسموح لهم بالوصول إلى مشاركة NFS. في هذه الحالة، يمكن لكل مستخدم من الجهاز المسموح به الوصول إلى مشاركة NFS.

ملكية وأذونات نمط Linux هي ميزة لبروتوكول NFS. يعمل Linux بمعرّف المستخدم (UID) ومعرف المجموعة (GID)، بينما يعمل Windows بمعرف الأمان (SID).

دعم كيربروس في NFS v4 يعزز نظام المصادقة (لتحسين الوظائف لتوفير الوصول للمستخدمين المحددين).

4. الوصول إلى مشاركات الملفات

الأقفال الخاصة بالملفات إلزامية لـ SMB واستشارية لـ NFS. تُستخدم آليات قفل الملفات لضمان تماسك الملفات التي تم فتحها بواسطة المستخدم. مع القفل، لا يمكن للمستخدمين الآخرين كتابة البيانات إلى الملفات المفتوحة حتى يتم إغلاقها.

يمكنك الوصول إلى مشاركة ملفات SMB باستخدام المسار UNC

في نظام التشغيل Windows:

\\server\share\directory1\directory2

في نظام التشغيل Linux:

smb://server/share/directory1/directory2

يمكنك الوصول إلى مشاركات NFS باستخدام مسار نظام الملفات التصديري (EFS) وهذا الشكل:

server:/directory1/directory2

5. الدعم والتكامل في أنظمة التشغيل

بروتوكول NFS مُحسَّن لنظام التشغيل Linux. يتم تحسين SMB لنظام التشغيل Windows وهو بروتوكول تبادل الملفات الأصلي في Windows مع تكامل ممتاز.

ومع ذلك، يمكن استخدام كلا البروتوكولين على نظامي التشغيل Windows وLinux. تحتاج إلى تثبيت عميل SMB (cifs-utils) أو خادم SMB (Samba) على Linux لاستخدام بروتوكول SMB. تحتاج إلى تثبيت عميل و/أو خادم NFS في Windows كمكونات إضافية (أدوار) لاستخدام تكوين NFS في Windows.

يعتبر NFS حساسًا لحالة الأحرف عند الوصول إلى الملفات، بينما لا يُحسَّن SMB لحالة الأحرف. يؤثر هذا على كيفية البحث في الملفات وكيفية إدخال أسماء الملفات.

بروتوكول NFS هو معيار مفتوح ويمكن تنفيذه من قبل أي شخص.

6. الأمان/التشفير

  • تعتبر الاتصالات NFS استنادًا إلى بروتوكول الطلب والاستجابة (RPC) خطرة بدون جدار ناري. عندما يعمل NFS باستخدام بروتوكول UDP الأساسي، الذي ليس آمنًا، يتم تقليل مستوى الأمان العام. يدعم NFS التشفير باستخدام TLS (بروتوكول الأمان على طبقة النقل استنادًا إلى SSL).
  • يدعم SMB التشفير من نهاية إلى نهاية باستخدام معايير التشفير AES-256 الكريبتوغرافية التي تعتبر أقوى من تشفير Kerberos لـ NFS. بينما يُعتبر SMB 1 بروتوكولًا غير آمن، فإن إصدارات SMB 3 الأحدث آمنة، مما يجعل مستوى الأمان مع SMB أفضل من NFS.

أداء NFS مقابل SMB

تُعتبر NFS الخيار الأفضل لنقل الملفات الصغيرة والمتوسطة عبر الشبكة (على سبيل المثال، الملفات بحجم حوالي 1 ميجابايت وأقل). الأداء لكلا البروتوكولين متشابه عند نقل الملفات الكبيرة (على سبيل المثال، ملفات بحجم 500 ميجابايت).

تكون NFS أسرع من SMB عند استخدام التشفير. تكون عمليات القراءة أسرع في SMB بمعدل 4 ميجابايت. يمكن أن تؤدي أحمال حركة المرور العالية إلى بطء إجراء نقل البيانات. يمكننا أن نلاحظ أن عرض النطاق الترددي الأقصى قد زاد مع NFS v.4.2.

مقارنة SMB مقابل NFS: جدول المقارنة

يمكننا تلخيص الفروق الرئيسية في مقارنتنا بين NFS و SMB في الجدول.

SMB NFS
البيئة تستخدم بشكل أساسي في نظام ويندوز تستخدم بشكل رئيسي في أنظمة لينكس
المصادقة مصادقة مستخدم مريحة المصادقة بناءً على المضيف هي الطريقة الرئيسية
المنافذ المستخدمة TCP 445؛ TCP 139، UDP 137، 138 TCP 2049، UDP 2049، TCP 111 و UDP 111؛ TCP 1110، UDP 1110، TCP 4045، UDP 4045.
التشفير والأمان نعم – كيربروس، AES-256 نعم – كيربروس و TLS
بيئة متعددة المنصات مدعوم مدعوم
قفل الملفات إلزامي استشاري
مشاركة الطابعة نعم لا
الوصول إلى الموارد \\server\directory1\directory2 server:/directory1/directory2

الاستنتاج

اختيار بروتوكول NFS مقابل SMB كبروتوكول مشاركة الملفات يعتمد على نظام التشغيل المستخدم بشكل أساسي على الأجهزة الكمبيوتر في الشبكة وعوامل أخرى. كلا البروتوكولين موثوقان ويمكن استخدامهما في أنظمة تشغيل مختلفة وأجهزة NAS. مهما اخترت، من المهم نسخ الاحتياطي لبياناتك عند استخدام مشاركات الملفات في الشبكة. NAKIVO Backup & Replication هو حلاً شاملاً لحماية البيانات يمكن استخدامه لحماية بيانات مشاركات SMB و NFS وكذلك البيانات على الآلات الافتراضية والخوادم الفعلية وفي Microsoft 365.

Source:
https://www.nakivo.com/blog/nfs-vs-smb/