برتوكول نقل أخبار الشبكة

حزمة بروتوكولات الإنترنت
طبقة التطبيقات
بروتوكول المنافذ والتوجية · بروتوكول إعدادات الخوادم الديناميكي · بروتوكول أسماء النطاقات · بروتوكول نقل الملفات · خدمة الحزمة العامة الراديوية · بروتوكول نقل النصوص المهجنة · بروتوكول الوصول لرسائل البريد · بروتوكول المحادثة الجماعية  · البروتوكول الخفيف للوصول للدليل · Media Gateway Control Protocol (Megaco) · Media Gateway Control Protocol (MGCP) · برتوكول نقل أخبار الشبكة  ·  · بروتوكول صندوق البريد · Routing Information Protocol · نداء الإجراء البعيد  · Real-time Transport Protocol · بروتوكول سريان المعلومات في الزمن الحقيقي  · Session Description Protocol · Session Initiation Protocol · بروتوكول إرسال البريد البسيط  · بروتوكول إدارة الشبكات البسيط  · سواب  · قشرة آمنة  · تل نت · أمن طبقة النقل · Extensible Messaging and Presence Protocol · 
طبقة النقل
تي سي بي  · بروتوكول بيانات المستخدم  · بروتوكولات تقيم رابطة والبروتوكولات عديمة الرابطة · Stream Control Transmission Protocol · بروتوكول حجز الموارد · Explicit Congestion Notification · 
طبقة الانترنت
بروتوكول الانترنت (IPv4, IPv6) · Address Resolution Protocol · بروتوكول التحكم بالرسائل · ICMPv6 · فتح أقصر مسار أولا  · بروتوكول إدارة مجموعة الإنترنت · بروتوكول امن وسرية البيانات · 
طبقة الربط
Neighbor Discovery Protocol · بروتوكول النقل عبر الأنفاق ( Layer 2 Tunneling Protocol) · بروتوكول النقطة إلى النقطة  · طبقة التحكم بالوصول إلى الوسائط (إيثرنت, خط المشترك الرقمي , شبكة رقمية للخدمات المتكاملة , FDDI) · 
عرض · نقاش · تعديل

برتوكول نقل أخبار الشبكة: NNTP Network News Transfer Protocol هو برتوكول تطبيق الإنترنيت، يستعمل بشكل أساسي لقراءة وكتابة مقالات اليوزنت *USENET، بالإضافة إلى إرسال الأخبار وتحويلها بين مخدمات الأخبارNews Server. وهو بروتوكول يحقق توزيع, تحقيق, استرجاع وإرسال الأخبار باستخدام نظام إرسال الأخبار بين وكالة مشاريع البحوث المتقدمةَARPA. يتبع هذا البروتوكول نظام زبون/مخدمClients/Server) (كمعظم البروتوكولات، ويوجد في طبقة الـ Application كما عرفته منظمة الـ OSI. يستخدم هذا البروتوكول الـ TCP كبروتوكول للنقل، وبروتوكول الـ IP كبرتوكول لتوجيه الأغراض والمقالات. رقم المنفذ(Port) المتعلق بهذا البروتوكول هو 119. عندما يتصل الزبون بمخدم الأخبار باستعمال الـSSL بروتوكول فإن المنفذ 563 للـ TCP هو الذي يُستعمل.

نشــأتــه

قام كل من Brian Kantor من جامعة كاليفورنياسان دييغو- وPhil Lapsley من جامعة كاليفورنيا -بيريكلي- بإكمال مواصفات هذا البروتوكول والمحددة في RFC 977 (RFC هي سلسلة الوثائق التي تحتوي الاقتراحات لمعايير الانترنيت الجديدة أو المُحدّثة)في آذار1986، وقد ساهم أيضاً Stan Barber من كلية بايلور للطب وErik Fair من شركة Apple.

تطــوره

في تشرين الأول من عام 2006 أصدرت اللجنة الخاصة لنظام الإنترنيتIETF المعيار RFC 3977 الذي يقوم بتحديث برتوكول الـ NNTP وينظم الكثير من الإضافات التي حصلت على مر السنين منذ المعيار RFC 977. ولكن أثناء المحاولات الفاشلة لتجديد المعيار المتعلق بالبروتوكول NNTP في أوائل التسعينيات، اِقتُرح شكل آخر لهذا البروتوكول للاستعمال من قبل الزبائن المُسمى: NNRPNetwork News Reader Protocol. هذا البروتوكول لم يكتب ولم يطبق بشكل كامل، وكنتيجة لذلك فإنه يوجد مجموعة ثانوية لأوامر الـ NNTP المفيدة للزبائن والتي ما زالت تدعى باسم NNRP.

  • شبكة الـ Usenet :

عبارة عن "حقيبة الملفات المشتركة بين المستخدم والشبكة" تسمح بتبادل الرسائل, المقالات, والنشرات عبر الإنترنيت حيث استخدم نظام نقل الأخبار والبريد الإلكترونيUUCP لعَرْض البريدِ وارسال الملفاتِ، بالإضافة إلى الإعلاناتِ خلال برامجِ الأخبارِ المتطورةِ حديثاً. توضع هذه المقالات في قواعد بيانات مركزية عبر الانترنيت، ويقوم المستخدمون بالدخول إلى قواعد البيانات هذه للحصول على المقالات التي يريدونها. وبالتالي التخفيف من انشغالية الشبكة، وعدم الحاجة إلى وضع نسخة من هذه المقالات في كل نظام مشترك. طوّرَ هذا النظام في جامعةِ كارولاينا الشّمالية في تشابل هيل وجامعة دوقِ. تستعمل الـUsenet برتوكول الـNNTP لتبادل مقالات الأخبار فيما بينها أيضاً، كما يقوم المستخدمون أيضاً باستخدام هذا البروتوكول إذا احتاجوا إلى قراءة مقالات الأخبار الموجودة على مخدم الـ Usenet.

إن المقالات التي يرسلها المستخدمون إلى الـ Usenet تُنَظّم في أصناف متعددة تدعى Newsgroup ،والتي يقومون بتنظيميها أيضاً بأنفسهم إلى مواضيع متنوعة، مثل: في قسم العلوم يوجد علوم الرياضيات، علوم الفيزياء... فعندما يشارك مستخدم مثلاً في مجموعة أخبار ما، فإن برنامج أخبار الزبون تُتابِع المقالات التي قرأها المستخدم.

يمكن تقسيم أنواع الاتصالات في هذا البرتوكول إلى نوعين:

  1. Server-to-Server exchanges :

وتعني التبادل بين مخدمات الـ Usenet، بحيث يقوم أحد هذه المخدمات بطلب بآخر المقالات من مخدم آخر، أو يقوم بتزويد مخدم آخر بمقالات جديدة، وبالتالي يكون كلا المخدمين مشغولين بمجموعة أخبار معينة((Newsgroup. إن الهدف الأساسي من هذه العملية هو منع نظام الإرسال من إرسال مقال موجود سابقاً عند المستقبل.

  1. User-to-Server connections :

وتعني التبادل بين المستخدم ومخدم الـ Usenet، حيث يقوم المستخدمون بإدارة قرّاء الأخبار الموجودة الآن بمعظم متصفحات الويب. يقوم المستخدم أولاً بالاتصال بمخدم مجموعة الأخبار(الذي يوجد عادة بمزودات الإنترنيت ISP)، ثم يقوم بتحميل قائمة مجموعات الأخبار المتوافرة. ومن ثمّ يستطيع الاشتراك بمجموعة أخبارية جديدة وقراءة المقالات المتوافرة في هذه المجموعة الإخبارية أو يرسل خبر أو مقال جديد إليها.

آلية عمل البروتوكول NNTP

قبل وجود بروتوكولNNCP، كانت شبكة الـ Usenet تستخدم بروتوكولUUCP لتبادل المعلومات. الـUUCP هو بروتوكول لنقل الأخبار والبريد الالكتروني، وهو يتبع نظام الإذاعة المحمولة(BroadCast)، حيث يقوم الحاسوب المضيف بإرسال مقال أو خبر جديد يكون قد استلمه من حاسوب مضيف آخر، والذي يقوم بإرساله تباعاً إلى المصيفين الأخرىن. عادة يستقبل الحاسوب المضيف نسخ مطابقة من المقالات، حيث سرعان مايقوم بتجاهل هذه النسخ المتطابقة، وبالتالي هذه العملية هي مضيعة للوقت وهدر في الشبكة. أما بروتوكول الـ NNTP فإنه يستخدم أوامر تفاعلية وآلية رد تسمح للحاسوب المضيف بتحديد المقالات المراد إرسالها. يتصرف الحاسوب المضيف كما لو أنه زبون يتصل بالمخدم باستخدام برتوكول الـNNTP، ومن ثم يستفسر عن وجود مجموعات أخبار جديدة على أنظمة مضيفي الخدمة. يمكن للمدير أن يختار إنشاء مجموعات أخبار مماثلة على الحاسوب المضيف الذي يقوم بإدارته. أثناء عمل الـ NNTP يطلب الزبون معلومات حول المقالات الجديدة التي وصلت إلى كل أو بعض مجموعات الأخبار، ثم يقوم المخدم بإرسال قائمة بالمقالات الجديدة للزبون، وبعدها يمكن للزيون أن يقوم بطلب إرسال بعض أو تلك المقالات، كما يمكن له أن يرفض قبول المقالات الموجودة لديه.

بعض خصائص البروتوكول NNTP

إن برتوكولNNTP يملك أوامر معينة تعطي طريقة بسيطة لتبادل المقالات بين المضيفين. إن المضيفين المتصلين اتصالاً جيداً بشبكة محلية أو شبكة سريعة والذين يريدون الحصول على نسخ من مقالات الأخبار للخزن المحلي سيجدون برتوكول الـ NNTP أكثر كفاءة لتوزيع الأخبار من الطرق التقليدية للنقل(مثل بروتوكول الـ UUCP). وقد صُمم هذا البروتوكول لقبول الاتصال من المضيفين، وللحصول على وصلة بسيطة لقواعد بيانات الأخبار، فهو فقط واجهة اتصال بين البرامج وقواعد بيانات الأخبار. هذه الوظائف السهلة الاستعمال أفضل لبرامج الزبون، حيث تكون سهلة الفهم بالنسبة للبيئة التي يعمل فيها الزبون. يمثل هذا البرتوكول سلسلة من الرموز المشفرة مثل برتوكول الـ HTTP، هذه الرموز هي التي تنقل مختلف حالات هذا البرتوكول، وهي توضح كما يلي:

1xx – Information message 2xx – Command is ok 3xx – Command is ok, continue 4xx – Command ok, but could not be processed 5xx – Command not processed (normally due to a server side error)

تظهر هذه الرسائل عادة عند تحميل أو تنزيل مادة معينة، وتظهر عند الـ NNTP الزبون.

الأوامر في بروتوكول الـ NNTP

تشمل الأوامر كلمة الأمرCommand ،والتي في بعض الأحيان تكون متبوعة بمعامل معين. تفصل الأوامر عن معاملاتها بفراغ أو أكثر. يجب أن تكون سطور الأوامر كاملة بكل ماتحتاجه من الأمر ومعاملاته وألا تحتوي على أكثر من أمر. وهي غير حساسة للأحرف الكبيرة والصغيرة وألا تتجاوز الـ 512 محرف متضمنة الفراغات والفواصل وعلامات الترقيم. وكما ذكرنا سابقاً أن الـ NNTP يشبه قليلاً الـ HTTP في بعض الأوامر، على سبيل المثال: تعليمة Next في الـ NNTP تشير إلى الانتقال إلى المقالة التالية في مجموعة الأخبار. تعليمة Post تدل على إرسال مقال إلى مجموعة الأخبار. ممكن أن يكون إرسال طلب عن برنامج تلفزيوني مفضل عند بعض الأشخاص ولم يستطع مشاهدته، فبإمكانه إرسال رسالة تطلب من أحد الأشخاص تحميل البرنامج على المخدم إذا تمكن من تسجيله سابقاً.

كيف يبدو طرد البروتوكول NNTP ؟

يشبه طرد الـ NNTP طرد الـ IP بروتوكول إلى حدّ ما، فهو يتكون من ترويسة بروتوكول الـ IP، تتبعه ترويسة بروتوكول الـ TCP، ومن ثم بيانات طبقة البرامج Application. في هذه الحالة نكون قد حصلنا على بيانات الـNNTP.

مثال عن نموذج محادثة التي من المتوقع حدوثها في مخدم الأخبار في الجلسات الافتراضية:

يشير الحرف C إلى الأوامر التي أرسلت إلى مخدم الأخبار من برنامج الزبون. يشير الحرف S إلى الردود المستلمة من المخدم عند الزبون. relative access with NEXT

  S:      (listens at TCP port 119)
  C:      (requests connection on TCP port 119)
  S:      200 wombatvax news server ready - posting ok
  (client asks for a current newsgroup list)
  C:      LIST
  S:      215 list of newsgroups follows
  S:      net.wombats 00543 00501 y
  S:      net.unix-wizards 10125 10011 y
          (more information here)
  S:      net.idiots 00100 00001 n
  S:  .
  (client selects a newsgroup)
  C:      GROUP net.unix-wizards
  S:      211 104 10011 10125 net.unix-wizards group selected
          (there are 104 articles on file, from 10011 to 10125)
  (client selects an article to read)
  C:      STAT 10110
  S:      223 10110 <[email protected]> article retrieved - statistics
          only (article 10110 selected, its message-id is
          <[email protected]>)
  (client examines the header)
  C:      HEAD
  S:      221 10110 <[email protected]> article retrieved - head
          follows (text of the header appears here)
  S:  .
  (client wants to see the text body of the article)
  C:      BODY
  S:      222 10110 <[email protected]> article retrieved - body
          follows (body text here)
  S:  .
  (client selects next article in group)
  C:      NEXT
  S:      223 10113 <[email protected]> article retrieved - statistics
          only (article 10113 was next in group)
  (client finishes session)
  C:      QUIT
  S:      205 goodbye.

مجمل التعليمات والردود في بروتوكول الـ NNTP

Commands

  ARTICLE
  BODY
  GROUP
  HEAD
  HELP
  IHAVE
  LAST
  LIST
  NEWGROUPS
  NEWNEWS
  NEXT
  POST
  QUIT
  SLAVE
  STAT
 Responses
  100 help text follows
  199 debug output
  200 server ready - posting allowed
  201 server ready - no posting allowed
  202 slave status noted
  205 closing connection - goodbye!
  211 n f l s group selected
  215 list of newsgroups follows
  220 n <a> article retrieved - head and body follow 221 n <a> article
  retrieved - head follows
  222 n <a> article retrieved - body follows
  223 n <a> article retrieved - request text separately 230 list of new
  articles by message-id follows
  231 list of new newsgroups follows
  235 article transferred ok
  240 article posted ok
  335 send article to be transferred.  End with <CR-LF>.<CR-LF>
  340 send article to be posted. End with <CR-LF>.<CR-LF>
  400 service discontinued
  411 no such news group
  412 no newsgroup has been selected
  420 no current article has been selected
  421 no next article in this group
  422 no previous article in this group
  423 no such article number in this group
  430 no such article found
  435 article not wanted - do not send it
  436 transfer failed - try again later
  437 article rejected - do not try again.
  440 posting not allowed
  441 posting failed
  500 command not recognized
  501 command syntax error
  502 access restriction or permission denied
  503 program fault - command not performed

المراجع

http://en.wikipedia.org/wiki/NNTP

http://en.wikipedia.org/wiki/Usenet

http://www.linktionary.com/n/nntp.html

http://www.networkdictionary.com/rfc/rfc977.php

http://www.academ.com/academ/nntp/ietf/1996-July/000022.html

http://www.windowsnetworking.com/articles_tutorials/Understanding-NNTP-Protocol.html

http://tools.ietf.org/html/rfc977

http://tools.ietf.org/html/rfc3977#page-3

bg:NNTP cs:Network News Transfer Protocol da:Network News Transfer Protocol de:Network News Transfer Protocol Network News Transfer Protocol]] eo:NNTP es:Network News Transport Protocol eu:Network News Transport Protocol fi:NNTP fr:Network News Transfer Protocol he:Network News Transfer Protocol is:Network News Transfer Protocol it:Network News Transfer Protocol ja:Network News Transfer Protocol lt:NNTP lv:NNTP ms:Protokol Pindahan Berita Rangkaian nl:Network News Transfer Protocol no:NNTP pl:Network News Transfer Protocol pt:NNTP ru:NNTP sk:Network News Transfer Protocol sv:Network News Transfer Protocol th:Network News Transfer Protocol tr:Network News Transfer Protocol uk:NNTP vi:NNTP yo:Network News Transfer Protocol zh:NNTP