Friday, February 10, 2012

set next-hop using route-map

موضوع اليوم متعلق بال roue-map وهو تحديد next-hop address لكل ال routes الخارجة من ال Router باكثر من طريقة مع شرح الاختلافات بين هذه الطرق و التوضيح بامثلة باستخدام ال topology التالية :




وهذه هى الاعدادات الابتدائية :
R2 :
ip route 192.168.1.0 255.255.255.0 10.0.0.1

R3 :
ip route 10.0.0.0 255.255.255.0 192.168.1.1 

وبذلك يكون ال RTG لكل ال Routers كالاتى :
R3#sh ip route 
C       172.16.10.0 is directly connected, FastEthernet1/1
S       10.0.0.0 [1/0] via 192.168.1.1
C    192.168.1.0/24 is directly connected, FastEthernet1/0

R2#sh ip route 
C       10.0.0.0 is directly connected, FastEthernet1/0
S    192.168.1.0/24 [1/0] via 10.0.0.1

ولعمل check سريع على ال connectivity بين ال routers :

R2#ping 192.168.1.2
Type escape sequence to abort
:Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/88/112 ms

R3#ping 10.0.0.2
Type escape sequence to abort
:Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 80/108/140 ms


والان سوف ننتقل لموضوعنا الرئيسى الا وهو ال route-map وبالتحديد  التطرق لل جزئية الخاصة بتحديد وتحجيم ال next-hop و اجبار ال router على اتخاذ مسار بعينه من خلال عمل set لل next-hop التى سيستخدمها فى الذهاب لاى route :


R3(config)#route-map NETWORKING-GEEK  permit 10

R3(config-route-map)#set ip next-hop 172.16.10.1

R3(config-route-map)#exit

R3(config)#ip local policy route-map 
NETWORKING-GEEK 

قمنا بعمل creat ل route-map بالاسم NETWORKING-GEEK و ب seq number = 10 ,و قمنا بتحديد ال ip الخاص بال next hop المراد اعداده على ال router  وقمنا باضافة الcommand الاخير الذى يخبر ال router بانه يجب عليك تطبيق ال route-map اللى اسمها NETWORKING-GEEK على ال local policy اى انك سوف تكون ملزم باستخدام ال next-hop المحدد للخروج لاى route .

وبعد عمل configure لل route-map :

R3#ping 10.0.0.2
Type escape sequence to abort
:Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds
U.U.U
(Success rate is 0 percent (0/5
نلاحظ بان ال success rate 0/5 و هذا لان ال router قام بارسال ال icmp req و ال packets من خلال ال int f1/1 لل next hop 172.16.10.1 الا وهو R4 وبالتالى لن يفلح ال R3 فى الوصول ل R2 .

R3#ping 10.0.0.2 source 192.168.1.2 
Type escape sequence to abort
:Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds
Packet sent with a source address of 192.168.1.2 
.....
(Success rate is 0 percent (0/5


نلاحظ هنا انه بالرغم من تحديد ال ip الخاص بال f0/1 و نقوم بعمل ping ل R2 فانه لن ينجح ايضا وذلك لان ال R3 سوف يستخدم ال int f1/1 ولن يستخدم ال f0/1 



R3#ping 192.168.1.1 source 192.168.1.2

Type escape sequence to abort

:Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds
Packet sent with a source address of 192.168.1.2 
.....
(Success rate is 0 percent (0/5


وفشل ايضا فى انه ي connect بال R1 مع انه directly connected معه , لنفس السبب ايضا ان جميع ال packets تخرج من ال int f1/1 وبذلك لن يستطيع ال R3 التواصل وتوجيه ال packets الى اى router موصل به او يستطيع الوصول له من جهة ال intf0/1 وانما يستطيع الوصول فقط الى جميع ال routers الموصلة به من جهة ال int f1/1 كما نشاهد :

R3#ping 172.16.10.1
Type escape sequence to abort
 :Sending 5, 100-byte ICMP Echos to 172.16.10.1, timeout is 2 seconds
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/58/124 ms

و يحدث هذا كله بالرغم من ان ال RTG الخاص بال R3 يحتوى على جميع ال routes الى كل ال routers فى ال topology كما نرى :
R3#sh ip route

C       172.16.10.0 is directly connected, FastEthernet1/1

S       10.0.0.0 [1/0] via 192.168.1.1

C    192.168.1.0/24 is directly connected, FastEthernet1/0

ولعمل verification او monitoring لل route-map ...

R3#sh route-map 
route-map NETWORKING-GEEK , permit, sequence 10
 :  Match clauses
:  Set clauses
    ip next-hop 172.16.10.1
  Policy routing matches: 30 packets, 3000 bytes

دعنا الان نلغى كل الاعدادات الخاصة بال route-map 
R3(config)#route-map NETWORKING-GEEK permit 10
R3(config-route-map)#no set ip next-hop 172.16.10.1

وكما نلاحظ ان ال ping نجح بصورة طبيعية ورجعت الامور الى طبيعتها :


R3#ping 10.0.0.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/132/168 ms

والان ننتقل للطريقة الاخرى لتطبيق ال route-map :


R3(config)#route-map NETWORKING-GEEK permit 10   

R3(config-route-map)#set ip default next-hop 172.16.10.1

R3(config-route-map)#exit
R3(config)#ip local policy route-map 
NETWORKING-GEEK 

مقارنة بالطريقة الاولى اختلف فقط كلمة (default) و الان دعنا نقوم بفحص ال connectivity بباقى ال routers :


R3#ping 10.0.0.2

Type escape sequence to abort

 :Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds
*Jan 28 09:14:27.723: %SYS-5-CONFIG_I: Configured from console by console
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 120/146/176 ms


نلاحظ ان ال success rate 5/5 طبعا الكل مندهش !!!! فى ال configurations السابقة فشل ال ping وكان ال success rate 0/5 ولكن ماذا حدث الان ؟؟!! 
بالفعل حدث اختلاف تام عند اضافة كلمة default فى ال route-map وهذا ما سوف اشرحه الان :

R3(config-route-map)#set ip next-hop 172.16.10.1


عند تطبيق هذا ال command فان ال R يطبق ال route-map بكل حذافيرها دون النظر لل RTG فكما لاحظنا ان ال R3 كان لديه فى ال RTG مسارات لكل ال Routers فى ال topology , ولم يكن يرى سوى R4 المواجه له من ال next-hop الموجودة فى ال route-map وبذلك نستنتج ان هذا الامر يلغى تماما ال routing table فى ال router ويجبلر ال router بدلا من ان ينظر لل RTG ويتخذ قرارة فى عمل توجيه لل packets فانه يمنعه من كا هذا ويجعله ينظر لل route-map database و يتفحص ال rules ويطبقها ..

اما هذا ال command :

R3(config-route-map)#set ip default next-hop 172.16.10.1

اضافة كلمة default تتيح لل router ان ينظر لل RTG ويتخذ قرارة بناءا عليه يحدد كيفية توجيه ال packets و ان لم يجد مسار ل route معينة فى ال RTG يستطيع بعد ذلك عمل check على ال route-map و يطبق ال roules الخاصة بها و لذلك نجحت عملية ال ping من R3 الى R2 لان ال R وجد فى ال RTG انه يستطيع الوصول له من خلال int f0/1 ..


ارجو ان يكون الموضوع كان بسيط ومفهوم ...

No comments:

Post a Comment