شرح مفصل حول بروتوكول ' ppp ' Point-to-Point و مميزاته عبر الشبكه الواسعه wan
بروتوكول ppp هو احد بروتوكولات الاتصال عبر الشبكه الواسعه wan والذى يعمل ضمن الطبقه الثانيه data link layer
والذى يتميز بالعديد من الخصائص التى تميزه عن بروتوكول hdlc المملوك لسيسكو ...
اهم مميزات بروتوكول ppp :
1-بروتوكول ppp بيتكون من header و trailer تماما كما تتكون بروتوكولات الطبقه التانيه ك اثيثرنت او توكنرينج
**يوجد فى ال Header لخاص ببروتوكول ppp حقل يعرف ب type ,, ما هى اهميته :
يتيح هذا الحقل لبروتوكول ال ppp تمييز بروتوكول الطبه الثالثه الموجود فى ال packet ,,
يعنى انا لو عندى packet
مبنيه على بروتوكول ipv4 , و packet مبنيه على ipv6 ةاخرى مبنيه على ipx , الراوتر اللى هيستلم ال packets دى هيبص على
ال type field ويحدد نوعية كل باكت منهم عن طريق القيمه الموجوده فى ال type field ...
ده شكل بيوضح تكوين بروتوكول ppp مع توضيح مكان ال type field
2-من هنا نستنتج ان ال ppp قادر على العمل مع اكثر من بروتوكول من بروتوكولات الطبقه التالته . زى ما قلنا ip , ipx ,
ipv6 ,
3-protocol ال ppp بيتحكم فى الاتصال بين نقطتين عن طريق مجموعة بروتوكولات مصاحبه له ,, تعرف باسم ال ppp
control messages ولها العديد من المميزات
وفى الحقيقه هيا اللى بتميز بروتوكول ال ppp فضلا عن انه public standard
نبدا نسرد كل ميزه على حده ونتكلم عنها شويه .....
1-ppp protocol field ........
كما اشرت هو حقل يوجد فى ال header الخاص ببروتوكول ppp
ده شكله , وفايدته زى ما قلت بيساعد الجهاز اللى استلم الداتا انه يتعرف على نوع ال packet الموجوده وهى مبنيه على
اى بروتوكول ip , ipx , الخ
ملحوظه : من بروتوكولات الاتصال من نقطه لنقطه ايضا بروتوكول hdlc او hig level data link control
ويوجد بهذا البروتوكول حقل يعرف ب type ايضا ويقوم بنفس العمل بس لازم نعرف كويس ان ال hdlc ده proprietary
يعنى يقدر يشتغل بين راوترات سيسكو بس ... اما ال ppp فهو ieee standard وبالتالى يشتغل ما بين اى راوترين ...
وده شكل حقل ال type فى ال hdlc وال ppp على فكره مفيش اى فرق بينهم غير ان ال ppp بروتوكول standard اما
ال hdlc فهو proprietary او مملوك لسيسكو ولا يعمل الا على اجهزة سيسكو ...
2- ppp control messages او البروتوكولات المصاحبه ببروتوكول ppp
زى ما اشرت ان فايدة هذه البروتوكولات المصاحبه التحكم التام فى الاتصال بين نقطتين يكون ppp شغال بينهم ....
يطلق على هذه البروتوكولات ايضا اسم
lcp يعنى link control protocolتنقسم هذه البروتوكولات لقسمين :
**بروتوكولات تحكم فى الاتصال ثابته واساسيه بغض النظر عن نوع الباكت ( واللى نقدر نحدده من ال type field ) ,
يعنى البروتوكولات دى بتشتغل لو كانت الباكت مبنيه على ipv4 او ipv6
او ipx ..... وهى موجوده للتحكم فى اتصال الطبقه التانيه يعنى زى ما قلت ملهاش دعوه ببروتوكول الطبقه التالته..
**بروتوكولات تحكم فى الاتصال خاصه , يعنى مرتبطه ببروتوكول الدرجه التالته المستخدم يعنى لكل بروتوكول درجه
تالته بروتوكول تحكم فى الاتصال خاص بيه ... مثال
1-لو عندى packet مبنيه على ipv4 هيشتغل معاها ال ppp وهيصاحبها بروتوكولين تحكم هما :
lcp ... زى ما قلنا ده شغال دايما معانا
ipcp ... وده هوا بروتوكول التحكم المصاحب والمرتبط بال ip
طيب مثال تانى لو عندى packet مبنيه على ipv6 هيشتغل معاها ال ppp وهيصاحبها بروتوكولين تحكم هما
1-lcp
2-ipv6cp وده الخاص ب ipv6
طيب ما هى فوائد البوتوكولات المصاحبه دى :
1-looped link detection ودى خاصيه تخلى ال ppp يكتشف اذا حصل loop على ال link ولا اللينك سليم
يعنى ايه loop الاول :
معناها ان لو عندى راوتر اسمه 1 وراوتر اسمه 2 ,,راوتر 1 بيبعت داتا لوجهه معينه , الداتا دى مفروض تروح على راوتر 2
وهو يكمل عملية توجيهها
لكن بسبب خطا ما فى جدول التوجيه او routing table لراوتر 2 , بدل ما يوديها وجهتها يبعتها على راوتر 1 تانى , وتفضل
الداتا رايحه جايه ما بين الراوترين 1 و 2
كيف يمكن لبروتوكول ppp اكتشاف ما اذا كان هنالك لووب ؟
1-كل راوتر بيعمل لنفسه رقم عشوائى اسمه magic number يعنى الرقم السحرى , طبعا بيكون مختلف عن اللرقم
العشوائى فى الراوتر الوجود بالجهه الاخرى
2-عندما يستقبل راوتر ما ال packet معينه , يقوم يبص على ال magic nimber الموجود فى ال ppp header
لو لقى الرقم السحرى مختلف عن الرقم السحرى بتاعه يبقى معنى كده ان الداتا دى جايه من راوتر تانى ومفيش اى مشاكل
طيب لو لقى ان الرقم السحرى هوا نفسه الرقم السحرى بتاعه ؟؟ معنى كده ان الداتا خرجت منه وراحت لراوتر تانى وحصل
لووووووب ورجعت الداتا تانى لنفس الراوتر
اذا اكتشف الراوتر حدوث لووب بواسطه بروتوكول ppp يقوم يعمل علطول disable للانترفيس اللى شغال عليها اللينك ده ....
مثال مبسط : راوتر 1 بيبعت packet وال magic number يساوى 1
اذا استلم راوتر 1 اى packet الmagic number لها يساوى 1 يعرف ان فى لووب وان الباكت دى اساسا كانت خارجه
من عنده فبيعمل disable لل interface
2-error detection او خاصية اكتشاف الاخطاء
طبعا كلنا عارفين ان بروتوكولات الطبقه التانيه فيها field اسمه fcs او frame check sum بيقدر من خلاله يعرف اذا
كانت الداتا سليمه او فاسده
لكن بروتوكول ال ppp فيه ميزه تانيه وهيا انه بيقيس عدد مرات حدوث اخطاء فى البيانات المستلمه , يعنى راوتر رقم واحد
مثلا استلم 1000 packet من راوتر 2
راوتر 1 حسب عدد الpackets السليمه وعدد ال packets التالفه , وبعدين يبعت النسبه دى للراوتر رقم 2
راوتر 2 يحسب نسبة السليم والتالف بالنسبه لمجمل البيانات المرسله , لو تجاوزت نسبة البيانات التالفه حد معين ( الحد المعين
ده انتا اللى ممكن تظبطه ) بيقوم راوتر رقم 2
بعمل disable لل interface
الخاصيه دى اسمها link quality monitoring
3-ppp multilink
اذا كان عندنا راوترين بينهم اكتر من لينك , يقدر ppp يوازن ما بين الداتا بحيث يبعت اجزاء متساويه موزعه على كل لينك
طبعا احنا عارفين ان الip بيقوم بعملية fragementation يعنى تكسير للداتا بحيث ان حجم كل packet يساوى 1500
byte او اقل
بس خد بالك لو عندى 2 packet الاولى 800 بايت ,والتانيه 400 بايت ,, بروتوكول ال ip يبعت كل وحده على لينك لان كل
وحده فيهم حجمها اقل من 1500 بايت
لكن الامر مختلف بالنسبه لل ppp ,, لو برده بنبعت نفس ال 2 packets وبروتوكول الاى بى وزع كل باكت على لينك , طبعا
الاولى 800 والتانيه 400
يقوم ال ppp بتكسبر كل packet بحيث تبقى نصفين متساويين ويوزعهم بالتساوى على اللينكات ...
االخلاصه :
ال ip بيوزع ال packets بناء على عدد ال packet خلى بالك الpackets فى الصوره جومها مش متساويه بس كل وحده
بتروح على لينك , ودى طريقة ال ip
ال ppp بيكسر كل packet لاجزاء متساويه يعنى بناء على حجم ال packet خلى بالك هنا الحجوم متساويه بالظبط يعنى لو
ال packet 1200 bytes ال ppp يكسرها لعدد اتنين packet كل وحده 600 بايت
4-authentication
يتيح بروتوكول ppp عملية ال authentication عند قيام device بطلب device اخر .. يعنى لو عندنا راوترين على
leased line
واحنا عملنا ال encapsulation ppp
ممكن لما ييجى راوتر منهم يعمل connection او dial مع الراوتر التانى يقوم الراوتر التانى بالتحقق من هوية الراوتر
الاول
طبعا عن طريق username و password ,,, وعلى فكره بروتوكول ppp بيعمل عملية التحقق دى او ال
authentication عن طريق بروتوكولين مصاحبين لل
ppp وهما :
pap : او password authentication protocol
chap : او challenge authentication protocol
اولا : pap :
اذا قام راوتر 1 بطلب راوتر 2 ,,, راوتر 2 بيتوقع انه هيستقبل username و password من راوتر 1 علشان يوافق
على الاتصال , يعنى راوتر واحد
بيطلب راوتر 2 ويبعت مع الطلب ده اليوزرنيم والباسوورد ,, طبعا لو صح بيسمحله بالاتصال ولو غلط يبقى deny او بيرفض
الاتصال معاه
chap :
ده موضوع يطول شرحه لكن يهمنا نعرف الفرق بينه وبين ال pap
1-الراوتر المطلوب هوا اللى بيبدا يسال الراوتر الطالب عن ال username وال password
يعنى مش بيستنى لما يقوله انا مين , لا هوا علطول زى الغفير بيقول ( مين هناك )
2-البيانات المرسله يعنى اليوزرنيم والباسوورد بتبقى مشفره ب md5 مش زى ال pap بيبعت كل حاجه clear text (
طبعا
لو انتا مذاكر الفرق ده هيفكرك بين ال telnet وال ssh او ال secure shell )
والذى يتميز بالعديد من الخصائص التى تميزه عن بروتوكول hdlc المملوك لسيسكو ...
اهم مميزات بروتوكول ppp :
1-بروتوكول ppp بيتكون من header و trailer تماما كما تتكون بروتوكولات الطبقه التانيه ك اثيثرنت او توكنرينج
**يوجد فى ال Header لخاص ببروتوكول ppp حقل يعرف ب type ,, ما هى اهميته :
يتيح هذا الحقل لبروتوكول ال ppp تمييز بروتوكول الطبه الثالثه الموجود فى ال packet ,,
يعنى انا لو عندى packet
مبنيه على بروتوكول ipv4 , و packet مبنيه على ipv6 ةاخرى مبنيه على ipx , الراوتر اللى هيستلم ال packets دى هيبص على
ال type field ويحدد نوعية كل باكت منهم عن طريق القيمه الموجوده فى ال type field ...
ده شكل بيوضح تكوين بروتوكول ppp مع توضيح مكان ال type field
2-من هنا نستنتج ان ال ppp قادر على العمل مع اكثر من بروتوكول من بروتوكولات الطبقه التالته . زى ما قلنا ip , ipx ,
ipv6 ,
3-protocol ال ppp بيتحكم فى الاتصال بين نقطتين عن طريق مجموعة بروتوكولات مصاحبه له ,, تعرف باسم ال ppp
control messages ولها العديد من المميزات
وفى الحقيقه هيا اللى بتميز بروتوكول ال ppp فضلا عن انه public standard
نبدا نسرد كل ميزه على حده ونتكلم عنها شويه .....
1-ppp protocol field ........
كما اشرت هو حقل يوجد فى ال header الخاص ببروتوكول ppp
ده شكله , وفايدته زى ما قلت بيساعد الجهاز اللى استلم الداتا انه يتعرف على نوع ال packet الموجوده وهى مبنيه على
اى بروتوكول ip , ipx , الخ
ملحوظه : من بروتوكولات الاتصال من نقطه لنقطه ايضا بروتوكول hdlc او hig level data link control
ويوجد بهذا البروتوكول حقل يعرف ب type ايضا ويقوم بنفس العمل بس لازم نعرف كويس ان ال hdlc ده proprietary
يعنى يقدر يشتغل بين راوترات سيسكو بس ... اما ال ppp فهو ieee standard وبالتالى يشتغل ما بين اى راوترين ...
وده شكل حقل ال type فى ال hdlc وال ppp على فكره مفيش اى فرق بينهم غير ان ال ppp بروتوكول standard اما
ال hdlc فهو proprietary او مملوك لسيسكو ولا يعمل الا على اجهزة سيسكو ...
2- ppp control messages او البروتوكولات المصاحبه ببروتوكول ppp
زى ما اشرت ان فايدة هذه البروتوكولات المصاحبه التحكم التام فى الاتصال بين نقطتين يكون ppp شغال بينهم ....
يطلق على هذه البروتوكولات ايضا اسم
lcp يعنى link control protocolتنقسم هذه البروتوكولات لقسمين :
**بروتوكولات تحكم فى الاتصال ثابته واساسيه بغض النظر عن نوع الباكت ( واللى نقدر نحدده من ال type field ) ,
يعنى البروتوكولات دى بتشتغل لو كانت الباكت مبنيه على ipv4 او ipv6
او ipx ..... وهى موجوده للتحكم فى اتصال الطبقه التانيه يعنى زى ما قلت ملهاش دعوه ببروتوكول الطبقه التالته..
**بروتوكولات تحكم فى الاتصال خاصه , يعنى مرتبطه ببروتوكول الدرجه التالته المستخدم يعنى لكل بروتوكول درجه
تالته بروتوكول تحكم فى الاتصال خاص بيه ... مثال
1-لو عندى packet مبنيه على ipv4 هيشتغل معاها ال ppp وهيصاحبها بروتوكولين تحكم هما :
lcp ... زى ما قلنا ده شغال دايما معانا
ipcp ... وده هوا بروتوكول التحكم المصاحب والمرتبط بال ip
طيب مثال تانى لو عندى packet مبنيه على ipv6 هيشتغل معاها ال ppp وهيصاحبها بروتوكولين تحكم هما
1-lcp
2-ipv6cp وده الخاص ب ipv6
طيب ما هى فوائد البوتوكولات المصاحبه دى :
1-looped link detection ودى خاصيه تخلى ال ppp يكتشف اذا حصل loop على ال link ولا اللينك سليم
يعنى ايه loop الاول :
معناها ان لو عندى راوتر اسمه 1 وراوتر اسمه 2 ,,راوتر 1 بيبعت داتا لوجهه معينه , الداتا دى مفروض تروح على راوتر 2
وهو يكمل عملية توجيهها
لكن بسبب خطا ما فى جدول التوجيه او routing table لراوتر 2 , بدل ما يوديها وجهتها يبعتها على راوتر 1 تانى , وتفضل
الداتا رايحه جايه ما بين الراوترين 1 و 2
كيف يمكن لبروتوكول ppp اكتشاف ما اذا كان هنالك لووب ؟
1-كل راوتر بيعمل لنفسه رقم عشوائى اسمه magic number يعنى الرقم السحرى , طبعا بيكون مختلف عن اللرقم
العشوائى فى الراوتر الوجود بالجهه الاخرى
2-عندما يستقبل راوتر ما ال packet معينه , يقوم يبص على ال magic nimber الموجود فى ال ppp header
لو لقى الرقم السحرى مختلف عن الرقم السحرى بتاعه يبقى معنى كده ان الداتا دى جايه من راوتر تانى ومفيش اى مشاكل
طيب لو لقى ان الرقم السحرى هوا نفسه الرقم السحرى بتاعه ؟؟ معنى كده ان الداتا خرجت منه وراحت لراوتر تانى وحصل
لووووووب ورجعت الداتا تانى لنفس الراوتر
اذا اكتشف الراوتر حدوث لووب بواسطه بروتوكول ppp يقوم يعمل علطول disable للانترفيس اللى شغال عليها اللينك ده ....
مثال مبسط : راوتر 1 بيبعت packet وال magic number يساوى 1
اذا استلم راوتر 1 اى packet الmagic number لها يساوى 1 يعرف ان فى لووب وان الباكت دى اساسا كانت خارجه
من عنده فبيعمل disable لل interface
2-error detection او خاصية اكتشاف الاخطاء
طبعا كلنا عارفين ان بروتوكولات الطبقه التانيه فيها field اسمه fcs او frame check sum بيقدر من خلاله يعرف اذا
كانت الداتا سليمه او فاسده
لكن بروتوكول ال ppp فيه ميزه تانيه وهيا انه بيقيس عدد مرات حدوث اخطاء فى البيانات المستلمه , يعنى راوتر رقم واحد
مثلا استلم 1000 packet من راوتر 2
راوتر 1 حسب عدد الpackets السليمه وعدد ال packets التالفه , وبعدين يبعت النسبه دى للراوتر رقم 2
راوتر 2 يحسب نسبة السليم والتالف بالنسبه لمجمل البيانات المرسله , لو تجاوزت نسبة البيانات التالفه حد معين ( الحد المعين
ده انتا اللى ممكن تظبطه ) بيقوم راوتر رقم 2
بعمل disable لل interface
الخاصيه دى اسمها link quality monitoring
3-ppp multilink
اذا كان عندنا راوترين بينهم اكتر من لينك , يقدر ppp يوازن ما بين الداتا بحيث يبعت اجزاء متساويه موزعه على كل لينك
طبعا احنا عارفين ان الip بيقوم بعملية fragementation يعنى تكسير للداتا بحيث ان حجم كل packet يساوى 1500
byte او اقل
بس خد بالك لو عندى 2 packet الاولى 800 بايت ,والتانيه 400 بايت ,, بروتوكول ال ip يبعت كل وحده على لينك لان كل
وحده فيهم حجمها اقل من 1500 بايت
لكن الامر مختلف بالنسبه لل ppp ,, لو برده بنبعت نفس ال 2 packets وبروتوكول الاى بى وزع كل باكت على لينك , طبعا
الاولى 800 والتانيه 400
يقوم ال ppp بتكسبر كل packet بحيث تبقى نصفين متساويين ويوزعهم بالتساوى على اللينكات ...
االخلاصه :
ال ip بيوزع ال packets بناء على عدد ال packet خلى بالك الpackets فى الصوره جومها مش متساويه بس كل وحده
بتروح على لينك , ودى طريقة ال ip
ال ppp بيكسر كل packet لاجزاء متساويه يعنى بناء على حجم ال packet خلى بالك هنا الحجوم متساويه بالظبط يعنى لو
ال packet 1200 bytes ال ppp يكسرها لعدد اتنين packet كل وحده 600 بايت
4-authentication
يتيح بروتوكول ppp عملية ال authentication عند قيام device بطلب device اخر .. يعنى لو عندنا راوترين على
leased line
واحنا عملنا ال encapsulation ppp
ممكن لما ييجى راوتر منهم يعمل connection او dial مع الراوتر التانى يقوم الراوتر التانى بالتحقق من هوية الراوتر
الاول
طبعا عن طريق username و password ,,, وعلى فكره بروتوكول ppp بيعمل عملية التحقق دى او ال
authentication عن طريق بروتوكولين مصاحبين لل
ppp وهما :
pap : او password authentication protocol
chap : او challenge authentication protocol
اولا : pap :
اذا قام راوتر 1 بطلب راوتر 2 ,,, راوتر 2 بيتوقع انه هيستقبل username و password من راوتر 1 علشان يوافق
على الاتصال , يعنى راوتر واحد
بيطلب راوتر 2 ويبعت مع الطلب ده اليوزرنيم والباسوورد ,, طبعا لو صح بيسمحله بالاتصال ولو غلط يبقى deny او بيرفض
الاتصال معاه
chap :
ده موضوع يطول شرحه لكن يهمنا نعرف الفرق بينه وبين ال pap
1-الراوتر المطلوب هوا اللى بيبدا يسال الراوتر الطالب عن ال username وال password
يعنى مش بيستنى لما يقوله انا مين , لا هوا علطول زى الغفير بيقول ( مين هناك )
2-البيانات المرسله يعنى اليوزرنيم والباسوورد بتبقى مشفره ب md5 مش زى ال pap بيبعت كل حاجه clear text (
طبعا
لو انتا مذاكر الفرق ده هيفكرك بين ال telnet وال ssh او ال secure shell )