بیاید با هم مرور کنیم که وقتی یک Packet  وارد روتر می شود چه اتفاقی می افتد!!!

وقتی Packet  وارد Interface  روتر می شود بعد از اعمال CRC  ، روترهدر لایه دو بسته را Decapsulate  می کند (بر میدارد) و  به دنبال route  کردن بسته می باشد.

اگر مقصد Packet  خود روتر باشد ، بسته نیاز به روت شدن ندارد (مانند Telnet  یا SSH  زدن به روتر)

اگر مقصد بسته آدرسی غیر از روتر باشد روتر بسته را به کمک CEF Table  خود بسته را روی interface  خروجی ارسال و هدر لایه دو جدید را بر اساس تکنولوژی  لایه دو اینترفسی خروجی Encapsulate  میکند و Packet  را به سمت Next-hop  (روتر بعدی ) ارسال می کند (روت می کند).

نکته : متود CEF  انحصاری سیسکو می باشد که پیش فرض فعال می باشد برای Forwarding  بسته با سرعت بالا و توسط سخت افزاری جدا و قدرتمند  و به کمک FIB  table  و  adjacency table  انجام می شود.

منظور از FIB Table  همان Forwarding Information Base  است.

Adjacency Table

جدولی است که اطلاعات لایه دو همسایه های روتر در آن قرار می گیرد به عنوان مثال اگر تکنولوژی Interface  از نوع Ethernet 802.3  باشد اطلاعاتی از قبیل مانند…..Dst –mac, Src-mac که به کمک ARP Table بدست آمده پر می شود.

ITnovin.com#show adjacency detail

FIB Table

محتوای این جدول اطلاعاتی در مورد شبکه ها و Routing   می باشد. به عنوان مثال به ازای هر Subnet  یا شبکه ای که روتر بلد است و در Routing table  قرار دارد در FIB  اطلاعات آن شبکه نگه داری می شود.

برای مشاهده CEF Table  داریم:

ITNovin.com#show ip cef

پس از این  به بعد بهتر است بگویم بسته ها در روتر سیسکو توسط CEF  روت می شوند نه RIB) Routnig Information base).

ما در این مقاله سعی داریم به این موضع بپردازیم که محتوای Routing-Table  چگونه پر می شود.

Routing table  به سه روش زیر تکمیل میشود:

Connecnted-

static-

dynamic-

منظور از connected  همان شبکه های محلی روتر یا بهتر بگوییم شبکه هایی که روی interface  های روتر آدرس دهی کردیم.

 

مشاهده Routing Table :

 

 

به مثال زیر توجه کنید :

 

حالا جدول adjacency  روتر R1  را مشاهده کنید:

 

 

تکلیف static  روت هم که مشخص است به ازای هر Subnet  یا شبکه غیر محلی یک Static  روت می نوسیم و روتر بسته ها را روت کند سمت next-hop  که ما مشخص کرده ایم.

نکته : تفاوت ip next-hop   و  outgoing interface این است که در صورت وارد کردن ip next-hop  روتر مجبور به ۲  بار Lookup  کردن در Routing table  است تا اینترفیس خروجی را پیدا کند ولی در حالت دوم اینگونه نیست زیرا دست خروجی را می داند فقط موقع زدن ARP  داخل هدر ARP  در قسمت Target IP  ، ip  مقصد (Dst-ip in IP header)را قرار می دهد نه IP  next hop  که از نظر امنیتی در شبکه های Multi-access  جالب نیست   و ممکن است جواب ARP Reply) ARP)  روتر، را هر روتری بدهد و روتر در جدول adjacency  خود اطلاعا ت لایه دویی غلط قرار دهد و بسته ها بعد از روت شدن و Encapsulate   شدن هدر لایه دوایی غلط ،در شبکه های Multi-access  در سوییج بسته به سمت روتر Attacker  فوروارد شود.

 

به عنوان مثال ما در روتر R1  یک Static  روت می نویسیم برای مقصد ۱٫۱٫۱٫۰/۲۴  سپس جدول CEF  و Routing-Table  را مشاهده می کنیم:

ITNovin.com(config)#ip route 1.1.1.0 255.255.255.0 20.0.0.6

 

 

 

 

از جدول CEF  اططلاعت زیادی می توان برداشت کرد مانند اینکه روتر بسته های Multicast  ۲۲۴٫۰٫۰٫۰/۴  را Drop  میکند و کلی اطلاعات دیگر.

 

حالا به این مثال که شبکه Multi-Access  می باشد دقت کنید و جداول CEF  و adjacency  را بررسی کنید.

 

 

 

 

 

 

 

معیار انتخاب بهترین مسیر در روتر به ترتیب زیر می باشد.

Longest match-

Administrative distance-

Metric-

 

منظور از Longest Match تعداد بیت های صدق شده است که مسیری برنده است که که اشاره به شبکه ریزتر و کوچکتری کند. به عنوان مثال خط روت اولی برنده است:

 

ITNovin.com(config)#ip route 80.0.0.0 255.255.255.0 10.0.0.5

ITNovin.com(config)#ip route 80.0.0.0 255.255.0.0 10.0.0.2

مقدار AD  برای شبکه های Connected  برابر صفر و Static  یک می باشد که البته قابل تغییر است.

Metric  نیز فقط برای Dynamic Routing Protocol  های می باشد وبرای Connected و Static  تعریف نشده است.

 

نکته :

اگر روتر به ازای یک شبکه چندین روت با ارزش برابر داشته باشد بسته ها را Load balance  میکند که می تواند متد آن Per-destination  یا Per-packet  باشد که پیشفرض Per-destination  می باشد و طبق یک الگوریتم Hash  دست خروجی مشخص می شود که البته این الگوریتم قابل تغییر است و در روش Per-packet بسته ها به صورت Round-robin  پخش می شوند و هیچ الگوریتمی به کار نمی برد.

نکته :

در روش Per-destination بسته های یک session  همگی از یک مسیر می روند زیرا خروجی الگوریتم hash  به ازای تمام بسته های یک session  یکی است ولی در متود Per-packet بسته ها round robin  میشوند که اصلا روش مناسبی نیست ممکن است باعث ایجاد jitter  شود در شبکه های Dual Path.

برای درک بهتر تفاوت session  و packet  به این مثال دقت کنید.

هنگامی که دو نفر با تلفن همراه با همدیگر صحبت می کنند اون اتصال را می توان session تلقی کرد و صحبت های آن دو نفر را packet.

پکت ها در قالب یک   session  جا به جا می شوند.

وقتی تعداد روتر ها زیاد شود یا تعداد شبکه ها به اندازه ای باشد که نوشتن Static Route  از نظر زمانی مقرون به صرفه نباشد باید از Dynamic Routing Protocol  ها استفاده شود.

در Dynamic Routing Protocol  روتر ها پشت صحنه با همدیگر صحبت می کنند و هم دیگر را از شبکه های که دارند با خبر می کنند .

Dynamic Routing Protocol ها به دو دسته IGP   و EGP  تقسیم میشوند. که IGP  ها برای روتینگ داخل یک AS  و EGP  برای روتینگ بین  AS  ای استفاده می شود.

نکته :

EIGRP  را می توان عضو خانواده Distance-Vector  دانست بعضی از کتاب ها EIGRP  را در دسته بندی جدا Balance Hybrid  یا حتی بعضی ها Advance Distance-Vector  نام گذاری کردند.

 

 

 

ما در این مقاله سعی داریم یک سری از خصوصیات کلی Dynamic Routing Protocol  ها را به صورت خلاصه ارائه دهیم.

 

RIP

جز خانواده DV  است و برای شبکه های کوچک مناسب می باشد.

  • معیار متریک Hop-Count است.
  •  از الگوریتم bellman-ford  برای انتخاب بهترین مسیر استفاده می کند.
  • از IP  و IPX  پشتیبانی می کند
  •  روی UDP 520  کار می کند.
  • Distance  آن ۱۲۰ می باشد.
  • maximum hop count = 15
  • پرویکل RIP  وقتی برای یک Subnet  چندین مسیر با ارزش برابر داشته باشد به صورت پیش فرض تا ۴ مسیر را با متود round robin  لود بالانس میکند.
  •  RIP دارای دو ورژن می باشد.
  • RIP v1  به صورت Classfull  می باشد.( ممکن است باعث ایجادOverlapping Subnet  شود که به هیج وجه خوب نیست).
  • RIP v2  به صورت Classless است.
  • RIP v1  ، VLSM  ساپورت نمی کند ولی RIP v2  ساپورت می کند.
  • RIP v1  بسته های Update  خود را به مقصد ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ (Broadcast)  می فرستد.(تمامی روتر ها مجبور به تحلیل بسته های Broadcast  هستند حتی اگر RIP  بر روی آنها فعال نباشد که این ویژگی نیز مناسب نیست و باعث سرباراضافی در روتر میشود).
  • RIP v2  بسته های Update  خود را به مقصد ۲۲۴٫۰٫۰٫۹  ارسال می کند.(روتر بسته ای Multicast  را باز میکند که روی اون IP  ، listen  کند یا بهتر بگوییم RIP  روی آن روتر فعال باشد.)
  • RIP v2  می تواند برای بسته های Update  خود Authentication  تعریف کند ولی RIP v1  اینطور نیست.
  •  در Routing Table  با حرف R  نشان می دهد.
  • RIP Timers :

Update Timer = default 30s

Invalid Timer = default 180s

Hold Timer = default 180s

Flush Timer = default 240s

 

EIGRP

پروتکل انحصاری سیسکو می باشد و ترکیبی از خصوصیات Distance vector  و Link state  است که البته بیشتر از خصوصیات DV  ها به ارث برده  است به همین دلیل EIGRP  را جزی از خانواده Advance Distance Vector  نام می برند و نسخه پیشرفته ی IGRP  می باشد.

  • از الگوریتم DUAL  برای انتخاب بهترین مسیر استفاده می کند البته مسیری که Loop-Free  باشد.
  • از بسته های unicast  و Multicast  برای ارسال بسته های خود استفاده می کند. آدرس Multicast  آن ۲۲۴٫۰٫۰٫۱۰ می باشد.
  • پروتکل RTP) Reliable Transport Protocol)  ضمانت delivery  شدن بسته های Eigrp  را می دهد.
  • EIGRP  به صورت Full update  نمی باشد و فقط زمان تغییرات update  ارسال می کند.
  • EIGRP  به صورت Classless  می باشد و VLSM  ساپورت می کند.
  • از IP/IPX/AppleTalk  پشتیبانی می کند.
  • AD  آن برای شبکه های داخل AS  خود ۹۰ و برای External Route  ها مقدار آن ۱۷۰ است.
  • Convergence Time  بسیار بالای دارد و سریع ترین Routing Protocol  می باشد.
  • معیار EIGRP  برای محاسبه Metric  به صورت پیشفرض Bandwidth  و delay  می باشد.یعنی مقادیر Min BW  و Sum Delay  در فرمول CM قرار می دهد و بر اساس ضرایب K-Value  ها نتیجه این فرمول مقدار متریک می باشد.
  • maximum hop count = 100  ولی قابل تغییر به ۲۲۴  است.
  • مانند خانواده Link state  دارای سه جدول زیر می باشد:

    Neighbor table

                   Topology table

                   Routing-Table

  • ارتباط همسایگی روتر در EIGRP  با   همسایگان خود را adjacency  می نامد و بعد از ایجاد adjacency روتر اطلاعات روتیتگی خود را به اشتراک می گذارد.
  • Hello Time  آن ۵ ثانیه و Hold Time  آن ۱۵ است که البته در لینک های کم سرعت (WAN Link)  این مقدار تفاوت دارد.
  • تنها Dynamic Routing Protocol   ای می باشد که علاوه بر Equal Load balancing   (بر روی ۴ مسیر پیش فرض) برای مسیر های با ارزش نا برابر (Unequal Load balancing)  نیز دارد در شرایط وجود FC)Feasible Condition).
  • EIGRP  علاوه بر مسیر Successor  مسیرهای Backup  را نیز در Database  یا topology table خود نگه می دارد به همین علت Convergence Time بسیار بالایی دارد.
  •  در Routing Table  با حرف D  نشان می دهد.
  •  بسته ای  EIGRP  شامل Hello , Update , ACK , Query  می باشد.
  • برای امنیت بسته های Eigrp  می توان از Authentication  استفاده کرد.

OSPF

یک روتینگ پروتکل استاندارد از خانواده Link State  که Open Source  می باشد. و برای شبکه های بزرگ مانند Provider  ها مناسب است.

  • این پروتکل را به علت سنگین بودن می توان به دو حالت Single Area  و Multi Area  پیاده سازی کرد.
  •  در OSPF  هر روتر بسته به محل جغرافیایی نقش های IR , ABR , ASBR  را بازی می کنند.
  • هر روتر تمام خصیصه های Directly Connected  (دست های خود )  را در غالب بسته های LSA  به اشتراک می گذارد.
  •  هر روتر باید توپولوژی کل شبکه را بلد باشد به همین دلیل Data Base  شلوغی دارد.
  • روتر های داخل یک Area  دارای Data base  مشترکی هستند به همین علت در OSPF  در شبکه های بزرگ از Multi Area  استفاده می شود.
  •  از بسته های Unicast  و مالتی کست ۲۲۴٫۰٫۰٫۵  و ۲۲۴٫۰٫۰٫۶  برای ارسال بسته های خود استفاده می کند.
  •  از الگوریتم Dijkstra Shortest Path First  برای انتخاب کوتاه ترین مسیر بهره می برد.
  •  Classless  می باشد و VLSM  ساپورت است.
  •  Loop Free  است.
  •  فقط   از IP  پشتیبانی می کند.
  • AD   آن برابر ۱۱۰  می باشد.
  • معیار OSPF  برای Metric هزینه یا Cost  می باشد که رابطه عکس با Bandwidth  اینترفیس دارد.
  • هیچ Hop count Limit  ای ندارد.
  • Hello Time  برابر ۱۰ و Dead Time  آن ۴۰ می باشد و از شروط همسایگی است.
  • در OSPF  اینترفیس های روتر داری Network Type  های مختلفی هستند (که  رابطه ی مستقیمی با تکنولوژی لایه ۲ ای اینترفیس دارد ) به عنوان مثال برای Ethernet  نوع یا OSPF Network Type  به صورت Broadcast  است که Hello Time  و Dead  در Type  های مختلف  با هم تفاوت دارند و علاوه بر آن نیز نوع  بسته های Update  و Hello  نیزاز هم متمایز است. (Multicast Or Unicast)
  • OSPF Network Type

Broadcast Multi-Access

Point-to-Point

Point-to-Multipoint

(Non-broadcast Multi-access network (NBMA

  • دارای سه جدول زیر می باشد.

Neighbor table

               Topology table

               Routing-Table

  • ارتباط  همسایگی روتر در OSPF  با همسایگان خود را adjacency  می نامند.که مراحل همسایگی آن به شرح زیر است.

 

Down

Init

۲-way

Exstart

Exchange

Loading

Full

  • در OSPF  هر روتر دارای Router-ID  که شناسه هر روتر می باشد، وجود دارد که به یکی از سه روش زیر انتخاب می شود ( ترتیب الویت دارد)

(Static (by command

Highest Loopback IP address

Highest physical interface IP address

 

  • یک روتر به عنوان روتر DR  یا Designated Router  و یک روتر دیگر BDR  یا Backup Designated Router انتخاب می شود و بقیه روتر ها نقش DRother  دارند. نحوه انتخاب DR  و BDR   بر اساس Priority  اینترفیس ( پیشفرض یک) می باشد
  • در صورت برابر شدن  Priority، روتری که بالاترین Router-id  را دارد.
  • تمامی روتر ها بسته های Update  خود را به DR  و  BDR  با آدرس مقصد ۲۲۴٫۰٫۰٫۶   و DR  با آدرس مقصد مالتی کست  ۲۲۴٫۰٫۰٫۵  به همه  اعلام می کند.
  • ۲۲۴٫۰٫۰٫۵ در OSPF  منظور همه ی روتر ها هستند ولی ۲۲۴٫۰٫۰٫۶  برای DR  و BDR
  •  اگر OSPF  را به صورت Multi Area  پیاده سازی کنیم تمامی Area  ها باید Directly  با Area 0  یا Backbone  وصل باشند.در غیر این صورت از virtual Link  استفاده می کنند.
  • OSPF  نیز مانند EIGRP می تواند برای امنیت بسته های خود از Authentication  استفاده کند.
  • در Routing Table  با حرف O  نمایش میدهد.

در این مقاله سعی شد به صورت کلی شما عزیزان را با مکانیزم Routing  آشنا کنیم، در مقاله های بعدی قصد داریم Dynamic Routing Protocol  ها را به صورت کاملا جزئی باز و تحلیل کنیم.

با ITNovin همراه باشید.

Leave a Comment