برتوكول نقل أخبار الشبكة
عودة للموسوعةبرتوكول نقل أخبار الشبكة (بالإنجليزية: Network News Transfer Protocol NNTP) هوبرتوكول تطبيق الإنترنت، يستعمل بشكل أساسي لقراءة وكتابة منطقات اليوزنت *USENET، بالإضافة إلى إرسال الأخبار وتحويلها بين مخدمات الأخبارNews Server. وهوبروتوكول يحقق توزيع وتحقيق واسترجاع وإرسال الأخبار، باستخدام نظام إرسال الأخبار بين وكالة مشاريع البحوث المتقدمةَ ARPA. يتبع هذا البروتوكول نظام زبون/مخدمClients/Server) (كمعظم البروتوكولات، ويوجد في طبقة الـ Application كما عهدته منظمة الـ OSI. يستخدم هذا البروتوكول الـ TCP كبروتوكول للنقل، وبروتوكول الـ IP كبرتوكول لتوجيه الأغراض والموضوعات. رقم المنفذ(Port) المتعلق بهذا البروتوكول هو119. عندما يتصل الزبون بمخدم الأخبار باستعمال الـبروتوكول طبقة المنافذ الآمنة بروتوكول فإن المنفذ 563 للـ TCP هوالذي يُستعمل.
نشــأتــه
قام جميع من Brian Kantor من جامعة كاليفورنيا –سان دييغو- وPhil Lapsley من جامعة كاليفورنيا -بيريكلي- بإكمال مواصفات هذا البروتوكول والمحددة في RFC 977 (RFC هي سلسلة الوثائق التي تحتوي الاقتراحات لمعايير الانترنيت الجديدة أوالمُحدّثة)في آذار1986، وقد ساهم أيضاً Stan Barber من كلية بايلور للطب وErik Fair من شركة Apple.
تطــوره
في تشرين الأول من عام 2006 أصدرت اللجنة الخاصة لنظام الإنترنيتIETF المعيار RFC 3977، الذي يقوم بتحديث برتوكول الـ NNTP وينظم الكثير من الإضافات التي حصلت على مر السنين منذ المعيار RFC 977. ولكن أثناء المحاولات الفاشلة لتجديد المعيار المتعلق بالبروتوكول NNTP في أوائل التسعينيات، اِقتُرح شكل آخر لهذا البروتوكول للاستعمال من قبل الزبائن المُسمى: NNRPبرتوكول نقل أخبار الشبكة. هذا البروتوكول لم يخط ولم يطبق بشكل كامل، وكنتيجة لذلك فإنه يوجد مجموعة ثانوية لأوامر الـ NNTP المفيدة للزبائن والتي ما زالت تدعى باسم NNRP.
- شبكة الـ Usenet :
عبارة عن "حقيبة الملفات المشهجرة بين المستخدم والشبكة" تسمح بتبادل الرسائل، الموضوعات، والنشرات عبر الإنترنت، حيث استخدم نظام نقل الأخبار والبريد الإلكترونيUUCP لعَرْض البريدِ وإرسال الملفاتِ، بالإضافة إلى الإعلاناتِ خلال برامجِ الأخبارِ المتطورةِ حديثاً. توضع هذه الموضوعات في قواعد بيانات مركزية عبر الإنترنت، ويقوم المستخدمون بالدخول إلى قواعد البيانات هذه للحصول على الموضوعات التي يريدونها. وبالتالي التخفيف من انشغالية الشبكة، وعدم الحاجة إلى وضع نسخة من هذه الموضوعات في جميع نظام مشهجر. طوّرَ هذا النظام في جامعة كارولاينا الشّمالية في تشابل هيل وجامعة دوق. تستعمل الـUsenet برتوكول الـNNTP لتبادل منطقات الأخبار فيما بينها أيضاً، كما يقوم المستخدمون أيضاً باستخدام هذا البروتوكول إذا احتاجوا إلى قراءة منطقات الأخبار الموجودة على مخدم الـ Usenet.
إن الموضوعات التي يرسلها المستخدمون إلى الـ Usenet تُنَظّم في أصناف متعددة تدعى Newsgroup ،والتي يقومون بتنظيميها أيضاً بأنفسهم إلى مواضيع متنوعة، مثل: في قسم العلوم يوجد علوم الرياضيات، علوم الفيزياء... فعندما يشارك مستخدم مثلاً في مجموعة أخبار ما، فإن برنامج أخبار الزبون تُتابِع الموضوعات التي قرأها المستخدم.
يمكن تقسيم أنواع الاتصالات في هذا البرتوكول إلى نوعين:
- Server-to-Server exchanges :
وتعني التبادل بين مخدمات الـ Usenet، بحيث يقوم أحد هذه المخدمات بطلب بآخر الموضوعات من مخدم آخر، أويقوم بتزويد مخدم آخر بمنطقات جديدة، وبالتاليقد يكون كلا المخدمين مشغولين بمجموعة أخبار معينة((Newsgroup. إن الهدف الأساسي من هذه العملية هومنع نظام الإرسال من إرسال منطق موجود سابقاً عند المستقبل.
- 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 <23445@sdcsvax.ARPA> article retrieved - statistics only (article 10110 selected, its message-id is <23445@sdcsvax.ARPA>) (client examines the header) C: HEAD S: 221 10110 <23445@sdcsvax.ARPA> 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 <23445@sdcsvax.ARPA> article retrieved - body follows (body text here) S: . (client selects next article in group) C: NEXT S: 223 10113 <21495@nudebch.uucp> 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
المراجع
NNTP
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
التصنيفات: بروتوكولات طبقة التطبيق, معايير الإنترنت, يوزنت, مقالات بدون مصدر منذ ديسمبر 2018, جميع المقالات بدون مصدر, مقالات بدون مصدر منذ 2018, جميع المقالات التي بحاجة لصيانة, مقالات تحتوي نصا بالإنجليزية, صفحات بها وصلات إنترويكي, بوابة اتصال عن بعد/مقالات متعلقة, بوابة إنترنت/مقالات متعلقة, بوابة تقنية المعلومات/مقالات متعلقة, بوابة علم الحاسوب/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات