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

Link State Routing Protocol Concept

বৈশিষ্ঠ্যের উপর ভিত্তি করে রাউটিং প্রটোকলসমূহকে দুই ভাগে ভাগ করা হয়।
১. Distance Vector রাউটিং প্রটোকল
২. Link State রাউটিং প্রটোকল

Link State রাউটিং প্রটোকলসমূহ হলো:
i. Open Shortest Path First (OSPF)
ii. Intermediate System-to-Intermediate System (IS-IS)

Link State রাউটিং প্রটোকলসমূহ Shortest Path First (SPF) এ্যালগরিদমের মাধ্যমে রাউট ক্যালকুলেশন করে থাকে। এই SPF এ্যালগরিদমটি Edsger Dijkstra নামক একজন ব্যাক্তি লিখেছিলেন। এজন্য SPF কে Dijkstra’s Algorithm (ডাইজ্কস্ট্রা’স এ্যালগরিদম) ও বলা হয়। এই এ্যালগরিদমের মাধ্যমে একটি সোর্স নেটওয়ার্ক থেকে কোন একটি ডেস্টিনেশন নেটওয়ার্কে যাওয়ার সম্ভাব্য প্রতিটি পাথকে Cost সহ হিসেব করা হয়।

চিত্রে প্রতিটি পাথের একটি করে Random Cost উল্লেখ করা হয়েছে। R2 রাউটার থেকে R3 এর LAN এ যাওয়ার Cost হলো 27 । লক্ষ্য করি, R3 এর LAN এ যাওয়ার জন্য প্রতিটি রাউটারের Cost ই কিন্তু 27 নয়। প্রতিটি রাউটার এজন্য তার নিজের অবস্থানের ভিত্তিতে এই Cost টি কে নিজের মতো করে নির্ণয় করে। অন্য কথায়, প্রতিটি রাউটারই তার নিজের মতো করে SPF এ্যালগরিদম ক্যালকুলেশন করে থাকে।

নিচে R1 রাউটার থেকে প্রতিটি LAN এ যাওয়ার Shortest পাথগুলো Cost সহ দেওয়া হল:

এখানে উল্লেখ্য যে Link State রাউটিং প্রটোকলের ক্ষেত্রে Shortest পাথ বলতে কোন নেটওয়ার্কে যেতে কম সংখ্যক Hop কে বুঝায় না। যদি তাই হতো তাহলে R1 থেকে R4 এর LAN এ যাওয়ার জন্য R4 কেই সরাসরি বেছে নেওয়া হতো, কারণ R4 এর মাধ্যমেই সবচেয়ে কমসংখ্যক Hop বিদ্যমান। কিন্তু এক্ষেত্রে পাথ সিলেকশনের জন্য Hop গণনার পরিবর্তে সর্বনিম্ন Cost কেই বেছে নেওয়া হয়েছে। R1 রাউটার থেকে R4 এর LAN এ সরাসরি যেতে Cost হলো 22 । কিন্তু R3 এর মাধ্যমে যেতে মোট Cost হলো 17 । সুতরাং R1 রাউটার থেকে R4 এ যাওযার সবচেয়ে ভাল পাথ হলো R1 to R3 to R4 ।

Link State Routing Process

এখন আমরা দেখবো Link State রাউটিং প্রটোকল কিভাবে কাজ করে। Link State রাউটিং প্রটোকলের মাধ্যমে সমগ্র রাউটিং প্রসেস কয়েকটি ধাপে সম্পন্ন হয়।

ধাপ-১. প্রতিটি রাউটার প্রথমে তার নিজের লিংক অর্থাৎ ডিরেক্টলি কানেক্টেড নেটওয়ার্ক সম্পর্কে জানে। যখন একটি রাউটারের কোন ইন্টারফেসে আই.পি এ্যাড্রেস ও সাবনেট মাস্ক কনফিগার করে ইন্টারফেসটিকে এনাবল করো হয় তখন রাউটার তার ঐ ইন্টারফেসের নেটওয়ার্কটিকে ডিরেক্টলি কানেক্টেড নেটওয়ার্ক হিসেবে বিবেচনা করে এবং নেটওয়ার্কটিকে তার রাউটিং টেবিলে অন্তর্ভূক্ত করে। চিত্রে R1 রাউটারের চারটি ডিরেক্টলি কানেক্টেড নেটওয়ার্ক নিম্নরূপ:

• FastEthernet 0/0 interface on the 10.1.0.0/16 network
• Serial 0/0/0 network on the 10.2.0.0/16 network
• Serial 0/0/1 network on the 10.3.0.0/16 network
• Serial 0/0/2 network on the 10.4.0.0/16 network

ধাপ-২. প্রতিটি রাউটার তার ডিরেক্টলি কানেক্টেড নেটওয়ার্কের অন্যান্য Neighbor এর সাথে রিলেশনশীপ তৈরী করে। এজন্য রাউটারসমূহ নিজেদের মধ্যে Hello প্যাকেট বিনিময় করে। চিত্রে R1 রাউটার তার Neighbor R2, R3 ও R4 এর কাছে Hello প্যাকেট পাঠায় এবং R2, R3 ও R4 রাউটার তাদের নিজেদের Hello প্যাকেট R1 এর কাছে পাঠায়। R1 এর সাথে R2, R3 ও R4 রাউটারসমূহের adjacency তৈরী হয়। এখানে R1 রাউটার তার Fa0/0 ইন্টারফেস দিয়ে যে Hello প্যাকেট পাঠায় সেই ইন্টারফেস দিয়ে কোন Hello Reply আসে নাই তাই Fa0/0 ইন্টারফেসে R1 এর কোন Neighbor ও নেই।

ধাপ-৩. প্রতিটি রাউটার তার ডিরেক্টলি কানেক্টেড নেটওয়ার্কগুলোকে একত্রিত করে একটি Link State Packet (LSP) তৈরী করে। আমরা পরবর্তীতে OSPF এর আলোচনার সময় LSP এবং অন্যান্য প্যাকেট সম্পর্কে বিস্তারিত জানবো। এই LSP এর মধ্যে Neighbor রাউটারসমূহের Router ID, Link Type ও Bandwidth উল্লেখ করা থাকে। চিত্রে R1 রাউটারের একটি LSP এর নমুনা দেওয়া হল:

1. R1 -> R2; Serial point-to-point network; 10.2.0.0/16; Cost 20
2. R1 -> R3; Serial point-to-point network; 10.3.0.0/16; Cost 5
3. R1 -> R4; Serial point-to-point network; 10.4.0.0/16; Cost 20
4. R1; Ethernet network 10.1.0.0/16; Cost 2

ধাপ-৪. প্রতিটি রাউটার তার Neighbor সমূহের কাছে এই LSP পাঠায় এবং Neighbor সমূহ প্রাপ্ত সকল LSP গুলো কে তাদের Link State Database এ সংরক্ষন করে। Neighbor রাউটারসমূহ প্রাপ্ত এই LSP গুলোকে আবার তাদের Neighbor দের কাছে পাঠায়।

চিত্রে R1 রাউটারের একটি Link State Database এর নমুনা দেওয়া হলোঃ

এভাবে একটি রাউটিং এরিয়ার সর্বশেষ রাউটারটি এই LSP না পাওয়া পর্যন্ত LSP Flooding চলতে থাকে। এই LSP সমূহ Periodically পাঠানো হয় না। শুধুমাত্র দুটি ক্ষেত্রে এই LSP পাঠানো হয়:

i) রাউটার অথবা রাউটিং প্রটোকলের স্টার্টআপের সময়
ii) যখন টপোলজিতে কোন পরিবর্তন আসে, যেমন: কোন লিংক ডাউন বা আপ হলে, দুটি রাউটারের মধ্যে রিলেশনশীপের পরিবর্তন ঘটলে।

ধাপ-৫. এই Link State Database ব্যবহার করে প্রতিটি রাউটার পুরো রাউটিং এরিয়ার SPF Tree অর্থাৎ একটি টপোলজি তৈরী করে এবং প্রতিটি ডেস্টিনেশনে যাওয়ার জন্য Best পাথ ক্যালকুলেট করে।


Building SPF Tree

আমরা ইতিমধ্যে দেখেছি কিভাবে একটি রাউটার তার ডিরেক্টলি কানেক্টেড নেটওয়ার্কগুলো নিয়ে LSP তৈরী করে এবং অন্যান্য রাউটারসমূহের LSP এর সমন্বয়ে Link State Database তৈরী করে। এখন আমরা দেখবো একটি রাউটিং এরিয়ার কোন একটি রাউটার (উদাহরণস্বরূপ: রাউটার R1) তার নিজের LSP এবং অন্যান্য রাউটারসমূহের LSP ক্যালকুলেট করে কিভাবে SPF Tree তৈরী করে। এজন্য রাউটার R1 তার Link State ডাটাবেসে রক্ষিত অন্যান্য রাউটারের LSP গুলো চেক করে।

রাউটার R2 এর LSP:
1. Connected to neighbor R1 on network 10.2.0.0/16, cost of 20
2. Connected to neighbor R5 on network 10.9.0.0/16, cost of 10
3. Has a network 10.5.0.0/16, cost of 2

এখন দেখা যাক, R2 এর কাছ থেকে LSP পেয়ে R1 কি করে।

R1 রাউটার R2 এর কাছ থেকে পাওয়া প্রথম LSP টি Ignore করে, কারণ R1 রাউটার 10.2.0.0/16 নেটওয়ার্ক সম্পর্কে ইতিমধ্যে জানে কেননা এটি তার ডিরেক্টলি কানেক্টেড নেটওয়ার্ক। R1 দ্বিতীয় ও তৃতীয় LSP টি রিসিভ করে এবং 10.9.0.0/16 ও 10.5.0.0/16 নেটওয়ার্কে যাওয়ার জন্য এই LSP দুটি তার Partial SPF Tree তে জমা করে।

রাউটার R3 এর LSP:
1. Connected to neighbor R1 on network 10.3.0.0/16, cost of 5
2. Connected to neighbor R4 on network 10.7.0.0/16, cost of 10
3. Has a network 10.6.0.0/16, cost of 2

R1 রাউটার R3 এর কাছ থেকে পাওয়া প্রথম LSP টি Ignore করে, কারণ R1 রাউটার 10.3.0.0/16 নেটওয়ার্ক সম্পর্কে ইতিমধ্যে জানে কেননা এটি তার ডিরেক্টলি কানেক্টেড নেটওয়ার্ক। R1 দ্বিতীয় ও তৃতীয় LSP টি রিসিভ করে এবং 10.7.0.0/16 ও 10.6.0.0/16 নেটওয়ার্কে যাওয়ার জন্য এই LSP দুটি তার Partial SPF Tree তে জমা করে।

রাউটার R4 এর LSP:
1. Connected to neighbor R1 on network 10.4.0.0/16, cost of 20
2. Connected to neighbor R3 on network 10.7.0.0/16, cost of 10
3. Connected to neighbor R5 on network 10.10.0.0/16, cost of 10
4. Has a network 10.8.0.0/16, cost of 2

R1 রাউটার R4 এর কাছ থেকে পাওয়া প্রথম ও দ্বিতীয় LSP টি Ignore করে, কারণ R1 রাউটার 10.4.0.0/16 ও 10.7.0.0/16 নেটওয়ার্ক সম্পর্কে ইতিমধ্যে জানে কেননা 10.4.0.0/16 এটি তার ডিরেক্টলি কানেক্টেড নেটওয়ার্ক এবং 10.7.0.0/16 নেটওয়ার্ক সম্পর্কে সে ইতিমধ্যে R3 রাউটারের কাছ থেকে কম Cost (10) এ জেনেছে। R1 তৃতীয় ও চতুর্থ LSP টি রিসিভ করে এবং 10.10.0.0/16 ও 10.8.0.0/16 নেটওয়ার্কে যাওয়ার জন্য এই LSP দুটি তার Partial SPF Tree তে জমা করে।

রাউটার R5 এর LSP:
1. Connected to neighbor R2 on network 10.9.0.0/16, cost of 10
2. Connected to neighbor R4 on network 10.10.0.0/16, cost of 10
3. Has a network 10.11.0.0/16, cost of 2

R1 রাউটার R5 এর কাছ থেকে পাওয়া প্রথম ও দ্বিতীয় LSP টি Ignore করে, কারণ R1 রাউটার 10.9.0.0/16 ও 10.10.0.0/16 নেটওয়ার্ক সম্পর্কে ইতিমধ্যে জানে কেননা এ দুটি নেটওয়ার্ক সম্পর্কে সে ইতিমধ্যে যথাক্রমে R3 ও R4 রাউটারের কাছ থেকে জেনেছে। R1 তৃতীয় LSP টি রিসিভ করে এবং 10.11.0.0/16 নেটওয়ার্কে যাওয়ার জন্য এই LSP টি তার Partial SPF Tree তে জমা করে।

এখন উপরিউক্ত SPF ক্যালকুলেশনের মাধ্যমে রাউটার R1 যে Complete SPF Tree তৈরী করে সেটি নিম্নরূপ:

Network 10.5.0.0/16 via R2 serial 0/0/0 at a cost of 22
Network 10.6.0.0/16 via R3 serial 0/0/1 at a cost of 7
Network 10.7.0.0/16 via R3 serial 0/0/1 at a cost of 15
Network 10.8.0.0/16 via R3 serial 0/0/1 at a cost of 17
Network 10.9.0.0/16 via R2 serial 0/0/0 at a cost of 30
Network 10.10.0.0/16 via R3 serial 0/0/1 at a cost of 25
Network 10.11.0.0/16 via R3 serial 0/0/1 at a cost of 27

সবশেষে, রাউটার R1 SPF Tree এর সাহায্যে বের করা প্রতিটি পাথকে তার রাউটিং টেবিলে যোগ করে।

• 10.5.0.0/16 via R2 Serial 0/0/0, cost = 22
• 10.6.0.0/16 via R3 Serial 0/0/1, cost = 7
• 10.7.0.0/16 via R3 Serial 0/0/1, cost = 15
• 10.8.0.0/16 via R3 Serial 0/0/1, cost = 17
• 10.9.0.0/16 via R2 Serial 0/0/0, cost = 30
• 10.10.0.0/16 via R3 Serial 0/0/1, cost = 25
• 10.11.0.0/16 via R3 Serial 0/0/1, cost = 27

এভাবে একটি রাউটিং এরিয়ার প্রতিটি রাউটার তার নিজ নিজ অবস্থানের ভিত্তিতে একটি করে স্বতন্ত্র রাউটিং টেবিল তৈরী করে।

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