Wednesday, May 15, 2019

ডায়নামিক রাউটিং (OSPF) কি এবং কিভাবে কাজ করে বিস্তারিত

OSPF কি?

OSPF এর পূর্ণরূপ হলো Open Shortest Path First । এটি একটি Link State রাউটিং প্রটোকল যা Distance Vector রাউটিং প্রটোকল RIP এর রিপ্লেসমেন্ট হিসেবে এসেছে। OSPF ডেভেলপ করার কাজ শুরু হয় 1987 সালে IETF এর মাধ্যমে। 1989 সালে OSPFv1 (Version 1) আবির্ভূত হয়, যা ছিল পরীক্ষামূলক। 1991 সালে OSPFv2 (Version 2) আসে। পরবর্তীতে 1999 সালে IPv6 এর জন্য OSPFv3 (Version 3) উন্মুক্ত হয়।

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

যখন কোন রাউটারে OSPF রান করানো হয় তখন সে তিনটি কাজ করে । আমরা একে OSPF এর ফিচার বা বৈশিষ্টও বলতে পারি । যথা:
  • Neighbor Relation
  • Database Exchange
  • Route Calculation
যে সকল রাউটারে OSPF রান করে সে সকল রাউটারে এই তিনটি টেবিল থাকে। যখন একটি রাউটার আর একটি রাউটার এর সাথে নেবার রিলেশনশিপ স্থাপন কারে তখন তাদের মাঝে একটি Neighbor Table। নেবার রিলেশনশিপ স্থাপন হওয়ার পর তাদের মাঝে ডাটাবেজ এক্সচেঞ্জ হবে, তখন একটি Database Table তৈরি হবে এবং সবশেষে যখন রুট কালকুলেট হবে তখন একটি Routing Table তৈরি হবে। এই তিনটি টেবিল দেখার জন্য যে কোড ব্যবহার করা হয় তা নিচে দেখানো হল ।
  • Neighbor Tabel ( show ip ospf neighbor)
  • Database Exchange ( show ip ospf data base)
  • Route Calculation ( show ip route)

 OSPF Neighbor

নেবার রিলেশনশিপ এর মাধ্যমে রাউটার তার প্রতিবেশি রাউটার সম্পর্কে জানতে পারে । রিপে আমরা দেখেছিলাম প্রতিটি রাউটার শুধুমাত্র তার প্রতিবেশি রাউটার সম্পর্কে জানতে পারে এবং তার উপর ভিত্তি করে তার রাউটিং টেবিল তৈরি করে থাকে । কিন্তু OSPF এর ক্ষেত্রে নেটওয়ার্কে যতগুলি রাউটার থাকে সমস্থ রাউটার এর সাথে সে নেবার রিলেশনশিপ স্থাপন করে, সেই সাথে প্রতিটি রাউটারের ইনফরমেশন প্রতিটি রাউটার এর কছে থাকে । এই ইনফরমেশন গুলির জন্য সে একটি Neighbor Table তৈরি করে ।

কোন রাউটারে যে OSPF রান করলেই যে প্রতিটি রাউটার এক অপরের সাথে নেবার হবে তা কিন্তু না। প্রতিটি রাউটার একে অপরের সাথে নেবার হওয়ার জন্য কিছু প্যারামিটার আছে সেই প্যারামিটার মিললেই একে অপরের সাথে নেবার রিলেশনশিপ স্থাপন করে । তাছাড়া তারা নেবার হবে না ।

এখন প্রশ্ন হল কিভাবে এই নেবার রিলেশনশীপ স্থাপন হয়? যখন কোন রাউটারে OSPF রান করানো হয় তখন সে তার সমস্থ আকটিভ ইন্টারফেস দিয়ে একটি Hello Message Send করে। এই Hello Message একটি প্রতি 10 Second পর পর প্রতিটি রাউটারের কাছে send করতে থাকে। এই hello message এর মধ্যে কি থাকে? এই Hello Message এর মধ্যে যে সকল কনটেন থাকে তা হল
  • Hello Message Contains:-
  • Router ID (32 bit)
  • Area ID
  • Hello Interval
  • Dead Interval
  • Router Priority
  • The Router ID of the Designated Router (DR)
  • The Router ID of the Back-up Designated Router (BDR)
  • A list of neighbor, the sending router already knows about the subnet.
নিচে এই প্যারামিটারগুলি সম্পর্কে বিস্তারিত আলোচনা করা হল।

Router ID:প্রতিটি রাউটার এর একটি রাউটার আইডি থাকে। এই আইডিটি 32bit এর হয়ে থাকে । যেমন :- Router ID ------1.1.1.1 প্রতিটি রাউটারের কিন্তু এই রাউটার আইডি আলাদা আলাদা । কখোন দুটি রাউটারের রাউটার আইডি একই হবে না । কিছু ক্রাইটেরিয়া রয়েছে যার উপর ভিত্তি করে এই রাউটার আইডি নির্ধারণ করে থাকে ।

           ১. Administrator চাইলে এটি নিজে নিজে অ্যসাইন করে দিতে পারে ।

আর যদি অ্যাডমিনেসট্রেটর এটি অ্যাসাইন করে না দেয় তাহলে:-

            ২. Highest IP address on the loopback interface.

লুপব্যাক ইন্টারফেস হল একটি ভর্চুয়াল ইন্টাফেস। এটি কোন ফিজিক্যল ইন্টারফেস না । আমরা চাইলে রাউটারে লুপব্যাক ইন্টারফেস ক্রিয়েট করতে পারি । যদি রাউটারে কোন লুপব্যক ইন্টারফেস না থাকে তাহলে

            ২. Highest IP Address on the physical interface

রাউটারের যেসকল ফিজিক্যাল ইন্টারফেস অ্যকটিভ থাকবে, তার মধ্যে যে ইন্টারফেস এর আইপি অ্যাড্রেটি সবচেয়ে বড় সেটিই রাউটার আাইডি হিসেবে নিধ্যারণ করে নিবে।

Area ID: OSPF এ প্রতিটি রাউটার এর একটি এরিয়া আইডি থাকে। এর মান আমরা ডেসিমেল ভালু বা আইপি অ্যাড্রেস এই দুই ভাবে দিতে পরি ।

Router Priority: প্রতিটি রাউটার এর একটি প্রায়োরিটি থাকে। এই রাউটার প্রায়োরিটি এর মান 1-255 পর্যন্ত যে কোন মান হতে পারে । এই রাউটার প্রায়োরিটি পয়ন্ট টু পয়েন্ট কানেকশন এর সময় তেমন কাজে লাগে না তবে মাল্টিঅ্যাক্সেস নেটওয়ার্ক এর ক্ষেত্রে এই রাউটার প্রায়োরিটি কাজে লাগে। ডিফল্ট ভাবে এই রাউটার প্রায়োরিটি 1 হয়ে থাকে।

Hello Interval: রাউটার কত সময় পর পর Hello message send করে তাবে বলা হয় Hello Interval. এই Hello Interval টাইম দুই দিকের রাউটার এর একই হতে হবে তাছাড়া তাদের মধ্যে নেবার রিলেশনশীপ স্থাপন হবে না ।

Dead Interval: কতক্ষন সময় এর মধ্যে যদি কোন hello message না আসলে তাদের রাউটার বুঝতে পারবে যে ঐ লিংকটি ডাউন হয়ে গেছে সেই সময়টাকে বলে Dead Interval । রাউটারের দুদিকের Dead interval একই হতে হবে।

BR & BDR: মাল্টিঅ্যাক্সেস নেটওয়ার্ক এর ক্ষেত্রে একটি রাউটার Designated Router এবং আর একটি রাউটার Backup Designated Router হয়ে থাকে । কে Designate Router এবং কে Backup Designated Route হবে তা নির্ভর করে রাউটার প্রায়োরিটি এর উপর । পরবর্তিতে BR & BDR সর্ম্পকে বিস্তারিত আলোচনা করা হবে।

প্রতিটি রাউটার একে অপরের সাথে নেবার হওয়ার জন্য যে সকল কনডিশন একই হতে হবে তা হল:-
  • Area ID
  • Subnet Musk use on the subnet
  • Hello Interval
  • Router Must Password Authentication Check
  • Dead Interval
  • Value of Stub area flag

প্রতিটি রাউটারের মধ্যে যদি এই কনডিশন গুলি ম্যাচ করে তহলে তাদের মধ্যে নেবার রিলেশনশীপ স্থাপন হবে। তাছাড়া তাদের মধ্যে কোন নেবার রিলেশনশিপ হবে না ।

Database Exchange

প্রতিটি রাউটার এর মধ্যে যখন Neighbor Relation স্থাপন হয়ে যাবে । সকল রাউটারের কাছে যখন প্রতিটি রাউটারের ইনফরমেশন চলে গেল এবার তাদের মধ্যে ডাটাবেজ এক্সচেঞ্জ হবে। এই ডাটাবেজ টা অসলে কি? এই ডাটাবেজ এর মধ্যে রাউটার এর প্রতিটি ইন্টারফেস এর ইনফরমেশন থাকে।রাউটারে কি কি ইন্টারফেস আছে, সেই ইন্টারফেসে কি কি নেটওয়ার্ক চলে, তাদের বান্ডউইথ কত এবং সেটি আপ না ডাউন ইত্যদি ইনফরমেশন থাকে । অর্থাৎ রাউটারের প্রতিটি লিংক এর সমস্থ ইনফরমেশন তার নেইবার এর কাছে পাঠাবে । রাউটার এর ডাটাবেজ টেবিল দেখার জন্য যে কমান্ডটি ইউজ করা হয় তা হল ‍show ip ospf data base. এই কমান্ডটি ব্যবহার করে আমরা রাউটারের ডাটাবেজ টেবিল দেখতে পারি ।

BR & BDR: DR হচ্ছে Designated Router এবং BDR: Backup Designated Router। আমরা নিচের চিত্রের দিকে খেয়াল করি এটি একটি মাল্টি অ্যকসেস কানেকশন। এখানে রাউটারের একটি ইন্টারফেস দিয়ে একটি সুইচ এর মাধ্যমে অনকেগুলি রাউটার এর সাথে যুক্ত। পয়েন্ট টু পয়েন্ট কানেকশন এর ক্ষেত্রে রাউটারের একটি ইন্টারফেস দিয়ে অন্য একটি মাত্র রাউটার যুক্ত থাকে।

উপরের চিত্রের মত এই রকম মাল্টি অ্যাকসেস নেটওয়ার্ক এর ক্ষেত্রে প্রতিটি রাউটার ত একে অপরের সাথে নেবার হবে কিন্তু নেবার হওয়ার পরও তারা সকলে তাদের নিজেদের মধ্যে ডাটাবেজ একচেঞ্জ করবে না । নেবার হওয়ার পর তাদের মধ্যে একটি ইলেকশন হবে । এই ইলেকশন এর মাধ্যমে একটি রাউটার হবে DR (Designated Router) এবং একটি রাউটার হবে BDR (Backup Designated Router) । এই DR & BDR এর সাথে অন্য সকল রাউটার তাদের ডাটাবেজ একচেঞ্জ করবে । তাছাড়া অন্য কোন রাউটার তাদের নিজেদের মধ্যে ডাটাবেজ একচেঞ্জ করবে না ।

Route Calculation

যখন প্রতিটি রাউটার একে অপরের সাথে নেবার হওয়ার পর ডাটাবেজ একচেঞ্জ হয়ে গেলে এবার রাউটার রুট কালকুলেশন এর কাজ করে । রুট কালকুলেশন এর কাজ রাউটার নিজেই করে থাকে । এর জন্য আমাদের আর কিছু করতে হবে না ।

এখন প্রশ্ন হল OSPF কিভাবে রুট কালকুলেশন করে থাকে । রিপ এর ক্ষেত্রে আমরা দেখেছিলাম, রিপ হপ কাউন্ট এর উপর ভিত্তি করে ‍রুট কালকুলেশন করে থাকে। যে পথে সে সবচেয়ে কম রাউটার পায় সেই পথে সে ডাটা রাউটিং করে থাকে । কিন্তু OSPF এর ক্ষেত্রে রুট কালকুলেশন হয়ে থাকে তাকে আমরা বলি Cost। আর এই Cost নির্ধারণ হয়ে থাকে  ব্যান্ডউইথ এর উপর ভিত্তি করে ।  OSPF এ এই নির্ধারণের একটি সুত্র আছে আর সেই সুত্রটি হল Cost=  । 108/bandwidth এই সুত্রের সাহায্য OSPF রুট নির্ধারণ করে থাকে। যে পথের Cost সবচেয়ে কম হবে সেই পথটি ডাটা রাউটিং এর জন্য নির্ধারণ করা হয়।



আমরা উপরের চিত্রের দিকে খেয়াল করি এখানে এখানে একটি টপোলজি আছে যেখানে রাউটার R2 এর সাথে রাউটার  R1 & R3 সিরিয়াল ক্যাবল এর মাধ্যমে পয়েন্ট টু পয়েন্ট কানেকশনে যুক্ত এবং রাউটার R1, R3 & R4 একে অপরের ইথারনেট ক্যবাল এর মাধ্যমে মাল্টি অ্যাকসেস টপোলজিতে যুক্ত । এখানে রাউটার R1, R3 & R4 এর Cost হল  10। এবং রাউটার R1 থেকে রাউটার R2 এর Cost হল 100। এবং রাউটার R3 থেকে রাউটার R2 এর Cost হল 64। রাউটার R2 থেকে 100.100.100.100 এই নেটওয়ার্কে যেতে Cost হল 10। এখন যদি রাউটার R4 100.100.100.100 নেটওয়ার্কে যেতে চায়, তাহলে সে দুটি পথে সেখানে যেতে পারে । একটি পথ হল R4>R1>R2>100.100.100.100 এই পথেরে Cost হবে 10+100+10=120। এবং আর একটি পথ হল R4>R3>R2=100.100.100.100 এই পথের Cost হবে 10+64+10=84। দেখা যাচ্ছে যে এই পথেরে Cost সবচেয়ে কম সুতরাং এই রুটটি রাউটার ডাটা রাউটিং এর জন্য বেছে নিবে। OSPF এভাবে রুট কালকুলেশন করে থাকে।

 OSPF Bangla Tutorial


ডায়নামিক রাউটিং(OSPF) কি এবং কিভাবে কনফিগার করতে হয়?

No comments:

Post a Comment