بروتوكولات الإنترنت :

يحتوى على كل ما يتعلق بالكمبيوتر.

المشرف: بانه

أضف رد جديد
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

بروتوكولات الإنترنت :

مشاركة بواسطة حزن السنين »

بروتوكولات الإنترنت :


ما هو البروتوكول؟
البرونوكول بالنسبة للكمبيوتر على الإنترنت عبارة عن مجموعة القواعد التي تحدد كيف يمكن لأجهزة الكمبيوتر أن تتفاهم مع بعضها البعض عبر الشبكة التي تتواجد عليها. وشبكة الكمبيوتر تعني جهازي كمبيوتر أو أكثر متصلة مع بعضها البعض وقادرة على أن تتشارك في المعلومات .
عندما تتحادث أجهزة الكمبيوتر مع بعضها البعض فإن ذلك يعني تبادلها مجموعة من الرسائل. وحتى يكون في إمكانها فهم تلك الرسائل والعمل على تنفيذها فإن على أجهزة الكمبيوتر الموافقة على العمل بقواعد واحدة متفق عليها. فإرسال واستقبال البريد الإلكتروني ونقل الملفات والمعلومات وغيرها هي أمثلة على ما تقوم به أجهزة الكمبيوتر عبر الشبكات باستخدام مجموعة القواعد التي تحدد طريقة تفاهم أجهزة الكمبيوتر مع بعضها أو ما أسميناه بالبروتوكول. إن البروتوكول يقوم بوصف الطريقة التي يجب على تلك الأجهزة أن تتبادل فيها الرسائل وتنتقل المعلومات .
البروتوكول يختلف باختلاف نوع الخدمة التي تقدمها الشبكة. وعلى سبيل المثال فإن الإنترنت قد تأسس على مجموعة البروتوكولات التي تكون عائلة واحدة هي TCP/IP .


لا نريد هنا أن نذهب إلى التكلم عن تاريخ الإنترنت العتيق.. النقطة المهمة هي الشبكة المربوطة بنقاط nodes الانترنت صممت لكي تقوم بالحفاظ على المعلومات لكي يتم نقلها من مكان إلى آخر، وهي تستخدم مجموعة من البروتوكولات مثل Tcp/Ip لكي يتم نقل البيانات عبر الشبكة.
من مميزات هذا البروتوكول أنه باستطاعته إعادة تمهيد طريقه للبيانات إذا تم خلل في نقطة أو مكان أثناء نقلها، ويتم ذلك بسرعة شديدة.

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

قبل أن يتم إرسال البيانات عبر الشبكة يجب عنونتها، والبروتوكول الذي يقوم بعنونه البيانات يدعى HTTP.
يقوم هذا البروتوكول بوضع عنونه للبيانات لكي يعرف البروتوكول TCP أين سينقل البيانات (فهو لايستطيع نقل البيانات إذا لم يكن لها هدف أو مكان).
يستخدم البروتوكول HTTP عن طريق الويب في عملية نقل البيانات من كمبيوتر إلى آخر.
عندما ترى الصفحة متبوعة بـ http:// فإنك تعلم مباشرة أن الانترنت يستخدم البرتوكول HTTP لإحضار هذه الصفحة، يمكنك أن تأخذ صورة بأن الTCP عبارة عن ساعي بريد الذي يقوم بإيصال رسالة.. هذه الرسالة فيها طابع بريد وعنوان وهو مانسميه بال HTTP.

يتم تمرير الطلب من المستعرض إلى ملقم أو سيرفر الويب وهو ما يعرف بـ HTTP request. ويقوم السيرفر برؤية مستودع البيانات لديه لكي يحصل على البيانات المطلوبة..
فإذا وجد الصفحة في المستودع قام بإرسالها على شكل حزم إلى الجهة التي قامت بالطلب باستخدام بروتوكول TCP وتُعنون هذه الحزم لمستعرض الانترنت لديك باستخدام بروتوكول http (ننبه دائماً إلى أنه يرسلها على شكل حزم لكي تعرف السبب عند عدم ظهور صفحة ويب كاملة أن هناك حزمة لم ترسل بشكل جيد)، ولكن إذا لم يجد السيرفر الصفحة المطلوبة فإنه يقوم بإرسال صفحة تحتوي على رسالة الخطأ 404، وهذه الصفحة التي أرسلت من ملقم الويب إلى المستعرض لديك تسمى HTTP response .
وهذه رسمة توضيحية لكي يتبين ما كنّا نرمي إليه أو نسعى إليه:
* بروتوكول ال HTTP :

--------------------------------------------------------------------------------

رغم ما أخذناه من معلومات كثيرة وقصص كثيرة إلاّ أنه رغم ذلك يفوتنا الكثير من التفاصيل في هذا الموضوع، لذلك دعنا نغوص قليلاً في التفاصيل عن بروتوكول HTTP بشكل خاص.

عندما تقوم بعملية طلب لصفحة من السيرفر هناك أمور إضافيه ترسل مع عملية الطلب http request غير ال URL وهي ترسل كجزء من http request.
نفس الموضوع مع ال http response هناك أمور أخرى تصل معه كجزء منه.

الكثير من هذه المعلومات تولد تلقائياً في رسالة ال HTTP ولا يقوم المستخدم بالتعامل معها مباشرة.. إذن لا يحتاج أن تقلق نفسك بشأن هذه المعلومات إذا أنت لم تنشاها في الأصل ويجب أن تأخذ أيضاً في معلوماتك أن هذه المعلومات ترسل كجزء من ال HTTP request وال HTTP response لأن سكربت ال PHP الذي نصنعه يمنحنا تحكماً إضافياً بهذه المعلومات.

كل رسائل الHTTP تأخذ تنسيقاً معيناً سواء كانت Request أو Response. نستطيع أن نقوم بتقسيم هذا التنسيق إلى ثلاث أقسام:
1. Request/Response Line .
2. HTTP Header .
3. HTTP Body .

المحتوى من هذه الأشياء الثلاثة يعتمد على نوع الرسالة إذا كانت HTTP Request أو HTTP Response، لذلك سنتكلم عنهم بتعمق أكثر.

لنتوقف لحظات وننظر في الشكل التالي لكي يتوضح إلينا مفهوم المعاجلة التي تتم:
HTTP Request:


--------------------------------------------------------------------------------

يجب أن يحتوي ال request على الأقل ال request line (سطر الطلب) وال HOST .

يرسل مستعرض الانترنت طلبيه (HTTP request) إلى ملقم الويب تحتوي على التالي:


1/ The Request Line:

السطر الأول من كل طلبيه (http request) هي Request Line الذي يحتوي على ثلاث أنواع من المعلومات:

أمر HTTP وهو مايسمى بـ method .

المسار من السيرفر إلى المصادر المطلوبة (صفحات الانترنت) المطلوبة من قبل العميل (المستعرض) .

إصدارة ال HTTP .

إذن كمثال على ال Request Line انظر إلى السطر التالي: (ال method يخبر السيرفر كيف يتعامل مع الطلب)

GET /testpage.htm HTTP/1.1

هناك ثلاث أنواع شائعة من ال method والتي تظهر في الجدول التالي:

وصفه Method
عبارة عن طلب لمعلومات تستقر في نفس صفحة الانترنت، وهذا الmethod الذي يستخدم. وهو المستخدم بكثرة في صفحات الانترنت ويعتبر الرئيسي فيهم. المعلومات التي تطلب بواسطة هذا الأمر قد تكون معلومات قد تكون أي شيء من: صفحة الhtml أو php إلى: مخرج من سكربت (برنامج) بيرل أو جافا أو ملفات تنفيذيه أخرى. يمكنك إرسال بعض المعلومات المحددة إلى مستعرض الانترنت لديك عبر نموذج (Form) في الصفحة.
GET
مثل الGET.. باستثناء أنه يقوم بعملية طلب للـheader فقط من غير بيانات (data).
HEAD
هذا الأمر يقوم بإرسال البيانات إلى السيرفر كجزء من HTTP body. هذه البيانات تعالج بواسطة برنامج مخصص لمعالجتها (perl or php) على السيرفر.
POST
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

رد: بروتوكولات الإنترنت :

مشاركة بواسطة حزن السنين »

هناك أوامر عديدة أخرى مثل: ( PUT - DELETE - TRACE - CONNECT - OPTION )..
ولكنها تستخدم بقلة، ويمكنك أن تجد شرحاً موفياً لها باللغة الانجليزية على الرابط التالي: http://www.rfc.net .


2/ HTTP Header:

البت الثاني من المعلومات هو الهيدر HTTP Header.. الذي يحتوي على تفاصيل أو وثائق عن العميل مثل نوع المتصفح (نتسكيب أو اكسبلورر) الذي قام بطلب الصفحة والوقت والتاريخ والإعدادات العامة.

الHTTP Header يحتوي على معلومات نستطيع تقسيمها إلى ثلاث فئات وهي:

عامة General / تحتوي على معلومات إما عن العميل أو السيرفر ولا تخصص إلى فرد أو مجموعة .

شخصية Entity / تحتوي على معلومات عن البيانات التي أرسلت بين المتصفح والسيرفر .

مطلوبة Request / تحتوي على بيانات عن إعدادات العميل والأنواع المختلفة المقبولة من البيانات .

وهذا مثال:

Accept: * / *

Accept language: Arabic-KSA.
Connection: Keep -Alive.
Host : http://www.arabbuielder.com
Referer: http://www.arabbuielder.com/index.php?something=132
User -Agent :Iexploer (win98;.........)

مثلما ترى ال HTTP Header عبارة عن أعداد يتكون من عدة سطور، كل سطر يحتوي على قيم معينة.

هناك عدة سطور تشكل ال HTTP header وأكثرها اختياري. يقوم الHTTP بالإخبار عن انتهاء معلومات ال header بترك سطر فارغ (وهذا يكون في الHTTP1.1).


3/ The HTTP Body:

إذا تم استخدام الأمر POST في ال HTTP Request Line.. عندها يقوم ال HTTP بطلب المعلومات التي أرسلت في ال body إلى السيرفر.


HTTP Response:


--------------------------------------------------------------------------------

يرسل من السيرفر إلى المستعرض، ويحتوي على ثلاث أشياء:

The Response Line .

HTTP Header .

HTTP Body .

1/ The Response Line:

ال Response line يحتوي فقط على نوعين من المعلومات:
1- رقم إصدارة ال HTTP .
2- شفرة أو كود ال http request التي تقوم بتحديد ما إذا كان ال request ناجحاً أم فاشل .

مثال:
HTTP/1.1 200 OK

في هذا المثال يقوم ال response line بإرجاع القيمة 200 متبوعة بالكلمة OK. هذه تشكل وتشير إلى نجاح ال request ويكون ال response يحتوي على الصفحة المطلوبة والبيانات من السيرفر.

ومثال آخر هو الشفرة 404.. وتظهر عندما تقوم بطلب صفحة ويفشل السيرفر في الحصول عليها.

هناك خمس فئات من الشفرات:

وصفها الفئة
يتم إعطاء هذا الكود إذا كان الطلب (request) يتم معالجته حالياً.
100 - 199
يتم إعطاء هذا الكود إذا تم استقبال الطلب بنجاح.
200 - 299
يتم إعطاء هذا الكود إذا كانت البيانات قد تم تحويلها أو تحريكها من موضعها.
300 - 399
يتم إعطاء هذا الكود إذا الطلب فيه خطأ من قبل العميل (المستعرض).. غير كامل أو غير صحيح أو غير ممكن.
400 - 499
يتم إعطاء هذا الكود إذا كان الخطأ من قبل السيرفر. أي إذا كان الطلب صحيحاً وموجوداً لكن السيرفر فشل في معالجته وإخراجه.
500 - 599


2/ HTTP Header:

ال Response header يعتبر مشابه لـ Request header الذي ناقشناه في الأعلى. وتنقسم المعلومات التي فيه أيضاً إلى ثلاث أنواع:

عامة General / معلومات عن ال client أو السيرفر ولا تخصص إلى واحد منهما.

شخصية Entity / يحتوي على معلومات عن البيانات التي يتم إرسالها بين السيرفر والعميل .

الإجابة Response / يحتوي معلومات عن السيرفر الذي قام بإرسال الرد وكيفيه تعامله ومعاجلته للرد (Response) .

كما قلنا سابقاً.. يتكون من عدة سطور ويتم وضع سطر فارغ للإعلام عن انتهاء الهيدر (Header):

HTTP/1.1 200 OK -The satus line
Date: Mon; 1st Nov 1999, 16:12:23 GMT -General header
Server : Apache/1.3.12 (Unix) (SUSE/Linux) PHP/4.0.2 -The response
Last-modified: Fri, 29 Oct 1999, 12:08:03 GMT -Entity Header

السطر الأول ناقشناه، والسطر الثاني مفهوم من غير شرح، السطر الثالث يقوم بتحديد البرنامج تبع السيرفر ونوعه ونظام التشغيل القائم عليه، والسطر الأخير يقوم بتعريف آخر وقت تمّ فيه تعديل أو تجديد الصفحة.

* ملاحظة/ قد يحتوي الهيدر (Header) على أكثر من هذه المعلومات أو معلومات مختلفة وهذا يعتمد على نوع الشيء المطلوب من السيرفر.
إذا أردت معرفة معلومات أكثر عن هذه الأقسام.. تستطيع مراجعة المقالة رقم 2068 في الموقع التالي: http://www.rfc.net .


3/ The HTTP Body:

إذا تمت معالجة الطلب بنجاح.. فإن ال HTTP Response Body يحتوي على شفرة الHTML ويقوم مستعرض الانترنت بتفسيرها وتحويلها إلى الصفحة النهائية التي تراها.


أين سكربت الPHP من ذلك كله ؟

أصبح الآن لدينا مفهومية جيدة عن طريقة إرسال المستعرض طلب صفحة من السيرفر وكيفية استجابة السيرفر لهذا الطلب. دعنا نلخص ما تمّ رؤيته وشرحه في النقاط السابقة في صورة ثالثة ملخصّة:



تكلمنا عن أن سكربت ال php يتكون من ثلاث أشياء: نص وشفرة php وشفرة html.
لا نستطيع وصف ال html بأنها لغة برمجة بشكل جيد، ونستطيع أن نقول أن ال php لغة سكربتات Scripting Language.. لأنها تضيف قدرات html عليها مثل الجداول والفريمات بشفرة html بداخل شفرة ال php.

هناك لغات تسمى لغات سكربتات قد تكون متآلفاً معها مثل الجافا سكربت والفجول بيسك سكربت، باستثناء أن الفرق بينها وبين الphp هو أن الphp لغة تعتمد على جهة المزود أي السيرفر ويمكنك تخصيص المتصفح الذي يستعرضها.

تجعلنا الhtml نضمن سكربتات الphp فيها ضمن قواعد لذلك لكي نستطيع تشغيلها، ولكننا لا ننسى أن امتداد الملفات يظلّ كما هو php أو php3 بدون تغير فيه. لكي يتم إرسال السكربت إلى مكينة الترجمة (Scripting Engine) التي تقوم بترجمة السكربت إلى html (كأنك تترجم من عربي إلى انجليزي أو العكس).



* مفهوم الـ Parsing والـ Execution :
--------------------------------------------------------------------------------

يمكن أن نقسم عملية الترجمة التي يقوم بها سيرفر php إلى قسمين أو عمليتين:

العملية الأولى / هي أن السيرفر يقوم أولاً بفحص قواعد اللغة، وهذا لا يضمن أن السكربت صحيح مئة بالمائة ولكنه تدقيق في الأوامر وقواعد اللغة وهذا ما يسمونه بال Parsing.

العملية الثانية/ هي تنفيذ السكربت بعدها وإخراجه على شكل شفرة html، وهذا ما يسمى بال Execution .
بقي أن نقول أمراً معروفاً وهو أن السكربتات نوعين:

النوع الأول / وهو ما ينفذ من جهة المزود Server-Side Scripting .
النوع الثاني/ ما ينفذ من جهة المستعرض (صفحة انترنت). مثل: الجافا سكربت وغير ذلك.
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

البروتوكولات Protocols ....!!!

مشاركة بواسطة حزن السنين »

ما هي البروتوكولات :

البروتوكول هو قاعدة او مجموعة من القواعد والمعايير للاتصال تستخدمها الكمبيوترات عندما ترسل البيانات ذهابا وايابا .
كلا الراسل والمستقبل المشتركان في البيانات المرسلة يجب ان يعترفوا بنفس البروتوكولات .

لتبادل البيانات , الكمبيوترات المرسلة والمستقبلة , وتسمي ايضا Hosts , يجب ان يوافقا علي شكل البيانات. عندما يرسل Host الي Host اخر كل باقة ال 1s وال 0s كلاهما يجب ان يوافقا علي معني وطريقةالتنسيب لاي 1 و 0 . جزء من المعلومات التي ترسل تمثل العناوين وجزء يمثل البيانات .

كل HOST له عنوان خاص , مثلما لبيتكم عنوان خاص في شارعكم . وتشبه ايضا خطابات البريد التي ترسل الي عنوانك . البيانات التي تسلم الي ال Host المناسب تعتمد علي عنوانه . ال Host التي ترسل المعلومات يجب ان تفهم كيف تجد العنوان الصحيح بين البيانات Data لكي تستطيع البيانات ان تجد طريقها الي وجهتها .

كما ذكرنا سابقا عندما تبدا الكبيوترات في الاتصال , يجب اولا ان يتفقوا علي بروتوكول ليستخدموه .


مجموعة البروتوكولات تسمي protocol suite او protocol stack . عناوين البروتوكول الواحد لها اصدار خاص يساعدها في الاتصال . عندما ندمج البروتوكول مع بروتوكولات اخري , مجموع البروتوكولات الناتجة تسمي protocol suite . TCP/IP كمثال هو protocol suite . في كمبيوتر متصل مع الشبكة , البرنامج الذي يجمع البيانات للارسال يسمي protocol stack . عندما الكمبيوتر البيانات , فانها تتحرك من خلال ال protocol stack .

هناك الكثير من البروتوكولات المستخدمة اليوم . بعضا منها بروتوكولات مملوكة ذات استخدام خاص . طورت لاهداف محددة لتقابل حاجات خاصة لبعض ال software او hardware .
واحدة من اشهر ال protocol suites اليوم في اتصالات الشبكات تشمل :

1/ IPX/SPX :
هو protocol suite قامت بتصميمه شركة Novell واستخدمته في انظمة تشغيلها .
IPX/SPX اختصار ل Internetwork Packet Exchange / Sequenced Packet Exchange

2/ Apple Talk :
هو protocol suite قامت بتصميمه شركة Apple واستخدمته في انظمة تشغيلها .

3/ TCP/IP :
هو protocol suite واصبح معيار الانترنت . يعني اي واحد يريد ان يستخدم الانترنت لازم يستخدم بروتوكول ال TCP/IP suite .


طيب ندخل في العمق شوية ..



البروتوكولات تحرك حزم البيانات :

عندما ترسل البيانات من Host الي اخر يقوم بروتوكول TCP/IP بتقسيمها الي قطع تسهل ادارتها وهذه القطع تسمي packets الرزم او الحزم .
البروتوكول يحدد كيف سيكون شكل وعنوان ال packets . ال packets مثل الصناديق تستخدم لشحن ال Data او البيانات .
كل packet مرفق معها headers وهي معلومات الحزمة التي ترفق معها للدلالة عليها . والتي تجعل من الممكن اعادة تجميع ال Packets واخذ البيانات الاصلية في وجهة البيانات .
ال Headers او معلومات الحزمة يرفق مع حزمة البيانات لنفس السبب الذي يلصق لاجله الديباجة علي الطرد المرسل عبر البريد الي شخص اخر .
الكمبيوتر الذي يرسل البيانات الي كمبيوتر اخر هو مثلي عندما ارسل طرد الي انسان اخر .

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

1/ اضع الدراجة في طرد او عدة طرود اذا كانت لا يمكن ان توضع علي طرد واحد , في هذا المثال الطرد يمثل ال packets .

2/ وضعنا الدراجة داخل الطرود , الخطوة التالية هي وضع عنوان علي الطرود . ولكن هناك بروتوكولات وقوانين لوضع العناوين علي الطرود : يجب ان استخدم اسم اختي الصحيح وكذلك عنوانها الصحيح . عنوان الديباجة يجب ان يحتوي علي اجزاء المعلومات الضرورية حتي تصل الطرود الي وجهتها الصحيحة مثلا , عنوان الشارع , المدينة , المحافظة او الاقليم , مفتاح المدينة . وهذا يشبه تماما TCP/IP عندما يضع معلومات الحزمة Headers علي حزمة البيانات packets التي سترسل .

3/ كذلك نضع عنوان المرسل علي الديباجة وهذا يشبه ايضا حزمة البيانات التي تحتوي علي معلومات المصدر المرسلة منه .

4/ هناك مكان محدد لكل معلومات العنونة هذه ويجب ان املا البيانات لكل طرد والا لن تصل الي وجهتها .

5/ اخيرا اشير الي اي واحد من الطرود مطلوب ان يفتح بالكتابة عليها ( 1من 5) (2من 5) الخ .. .وهذا يساعد اختي لتعرف اي طرد تفتح الاول , ثم الثاني , الخ .. فتستطيع بسهولة اعادة تجميع الدراجة .
6/ عندما تكون الطرود جاهزة , محتاج ان اقرر اي نوع خدمة استلام اريد ان استعمل وصيغ ديباجات الطرود تعتمد علي خدمة الرسائل او نوع الشركة التي اخترتها مثلا : اذا اخترت ال DHL ح اضع الطرود في صناديق ال DHL , اذا اخترت ال ARAMEX EXPRESS بالتاكيد ح اضع صناديقي في الارامكس وهكذا . نفس الشي يحدث في عالم الكمبيوتر يتم تغليف ال packets ب format او صيغ تكون مناسبة للشبكة الفيزيائية الموجود داخلها الكمبيوتر المرسل . اذا كان الكمبيوتر علي Ethernet network او شبكة Ethernet الحزم يجب ان تكون علي الصيغة المناسبة للانتقال عبر ال Ethernet work . اذا كانت الحزم علي Token Ring network او شبكة Token Ring الحزم مفروض تكون علي صيغ Token Ring .

7 / الان وصلنا الي مرحلة التسليم , اتصلت برجل البريد لياتي وياخذ الطرود ولكن لا انا ولا هو سيكون من سلم الطرد !!! لماذا اذن .. سنعرف الان .. البيانات المكتوبة بالصيغة المناسبة في نظام نقل متحرك من ماكن الي اخر, الطرود يحتمل ان تاخذ طرق مختلفة لكنها في النهاية ستصل الي نفس الوجهة . سيتم تسليمهم الي عنوانهم اعتمادا علي العنوان الذي وضعته علي الديباجات . بنفس الفهم اذا كانت هناك مشكلة الشركة ستخبرني لاني وضعت عنوان المرسل علي الطرود .

8/ بعد ان تصل الطرود الي اختي ستفتحهم , وتستطيع ان تعيد تجميع الدراجة بناء علي المعلومات التي علي الديباجات . بالمثل الكمبيوتر المستقبل لحزم البيانات يمكن ان يجمع البيانات بناء علي المعلومات المرفقة مع الحزم وهي ال Headers .

9 / اخيرا سترمي صناديق الطرود بعد ان تاخذ المعلومات التي تريدها من الديباجات , والذي تريده حقيقة هو الدراجة والصناديق كل مهمتها ان توصل الدراجة الي وجهتها الصحيحة اذن لاحوجة للصناديق بعد نهاية مهمتها . نفس الفكرة تستخدم عندما نستخدم ال TCP/IP لكي نرسل البيانات , الحزم تكون مبنية علي معلومات مرفقة معها , وتنبذ بعد ان تستخدم المعلومات الهامة المرفقة وتم تسليم البيانات المطلوبة الي البرنامج الذي طلبها .


الصورة ادناه تصف كمبيوتر احمد وهو يرسل بيانات الي كمبيوتر سارة . لاحظ ان البيانات تم تجزيئها الي عدة حزم يحتوي كل منها علي رقم متسلسل . في الكمبيوتر المستقبل سارة تعيد تجميع البيانات مرة اخري الي صيغة غير مجزاة . يعني تتجمع في صورتها الاصلية التي ارسلت بها .


صورة



مصطلحات هامــــــــــــــــــة :

protocol suite
مجموعة من البروتوكولات

protocol stack
مجموعة بروتوكولات ترسل وتستقبل البيانات

Headers
معلومات صغيرة تكون مرفقة مع الحزم وتحتوي دائما علي العنوان ومعلومات مسار البيانات
صورة العضو الرمزية
sunni
مشاركات: 1533
اشترك في: الأحد 2006.12.24 1:32 pm
مكان: مسقط - سلطنة عمان
اتصال:

رد: البروتوكولات Protocols ....!!!

مشاركة بواسطة sunni »

يديك الف عافية أخوي الحزن،،، لو تواصل شرح إستخدام البرتوكولات وكيفية تصميم ال IP Address وموضوع ال Subnet وأنواع ال IP SCHEME من سي وبي كلاس وغيرهم عشان الناس تستفيد

يديك الف عافية
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

رد: البروتوكولات Protocols ....!!!

مشاركة بواسطة حزن السنين »

اخي الرائع السني مشكور علي المرور و التعقيب
و انشاء الله سوف اقوم بانزال شرح البرتوكولات بصورة اوسع من ذلك بالتفصيل .....
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

البروتوكول Tcp/ip

مشاركة بواسطة حزن السنين »

لقد تم تطوير هذا البروتوكول من أجل الاربانت و لكن مع مرور الوقت وتوسع شبكة الانترنت اصبح بروتوكولا ساخنا و هو احد اهم البروتوكولات المستخدمه هذه الايام لجميع انواع الشبكات ويعود ذالك إلى كون هذه البروتوكول
1:- ليس تابعا أو مكتوبا من قبل شركة واحدة ولقد أقرت جمعية اللأنترنت بكاملها استخدام هذا البروتوكول يسمح بالأتصال بين الأنظمة المختلفة
2:-يسمح بالأتصال بين الأنظمة المختلفة
3:-الدخول ألى الانترنت حيث يعتبر البروتوكول الرئيسي لشبكة الانترنت

سنتعرف على الطبقات الاربع المكون منها هذا البروتوكول العجيب وترتيبها وعمل كل منها
وسنلقي نظرة على ادوات الفحص وتتبع الأخطاء أثناء الإرسال
الطبقات الأربع وبنية الشبكة
الطبقات عبارة عن مجموعة من التوصيات التي تستخدم عند تصميم بينة الشبكة و تعتمد كل المصانع عند تصميم عتاد الشبكات على هذه الطبقات للقيام بامرين وهما
إتصال كل طبقة مع الاخرى
إعتماد كل طبقة على الطبقات الأخرى بدون ان يكون هناك تعامل حقيقي مع طريقة عمل كل طبقة
ولتوضيح الطبقات عبارة عن مجموعة من البروتوكولات الموجوده في عددة مستويات كل طبقة تقوم بخدمة ما تقدمها للطبقة التي فوقها وتتطلب هي الخدمة من الطبقه التي تحتها
و البروتوكول TCP/IP مكون من اربع طبقات وهي

Application

Transport

Internet

Network Interface

وكل طبقه تتكون من عدد برتوكولات وتقوم بعمل محدد لخدمة الحواسيب في الشبكة وتمكينها من الإتصال عبر الشبكة

ويبدأ الترتيب في الطبقات من تحت إلى أعلى وتكون طبقة Network Interface هي أول طبقة تتعامل مع الشبكة إذ تتلخص مهمتها في معرفة البنية المستخدمة في الشبكة هل هي Ethernet او Token-Ring

اما طبقة Internet فهي مسؤولة عن عنونة الرزم من البيانات بواسطة IP

وطبقة Transport فهي المسؤولة عن وصول الرزم المرسلة بواسطة طبقة Internet وتستخدم إما بروتوكول TCP او UDP

وتبقى طبقة Application هي الطبقة المسؤولة عن التأكد من الترميز المرسل عبر الشبكة يستخدم نفس الأبجدية فمعظم الحواسيب تستخدم الترميز ASCII ولكن يوجد بعض الحواسيب التي تستخدم الترميز EBCDIC لأجهزة IBM و أيضا هذه الطبقة مسؤولة عن البرامج المستخدمة في التعامل عبر الشبكة مثل البريد الأكتروني وبرامج قواعد البيانات

إذا كما نلاحظ أن كل طبقة تقوم بخدمة مختلفة عن الأخرى وتقوم بعمل مهم يخدم مهمة الإرسال

مكونات البروتوكول TCP/IP

البروتوكول TCP Transmission Control Protocol

كما نعلم أن البرتوكول TCP/IP مكون من بروتوكولات مختلفة كل منها له عمل أو خدمة يقدمها من أجل الإرسال عبر الشبكة وأول بروتوكول هو TCP وهو عبارة عن برتوكول يتحقق من وصول الإرسال وهو من نوع Connection-based ويحتاج إلى أنشاء جلسة عمل قبل أرسال البيانات بين الحواسيب كما يتأكد من أن جميع الرزم التي أرسلت قد تم إستقبالها من الجهاز الاخر وإذا لم تصل هذه الرزم يقوم TCP بإرسالها مره ثانية وإذا تم الإستلام يأخذ شهادة مصادقة ويقوم بإرسال الدفعه التالية............ وتتم عملية Connection Based كما يلي يتفق الحاسبان على الطريقة الأصلح لتحديد كمية البيانات التي سوف يتم إرسالها في وقت واحد وعلى أرقام المصادقة التي سيتم إرسالها عند استلام البيانات وما هو الوقت المناسب لقطع الإتصال ... هذا ما يسمى إنشاء جلسة عمل

وكما ترى فإن هذا البروتوكول قد يسبب حملا زائدا عند إرسال كمية كبيرة من البيانات

البروتوكول UDP User Datagram Protocol

أما البرتوكول الثاني فهو UDP وهذا البرتوكول هو من نوع Noconnection-Based بمعنى الإتصال غير الموثق وهو لا ينشئ جلسة عمل بين الحواسيب أثناء الاتصال وهو لا يضمن وصول البينات مثل ما ارسلت به وهو عكس TCP ولكن هذا البرتوكول له مميزات تجعل يستحب إستخدامه في بعض الحالات مثل عند إرسال بينات جماعية عامة وعند الحاجة إلى السرعة وسرعته من عدم حاجته إلى التحقق من دقه الإرسال ويستخدم في نقل الوسائط المتعدده مثل الصوت و الفديو لان الوسائط لا تحتاج إلى دقه الوصول ونستطيع أن نقول أن هذا البروتوكول ذو فاعلية كبيرة وسريع الأداء... ومن أهم الاسباب التي أدت إلى إنشاء البروتوكول UDP أن الإرسال عبر هذا البروتوكول لا يتطلب إلا القليل من الحمل و الوقت إذ أن رزمة UDP لا تحتوي على كل المعطيات التي ذكرت مع البروتوكول TCP لمراقبة الإرسال .. لذلك سمى بروتوكول الإتصال غير الموثق

البروتوكول IP Internet Protocol

وهو يعد من أهم البروتوكولات لوجود عنصر العنونة الذي يستخدمه لإعطاء كل حاسب على الشبكة رقما خاصا به ويسمى عنوان انترنت IP Address وهو عنوان متفرد ليس له شبيه في النطاق الشبكي ويتميز IP بميزتين مهمتين وهي التوجيه و شطر الرزم و إعاده الرزم فالتوجيه يقوم بفحص العنوان الموجود على الرزمه ويعطيه تصريح تجول في أرجاء الشبكة وهذا التصريح له مده محددة فإذا انتهت هذه الفترة الزمنية ذابت تلك الرزمه ولم تعد تسبب إزدحام داخل الشبكة ..و عملية التشطير تستخدم في التوليف بين بعض انواع الشبكات المختلفة مثل شبكة Token-Ring و Ethernet بسبب ما لشبكة توكن رنغ من سعه في نقل الإشارات لذالك وجب تشطيرها ثم إعادة التجميع مره اخرى

البروتوكول ICMP Internet Control Message Protocol

وهو مسؤول عن رسائل الاخطاء التي تتعلق بتامين وصول IP ويحتوي على رسائل من اشهرها التي تاتي مع الاداة Ping وهي رسالة EchoReqest و Echo Reply

البروتوكول ARP Address Resolution Protocol

يقوم هذا البروتوكول بعمل جدا مهم وهو وصف وإرشاد خدمة IP عن العنوان الفيزيايئ للعنوان المطلوب اذ يقوم IP عند إستلام طلب الإتصال بحاسب ما مثلا X يتوجه فورا إلى خدمة ARP ويسأله عن مكان هذا العنوان على الشبكة ثم يقوم البروتوكول ARP بالبحث عن العنوان في ذاكرته فإذا وجده قدم خريطة دقيقة للعنوان و إذا كان العنوان لحاسب في شبكة بعيدة يقوم ARP بتوجيه IP إلى عنوان الموجه Router ثم يقوم هذا الموجه بتسليم الطلب ل ARP حتى يبحث عن العنوان الفيزيايئ لرقم ال IP

كيف يعرف هذا البوتوكول العنوان الفيزيايئ للحواسيب يعرفه برقم كرت الشبكة إذ كل كرت يصنع من المصانع المختللفة يكون له رقم فريد لا يشبه رقم اخر فيحتفظ ARP بهذه الارقام في ذاكرته التي تشبه قاعدة البيانات بجميع الارقام الخاصة في محيط الشبكة ،،وهذا البروتوكول من أدوت الفحص التي تستخدم في مراقبة الشبكة وتحديد بعض المشاكل .

ضبط التكوين للبروتوكول TCP/IP

ضبط التكوين يكون إما ضبط تكوين ساكن أو تكون عنوان تلقائي ، وبالشكل التلقائي يكون البروتوكول TCP/IP يحصل على عنوان IP تلقائي من الخدمة DHCP ، ولتغير الأعدادات ووضع رقم IP ساكن يجب أن تفتح خصائص البروتوكول من Internet Protocol TCP/IP Properties
وتصهر لك خيارات منها
1:-IP addressوصفه عنوان مكون من 32 بت وهو رقم فريد داخل الشبكة ، وكل بطاقة شبكة تتشارك بإستخدام البروتوكول TCP/IP يجب أن يكون لديها هذا العنوان وهو مثل 192.168.0.1 ويكون هذا الرقم مكون من جزئين واحد للشبكة والجزء الثاني للجهاز مشغل البروتوكول وفي المثال السابق يكون عنوان الجهاز هو الرقم
2:-Subnet mask وصفه هذا الجزء مهم جداً لأنه يحدد هوية الشبكة ، ويستخدم في الشبكات الكبيرة عندما يقسم رقم IP واحد إلى عدة أقسام ويصبح كل رقم يمثل شبكة مستقلة ولكن تشترك كل هذه الشبكات بهوية واحدة يمثلها الـSubnet Mask و الـSubnet تعني التقسيم وهو الذي يحدد رقم الشبكة ورقم الجهاز
3:-Default gateway وصفه يستخدم عندما يكون هناك عدد من الشبكات الفرعية ضمن الشبكة الكبيرة ، وهو يعني البوابة الافتراضية فعندما يطلب احد المضيفين رقم IP ولا يجد هذا الرقم ضمن الشبكة الفرعية يقوم البروتوكول IP بطلب البروتوكول arp فيقوم هذا البروتوكول بالبحث عن هذا الرقم في الشبكات الفرعية الآخرى فإذا وجده يقدم للعنوان IP رقم الـDefault gateway الذي يكون الرقم الهدف ضمن شبكتها الفرعية
ملاحظة

يمكن تعطيل الحصول على العنوان IP بشكل افتراضي عند وضع المفتاح IPAutoconfigurationEnabled في محرر السجل في المسار التالي HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ Tcpip\Parameters\Interfaces وجعل قيمة ذلك المفتاح صفر
تحليل المشاكل للبروتوكول TCP/IP

للبروتوكول TCP/IP عدد من الادوات التي تساعد على اكتشاف المشاكل المتعلقة بالإرسال وفي الجدول التالي كل الأدوات والوظيفة التي تقوم بها كل أداة وهي وظائف مهمة ولا غنى عنها لمن يستخدم هذا البروتوكول

Ping
يختبر الإتصال بين رقمين IP ، وكذالك يستخدم في التحقق من تكوين البروتوكولال
Arp
يعرض كل العناوين كعناوين مادية ، وهذا البروتوكول له جدول تحويل العناوين من عنوان IP إلى عنوان كرت الشبكة MAC وبذلك يعرض العنوان الفيزيائي للجهاز
Ipconfig
تعرض التكوين الحالي للبروتوكول TCP/IP وله عدد من المداخل التي تسمح تحرير و تجديد عنوان IP للبطاقة المطلوبة
Nbtstat
تعرض حالة جلسات العمل للـNetBIOS الحالية ، ولفحص عملية تحويل أسماء الـNetBIOS إلى عناوين IP
Netstat
تعرض الإتصالات الحالية والإحصائيات للبروتوكول TCP/IP
Route
يعرض ويعدل جدول التوجية المحلي
Hostname
يطبع اسم المضيف الذي صدر من الامر
Tracert
يفحص ويعرض كامل مخطط الاتصال مع مضيف بعيد
فحص سريع

للتحقق من عمل البروتوكول TCP/IP وقد ضبط تكوينة لبطاقة الشبكة نستخدم عنوان الحلقة المكررة loop-back وهو الرقم 127.0.0.1 ، ولعمل هذا الفحص من محث الاوامر أكتب ping 127.0.0.1 ثم انتر يعني أن البروتوكول يعمل بشكل سليم
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

رد: البروتوكول Tcp/ip

مشاركة بواسطة حزن السنين »

صورة

صورة
صورة العضو الرمزية
حزن السنين
مشاركات: 4294
اشترك في: الأحد 2006.12.3 11:05 am
مكان: ~ معبد الاحزان ~
اتصال:

رد: البروتوكول Tcp/ip

مشاركة بواسطة حزن السنين »



بعض الروابط المهمة في مجال البروتكولات :-

TCP / IP Reference Page

Introduction to TCP/IP
أضف رد جديد

العودة إلى ”منتدى الكمبيوتر العام“