• Breaking News

    Monday, February 18, 2019

    OSPF কী ? OSPF সম্পর্কে বিস্তারিত জানুন।

    OSPF (Open Shortest Path First) একটি 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.

    নিচে এগুলি সম্পর্কে আমরা বিস্তারিত আলোচনা করব।

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

    Route Calculation: এবার প্রতিটি রাউটারের মাঝে যখন Neighbor Relationship, Database Exchange সম্পন্ন হবে। এবার রাউটার রুট কালকুলেশন এর কাজটি সম্পন্ন করবে । এই রুট কালকুশেন এর কাজ রাউটার নিজেই করে থাকে । রুট কালকুলেশন করার পর একটি রাউটিং টেবিল তৈরি করে । এই রাউটিং টেবিল দেখার জন্য আমরা যে কমান্ডটি ব্যবহার করি তা হল show ip route. এই কমান্ডটি ব্যবহার করে আমরা রাউটিং টেবিলটি দেখতে পারি । 

    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 হবে তা নির্ভর করে রাউটার  প্রায়োরিটি এর উপর । নিচে আমরা এ সম্পর্কে বিস্তারিত আলোচনা করব।

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

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

    BR & BDRDR হচ্ছে Designated Router এবং BDR: Backup Designated Router। আমরা নিচের চিত্রের দিকে খেয়াল করি এটি একটি মাল্টি অ্যকসেস কানেকশন। এখানে রাউটারের একটি ইন্টারফেস দিয়ে একটি সুইচ এর মাধ্যমে অনকেগুলি রাউটার এর সাথে যুক্ত। পয়েন্ট টু পয়েন্ট কানেকশন এর ক্ষেত্রে রাউটারের একটি ইন্টারফেস দিয়ে অন্য একটি মাত্র রাউটার যুক্ত থাকে।
    Raihan Hossain
    উপরের চিত্রের মত এই রকম মাল্টি অ্যাকসেস নেটওয়ার্ক এর ক্ষেত্রে প্রতিটি রাউটার ত একে অপরের সাথে নেবার হবে কিন্তু নেবার হওয়ার পরও তারা সকলে তাদের নিজেদের মধ্যে ডাটাবেজ একচেঞ্জ করবে না । নেবার হওয়ার পর তাদের মধ্যে একটি ইলেকশন হবে । এই ইলেকশন এর মাধ্যমে একটি রাউটার হবে DR (Designated Router) এবং একটি রাউটার হবে BDR (Backup Designated Router) । এই DR & BDR এর সাথে অন্য সকল রাউটার তাদের ডাটাবেজ একচেঞ্জ করবে । তাছাড়া অন্য কোন রাউটার তাদের নিজেদের মধ্যে ডাটাবেজ একচেঞ্জ করবে না ।
    hosen
    আমরা উপরের চিত্রটিতে লক্ষ করি। এখানে ৪টি রাউটার রয়েছে R1, R2, R3 এবং R4। যখন এদের মধ্যে OSPF রান করানো হল তখন এরা পরস্পর নেবার হল, কোন সমস্য নাই । যেহেতু এটি একটি মাল্টি অ্যাকসেস নেটওয়ার্ক সেহেতু তাদের মাঝে একটি ইলেকশন হবে । ধরে নিলাম এখানে রাউটার R1 হল DR এবং রাউটার R4 হল DBR। এখন কি হবে রাউটার R2 এবং রাউটার R3 এর মাধ্যে কোন রকম ডাটাবেজ একচেঞ্জ হবে না । রাউটার R2 & R3 রাউটার R1 (DR) এবং রাউটার R3 (BDR) এর সাথে ডাটাবেজ একচেঞ্জ করবে । কোন কারণে যদি DR ফেইল হয়ে যায় তখন  আবার নতুন করে এদের মধ্যে ইলেকশন হবে তখন BDR হয়ে যাবে DR এবং অন্য কোন একটি রাউটার হবে BDR।

    এখন প্রশ্ন হলে এই যে DR & BDR নির্বাচন হচ্ছে তা কিসের উপর ভিত্তি করে হচ্ছে । আমরা সকলেই জানি রাউটার প্রায়োরিটি বলে কিছু একটা রয়েছে । আমরা অগেই বলেছিলাম যে এই রাউটার প্রায়োরিটি পয়েন্ট টু পয়েন্ট নেটওয়ার্ক এর ক্ষেত্রে তেমন কোন কাজে লাগে না কিন্তু মাল্টি অ্যাকসেস নেটওয়ার্ক  এর ক্ষেত্রে এই রাউটার প্রায়োরিটি কাজে লাগে । এই  রাউটার প্রায়োরিটির উপর ভিত্তি করে এই DR এবং BDR নির্বাচন হয়ে থাকে । যখন এই ইলেকশন হয়, তখন যে রাউটারের প্রায়োরিটি সবচেয়ে বেশি থাকে সেই হয়ে যায় DR এবং যে রাউটারের প্রায়োরিটি তার চেয়ে কম থাকে সে হয়ে যায় BDR। এখানে আরো একটি বিষয় মনে রাখার দরকার যে একবার যখন DR & BDR নির্বাচন হয়ে যায় তার পর যদি এর চেয়ে আরো ভাল প্রায়োরিটির কোন রাউটার যদি নেটওয়ার্ক এ যুক্ত হয় তাহলেও সে DR বা BDR হবে না । তবে কিছু সিস্টেম আছে যা ব্যবহার করে যে কোন রাউটারকে ইচ্ছেমত DR বা BDR বানানো যায় ।

    রাউটার প্রায়োরিটি কিন্তু ইচ্ছামত চেঞ্জ করা যায় । আর এই প্রায়োরিটি চেঞ্জ করেই আমরা যেকোন রাউটারকে DR বা BDR বানাতে পারি । আমরা যদি চাই যে স্পেসিফিক কোন রাউটার DR & BDR নির্বাচনে অংশগ্রহন না করুক। এ ক্ষেত্রে আমাদের যে কাজটি করতে হবে তা হল যে রাউটাটিকে নির্বাচনে অংশগ্রহন করাব না তার প্রায়োরিটি শুন্য করে দিব । তাহলে আর সেই রাউটারটি আর নির্বাচনে অংশগ্রহন করবে না । কারণ যে রাউটার এর প্রায়োরিটি শুন্য থাকে সে DR & BDR নির্বাচনে অংশগ্রহন করতে পারে না ।

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

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

    raihan hosen
    আমরা উপরের চিত্রের দিকে খেয়াল করি এখানে এখানে একটি টপোলজি আছে যেখানে রাউটার 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 এভাবে রুট কালকুলেশন করে থাকে।

    No comments:

    Post a Comment

    Fashion

    Beauty

    Travel