امروزه یکی از راههای متصل کردن شعب مختلف یک شرکت استفاده از اینترنت است. استفاده از این اینترنت برای این کار در مقایسه با روشهای سنتی دارای مزایایی از جمله هزینه کمتر و در دسترس بودن اینترنت در اکثر نقاط است.
برای متصل کردن شعب با استفاده از بستر اینترنت میتوان تانلهایی را بین شعب شرکت ایجاد کرد. برای اینکه همه شعب به یکدیگر دسترسی مستقیم داشته باشند باید یک تانل بین هر دو شعبه برقرار شود. انجام این کار به صورت دستی در صورتی که تعداد شعبهها زیاد باشد کار سخت و زمانبری خواهد بود. همچنین برای انجام این کار نیاز است که تمام شعب دارای آدرس IP ثابت باشند.
یک راه برای غلبه بر این مشکلات و سختیها استفاده از DMVPN یا همان Dynamic Multipoint VPN است. در DMVPN تانلهای بین شعب بر اساس نیاز ایجاد شده و در زمانی که به آنها نیازی نباشد از بین میروند. DMVPN دارای ویژگیهایی از جمله موارد زیر است:
– DMVPN از Multipoint GRE برای ایجاد تانلهایش استفاده میکند.
– در DMVPN ساختاری مانند Hub و Spoke وجود دارد. معمولا روتر شعبه مرکزی را به عنوان Hub و روترهای سایر شعب را به عنوان Spoke در نظر میگیرند.
– DMVPN مشکل sub optimal pathing را حل میکند. این مشکل زمانی پیش می آید که دو روتر spoke برای برقراری ارتباط با یکدیگر این کار را با واسطه روتر hub انجام میدهند. در DMVPN ارتباط بین spokeها به صورت مستقیم خواهد بود.
با استفاده از mGRE این امکان وجود دارد که بین شعب ارتباط مستقیم و بر اساس نیاز داشت. (به این معنی که ارتباط بین دو شعبه در صورت وجود ترافیک به صورت خودکار ایجاد میشود و در صورتی که برای مدت زمانی ترافیک بین این دو شعبه رد و بدل نشود قطع میگردد) mGRE دارای ویژگیهایی از جمله موارد زیر است:
– با استفاده از mGRE یک روتر امکان داشتن چند تانل GRE بر روی یک اینترفیس GRE را دارد.
– mGRE نیز همانند GRE امکان انتقال ترافیک پروتکلهای مختلفی را دارد.
– mGRE از NHRP یا همان Next Hop Resolution Protocol برای پیدا کردن آدرس IP مقصد تانلها استفاده میکند.
روترهای شعب برای ایجاد تانل مستقیم بین یکدیگر نیاز به دانستن آدرس یکدیگر دارند. برای اینکه این کار به صورت خودکار انجام شود از NHRP استفاده میشود. NHRP بر اساس مدل کلاینت-سرور عمل میکند. روتر هاب به عنوان سرور و روترهای شعب دیگر یا همان روترهای spoke به عنوان کلاینت عمل میکنند. در هنگام پیکربندی روترهای spoke، آدرس روتر هاب را در آنها وارد میکنیم تا بتوانند با روتر هاب ارتباط برقرار کنند. روترهای spoke پس از برقراری ارتباط با روتر هاب اطلاعات زیر را برای روتر هاب ارسال میکنند:
1- آدرس اینترفیسی که از طریق آن به اینترنت وصل شدهاند.
2- آدرسی که بر روی اینترفیس تانل آنها قرار داده شده است.
روتر هاب اطلاعات دریافتی از spokeها را در جدولی مانند جدول شکل بالا قرار میدهد. حال اگر یکی از شعب قصد ارتباط با شعبه دیگری را داشته باشد، درباره آدرس آن شعبه از هاب سوال میپرسد و روتر هاب نیز با مراجعه به جدول خود این اطلاعات را در اختیار آن قرار میدهد تا امکان ارتباط مستقیم بین شعب فراهم شود. شکل زیر نحوه پرس و جوی spoke از هاب رو نشان میدهد.
در شکل زیر شرکتی با سه شعبه نمایش داده شده است. همه این شعبهها دسترسی به اینترنت دارند. شعبه 1 به عنوان هاب و شعبههای 2 و 3 به عنوان spoke در نظر گرفته شدهاند.
این روتر از طریق FastEthernet0/0 خود به اینترنت وصل شده و 1.1.1.2 آدرس قرار گرفته روی این کارت شبکه است. default route در این روتر آدرس 1.1.1.1 که آدرس روتر ISP است تعریف شده است.
در خط 7 آدرس 192.168.50.1 بر روی اینترفیس تانل ست شده است.
در خط 8 به روتر گفته شده است بستههای multicast را روی این تانل برای تمامی spokeهایی که به صورت dynamic و از طریق nhrp ثبت نام کردهاند ارسال کند. (برای روترهای Branch2 و Branch در اینجا) انجام این کار برای درست کار کردن پروتکلهای مسیریابی بین شعبههای مختلف ضروری است زیرا پروتکلهای مسیریابی از multicast برای تبادل اطلاعات استفاده میکنند.
در خط 9 پروتکل nhrp را بر روی این تانل فعال میکنید.
در خط 10 از آدرس 1.1.1.2 که بر روی FastEthernet0/0 روتر قرار دارد به عنوان source address تانل استفاده شده است.
در خط 11 مد تانل gre multipoint تعریف شده است.
interface FastEthernet0/0
ip address 1.1.1.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 1.1.1.1
!
interface Tunnel0
ip address 192.168.50.1 255.255.255.0
ip nhrp map multicast dynamic
ip nhrp network-id 1
tunnel source 1.1.1.2
tunnel mode gre multipoint
این روتر از طریق FastEthernet1/1 خود به اینترنت وصل شده و 2.2.2.2 آدرس قرار گرفته روی این کارت شبکه است. default route در این روتر آدرس 2.2.2.1 که آدرس روتر ISP است تعریف شده است.
interface FastEthernet1/1
ip address 2.2.2.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 2.2.2.1
!
interface Tunnel0
ip address 192.168.50.2 255.255.255.0
ip nhrp map 192.168.50.1 1.1.1.2
ip nhrp map multicast 1.1.1.2
ip nhrp network-id 1
ip nhrp nhs 192.168.50.1
tunnel source 2.2.2.2
tunnel mode gre multipoint
در خط 7 آدرس 192.168.50.2 بر روی اینترفیس تانل ست شده است.
در خط 8 مشخص میکنید آدرس 192.168.50.1 که متعلق به روتر hub است، از طریق آدرس 1.1.1.2 قابل دسترس میباشد. (در اینجا به آدرس 1.1.1.2 اصطلاحا NBMA address میگویند)
در خط 9 به روتر گفته شده است بستههای multicast را روی این تانل برای روتر hub ارسال کند. انجام این کار برای درست کار کردن پروتکلهای مسیریابی بین شعبههای مختلف ضروری است زیرا پروتکلهای مسیریابی از multicast برای تبادل اطلاعات استفاده میکنند.
در خط 10 پروتکل nhrp را بر روی این تانل فعال میکنید.
در خط 11 آدرس nhrp server را برای این روتر که نقش nhrp client را دارد مشخص میکنید.
در خط 12 از آدرس 2.2.2.2 که بر روی FastEthernet1/1 روتر قرار دارد به عنوان source address تانل استفاده شده است.
در خط 13 مد تانل gre multipoint تعریف شده است.
این روتر از طریق FastEthernet1/0 خود به اینترنت وصل شده و 3.3.3.2 آدرس قرار گرفته روی این کارت شبکه است. default route در این روتر آدرس 3.3.3.1 که آدرس روتر ISP است تعریف شده است.
interface FastEthernet1/0
ip address 3.3.3.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 3.3.3.1
!
interface Tunnel0
ip address 192.168.50.3 255.255.255.0
ip nhrp map multicast 1.1.1.2
ip nhrp map 192.168.50.1 1.1.1.2
ip nhrp network-id 1
ip nhrp nhs 192.168.50.1
tunnel source 3.3.3.2
tunnel mode gre multipoint
قبل از آنکه بستهای از سمت شعبه 3 به شعبه 2 ارسال شود، شعبه 2 تنها درباره نحوه رسیده به شعبه 1 (که در اینجا hub است) میداند:
Branch3#sh ip nhrp
192.168.50.1/32 via 192.168.50.1
Tunnel0 created 00:01:14, never expire
Type: static, Flags: used
NBMA address: 1.1.1.2
بعد از اینکه بستهای از شعبه 3 به مقصد شعبه 2 ارسال میشود، روتر شعبه 3 به صورت خودکار نحوه رسیدن به شعبه 2 را فرا میگیرد.
Branch3#ping 192.168.50.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.50.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/49/140 ms
Branch3#show ip nhrp
192.168.50.1/32 via 192.168.50.1
Tunnel0 created 00:08:01, never expire
Type: static, Flags: used
NBMA address: 1.1.1.2
192.168.50.2/32 via 192.168.50.2
Tunnel0 created 00:00:14, expire 01:59:45
Type: dynamic, Flags: router used
NBMA address: 2.2.2.2
192.168.50.3/32 via 192.168.50.3
Tunnel0 created 00:00:14, expire 01:59:45
Type: dynamic, Flags: router unique local
NBMA address: 3.3.3.2
(no-socket)
Branch2#show ip nhrp
192.168.50.1/32 via 192.168.50.1
Tunnel0 created 00:12:51, never expire
Type: static, Flags: used
NBMA address: 1.1.1.2
192.168.50.2/32 via 192.168.50.2
Tunnel0 created 00:04:15, expire 01:55:45
Type: dynamic, Flags: router unique local
NBMA address: 2.2.2.2
(no-socket)
192.168.50.3/32 via 192.168.50.3
Tunnel0 created 00:04:15, expire 01:55:45
Type: dynamic, Flags: router
NBMA address: 3.3.3.2
Branch3#show ip nhrp brief
Target Via NBMA Mode Intfc Claimed
192.168.50.1/32 192.168.50.1 1.1.1.2 static Tu0 < >
192.168.50.2/32 192.168.50.2 2.2.2.2 dynamic Tu0 < >
192.168.50.3/32 192.168.50.3 3.3.3.2 dynamic Tu0 < >