Advanced InterNetworkingsite.iugaza.edu.ps/hmasry/files/Chapter-4.pdfNetworks Discussion Eng.Haneen...
Transcript of Advanced InterNetworkingsite.iugaza.edu.ps/hmasry/files/Chapter-4.pdfNetworks Discussion Eng.Haneen...
Islamic University of Gaza Faculty of Engineering
Department of Computer Engineering ECOM 4021: Networks Discussion
Chapter 4
Advanced InterNetworking
Eng. Haneen El-Masry
May, 2014
Networks Discussion Eng.Haneen
2
4.1 The Global Internet
يعني انه ينقلها من شبكة للباكيتات اللي بتوصله forwardingالوظيفة األساسية للراوتر هيا انه يعمل
واللي هيا بيتم Routing Tablesوالراوتر بيعتمد في هاي الوظيفة على destinationبناء عال ألخرى
... Distance Vector, Link stateمثل Routing Protocolsتكوينها باستخدام ال
االنترنت "الشبكة العالمية" تتكون من عدد كبيييير من الشبكات فبالتالي من الصعب جدااا انه اطبق عليها
السابقة فالحل كان انه نقسم االنترنت الى Routing Protocolsكلها واحد من ال
Autonomous Systems (ASs)
AS ة عن مجموعة من الشبكات المتصله بعدد من الراوترات لها نفس هو عبارAdministrator .
Routing Protocolsلل level 2وبهيك بيسير في عنا
1- Intra domain routing protocols: وهووه اللي بيتم تطبيقه داخل الAS الواحد
2- Inter domain routing protocol: بيتم تطبيقه بين الASs
1- Intra Domain Routing Protocol
Link state او Distance Vector متل ال
Link State
هي عبارة عدد من الراوترات Areaبحيث انه كل Routing Areasالى عدد من ASبيقسم ال
Link state informationالمبرمجه انه تتبادل فيما بينها ال
Backbone Area (Area 0) هي الArea اللي كل الراوترات اللي فيها هما راوترات فيarea
area border routersأخرى عاألقل .. وبنسمي هاي الراوترات
بشكل areaعلى كل Dijikstraيعني ال Link state protocolهأل اللي بيسير انه بنطبق ال
تبعته وما بعرف areaبال منفصل والناتج انه كل راوتر صار يعرف كيف يوصل للشبكات الموجوده
التانية areasشي عن ال
والحل ؟!!
داخل ال Link stateتطبيق يلخص المعلومات اللي وصللها من area border routerانه كل
non back bone areas ب اللي هووه متصل فيها وبيتبادلهاLink state مع الراوترات اللي في
area 0
Networks Discussion Eng.Haneen
3
ها بينشربيلخص المعلومات اللي وصل لها من الخطوة السابقة و area border routerوبعد كده كل
اللي هووه متصل فيها . non backbone areasداخل
معينة و non back bone areaلها في sourceومعنى هدا الحكي انه لو كان في عندي باكيت ال
dest فيnon backbone area اكيت بالبداية تنتقل من شبكتها لعند الراوتر اللي تانيه فالاازم هالب
واللي area0وبعد هيك تنتقل من هدا الراوتر لراوترتاني ب area0تبعتها ب areaبيوصل
dest. areaومن ثم تنتقل لل deatination areaبيوصلنا لل
طبقوا الكالم اللي فووق عالرسمة هاي ليوضح أكتر ..
Link stateهنا الراوترات اللي بداخلها رح تستقبل area 2في حالة متل حالة مالاااحظة ::
Advertisements 2 من area border routers واللي هماR1,R2 فالراوترات بتقرر تستخدم
داخل destالي R1مثال رح تعتمد .destلكل least costبناء على next hopواحد منهم ك أي
arae1 .
2- Inter Domain Routing Protocol
Border Gateway Protocol (BGP)
وهووه AS BGP Speaker>فيه لكل كمانو border routerبآخر بنسميه ASصل والراوتر اللي بي
هيا ال BGP Speakersوغااالبا بتكون ال ASمن والى routing informationالراوتر اللي بينقل ال
Border routers
Networks Discussion Eng.Haneen
4
:::Routing tablesخطوات تكوين ال
ASداخل كل intra domain routing protocolتطبيق -1
:وهوه انه BGPتطبيق -2
- BGP Speakers بترسلها لل بتلخص المعلومات اللي وصلت لها من الخطوة السابقة وBGP
Speakers المتصله فيها على شكلPath vector
>> pathبيقرر اذا كان هدا ال آخر speakerمن pathبيوصله BGP Speakerكل -
valid or no يعني باالول بيشوف اذا هووه نفسه موجود بالpath او ال .. النه اذا كان موجود
path << discardفبالتالي بيعمل لهدا ال Loopفيه يبقى حيكون فيه عنا
كان في عنده فبيسجله عنده واذا dest غيره لنفس ال pathما في عنده و validاما اذا كان -
path غيره لنفس الdest بيختار االفضل بناء علىconfiguration معينة وبيسجل االفضل
المتصله فيه وهكذاا . speakersوبيرسله لل pathبيضيف نفسه على -
AS 4, AS 5, AS 6, AS 7 هما عبارة عنstub ASs يعني ما بينقلواtransit traffic ::
- AS2 بيرسل لAS1 <128.96,AS2> , <192.4.153,AS2> ,<192.4.32,AS2>,
<192.4.3,AS2>
- AS3 بيرسل لAS1 <192.12.69,AS3>, <192.4.54,AS3>,<192.4.23,AS3>
ومين ال وبهالحاله كلهم تمام validبيشوف مين من األشياء السابقة اللي وصلته AS1هأل -
فبيسجلهم عنده ..
وارسلهم للي متصل فيهم . pathsتانيه كان ضاف حاله عال ASولو كان متصل ب -
Networks Discussion Eng.Haneen
5
تبعوا عليها ^_^ Loop وهاي بحاله وجود
Intraمن خالل ASالواحد بتعرف كيف توصل الي شبكة داخل هدا ال ASهأل الراوترات الي داخل ال
Domain Routing Protocol
BGPكنتيجه ل ASمعين بتعرف كيف توصل الي شبكة خارج ال ASل Speakersوال
ASالي رح يوصلها الي شبكة خارج ال next hopلكن الرواترات الداخلية كيف رح تعرف مين ال
والحل هووو ::: تبعها ؟!!!
3- Interior Border Gateway Protocol (iBGP)
واللي بتقدر توصل ASبالشبكات اللي خارج ASاللي داخل ال بتخبر الرواترات Speakerوهووه انه ال
.ASللراوترات اللي داخل ال BGPاللي وصلت لها من تنشر المعلومات لها يعني ب
Networks Discussion Eng.Haneen
6
رح تبحث عن Bفبالتالي <A> , <128.69/16,A ,128.5.5/24>انه B, Dبترسل ل Aهأل -
, <A ,128.5.5/24>فبتسجل عندها Aتبعها وبتالقي انه IGP tableفي A ل pathأقرب
<128.69/16,A>
- E بترسل لC 18.0/16>انه,E> وC رح ترسلها لB وبالتاليB رح تبحث فيIGP table
<C,18.0/16>فبتسجل عندها Cوبتالقي انه Eبيوصلها ل pathتبعها ع اقصر
- D رح ترسل لC,A 128.34/16>انه,D> ح يرسلوها ل وهما رB وبالتاليB رح تالقي انه
<C,128.34/16>فرح تسجل انه Cمن خالل Dبتقدر توصل ل
Networks Discussion Eng.Haneen
7
4.2 Multicast
multicast انه يكون في أكتر من جهاز بيشكلوا جروب مع بعض فبنعطي هاي الجروبmulticast
address بحيث لو فيsource على مرة وحده الباكيت بده يرسل لكل اعضاء الجروب يرسل
multicast address والراوتر هووه اللي بيتولى مسؤولية توصيل الباكيت لكل أعضاء الجروب ونسخها
..اذا لزم االمر interfaceوارسالها على أكتر من
unicastفاذا كان multicastاو unicastاذا كان dest. IPالراوتر أول ما تصله باكيت بيفحص ال
واحد فقط next hopواللي اكيد رح يكون unicast routing tableفي ال next hopبيشوف ال
“Path” بينما اذا كان ،،multicast فبيروح علىmulticast routing table وبيشوف الnext
hop والي ممكن انه يكون اكتر من واحد يعني“Tree” فبيعمل كوبي لكلnext hop باكيت وبيرسل ال
عليه....
multicast communicationهأل فيه نوعين من ال
1- One to many :: وهنا انه كل اعضاء الجروب بتستلم باكيتات منsource بتحدده واحد فقط
للجروب joinلما تعمل
2- Many to many :: أيوهنا أعضاء الجروب بتستلم باكيتات من source
Groups join/Leave Protocols::
1- IPv4: IGMP
2- IPv6: MLD (Multicast Listener Discovery)
Multicast Routing Protocols:
Multicast Routing Tableاو تكوين Multicast Treeتكوين من خاللها بيتم
1- DVMRP (Distance Vector Multicast Routing Protocol)
واللي بيسير كالتالي : ”flood and prune“بطريقة ال وهدا بيشتغل
وهال ”parent router“رح يرسلها لراوتر multicast address ل ت باكييرسل sourceلما
لهاي الجروب واذا ما فيه بيعمل multicast table << entriesالراوتر بيشوف اذا فيه عنده في ال
broadcasting المتصل فيها وكل راوتر بتوصله الباكيت بيتطلع عال للراوتراتmulticast table واذا
الموجوده في ال interfaces للباكيت عال forwardمتعلقة بهاي الجروب بيعمل entriesكان في
table واذا ما فيه بيعمللهاbroadcasting للراوترات المتصله فيه وهكذا لحتى نصل ل Leaf
Networks نفس الشي هاي الراوترات يعني راوترات مش متصله اال بالراوتر اللي اجت منه الباكيت و
Networks Discussion Eng.Haneen
8
اللي sourceلل prune msgبترسل entriesتبعها واذا ما الاااقت multicast tableبتبحث في ال
pruneوبالتالي كل راوتر رح تمر فيه ال ”No Group member here“محتواها الباكيت أرسل
msg في طريقها للsource رح يستثني االنترفيس اللي اجت منه هاي المسج ورح يعرف انه ما فيه
مرة تانية باكيت رايحه اعضاء في الجروب ممكن يوصل لها من خالل هدا االنترفيس وبالتالي لما يستقبل
لهاي الجروب ما رح يرسلها عبر هدا االنترفيس.
2- Protocol Independent Multicast (PIM)
a- PIM/DM (DenseMode) وهدا بيشتغل بطريقةflood and prune السابقة
b- PIM/ SM (Sparse Mode)
- Many to Many
وهووه معروف لكل الراوترات Rendezvous Point (RP)رح يكون فيه لكل جروب راوتر يسمى
ASالتانية الموجودة بداخل ال
::(G)فيه أعضاء لجروب معينه R4,R5هال بالرسمة هاي لو فرضنا انه في الشبكات المتصلة ب
:: R4نبدأ ب
R4على Group Addressبتحتوي على join msg يرسل group memberال -
- R4 بيرسل الjoin msg علىRP لهاي الجروب و كل راوتر بتمر فيه الjoin msg بطريقها ل
RP مثال هناR2 بيسجل عندهentry بالشكل هدا <*,G> <int X> أيمعناها انه لو استلمت و
وهووه عباره عن intXعلى forwardرح اعمللها Gرايحه لجروب source أيباكيت من
نفس الشي RPلعند join msgوهكذا لحتى تصل ال join msgاالنترفيس اللي استلم منه ال
بالشكل السابق entryبتسجل عندها
نفس الكالااام السابق :: R5هأل
Networks Discussion Eng.Haneen
9
بتمثل ال RPورح تكون Shared Treeللجروب رح تتكون عنا RPالى join msgsونتيجة ارسال
Root لهاي الtree ..... وهيا النقطة اللي بقدر من خاللها أوصل لكل أعضاء الجروب
شو اللي بيسير ؟؟ Gبده يرسل باكيت ل R1متصل ب Source (S)هأل لو فرضنا انه فيه
R1الباكيت ل رح تصل -
- R1 رح يبحث في الmulticast table علىentries خاصة ب G ما رح يالقي
للباكيت بحيث انه encapsulationوهيا انه رح يعمل RPللباكيت ل tunnelingرح يعمل -
dest. Address في الheader الجديد هووهRP لG ويرسلها
RPتصل الباكيت ل رح -
- RP رح تعمللها De-Encapsulation ورح تعملforward للباكيت الناتجة علىinterfaces
للجروب وبهيك رح تصل الباكيت لكل أعضاء الجروب. tableالمسجله عندها بال
Sل Source Specific join msgرح ترسل RPوكمااان -
entryعنده رح يسجل Sبطريقها ل source specific join msgكل راوتر رح تمر فيه ال -
رح اعمللها Gرايحه ل Sوهاي معناها انه اذا استلمت باكيت من <S,G> <intX>بالشكل هدا
forward علىintX وهوه االنترفيس اللي استلم منه الSource specific join msg
عطول بنسير نعمل tunnelingما بنحتاج انه نعمل Gلل Sوبهيك مرة تانيه اذا بعت هدا ال -
forward للباكيت...
R1وانتهاء ب RPابتدااء من source specific join msgالراوترات اللي بتمر فيها ال في النهاية و
Source Specific Tree تمثل
Networks Discussion Eng.Haneen
10
وهاي الرسمة بتوضح الكالم اللي فوق ^_^
pathفيه امكانية انه يصل ألعضاء الجروب ب Hostهأل لو الحظنا مثال في الرسمة اللي فوق انه ال
عال تحسينبفممكن انه نحل هاي القصة forwardتعمل RPوبعدين ال RPاقصر من انه يروح عال
protocol : وهووه كالتالي
R4على الراوتر مثال هنا Group Addressبتحتوي على join msgأعضاء الجروب بترسل -
بنفس اآلليه اللي فوق shared treeتكوين ال م بيت -
- R4 بيرسلsource specific join msg للhost
<S,G> <intX>بهدا الشكل entryبيسجل عنده Host(S)أي راوتر بتمر فيه المسج بطريقها لل -
وهووه اللي استلم منه المسج intXعلى forwardرح اعمللها Gعلى Sانه لو اجتني مسج من
R1 وانتهااء ب R4ابتداء من source specific join msgكل الراوترات اللي مرت فيها ال بهيك و
Source specific Treeتمثل
shared treeيعني بنكون باالول ال shared treeخطوة تكوين ال هدا االتحسين ما بيلغيفبالتااااالي
معين . sourceل source specific treeبنكون اذا بدنا بعد هيك
للراوتر ما بيعرف عنه join msgعضو الجروب اللي ارسل ، هناصار:::: التحسين اللي مالااااااحظة
source specific join msgوبس ... والراوتر هووه اللي ارسل ال join msgشي يعني هووه ارسل
Networks Discussion Eng.Haneen
11
^_^الرسمه بتوضح التحسين اللي بنحكي عنه وهاي
Interdomain Multicast (MSDP)
واحد طيب كيف لو كانت أعضاء الجروب ASداخل many to manyخاص ب الكالم السابق كان
مختلفة :::: ASsموزعه بين
Networks Discussion Eng.Haneen
12
- PIM/SSM (Source Specific Multicast)
بس هنا ال many to manyفكرته نفس فكرة التحسين اللي بيسير عال one to manyهدا خاص ب
group member بيكون عنده علم بالموضوع وهووه اللي بيحدد الhost اللي اعضاء الجروب رح
تستلم منه ... فاالي بيسير كالتالي :
:: Gمتصل بشبكة عليها عضو في جروب معينه R4لو فرضنا انه
- Group member بيرسل join msg بتحتوي على (G) Group Address باالضافة ل
Source Address (S) واالتنين مع بعض بنسميهمChannel النه في الone to many
R4الى اللي رح يستقبلوا منه sourceأعضاء الجروب بيحددوا ال
- R4 رح يرسلsource specific join msg للsource(S)
انه لو <S,G> <intX>بهدا الشكل entryبيسجل عنده (S)أي راوتر بتمر فيه المسج بطريقها لل -
وهووه اللي استلم منه المسج intXعلى forwardرح اعمللها Gعلى Sاجتني مسج من
R1 وانتهااء ب R4ابتداء من source specific join msgكل الراوترات اللي مرت فيها ال بهيك و
Source specific Treeتمثل
shared treeوال بنحتاج انه نعمل RPهنا ما بنحتاج -1 مالاااااحظة::
ASsاو بين ال ASداخل ال بيشتغل بنفس اآلليه -2
4.4 Routing to Mobile Hosts (Mobile IP) Mobile host: هو الhost خالل الفترة المتنقل بين أكتر من شبكة يعني ممكن يشبك ع أكتر من شبكة
الزمنية مثل الالبتوب والموبايل .
الجديدة . عالشبكة host << Dynamic IPبيتم اعطاء ال DHCPمن خالل
End pointsلل IP addressesانه ما يسير تغيير على TCP Connectionهأل شرط الستمرار ال
اللي بينهم االتصال
وبعد هيك فلو فرضنا انه فيه موبايل شابك ع شبكة معينة وعمل كونكشن مع سيرفر وبدأ بتحميل ملف
وتحميل الملف TCP Connectionجديد وبالتالي رح يتوقف IPرح يتم اعطاؤه انتقل ع شبكة تانية
من شبكة ألخرى. host عند انتقال ال TCP Connectionsمش كفاية لحتى تستمر ال DHCPاذن ال
Mobile IPوالحل ؟ !! هو
Networks Discussion Eng.Haneen
13
ميها شبكة أساسية وهيا الشبكة اللي شابك عليها الجهاز معظم الوقت وبنس mobile hostكل فيه لهأل
Home Network ورح يكون له عليهاIP Address وهدا الAddress بنسميهHome Address
(Permanent Address) وهووه الaddress اللي رح تستخدمه األجهزة لما بدها ترسل داتا لل
mobile host كdest. IP address وكمان رح يستخدمه الmobile host ألجهزة لما بده يرسل داتا
بباقي الشبكات بنسميه Home Networkال والراوتر اللي بيشبك .. source IP Addressأخرى ك
Home Agent
للشبكات المتصل فيها Agent Advertisementsبيقوم كل فترة والتانيه بارسال Home Agentال
فبالتالي رح mobile hostرح تصل لل Advertisementsلحتى يأكد وجوده لها .. وأكيد هاي ال
Home Agentلل IP Addressيسجل عنده ال
من الشبكة األساسية وبدأ مثال بتحميل ملف وانتقل TCP Connectionعمل mobile hostنفرض انه ال
لشبكة تانية ...
مناسب IP Addressاعطاؤه DHCPرح يتم من خالل Foreign networkلما ينتقل الجهاز لشبكة تانيه
foreignوالراوتر اللي بيشبك ال Address << Foreign Addressوبنسمي هدا ال للشبكة الجديده
network الشبكات اسمه بباقيForeign Agent والIP تبعه بنسميهcare of address
للشبكات Agent Advertisementsبيقوم كل فترة والتانيه بارسال Foreign agentهأل نفس الشي ال
mobile hostرح تصل لل Advertisementsالمتصل فيها لحتى يأكد وجوده لها .. وأكيد هاي ال
Foreign Agentلل IP Addressفبالتالي رح يسجل عنده ال
محتواها ال Foreign Agentلل register msgبيقوم بارسال mobile hostال
<Home IP, Home MAC Address, Home Agent IP> ال فForeign agent هاي بيسجل عنده
اللي استلم منه المسج forien IPالبيانات مقابل ال
وبيعطيه ال Home Agentبالتواصل مع ال Foreign agentوبيقوم ال
Networks Discussion Eng.Haneen
14
Foreign Agent IP> <Home IP, وكانه بيحكيله انه ال الجهاز اللي اله الHome IP صار موصول
ع شبكتي
واللي بنسميه ما يتغير بالنسبة للجهاز اللي بيرسله البيانات Mobile hostلل IPالمفروض انه ال هأل
يعني رح يضل الجهاز يرسل الداتا TCP Connectionلحتى يستمر ال corresponding hostاحيانا
بيقدر يستلم الباكيتات المرسله ع شبكة جديده ما mobile hostما انتقل ال ولكن فعليا بعد Home IPعلى
فالحل مباشرة home IPعلى ال
وهدا رح يسير من Home IPهووه اللي يستلم كل الباكيتات المرسله على ال home agentانه ال
وفيها بيخبر gratuitous ARP messageرح يرسل Home Agentوهيا انه ال Proxy ARPخالل
Home IPلل MAC Addressة المتصلة على نفس الشبكة اللي هووه متصل عليها انه ال كل األجهز
توصل Home IPلحتى بالنهاية كل الداتا المرسله على ال Home Agentلل MAC Addressهووه ال
.Home Agentلل Home IPوبالفعل بستمر وصول الباكيتات المرسله على ال Home Agentلعند ال
؟؟ mobile hostرح يوصل الباكيتات لل Home Agentوهال كيف ال
بيعمللها home ipالها هووه ال dest. IP Addressكل ما يستلم باكيت ال home agentال
tunneling للForeign Agent يعني بيعمللهاencapsulation بحيث انه الdest. IP في ال
header هووه ال الجديدForeign agent ip وبيرسلها عبر الشبكة
في dest. IPوبيقرأ ال DeEncapsualtionبيعمللها Foreign agentلما تصل الباكيت لعند ال
وبالتالي Home IPال لهدا MAC Addressوهووه مخزن عنده ال Home IPالباكيت الناتجة وبالقيه ال
... MAC Address لل تالباكيبيرسل
بيرسلها من foreign networkبده يرسل داتا وهووه مشبوك عال mobile hostلو ال وطبعااااا
. Home IPفي الباكيت المرسلة هووه source IP Addressيعني بيخلي ال home IPخالل ال
Triangle Routing Problem
Homeالزم تروح باألول لل mobile hostالمشكله بالكالم السابق انه كل باكيت بدنا نرسلها لل هأل
Agent بعد هيك للForeign Agent ومن ثم لل mobile host
فانه موجودين ع نفس الشبكة mobile hostالمشكلة لو كان الجهاز المرسل وال هاي يظهرب شياكتر و
home agentالازم باالول نروح عال
؟!!!فالحل
Networks Discussion Eng.Haneen
15
لل tunnelingيعمللها home ipمرسله لل home agentانه مع اول باكيت بتوصل لل هووه
foreign agent لل تالباكيد ما تصل لعنالكالم اللي فوق وبنكمل نفس mobile host
اللي وصلت منه sourceلل binding update messageيرسل ب home agentال وكماااان
صار موجود ع Home IPمن خاللها انه ال بيخبره <home IP, Foreign Agent>محتواها الباكيت
Foreign Agentشبكة الها ال
كيتات التانيه وبعد هيك في البا binding cacheتصله هاي المسج بيخزنها عنده في ال لما sourceال
وبنكمل foreign agentلل tunnelingيعمللها مبااشرة بيسير هووه Home IP اللي بده يرسلها لل
لعند ما تصل الباكيت بسالم ^_^ متل فوق
3وما بعتقد انه بعد الشرح اللي فوق األسئلة محتاجه توضيح :على بركة هللا ^_^ بأسئلة الكتاب ونبدأ
Provider P
Networks Discussion Eng.Haneen
16
Networks Discussion Eng.Haneen
17
Networks Discussion Eng.Haneen
18
Networks Discussion Eng.Haneen
19
Exercise 15:
Networks Discussion Eng.Haneen
20
Exercise 16:
Networks Discussion Eng.Haneen
21