This site is best viewed using the updated version of Mozilla Firefox


VLAN Trunking Protocol (VTP)

পূর্ববর্তী টিউটোরিয়ালে আমরা VLAN এর কিছু থিওরী ও বেসিক কনফিগারেশনসহ Inter-VLAN Routing নিয়ে আলোচনা করেছিলাম। একটি VLAN বেজড নেটওয়ার্কে VLAN কনফিগার করতে হলে ঐ নেটওয়ার্কের সকল সুইচসমূহে VLAN তৈরী করতে হয়। একটি ছোট আকারের নেটওয়ার্কে এটি সহজে করা গেলেও বড় আকারের নেটওয়ার্কে এটি করা বেশ ঝামেলার কাজ। ধরি, একটি নেটওয়ার্কে ৫০টি সুইচ আছে এবং নেটওয়ার্কটিতে ৩০ টি VLAN কনফিগার করতে হবে। যদি আমরা ম্যানুয়ালভাবে VLAN তৈরী করি তাহলে এই ৫০টি সুইচের প্রতিটিতেই ৩০টি করে VLAN তৈরী করতে হবে যা খুব পরিশ্রমলব্ধ ও সময়সাপেক্ষ ব্যাপার। আবার নেটওয়ার্ক থেকে একটি VLAN ডিলিট করতে চাইলে তা ৫০টি সুইচের প্রতিটি থেকেই ডিলিট করতে হবে। এই ধরণের সমস্যা থেকে পরিত্রানের জন্য একটি বড় আকারের VLAN বেজড নেটওয়ার্কে VLAN Trunking Protocol (VTP) ব্যবহার করা হয়।

VTP হলো এমন এক ধরণের প্রটোকল যার মাধ্যমে একটি VLAN বেজড নেটওয়ার্কের যেকোন একটি সুইচকে VTP Server হিসেবে কনফিগার করা হয় এবং অন্যান্য সকল সুইচসমূহকে VTP Client হিসেবে কনফিগার করা হয়। নেটওয়ার্কে যত ধরণের VLAN তৈরী, ডিলিট বা পরিবর্তন করতে হবে সেগুলো শুধুমাত্র VTP Server সুইচ এ কনফিগার করা হয়। VTP Server সুইচ অন্যান্য সকল VTP Client সুইচসমূহের কাছে তার নিজের VLAN ডাটাবেজ পাঠায় এবং VTP Client সুইচসমূহ সেই ডাটাবেজ গ্রহণ করে সেই অনুসারে নিজেদের ডাটাবেস Synchronize করে নেয়। অর্থাৎ VTP Server সুইচে যে সকল VLAN তৈরী, ডিলিট বা পরিবর্তন করা হয় তা সকল VTP Client সুইচসমূহে স্বয়ংক্রীয়ভাবে কনফিগার হয়ে যায়। এতে করে নেটওয়ার্কের সকল সুইচসমূহে আলাদাভাবে VLAN কনফিগার করার ঝামেলা থেকে মুক্তি পাওয়া যায়। এছাড়া এর মাধ্যমে VLAN কনফিগারেশন সংক্রান্ত বিভিন্ন ভূলও হয় না।

VTP শুধুমাত্র Normal Range VLAN ID (1 থেকে 1005) সাপোর্ট করে। VTP এর সকল কনফিগারেশন সুইচের Flash Memory তে সংরক্ষিত vlan.dat ফাইলের মধ্যে জমা থাকে।

VTP Domain

VTP Domain হলো কয়েকটি সুইচের সমন্বয়ে গড়ে উঠা একটি নির্দিষ্ট লজিক্যাল এলাকা যার মধ্যে থাকা সুইচসমূহ নিজেরা নিজেদের মধ্যে VLAN সংক্রান্ত তথ্য আদান-প্রদান করে। সুইচসমূহ যদি নিজেদের মধ্যে VLAN সংক্রান্ত তথ্য আদান-প্রদান করতে চায় তাহলে তার প্রধান শর্ত হলো, ঐ সকল সুইচসমূহকে অবশ্যই একই VTP Domain এর অধীনে থাকতে হবে। যেকোন একটি শব্দ/নাম ব্যবহার করে VTP Domain এর নাম ডিফাইন করা হয়। একটি Cisco সুইচে বাই ডিফল্ট কোন VTP Domain Name ডিফাইন করা থাকে না। #vtp domain কমান্ড দ্বারা ইহা ডিফাইন করতে হয়। একই VTP Domain এর অধীনে থাকা সকল সুইচসমূহের VTP Domain Name একই হওয়া অত্যাবশ্যক। নেটওয়ার্কের যে সুইচকে VTP Server হিসেবে কনফিগার করা হবে সেই সুইচটিতে প্রথমে VTP Domain Name ডিফাইন করতে হবে। VTP Server সুইচে VTP Domain Name ডিফাইন না করা পর্যন্ত ঐ সুইচের মধ্যে কোন VLAN কনফিগার করা যায় না। এখানে একটি কথা বিশেষভাবে উল্লেখযোগ্য যে, একটি সুইচ শুধুমাত্র একটি VTP Domain এর অধীনে থাকতে পারে।

VTP Mode

একটি সুইচ সাধারণত একইসাথে নিম্নোক্ত তিনটি Mode এর যেকোন একটি Mode এ কাজ করতে পারে।

i) Server Mode: নেটওয়ার্কের যে সুইচটিকে VTP Server হিসেবে কনফিগার করা হয় সে সুইচটি Server Mode এ থাকে। একটি সুইচ শুধু Server Mode এ থাকলেই কেবলমাত্র তাতে VLAN কনফিগার করা যায়। Cisco সুইচসমূহ বাই ডিফল্ট Server Mode এ থাকে। একটি নির্দিষ্ট VTP Domain এর অধীনে থাকা VTP Server সুইচ ঐ ডোমেইনের অন্যান্য VTP Client সুইচের কাছে VTP Advertisement পাঠায়।

ii) Client Mode: নেটওয়ার্কের যে সকল সুইচসমূহ Client Mode এ থাকে সে সুইচসমূহে ম্যানুয়ালভাবে কোন VLAN তৈরী, ডিলিট বা পরিবর্তন করা যায় না। এই সুইচসমূহ কেবলমাত্র VTP Server সুইচের কাছ থেকে Advertisement গ্রহণ করে VTP Server এর সাথে VLAN কনফিগারেশন Synchronize করে নেয়। Cisco সুইচসমূহ বাই ডিফল্ট Server Mode এ থাকে তাই কনফিগারেশনের শুরুতেই #vtp mode client কমান্ড দ্বারা সুইচসমূহকে Client Mode এ নিতে হয়।

iii) Transparent Mode: Server Mode ও Client Mode ছাড়াও আরেকটি VTP Mode রয়েছে সেটি হলো Transparent Mode । এই মুডে থাকা সুইচসমূহ কখনো VTP Advertisement পাঠায় না এবং এরা VTP Server এর কাছ থেকে প্রাপ্ত Advertisement নিজেরা গ্রহণ করে না। এরা প্রাপ্ত Advertisement অন্যান্য সুইচসমূহের কাছে পাস (ফরোয়ার্ড) করে দেয় মাত্র। Transparent Mode এ থাকা সুইচসমূহে ম্যানুয়ালভাবে VLAN কনফিগার করতে হয়। কনফিগারেশনের শুরুতেই #vtp mode transparent কমান্ড দ্বারা সুইচসমূহকে Transparent Mode এ নিতে হয়।

Basic Configuration

এখন আমরা দেখবো কিভাবে একটি VLAN বেজড নেটওয়ার্কে VTP কনফিগার করতে হয়। চিত্রে প্রদত্ত টপোলজিতে আমাদের পাঁচটি সুইচ রয়েছে। এই নেটওয়ার্কটিতে আমরা পাঁচটি VLAN (VLAN 10 - IT, VLAN 20 - Admin, VLAN 30 - Accounts, VLAN 40 - HR, VLAN 50 - Training) তৈরী করবো। প্রথমে আমরা S1 সুইচকে VTP Server হিসেবে কনফিগার করবো এবং এতে পাঁচটি VLAN তৈরী করবো।

S1#configure terminal 
S1(config)#vtp mode server 
Device mode already VTP SERVER.
S1(config)#vtp domain cisco
Changing VTP domain name from NULL to cisco
S1(config)#vtp password cisco123
Setting device VLAN database password to cisco123
S1(config)#vlan 10
S1(config-vlan)#name IT
S1(config-vlan)#exit
S1(config)#vlan 20
S1(config-vlan)#name Admin
S1(config-vlan)#exit
S1(config)#vlan 30
S1(config-vlan)#name Accounts
S1(config-vlan)#exit
S1(config)#vlan 40
S1(config-vlan)#name HR
S1(config-vlan)#exit
S1(config)#vlan 50
S1(config-vlan)#name Training
S1(config-vlan)#exit
S1(config)#

এখানে VTP Domain Name হিসেবে cisco এবং VTP Password হিসেবে cisco123 ডিফাইন করা হয়েছে। একটি VTP Domain এর প্রতিটি সুইচে এই VTP Domain Name ও VTP Password অবশ্যই একই হতে হবে।

এখন যদি আমরা S1 এ নিচের কমান্ড দিয়ে VTP Status ও VLAN এর বিস্তারিত দেখতে পারি।

S1#show vtp status 
VTP Version                     : 2
Configuration Revision          : 10
Maximum VLANs supported locally : 255
Number of existing VLANs        : 10
VTP Operating Mode              : Server
VTP Domain Name                 : cisco
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Disabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0xA3 0x6C 0x5C 0x1B 0xC5 0xC3 0x24 0x07 
Configuration last modified by 0.0.0.0 at 3-1-93 00:09:52
Local updater ID is 0.0.0.0 (no valid interface found)
S1#show vlan brief
VLAN Name                        Status    Ports
---- --------------------------- --------- -------------------------------
1    default                     active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                           Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                           Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                           Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                           Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                           Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                           Gig0/1, Gig0/2
10   IT                          active    
20   Admin                       active    
30   Accounts                    active    
40   HR                          active    
50   Training                    active    
1002 fddi-default                active    
1003 token-ring-default          active    
1004 fddinet-default             active    
1005 trnet-default               active 

*** এখানে একটি কথা বিশেষভাবে উল্লেখ্য যে, সুইচসমূহ যদি নিজেদের মধ্যে VTP Advertisement আদান-প্রদান করতে চায় তাহলে এদের মধ্যবর্তী লিংকগুলো Trunk পোর্ট হিসেবে কনফিগার করতে হবে। চিত্রানুযায়ী, S1 এর Fa0/1, Fa0/2, S2 এর Fa0/1, Fa0/2, S3 এর Fa0/1, S4 এর Fa0/1, Fa0/2, এবং S5 Fa0/1 পোর্টগুলো #switchport mode trunk কমান্ডের মাধ্যমে কনফিগার করতে হবে।

এখন আমরা সুইচ S2, S3 ও S5 কে VTP Client হিসেবে এবং সুইচ S4 কে VTP Transparent হিসেবে কনফিগার করবো। এজন্য প্রথমে সুইচ S2 তে নিচের কমান্ডগুলো দিব।

S2>configure terminal 
S2(config)#vtp mode client 
Setting device to VTP CLIENT mode.
S2(config)#vtp domain cisco
Changing VTP domain name from NULL to cisco
S2(config)#vtp password cisco123
Setting device VLAN database password to cisco123
S2(config)#

এভাবে সুইচ S3 ও S5 এ একই কমান্ড দিতে হবে (যেহেতু এগুলো VTP Client Mode এ আছে)। পরবর্তীতে আমরা সুইচ S4 এ নিচের কমান্ডগুলো দিব।

S4>configure terminal 
S4(config)#vtp mode transparent 
Setting device to VTP TRANSPARENT mode.
S4(config)#vtp domain cisco
Changing VTP domain name from NULL to cisco
S4(config)#vtp password cisco123
Setting device VLAN database password to cisco123
S4(config)#

এখন আমরা সুইচ S2 ও S4 এ #show vlan brief কমান্ড দিলে দেখতে পাবো যে, S1 থেকে VTP Advertisement গ্রহণ করে S2 তার নিজের VLAN ডাটাবেজ আপডেট করেছে কিন্তু S4 তা করেনি। কারণ S4 এখানে VTP Transparent মুডে আছে তাই এটি S1 থেকে কোন VTP Advertisement নিজে গ্রহণ করবে না, শুধুমাত্র তা S5 এর কাছে পাস/ফরোয়ার্ড করে দিবে।

S2#show vlan brief 

VLAN Name                        Status    Ports
---- --------------------------- --------- -------------------------------
1    default                     active    Fa0/3, Fa0/4, Fa0/5, Fa0/6
                                           Fa0/7, Fa0/8, Fa0/9, Fa0/10
                                           Fa0/11, Fa0/12, Fa0/13, Fa0/14
                                           Fa0/15, Fa0/16, Fa0/17, Fa0/18
                                           Fa0/19, Fa0/20, Fa0/21, Fa0/22
                                           Fa0/23, Fa0/24, Gig0/1, Gig0/2
10   IT                          active    
20   Admin                       active    
30   Accounts                    active    
40   HR                          active    
50   Training                    active    
1002 fddi-default                active    
1003 token-ring-default          active    
1004 fddinet-default             active    
1005 trnet-default               active
S4#show vlan brief 

VLAN Name                        Status    Ports
---- --------------------------- --------- -------------------------------
1    default                     active    Fa0/3, Fa0/4, Fa0/5, Fa0/6
                                           Fa0/7, Fa0/8, Fa0/9, Fa0/10
                                           Fa0/11, Fa0/12, Fa0/13, Fa0/14
                                           Fa0/15, Fa0/16, Fa0/17, Fa0/18
                                           Fa0/19, Fa0/20, Fa0/21, Fa0/22
                                           Fa0/23, Fa0/24, Gig0/1, Gig0/2
1002 fddi-default                active    
1003 token-ring-default          active    
1004 fddinet-default             active    
1005 trnet-default               active

এজন্য সুইচ S4 এ ম্যানুয়ালভাবে VLAN কনফিগার করেতে হবে।

S4#configure terminal 
S4(config)#vlan 10
S4(config-vlan)#name IT
S4(config-vlan)#exit
S4(config)#vlan 20
S4(config-vlan)#name Admin
S4(config-vlan)#exit
S4(config)#vlan 30
S4(config-vlan)#name Accounts
S4(config-vlan)#exit
S4(config)#vlan 40
S4(config-vlan)#name HR
S4(config-vlan)#exit
S4(config)#vlan 50
S4(config-vlan)#name Training
S4(config-vlan)#exit

Default VTP Status in Detail

যখন আমরা একটি Cisco সুইচে #show vtp status কমান্ড দিই তখন ঐ সুইচের VTP সেটিংসগুলো প্রদর্শিত হয়।

VTP Version: VTP এর দুইটি ভার্সন রয়েছে Version 1 ও Version 2 ।
Configuration Revision: সুইচের বর্তমান Revision নম্বর।
Maximum VLANs supported locally: সুইচটি সর্বোচ্চ কতটি VLAN সাপোর্ট করে তার সংখ্যা।
Number of existing VLANs: সুইচটিতে বর্তমানে কতটি VLAN তৈরী করা আছে তার সংখ্যা।
VTP Operating Mode: Server অথবা Client অথবা Transparent ।
VTP Domain Name: VTP Domain এর নাম। বাই ডিফল্ট সুইচসমূহে কোন Domain Name থাকে না।
VTP Pruning Mode: VTP Pruning বাই ডিফল্ট ডিসএ্যাবল থাকে।
VTP Traps Generation: ইহা এনাবল থাকলে সুইচ তার VTP এর Log সমূহ রিমোট Log সার্ভারে পাঠায়।
MD5 digest: ইহা VTP কনফিগারেশনের একটি 16 বাইটের Checksum ।
Configuration last modified: সুইচটি সর্বশেষ কখন ও কোন সুইচের কাছ থেকে VTP আপডেট গ্রহণ করেছিল তা দেখায়।

Configuration Revision Number

Configuration Revision নম্বর হলো একটি 32 বিটের নম্বর যা একটি সুইচের VTP Frame এর Revision এর লেভেল নির্দেশ করে। একটি সুইচে VTP অপারেশনের শুরুতে Configuration Revision নম্বর থাকে 0 । VTP Server সুইচে প্রতিবার যখনই কোন VLAN সংযোজন বা ডিলিট করা হয় তখন এই Revision নম্বর এক এক করে বাড়তে থাকে। প্রতিটি সুইচ তার নিজের Revision নম্বর মেইনটেইন করে। একটি VTP Client সুইচ কেবলমাত্র VTP Server এর কাছ থেকে Advertisement গ্রহণ করবে যদি VTP Server এর Revision নম্বর তার নিজের Revision নম্বরের চেয়ে বড় হয়। কোন সুইচের VTP Domain Name পরিবর্তন করা হলে তার Revision নম্বর রিসেট হয়ে যায় অর্থাৎ 0 হয়ে যায়। একটি VTP এনাবলড নেটওয়ার্কে Server ও Client সমূহের মধ্যে VTP/VLAN সংক্রান্ত তথ্যসমূহ সিনক্রোনাইজ করার ক্ষেত্রে এই VTP Revision নম্বর গুরুত্বপূর্ণ ভূমিকা পালন করে।

VTP Advertisement

VTP Advertisement সমূহ তিন ধরণের হয়ে থাকে।

i) Summary Advertisement: একটি VTP Server সুইচ তার VTP Client সুইচসমূহকে প্রতি ৫ মিনিট পর পর Summary Advertisement পাঠায়। এর মধ্যে VTP Domain এর নাম, বর্তমান Configuration Revision নম্বর ইত্যাদি থাকে। যদি VTP Server সুইচে কোন VTP কনফিগারেশন পরিবর্তন করা হয় তাহলে Summary Advertisement তৎক্ষনাৎ পাঠানো হয়।

ii) Subset Advertisement: VTP Server সুইচে কোন VLAN তৈরী বা ডিলিট, এ্যাক্টিভ বা ডিএ্যাক্টিভ, VLAN এর নাম পরিবর্তন বা VLAN এর MTU পরিবর্তন করা হলে তা Subset Advertisement এর মাধ্যমে VTP Client সমূহের কাছে পাঠানো হয়। যদি আপডেটের আকার বেশি বড় হয় তাহলে একাধিক Subset Advertisement পাঠানো হয়।

iii) Request Advertisement: যখন কোন VTP Client সুইচে VTP Domain এর নাম পরিবর্তন করা হয় বা VTP Server সুইচের কাছ থেকে কোন Subset Advertisement না পাওয়া যায় বা VTP Client সুইচটি রিবুট হয় তাহলে VTP Client সুইচ VTP Server সুইচের কাছে একটি Request Advertisement পাঠায়। Request Advertisement এর প্রতিউত্তরে VTP Server সুইচ Subset Advertisement পাঠায়।

VTP Pruning

VTP এনাবলড নেটওয়ার্কে VTP Pruning হলো এমন এক ধরণের মেকানিজম যা নেটওয়ার্কে Broadcast, Multicast ও Unicast ট্রাফিকসমূহের অপ্রয়োজনীয় Flooding প্রতিরোধ করে।

চিত্রে একটি VTP এনাবলড নেটওয়ার্কে সুইচ S2 এ VLAN 10 ও VLAN 20 এর ডিভাইস রয়েছে এবং সুইচ S3 এ শুধুমাত্র VLAN 20 এর ডিভাইস রয়েছে। আমরা জানি, সুইচ Broadcast ট্রাফিকসমূহ একটি VTP Domain এর সকল Trunk লিংকের মধ্য দিয়ে Flooding করে। সে হিসেবে সুইচ S2 এর VLAN 10 ডিভাইসের Broadcast ট্রাফিক সুইচ S3 পর্যন্ত পৌছাবে যা শুধু অপ্রয়োজনীয়ই নয় উপরন্তু নেটওয়ার্কের ব্যান্ডউইথ খরচ করে। যদি এই VTP এনাবলড সুইচসমূহে VTP Pruning ফিচারটি এনাবল থাকে তাহলে এই অপ্রয়োজনীয় Flooding বন্ধ থাকে। VTP Pruning এনাবল করলে সুইচ S1 এর F0/3 ইন্টারফেসটি VLAN 10 এর জন্য Pruned হয় অর্থাৎ সুইচ S1 তার F0/3 ইন্টারফেস দিয়ে সুইচ S3 এর কাছে VLAN 10 এর কোন Broadcast ট্রাফিক পাঠায় না।

S1#configure terminal
S1(config)#vtp pruning
Pruning switched on

Cisco সুইচসমূহে VTP Pruning ফিচারটি বাই ডিফল্ট ডিসএ্যাবল থাকে, ইহা এনাবল করার জন্য শুধুমাত্র VTP Server সুইচে #vtp pruning কমান্ডটি (Global Configuration মুডে) প্রয়োগ করতে হয়। এতে অন্যান্য VTP Client সুইচসমূহে VTP Pruning স্বযংক্রিয়ভাবে এনাবল হয়ে যায়।


আশাকরি এই টিউটোরিয়ালটি দেখে আপনারা VTP সম্পর্কে কিছু ধারণা পাবেন। ভাল থাকবেন। আল্লাহ হাফেজ।


   




এই টিউটোরিয়াল সাইটের যেকোন টিউটোরিয়ালে যেকোন ধরণের ভূল-ভ্রান্তি যদি আপনাদের দৃষ্টিগোচর হয় তাহলে দয়া করে আমাকে জানাবেন, আমি ভূল সংশোধন করে নিব। এই টিউটোরিয়াল সাইটটি যেহেতু আমি একক প্রচেষ্ঠায় পরিচালনা করছি, তাই ভূল-ভ্রান্তি হতে পারে। এজন্য আপনাদের সহায়তা কামনা করছি। যেকোন কিছু নোটিশ করার জন্য আমাকে ই-মেইল করতে পারেন। আমার ই-মেইল আই.ডি হলো mail.naserbd@yahoo.com । এছাড়া আমাদের ফেসবুক গ্রুপ পেজেও পোষ্ট করতে পারেন। আমাদের ফেসবুক গ্রুপ পেজের লিংকটি হলো mn-LAB

আপনাদের সহযোগীতার জন্য সবাইকে অগ্রীম ধন্যবাদ।