Wednesday, June 12, 2019

ACL কি? ACL কিভাবে কাজ করে?

ACL (Access Control List)

ACL এর পূর্ণ রুপ হল Access Control List. অ্যাক্সেস কন্টোল লিষ্ট সাধারণত ইউজ করা হয় প্যাকেট ফিল্টারিং এর জন্য । যদি আমরা চাই কোন পার্টিকুলার কম্পিউটার নিদিষ্ট কোন হোস্ট বা সার্ভারের সাথে কমিউনিকেশন করতে পারবে না তখন সেখানে আমরা ACL এর মাধ্যমে এই কাজটি করে থাকি। ACL এর মাধ্যমে আমরা যে কোন হোস্ট কে অন্য যে কোন হোস্ট এর সাথে যোগাযোগ করা থেকে বিরত রাখতে পারি। ACL এর মাধ্যমে কোন হোস্ট কে অন্য কোন হোস্ট এর জন্য শুধু ব্লক করাই নয় আমরা চাইলে কোন হোস্ট এর জন্য কোন প্রোটকলকেও ব্লক করে রাখতে পারি।

ACL করার উদ্দেশ্যগুলো কি?

  • ট্রাফিক নিয়ন্ত্রণ করার জন্য অথার্ৎ ACL এর মাধ্যমে বলে দেয়া যায় কোন ট্রাফিক গুলো আগে access পাবে আর কোন গুলি পাবে না।
  • রাউটিং আপডেট কমানো অথার্ৎ রাউটারগুলো তাদের নিজেদের মধ্যে রাউটিং আপডেট বিনিময় করে । বাহির থেকে কোন রাউটার এর আপডেট যেন রাউটিং টেবিলে যুক্ত হয়ে কোন ট্রাফিক তৈরি না করে সেজন্য একসেস কন্ট্রোল লিস্ট ব্যবহার করা হয়।
  • আইপি প্যাকেট ফিল্টারিং অথার্ৎ একসেস কন্ট্রোল লিস্ট এর মাধ্যমে অর্ন্তমূখী ও বর্হিগামী প্যাকেটগুলো ফিল্টার করে নেটওয়ার্কে হাইলি সিকিউর করা যায়।
Access Control List কে সাধারণত দুই ধরনের হয়ে থাকে এবং এই দুই ধরণের ACL আমরা ব্যাবহার করে থাকি। এই দুই ধরনের ACL হল।
  1. Standard ACL
  2. Extended ACL

Standard ACL

Standard ACL শুধুমাত্র সোর্স অ্যাড্রেস নিয়ে কাজ করে । Standard ACL এ আমরা সোর্স অ্যাড্রেস কো কোন পার্টিকুলার হোস্ট এর জন্য ব্লক করতে পরি । Standard ACL ইমপ্লিমেন্ট করার সময় যতটা সম্ভব Destination এর কাছে ইমপ্লিমেন্ট করতে হবে। আর একটি বিষয় বলে রাখি তা হল ACL রাউটারের ইন্টারফেসে ইমপ্লিমেন্ট করতে হয়। চলুন আমরা নিচের চিত্রটির মাধ্যামে Standard ACL কে ভালভাবে বুঝার চেষ্ট করি।

ACL Bangla Tutoiral

আমরা যদি উপরের চিত্রের দিকে লক্ষ করি তাহলে দেখতে পাব এখানে তিনটি রাউটার Router A, Router B এবং Router C রয়েছে এবং এই রাউটার গুলি একে অপরের সাথে Redundant Connection এর মাধ্যমে যুক্ত। Router C এর সাথে সুইচ এর মাধ্যমে ৩টি কম্পিউটার এবং Route B এর সাথে সুইচ এর মাধ্যমে ১টি কম্পিউটার এবং Router A এর সাথে সুইচ এর মাধ্যমে ২টি সার্ভার SERVER-1 এবং SERVER-2 রয়েছে।

এখন আমরা চাইতেছিযে PC-2 ‍SERVER-1 এর সাথে কমিউনিকেশন করতে পারবে না । এখানে আমরা PC-2 এর জন্য ‍Standard ACL ইমপ্লিমেন্ট করব । PC-2 এর জন্য ACL কে আমরা কয়েক জায়গায় ইমপ্লিমেন্ট করতে পারি। যেমন:-

আমরা যদি PC-2 এর জন্য Router C এর FastEthernet ইন্টারফেস E0 তে Standard ACL কে ইমপ্লিমেন্ট করি, তাহলে PC-2 এর সমস্থ প্যাকেটকে Router C এর FastEthernet E0 ইন্টারফেসে ব্লক করে দিবে ফলে PC-2 PC-A এবং PC-B ছাড়া আর অন্য কোন PC বা SERVER এর সাথে যোগাযোগ করতে পারবে না ।

এবার যদি আমরা Router C এর Serial Interface S0 তে তে Standard ACL কে ইমপ্লিমেন্ট করি তাহলে PC-2 এর সমস্থ পাকেটগুলি Router C এর Serial Interface S0 তে ব্লক হবে কিন্তু প্যাকেটগুলি Router C এর Serial Interface S1 দিয়ে বের হয়ে যেতে পারবে এবং Router B হয়ে Router A এর মাধ্যমে SERVER-1 এর সাথে কমিউনিকেশন করতে পারবে। এখানে ACL কে ইমপ্লিমেন্ট করে কোন লাভ হবে না । ঠিক তেমনি Router C এর Serial Interface S1 যদি PC-2 এর জন্য সমস্থ প্যাকেটকে ব্লক করে দিই তাহলে সমস্থ প্যাকেট আবার Serial Interface S0 দিয়ে বের হয়ে যেতে পারবে।

Standard ACL এর ক্ষেত্রে আমরা জানি Destination এর যতটা কাছে সম্ভব এক ইমপ্লিমেন্ট করতে হয় । তাহলে  এখানে Destination SERVER-1 এর সবচেয়ে কাছের ইন্টারফেস হল Router A এর FastEthernet E0 ইন্টারফেসটি। তাহলে আমরা Router A এর FastEthernet E0 ইন্টারফেসটিতে Standard ACL কে ইমপ্লিমেন্ট করতে পারি।  আমরা যদি Router A এর FastEthernet E0 ইন্টারফেসে PC-2 এর জন্য সকল প্যাকেটকে ব্লক করে দিই তাহলে PC-2 SERVER-1 এর সাথে ত যোগাযোগ করতে পারবে না সেই সাথে SERVER-2 এর সাথেও যোগাযোগ করতে পারবে না । কারণ Router A এর FastEthernet E0 ইন্টারফেস দিয়ে PC-2 এর কোন প্যাকেট বের হতে দিবে না । সেখানে Router A PC-2  সকল প্যাকেটকে ব্লক করে দিবে। এটি হল Standard ACL এর একটি সিমাবদ্ধতা।

Extended   ACL

Extended   ACL একই সাথে Source IP Address, Destination IP Address, Source Port Address, Destination Port Address এবং Specific Protocol নিয়ে কাজ করতে পারে। Extended   ACL কে আমরা যতটুকু সম্ভব সোর্স এর নিকটে ইনপ্লিমেন্ট করতে হবে।

Extended ACL এর মাধ্যমে আমরা চাইলে যে কোন হোস্টকে অন্য যে কোন হোস্ট এর জন্য ব্লক করা যায় । এবং চাইলে ‍Specific কোন Protocol কেও ব্লক করে রাখা যায় । যা Standard ACL এর মাধ্যমে সম্ভব না । চাইলে আমরা Port Address নিয়ে ও কাজ করতে পারি। এবং সহজেই যে কোন Port Address কে ব্লক করা যাবে।

ACL Bangla Tutorial

আমরা যদি উপরের এই চিত্রের দিকে খেয়াল করি, তাহলে এখানে আমরা আগের মতই PC-2 কে SERVER-2 এর জন্য ব্লক করতে চাই তাহলে খুব সহজে  এই কাজটি করতে পারি। Extended ACL কে যেহেতু যত সম্ভব Source এর নিকটে ইমপ্লিমেন্ট করতে হয় । এখানে যেহেতু আমাদের Source হল PC-2 এবং তার সবচেয়ে নিকটের ইন্টারফেসটি হল Router C এর FastEthernet E0 ইন্টারফেসটি। সুতরাং আমরা E0 ইন্টারফেসে PC-2 এর জন্য ACL কে ইমপ্লিমেন্ট করতে পারি। আমরা যদি এখানে ACL কে ইমপ্লিমেন্ট করি তাহলে এখানে সোর্স হবে PC-2 এবং Destination হবে  SERVER-2। এখন এখানে যদি PC-2  এর কোন প্যাকেট আসে তাহলে প্রথমে Router C তা চেক করবে তার Destination কি যদি Destination SERVER-2 হয় তাহলে তাকে এখানে ব্লক করে দিবে। তাকে আর সামনে যেতে দিবে না । যখন রাউটারের কোন ইন্টারফেসে  ACL কে ইমপ্লিমেন্ট করা হয় তখন তার কাছে যদি কোন প্যাকেট আসে তাহলে রাউটার চেক করবে প্যাকেটটির Source ও Destination Address ইমপ্লিমেন্ট করা ACL এর Source ও Destination Address যদি একই হয় তাহলে সেই প্যাকেটটিকে এখানেই ব্লক করে দিবে ।

এখন যদি আমরা চাই যে PC-2 SERVER-1 এর সাথে ping করতে পারবে কিন্তু তার Web Page ওপেন করতে পারবে না । আমরা Extended ACL ব্যবহার করে খুব সহজে এই কাজটি করতে পারি। আমরা যদি Router C এর FastEthernet E0 ইন্টারফেস PC-2 এর জন্য https/http প্রোটকলকে ব্লক করে দিতে হবে এবং এর Destination হবে SERVER-1। এখন PC-2 SERVER-1 এর সাথে Ping করতে পারবে কিন্তু তার Web Page ওপেন করতে পারবে না । এভাবে আমরা ACL কে ব্যাবহার করে খুব সহজে যে কোন প্যাকেটকে ফিল্টারিং করা যায় ।

এখন একটি প্রশ্ন আমাদের মনে আসতে পারে তা হল প্রতিটি ইন্টারফেসে কয়টি করে ACL ইমপ্লিমেন্ট কর যাবে? Per Interface – Per Protocol – Per Direction – একটি মাত্র ACL কে কনফিগার করা যাবে । একটি ইন্টরফেসে অনেকগুলি ACL কে ইমপ্লিমেন্ট করা যেতে পারে  তবে একই Protocol এবং একই Direction এ দুটি বা তার বেশি ACL ইমপ্লিমেন্ট করা যাবে না । আমরা একই ইন্টারফেসে ভিন্ন ভিন্ন Protocol ও Direction এর জন্য আলাদা আলাদা অনেক ACL কে ইমপ্লিমেন্ট করতে পারি।

Range Of ACL

প্রতিটির্ ACL এর একটি রেঞ্জ রয়েছে। এই রেঞ্জ এর নাম্বার দেখেই রাউটার বুঝতে পারে যে এটি কোন ধরণের ACL। নিচে ACL এর রেঞ্জ নাম্বার উল্লেখ করা হল।
  • Range For Standard ACL: 1-99 and 1300-1999
  • Range For Extended ACL: 100-199 and 2000-2699
যখন আমরা ACL কে ইমপ্লিমেন্ট করি তখন আমাদের এই নাম্বার সমুহ ব্যাবহার করতে হয়। Standard ACL এর ক্ষেত্রে এই রেঞ্জ হল 1 থেকে 99 পর্যন্ত এবং 1300 থেকে 1999 পর্যন্ত নাম্বার ব্যবহার করা হয়। যদি রাউটারে এই রেঞ্জ এর কোন ACL কে ইমপ্লিমেন্ট করা থাকে তাহলে রাউটার সহজেই বুঝতে পারে যে এটি Standard ACL। আর এই রেঞ্জ যদি 100 থেকে 199 এবং 2000 থেকে 2699 পর্যন্ত এর মধ্যে কোন নাম্বার থাকে তাহলে রাউটার তখন বুঝে নেই যে এটি Extended ACL।

আমরা ACL সম্পর্কে বিস্তারিত আলোচনা করার চেষ্টা করেছি। আশা করি আপনারা ACL সম্পর্কে বিস্তারিত ধারণা পেয়েছেন । আর যদি কোন প্রবলেম হয় তাহলে অবশ্যেই কমেন্ট করে জানাবেন।

Tuesday, June 4, 2019

EIGRP কিভাবে কনফিগারেশন করতে হয় বিস্তারিত

আমরা এর আগের পর্বে EIGRP এর থিওরি সম্পর্কে বিস্তারিত আলোচনা করেছি । এবার আমরা দেখব কিভাবে EIGRP কনফিগারেশন করতে হয়। আপনারা Cisco Packet Tracer ব্যবহার করে এই কনফিগারেশন এর কাজটি করতে পারেন। আমিও এই সফটওয়্যারটি ব্যবহার করে এই কনফিগারেশনটি করব। ত চলুন তাহলে শুরু করা যাক।

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

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

Router0 Configuration Code:

Interface Serial 0/0/1 configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int se 0/0/1
Router(config-if)#ip add 10.10.10.1 255.255.255.252
Router(config-if)#bandwidth 256000
Router(config-if)#no shut

Interface Serial 0/0/0 configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int se 0/0/0
Router(config-if)#ip add 10.10.10.5 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 512000
Router(config-if)#no shut

Interface fa 0/0 configuration code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.20.1 255.255.255.0
Router(config-if)#no shut

Router1 Configuration Code:

Interface Serial 0/0/0 configuration code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int se 0/0/0
Router(config-if)#ip add 10.10.10.6 255.255.255.252
Router(config-if)#bandwidth 512000
Router(config-if)#no shut

Interface Serial 0/0/1 configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int se 0/0/1
Router(config-if)#ip add 10.10.10.9 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 128000
Router(config-if)#no shut

Interface FastEthernet 0/0 configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.30.1 255.255.255.0

Router2 Configuration Code:

Interface Serial 0/0/1 configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int se 0/0/1
Router(config-if)#ip add 10.10.10.10 255.255.255.252
Router(config-if)#bandwidth 128000
Router(config-if)#no shut

Interface Serial 0/0/0 configuration code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int se 0/0/0
Router(config-if)#ip add 10.10.10.2 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 256000
Router(config-if)#no shut

Interface FastEthernet 0/1 configuration code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#int fa 0/1
Router(config-if)#ip add 192.168.10.1 255.255.255.0
Router(config-if)#no shut

আমাদের সমস্থ রাউটারের ইন্টারফেস সমুহকে কনফিগার করা শেষ হল । এবার প্রতিটি রাউটারে EIGRP রান করাব। কিভাবে EIGRP কনফিগার করতে হয় তা এখন আমরা দেখব। নিচে প্রতিটি রাউটারের EIGRP কনফিগারেশন কোড নিচে দেওয়া হল । প্রথমে আমরা Router0 তে যাই।

Router0 EIGRP configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 1
Router(config-router)#network 192.168.20.0 0.0.0.255
Router(config-router)#network 10.10.10.4 0.0.0.3
Router(config-router)#network 10.10.10.0 0.0.0.3
Router(config-router)#

এখানে আমরা Router(config)#router eigrp 1 যে কমান্ডটি ইউজ করেছি, তার মধ্যে router eigrp কমান্ডটি EIGRP রান করানোর জন্য এবং এর পর যে ”1” ব্যবহার করা হয়েছে তা হল Autonomous System Number. এবং এই নাম্বারটি আমরা 1-65535 পর্যন্ত যে কোন নাম্বার ব্যবহার করতে পারি। আমরা আগে আর একটি বিষয় বলেছিলাম যে এই Autonomous System Number সকল রাউটারের একই হতে হবে তাছাড়া তারা নেবার হতে পারবে না । আর একটি বিষয় লক্ষ রাখতে হবে এখানে প্রতিটি রাউটারে শুধু মাত্র তার ডাইরেক্টলি কানেকটেড নেটওয়ার্ক গুলিকে ইমপ্লিমেন্ট করে দিতে হবে অন্য কোন নেটওয়ার্ক এখানে ইমপ্লিমেন্ট করা যাবে না । যেমন: Router0 তে আমরা যে তিনটি নেটওয়ার্ক রান করেছি তা তার ডাইরেক্টলি কানেকটেড নেটওয়ার্ক। এবার আমরা রাউটার ১ এর কনফিগার করব।

Router1 EIGRP configuration code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 1
Router(config-router)#network 192.168.30.0 0.0.0.255
Router(config-router)#network 10.10.10.4 0.0.0.3
Router(config-router)#network 10.10.10.8 0.0.0.3

Router2 EIGRP configuration code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 1
Router(config-router)#network 192.168.10.0 0.0.0.255
Router(config-router)#network 10.10.10.8 0.0.0.3
Router(config-router)#network 10.10.10.0 0.0.0.3

আমরা সকল রাউটারে EIGRP রান করলাম এবার যদি আমরা যে কোন রাউটারে গিয়ে তার রাউটিং টেবিল চেক করি তাহলে দেখতে পাব তার রাউটিং টেবিলে তার  ডাইরেক্টলি কানেকটেড নেওয়ার্ক ছাড়াও আরো যে সকল নেটওয়ার্ক রয়েছে সেগুলিও তার রাউটিং টেবিয়ে চলে এসেছে। চলু আমরা Router1 এর রাউটিং টেবিল চেক করি ।

Routing Table চেক করার জন্য যে কমান্ডটি ব্যবহার করা হয় তা হল ‍sh ip route। sh ip route এই কমান্ডটি privilege mode এ গিয়ে রান করাতে হবে। রাউটারের কয়টি মোড রয়েছে তা আপনারা আমার অগের লেকচার “রাউটিং সম্পর্কে বেসিক ধারণা” এটিতে পাবেন।

Router#sh ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
D 10.0.0.0/8 is a summary, 00:03:56, Null0
C 10.10.10.0/30 is directly connected, Serial0/0/0
D 10.10.10.4/30 [90/1033984] via 10.10.10.1, 00:03:56, Serial0/0/0
C 10.10.10.8/30 is directly connected, Serial0/0/1
C 192.168.10.0/24 is directly connected, FastEthernet0/1
D 192.168.20.0/24 [90/540160] via 10.10.10.1, 00:03:56, Serial0/0/0
D 192.168.30.0/24 [90/540160] via 10.10.10.9, 00:04:14, Serial0/0/1


এখানে একটি বিষয় খেয়াল করুন যে সকল নেটওয়ার্ক এর সামনে C রয়েছে সেগুলি হল ডাইরেক্টলি কানেকটেড নেটওয়ার্ক এবং যেগুলির সামনে D রয়েছে সেগুলি হল EIGRP এর মাধ্যমে পাওয়া নেটওয়ার্ক। আশা করি আপনারা EIGRP কিভাবে কনফিগার করতে হয় তা বুঝতে পেরেছেন। না পারলে অবশ্যই কমেন্ট করে জানাবেন কোথায় প্রবলেম হচ্ছে। ইনশাআল্লাহ্ আমি আপনাদের সহযোগিতা করার চেষ্টা করব।

Saturday, June 1, 2019

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

আজকে আমরা রাউটিং প্রটোকল EIGRP সম্পর্কে বিস্তারিত আলোচনা করব। EIGRP এর পূর্ণরূপ হলো Enhanced Interior Gateway Routing Protocol যা IGRP অর্থাৎ Interior Gateway Routing Protocol এর উন্নত সংস্করণ। EIGRP হলো সিসকো’র একটি নিজস্ব প্রটোকল যা সিসকো ডিভাইস ছাড়া অন্য কোন ডিভাইসে রান করানো যায় না।

EIGRP এর মধ্যে একই সাথে Distance Vector রাউটিং প্রটোকল এবং Link State রাউটিং প্রটোকলের কিছু বৈশিষ্ট্য বিদ্যমান । Distance Vector রাউটিং প্রটোকল যা  কাজ করে HOP Count এর উপর ভিত্তি করে এবং Link State রাউটিং প্রোটকল যা কাজ করে link এর কষ্ট এর উপর । EIGRP এর মধ্যে একই সাথে Distance Vector রাউটিং প্রটোকল  এবং Link State রাউটিং প্রটোকলের কিছু বৈশিষ্ট্য বিদ্যমান থাকায় অনেকে একে হাইব্রিড প্রোটকল বলে থাকে। তবে সিসকো এটি মানতে নারাজ।

আমরা OSPF এর ক্ষেত্রে দেখেছিলাম যে, OSPF তিনটি ধাপে কাজ করে। (১) Neighbor Relation (২) Database Exchange (৩) Route Calculation। ঠিক তেমনি EIGRP ও OSPF এর মত তিনটি ধাপে কাজ করে । আর তা হল
  1. Neighbor Discovery
  2. Topology Exchange
  3. Route Calculation

Neighbor Discovery

EIGRP Neighbor রিলেশনশিপ বিল্ডাপ করার জন্য একটি Hello Message জেনারেট করে। এবার প্রতিটি রাউটার এক অপরের সাথে নেবার হওয়ার জন্য কিছু স্ক্রাইটেরিয়া রয়েছে, সেগুলি যদি মিলে যায় তাহলে তারা এক অপরের সাথে নেবার হতে পারবে। এই স্ক্রাইটেরিয়া সমুহ হল ।
  1. The routers must pass the authentication process.
  2. The routers must use the same configured Autonomous System (AS) number.
  3. The source IP address used by the neighbor Hello must be in the same subnet.
আমরা OSPF এর ক্ষেত্রে দেখেছিলাম যে, প্রতিটি রাউটার একে অপরের সাথে নেবার হওয়ার জন্য কিছু কনডিশন ছিল এবং সেই কনডিশনগুলি মিলে গেলেই তারা একে অপরের সাথে নেবার হত । তাছাড়া তারা কখোন নেবার হতে পারত না । তেমনি EIGRP এর ক্ষেত্রেও কিছু কনডিশন আছে।

প্রথমটি হল The routers must pass the authentication process। রাউটারের যে ইন্টারফেস সমুহ থাকে সেই ইন্টারফেস গুলিতে যদি পাসওয়ার্ড দেওয়া থাকে তাহলে দুদিকের পাসওয়ার্ড একই হতে হবে । নিচের চিত্রের দিকে খেয়াল করুন তোহলে সহজেই বিষয়টি বুঝতে পাবেন। এখানে দুটি রাউটার রয়েছে। আমরা যদি Router 0 এর ইন্টারফেস A পাসওয়ার্ড দেই এবং Router 1 এর ইন্টারফেস B তেও পাসওয়ার্ড দেওয়া থাকে। যদি এই দুটি রাউটার একে অপরের সাথে নেবার হতে চায় তাহল এই দুদিকের পাসওয়ার্ড একই হতে হবে।

কনডিশন নাম্বার দুই

The routers must use the same configured Autonomous System (AS) number. OSPF এ আমরা দেখেছিলাম প্রতিটি রাউটার এর একটি Area Number রয়েছে। ঠিক তেমনি, EIGRP এর ক্ষেত্রেও একটি AS Number রয়েছে। যাকে বলা হয় Autonomous System Number। যদি কোন রাউটার পরস্পর এর সাথে নেবার হতে চায় তাহলে তাদের Autonomous System Number একই হতে হবে। তা না হলে তারা পরস্পর এর সাথে নেবার হতে পারবে না ।

কনডিশন নাম্বার তিন

The source IP address used by the neighbor Hello must be in the same subnet. রাউটারের কোন ইন্টারফেসে আইপি অ্যাড্রেস অ্যাসাইন করা হয় । তখন দুদিকেই একই সাবনেট ইউজ করতে হবে । অর্থাৎ দুদিকের রাউটারে একই নেটওয়ার্ক থাকতে হবে। আমরা যদি অপরের চিত্রের দিখে লক্ষ করি তহলে Router 0 & Router 1 এর A & B ইন্টারফেসে একই সাবনেট রান করাতে হবে । যদি একই সাবনেট না রান করায়ে আলাাদ আলাদা সাবনেট রান করানো হয় তাহলে তারা নেবার হবে না । যদি এই তিনটি কনডিশন প্রতিটি রাউটার পাশ করতে পারে তাহলে তারা এক অপরের সাথে নেবার হবে । তাছাড়া তারা কখোন নেবার হতে পারবে না ।

Topology Exchange

প্রতিটি রাউটার যখন একে অপরের সাথে নেবার হয়ে যাবে, তখন তারা একে অপরের সাথে তাদের Network Topology গুলি  অ্যাডভাটাইজ করবে। এখানে একটি কথা বলা দরকার যে EIGRP তে একবার Topology Exchange হয়ে গেলে তার পর Full Topology অ্যাডভাটাইজ করে না। শুধুমাত্র যে অংশটির পরিবর্তন হবে সেই আপডেট টুকুই পাঠাবে। আমরা রিপ এর ক্ষেত্রে দেখেছিলাম যে, রিপ প্রতিট 30 সেকেন্ডে পর পর ফুল আপডেট পাঠায় । কিন্তু EIGRP এর ক্ষেত্রে তা হবে না । প্রথমে প্রতিটি রাউটার ফুল আপডেট পাঠাবে কিন্তু যখন প্রতিটি রাউটারের কাছে সমস্থ টপোলজি চলে যাবে, তখন আর কেউ ফুল আপডেট পাঠাবে না । যদি কোন কারণে নেটওয়ার্ক এর কোন চেঞ্জ আসে তাহলে শুধুমাত্র সেই চেঞ্জেজ অংশটুকুর আপডেট পাঠাবে।

Route Calculation

প্রতিটি রাউটার এর সাথে Neighbor & Topology Exchange সম্পূর্ণ হয়ে গেল, এবার রুট কালকুলেশ এর কাজটি হয়ে থাকে এবং এই কাজটি রাউটার নিজেই করে থাকে। কিভাবে রুট কালকুলেশন করে থাকে আমরা পরে এই সম্পর্কে বিস্তারিত আলোচনা করব, ইনশাআল্লাহ্।

EIGRP Massage

EIGRP এর ক্ষেত্রে কি কি Massage রায়েছে তার সম্পর্কে আমরা এবার আলোচনা করব । EIGRP এর ক্ষেত্রে ৫ ধরনের মেছেজ হয়ে থাকে, যথা:-
  1. Hello
  2. Update
  3. Query
  4. Reply
  5. Acknowledgement

EIGRP এর ক্ষেত্রে এই ৫ ধরণের মেছেজ রয়েছে । যার মধ্যে Update, Query & Reply এই তিনটি  মেছেজ RTP Protocol এর অধিনে হয়ে থাকে। এখন প্রশ্ন হল RTP Protocol কি?

RTP

RTP হল Reliable Transport Protocol। EIGRP হলো একটি Network Layer Independent রাউটিং প্রটোকল। এটা IP, IPX ও AppleTalk সবক্ষেত্রেই কাজ করে। যেহেতু IPX ও AppleTalk এ TCP/IP প্রটোকল সুইট ব্যবহৃত হয় না তাই EIGRP রাউটারসমূহ নিজেদের মধ্যে EIGRP প্যাকেট আদান প্রদানের জন্য Reliable Transport Protocol (RTP) ব্যবহার করে থাকে। এই প্রোটকলটি IP, IPX ও AppleTalk, TCP/IP সব ক্ষেত্রেই ব্যবহার করা যায়। RTP Protocol এর মধ্যে যে সকল প্যাকেটসমূহ থাকে তা হলঃ Hello, Update, Reply, Query ও Acknowledge Packet ।

RTP এর “Reliable” শব্দটি কেবলই এর নামের একটি অংশ। কেননা RTP এর মাধ্যমে “Reliable” ও “Unreliable” দুই ভাবেই EIGRP প্যাকেটসমূহ লেনদেন হয়ে থাকে। Reliable RTP এর ক্ষেত্রে প্রেরক রাউটার যখন কোন EIGRP প্যাকেট পাঠায় গ্রাহক রাউটার তখন তার Acknowledgement দেয়। অন্য দিকে Unreliable RTP এর ক্ষেত্রে প্রেরক রাউটার যখন কোন EIGRP প্যাকেট পাঠায় গ্রাহক রাউটার তখন তার কোন Acknowledgement দেয় না।

Hello

EIGRP নেবার ডিসকভার করার জন্য Hello Message পাঠায়। এই Hello Packet টি হলো একটি Multicast প্যাকেট যা মাল্টিকাস্ট রিসার্ভ আই.পি 224.0.0.10 ব্যবহার করে থাকে। Hello Packet হলো একটি Unreliable RTP প্যাকেট। বেশিরভাগ নেটওয়ার্কে এই Hello Packet প্রতি পাঁচ (৫) সেকেন্ড পর পর প্রেরিত হয়, কিন্তু NBMA (X.25, Frame Relay, ATM) নেটওয়ার্কে প্রতি ষাট (৬০) সেকেন্ড পর পর প্রেরিত হয়।

Update

যদি কোন কারণে আমাদের নেটওয়ার্ক এর কোন পরিবর্তন আসে তাহলে সাথে সাথে রাউটার একটি আপডেট মেছেজ সকলের কাছে পাঠায়ে দেয়। এই আপডেট মেছেজটি হল একটি Reliable RTP পাকেট। যে সকল রাউটারের কাছে এই আপডেট মেছেজটি যাবে সে সকল রাউটার তার কাছে একটি Acknowledgement পাঠাবে ।

Query

তখনই Query Packet পাঠায় যখন R1 এর কোন স্পেসিফিক রাউটের দরকার হয়। এক্ষেত্রে R2 রাউটার একটি Acknowledgement দেয়। যে রাউটার Query জেনারেট করে এবং এই Query যার যার কাছে যায় সেই সকল রাউটার তার কাছে একটি Reply পাঠাবে । কোন রাউটারের যখন কোন স্পেসিফিক রাউটের দরকার হয় তখন সেই রাউটার অন্য রাউটারের কাছে Query Packet পাঠায়

Reply

যখন কোন রাউটারের কাছ কোন Update বা Query পাকেট আসে তখন সে ঐ সকল রাউটারের কাছে একটি Reply মেছেজ পাঠায় । এই Reply Message টি RTP Protocol এর অধিনে হয়ে থাকে।

Acknowledgement

যখন কোন রাউটার এর কাছে কোন Reply Message আসে তখন সে যার কাছে থেকে Reply আসতেছে তার কাছে একটি Acknowledgement পাঠায় । এই Acknowledgement Packet টি Unreliable RTP Protocol এর অধিনে হয়ে থাকে।

EIGRP Metric Calculation

Metric হলো এমন একটি ভ্যালু বা মান যা দ্বারা কোন একটি রাউটার বা সাবনেটের দূরত্ব প্রকাশ করে । এই ভ্যালু যত কম হবে সাবনেটের দুরত্বও তত কম হবে এবং ভ্যালু যত বেশি হবে দূরত্বটাও তত বেশি ।EIGRP Metric Calculation এর মাধ্যমে বেষ্ট রুট সিলেক্ট করে থাকে।

 EIGRP তার Best পাথ নির্ধারণের জন্য যে Composit Metric ক্যালকুলেট করে, তার জন্য কয়েকটি মান ব্যবহৃত হয়। এগুলো হলঃ
  1. Bandwidth
  2. Load
  3. Delay
  4. Reliability
  5. MTU

বাই ডিফল্ট Metric ক্যালকুলেশ করার সময় সধারণত Bandwidth ও Delay এই দুটি মান ব্যবহৃত করে থাকে। কিন্তু একজন এ্যাডমিনিষ্ট্রেটর চাইলে অন্যান্য যে সকল মান রয়েছে সেগুলিও ব্যবহার করতে পারেন।

Bandwidth

Bandwidth বলতে এখানে লিংক এর মোট ক্যাপাসিটি বুঝায় না। এটি শুধুমাত্র Metric ক্যালকুলেশনের জন্য ব্যবহৃত একটি স্ট্যাটিক ভ্যালু যা Kbps আকারে থাকে। প্রয়োজন মাফিক রাউটারের ইন্টারফেস কমান্ডের মাধ্যমে এই ভ্যালুটি পরিবর্তন করা যায়।

Load

Load বলতে কোন একটি লিংক এ কি পরিমান ট্রাফিক চলাচল করছে তা বুঝায়। Load হলো একটি ডায়নামিক ভ্যালু যা 0 থেকে শুরু করে 255 পর্যন্ত হয়ে থাকে। Load ক্যালকুলেশনের সময় ডায়নামিকভাবে পাওয়া এই ভ্যালুটিকে 255 দ্বারা ভাগ করা হয়। সুতরাং Load = n/255 (এখানে, n এর মান 0 থেকে শুরু করে 255 পর্যন্ত যেকোন একটি সংখ্যা)। n এর মান যত কম হবে লিংক এর Load তত কম হবে। n এর মান যত বেশি হবে লিংক এর Load ও তত বেশি হবে। Load এর এই মানটি ইন্টারফেসের ট্রাফিকের পরিমাণের উপর ভিত্তি করে প্রতি পাঁচ মিনিট পর পর আপডেট হয়ে থাকে।

Delay

সাধারণভাবে Delay বলতে কোন একটি নেটওয়ার্ক থেকে অন্য একটি নির্দিষ্ট নেটওয়ার্কে প্যাকেট পৌছাতে যে সময় লাগে তা বোঝায়। কিন্তু EIGRP রাউট ক্যালকুলেশনের সময় এই ভ্যালুটি ভিন্ন অর্থ বহন করে। এখানে Delay হলো একটি স্ট্যাটিক ভ্যালু যা ইন্টারফেসের ধরণের উপর নির্ভর করে। এটি মাইক্রো সেকেন্ডে (usec) প্রকাশ করা হয়। এটি Serial এর জন্য 10 microsecend, FastEthernet Bandwidth 100 microsecend, Ethernet এর জন্য 1000 microsecend.

Reliability

এটি একটি ডায়নামিক ভ্যালু যা 0 থেকে শুরু করে 255 পর্যন্ত হয়ে থাকে। Reliability ক্যালকুলেশনের জন্য ডায়নামিকভাবে পাওয়া ভ্যালুটিকে 255 দ্বারা ভাগ করা হয়। সুতরাং Reliability = n/255 (এখানে, n এর মান 0 থেকে শুরু করে 255 পর্যন্ত যেকোন একটি সংখ্যা) । n এর মান যত কম হবে লিংক তত Unreliable হবে, n এর মান যত বেশি হকে লিংক তত Reliable হবে।

MTU

MTU হলো Maximum Transfer Unit ।

Metric ক্যালকুলেশনের সময় উপরিউক্ত ভ্যালুসমূহকে K দ্বারা চিহ্নিত করা হয়।

K1 (Bandwidth) = 1
K2 (Load) = 0
K3 (Delay) = 1
K4 (Reliability) = 0
K5 (Reliability) = 0 (Reliability দুই বার গননা করা হয়।)

আমরা আগেই বলেছি, EIGRP Metric ক্যালকুলেশনের সময় বাই ডিফল্ট শুধুমাত্র Bandwidth ও Delay এই দুটি মান ব্যবহৃত হয় তাই এদের K ভ্যালু 1, বাকি সকগুলোর 0 । Complete Formula:

Metric = [K1*Bandwidth + (K2*Bandwidth)/ (256-Load) + K3*Delay] * [K5/(Reliability+K4)]

EIGRP বাই ডিফল্ট Metric ক্যালকুলেশ করার সময় সধারণত Bandwidth ও Delay এই দুটি মান ব্যবহৃত করে থাকে। Bandwidth ও Delay এই দুটি মান ব্যবহৃত করে Metric Calculation করার যে সুত্রটি রয়েছে তা হল

                Metric= [(107/Least-bandwidth) +Cumulative Delay]*256

Diffusing Update Algorithm (DUAL)

এবার আমরা EIGRP এর কিছু গুরুত্বপূর্ণ বিষয় নিয়ে আলোচনা করব। যদিও প্রত্যেকটি বিষয়ই গুরুত্বপূর্ণ । অন্যান্য Distance Vector রাউটিং প্রটোকলসমূহ রাউটিং এ্যালগরিদম হিসেবে Bellman-Ford অথবা Fulkerson এ্যালগরিদম ব্যবহার করে থাকে। কিন্তু EIGRP তার রাউটিং এ্যালগরিদম হিসেবে DUAL ব্যবহার করে। DUAL এর পূর্ণরূপ হলো Diffusing Update Algorithm । DUAL হলো EIGRP এর কম্পিউটেশনাল ইঞ্জিনের হার্ট (Heart) স্বরূপ যা রাউট ক্যালকুলেশন করে Best Loop Free পাথ এবং Best Backup পাথ নির্ণয় করার কাজ করে। DUAL তার Finite State Machine (FSM) এর মাধ্যমে সমগ্র ক্যালকুলেশন প্রক্রিয়া সম্পন্ন করে থাকে।

এখন আমরা DUAL এর কয়েকটি গুরুত্বপূর্ণ Terminology সম্পর্কে জানবো। এই অংশ অনেকের কাছে একটু ঝামেলার মনে হতে পারে। কিন্তু একটু ঠান্ডা মাথায় বুঝলে ততটা কঠিন লাগবে না।
  1. Feasible Distance (FD)
  2. Advertised Distance (AD)
  3. Successor (S)
  4. Feasible Successor (FS)

Feasible Distance (FD)

যে মেট্রিকটি আমাদের Best মেট্রিক হচ্ছে কোন সাবনেটে পেীছানোর জন্য সেটিই হলে Feasible Distance। কোন সাবনেটে পেীছানোর জন্য যদি অনেকগুলি রুট থাকে, তার মধ্যে সবচেয়ে কম মেট্রিক এর যে রুটটি থাকে সেটিই হবে Feasible Distance.

Advertised Distance (AD)

Advertised Distance হল এমন একটি মেট্রিক যা কোন রাউটারের কাছে তার নেবার  রাউটার Advertised করে তার ডেসটিনেশনে পেীছানোর জন্য । কোন রাউটার তার কাঙ্খিত সাবনেটে পেীছানোর জন্য নেবার তার কাছে যে মেট্রিকটি Advertised করে তাকে বলা হয়  Advertised Distance বা Reported Distance.

আমরা উপরের চিত্রের দিকে খেয়াল করি, এখানে মোট ৫টি রাউটার রয়েছে যথা: Router A, B, C, D, E। মনে করি Router E Router A তে যেতে চায়, তাহলে তার কাছে মোট ৩টি রুট আছে  এবং এই প্রত্যেকটি রুট এর মেট্রিক আলাাদা আলাদা । যদি Router E, Router B হয়ে Router A তে যেতে চায় তাহলে তার মেট্রিক হবে 20+10=30। আর যদি Router C হয়ে যায় তাহলে তার মেট্রিক হবে 10+10=20 এবং যদি Router D হয়ে যায় তাহলে তার মেট্রিক হবে 20+25=45। তাহলে এখানে আমরা দেখতে পাচ্ছি Router E Router A পেীছানোর জন্য সবচেয়ে কম মেট্রিক হচ্ছে Router C হয়ে Router A তে পেীছানো । কারণ এই দিকে সে সবচেয়ে কম মেট্রিক পাবে । সুতরাং Router E এর কাছে  Router A এর কাছে পেীছানোর জন্যে তার Feasible Distance (FD) হবে 20। একই সাথে Router E এর কাছে Reported Distance (FD) হবে 10। করণ এখানে নেবার হিসেবে Router C Router E এর কাছে Router A তে পেীছানোর জন্যে মেট্রিক 10 Advertised করে । আমরা জানি যে কোন সাবনেটে পেীছানোর জন্যে নেবার যে মেট্রিক Advertised করে সেটিই হল Reported Distance (FD) বা Advertised Distance (AD)।

EIGRP Successor

EIGRP Successor হল কোন সাবনেটে যাওয়ার জন্য সবচেয়ে Best Metric টি সে নেবার এর মাধ্যমে পাওয়া যায় সেই নেবার কে বলা হয় EIGRP Successor। অর্থাৎ কোন নেটওয়ার্কে যাওয়ার জন্য সবচেয়ে ভাল Neighbour রাউটারই হল Successor।

আমরা যদি আবারও উপরের এই টপোলজির দিকে খেয়াল করি। এখানে আমরা দেখেছিলাম Router E, Router A তে পেীছানোর জন্য সবচেছে ভাল রুট ছিল Router C এর মাধ্যমে। সুতরাং Router C হল এখানে Successor।

Feasible Successor

EIGRP এর ক্ষেত্রে আমরা জানি যে, একটি Best Metric এর রুট তার রাউটিং টেবিলে রাখার পাশাপাশি একটি বাকআপ রুটও রেখে দেয় যা অন্য কোন রাউটিং প্রোটকল এই কাজ করে না । এটি EIGRP এর একটি স্পেশাল বৈশিষ্ট। সহজ ভাবে বলতে গেলে এই ব্যাকআপ রুটটি আমরা যে নেবার এর মাধ্যমে পাচ্ছি সেই নেবারকেই বলা হয় Feasible Successor। কোন সাবনেটে যাওয়ার জন্য ব্যাকআপ Neighbor রাউটারকেই বলা হয় Feasible Successor।

আমরা যদি উপরের চিত্রের দিকে খেয়াল করি, তাহলে এখানে Feasible Successor কে হবে? খুব সহজ, এখানে Router E থেকে Router A পেীছানোর জন্য Router E এর কাছে মোট ৩টি মেট্রিক আছে।
  1. Going through the router B — Metric=30
  2. Going through the router C — Metric=20
  3. Going through the router D — Metric=45

এখানে আমরা দেখতে পাচ্ছি Router E এর কাছে সবচেয়ে কম মেট্রিক হচ্ছে 20 যা সে Router C এর মাধ্যমে পাচ্ছে । সুতরাং এখানে Router C হচ্ছে Successor এবং এর পর সবচেয়ে কম মেট্রিক রয়েছে 30 যা ব্যাকআপ রুট হিসেবে Router E তার রাউটিং টেবিলে রেখে দিবে । যেহেতু এই ব্যাকআপ রুটটি Router E পাচ্ছে Router B এর মাধ্যমে সুতরাং Router B হবে এখানে Feasible Successor। তবে Feasible Successor হওয়ার জন্য কিছু কনডিশন আছে এই কনডিশনটি হল -
  • যে রাউটারের Reported Distance, Feasible Distance এর চেয়ে কম হবে সেই হবে Feasible Successor

উপরের টপোলজিতে আমাদের Feasible Distance হল 20। আর আমরা এই Feasible Distance Router C এর মাধ্যমে পাচ্ছি। তাহলে আর বকি আছে দুইটি রাউটার Router B এবং Router D। এই দুটি রাউটারে এর Reported Distance যথাক্রমে 10 ও 25। এখানে আমরা দেখতে পাচ্ছি Router D এর Reported Distance 25 যা Router E এর Feasible Distance এর চেয়ে বেশি তাই এটি Feasible Successor হতে পারবে না । অন্য দিকে Router B এর Reported Distance 10 যা Router E এর Feasible Distance এর চেয়ে কম তাই এই Rouer B হবে Feasible Successor।

Query and Reply Process

Query এবং Reply process টা কি হচ্ছে? ধরে নিই আমাদের রাউটিং টেবিলে যে রুটটি ছিল তা কোন কারণে ফেইল হয়ে গেছে। এখন আমাদের কাছে কোন ব্যাকআপ রুটও নেই । তখন EIGRP DUALঅ্যালগরিদম ব্যবহার করে একটি Query জেনারেট করবে যে ঐ সাবনেটে যাওয়ার জন্য আর কোন রুট আছে কিনা? যদি কোন রাউটারের কাছে কোন ‍রুট থাকে তাহলে তারা একটি Reply পাঠাবে আর না থাকলেও একটি Reply পাঠাবে। এই প্রসেসটিকে বলা হয় Query and Reply Process. EIGRP এর ফিচারগুলি নিচের চিত্রের মাধ্যমে দেখানো হল।


Wednesday, May 22, 2019

OSPF এরিয়া বডার রাউটার কনফিগারেশন

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

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

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


আমরা উপরের চিত্রের দিকে খেয়াল করি। এখানে আমদের ৯টা রাউটার রয়েছে । বুঝতেই পারতেছেন প্রতিটি রাউটারে একটি বিশাল পরিমান ডটাবেজ ক্রিয়েট হবে। হল কোন সমস্য নাই। কিন্তু আমরা ধরে নিলাম Route RA এর RA এইন্টারফেসটি ডাউন হয়ে যাচ্ছে এবং একটু পর আবার আপ হচ্ছে । এবং এই ভাবে একটু পর পর আপ এবং ডাউন হতে থাকে । যখন ইন্টারফেসটি ডাউন হয়ে তখন সাথে সাথে সেই রাউটার সকল রাউটারের কাছে একটি মেসেজ পাঠায়, ফলে সকল রাউটার তাদের ডাটাবেজ আপডেট করে নেয় । কিন্তু আবার যখন ইন্টারফেসটি আপ হয়ে যায় তখন সেই রাউটারটি আবার সকল রাউটারের কাছে তা জানিয়ে দেয়, ফলে আবার সকল রাউটার তাদের ডাটাবেজ আপডেট করে নেয়। এভাবে প্রতিবার তাদের ডাটাবেজ পরিবর্তন হতে থাবে। এর ফলে যে কোন সময় আমাদের যে কোন রাউটার ক্রাশ হওয়ার সম্ভাবনা থাকে ।



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

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

Router 1 Configuration Code:

Router>en
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#no shut

Router(config-if)#int fa 0/1
Router(config-if)#ip add 192.168.2.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#
Router(config)#int se 0/0/1
Router(config-if)#ip add 192.168.20.1 255.255.255.252
Router(config-if)#bandwidth 64000
Router(config-if)#no shut

Router 2 Configuration Code:

Router>en
Router#conf t
Router(config)#int se 0/0/1
Router(config-if)#ip add 192.168.20.2 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 6400
Router(config-if)#no shut
Router(config-if)#
Router(config-if)#int se 0/0/0
Router(config-if)#ip add 192.168.20.5 255.255.255.252
Router(config-if)#bandwidth 128
Router(config-if)#


Router 3 Configuration Code:

Router>en
Router#conf t
Router(config)#int se 0/0/0
Router(config-if)#ip add 192.168.20.6 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 128
Router(config-if)#no shut

Router(config-if)#int se 0/1/0
Router(config-if)#ip add 192.168.20.9 255.255.255.252
Router(config-if)#bandwidth 512
Router(config-if)#no shut

Router(config-if)#int se 0/0/1
Router(config-if)#ip add 192.168.20.13 255.255.255.252
Router(config-if)#bandwidth 512
Router(config-if)#no shut

Router 4 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#int se 0/0/0
Router(config-if)#ip add 192.168.20.14 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 512
Router(config-if)#no shut

Router 5 Configuration Code:

Router>en
Router#cofn t
Router(config)#int se 0/0/0
Router(config-if)#ip add 192.168.20.10 255.255.255.252
Router(config-if)#clock rate 64000
Router(config-if)#bandwidth 512
Router(config-if)#no shut

আমাদের সমস্থ রাউটার গুলিকে আইপি অ্যাড্রেস দেওয়া হল । এবার আমরা সমস্ত রাউটার গুলিতে OSPF রান করাব। এখানে আমরা যে কাজটি করব তা হল Router 1 এর সমস্থ ইন্টারফেস গুলিকে Area 0 তে রাখব এবং Router 3, Router 4, Router 5 এর সকল ইন্টারফেসকে Area 1 মধ্যে রাখব । আর Router 2 হচ্ছে আমাদের Area Border Router। সুতরাং এই রাউটারের Serial 0/0/1 এই ইন্টারফেসটি থাকবে Area 0 তে এবং Serial 0/0/0 এই ইন্টারফেসটি থাকবে Area 1 এর মধ্যে । আমরা এভাবে সকল রাউটারে OSPF রান করাই।

Router 1 Configuration Code:

Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0
Router(config-router)#network 192.168.20.0 0.0.0.3 area 0
Router(config-router)#

Router 2 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 192.168.20.0 0.0.0.3 area 0
Router(config-router)#network 192.168.20.4 0.0.0.3 area 1
Router(config-router)#


Router 3 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#
Router(config)#router ospf 1
Router(config-router)#network 192.168.20.4 0.0.0.3 area 1
Router(config-router)#network 192.168.20.8 0.0.0.3 area 1
Router(config-router)#network 192.168.20.12 0.0.0.3 area 1

Router 4 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 192.168.20.8 0.0.0.3 area 1
Router(config-router)#

Router 5 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 192.168.20.12 0.0.0.3 area 1

আমরা সকল রাউটারের ইন্টারফেসগুলিকে আপ করলা এবং সেই সাথে সকল রাউটারে OSPF রান করালাম । এবার যদি আমরা Area 0 এর কোন রাউটার এর ডাটাবেজ চেক করি তাহলে সেখানে শুধু Aera 0 তে যে সকল রাউটার রয়েছে তাদের ডাটাবেজ দেখাবে, Area 1 এর কোন রাউটারের ডাটাবেজ থাকবে না । এবং যদি Area Border Router Router 2 এর ডাটাবেজ চেক করি তাহলে দেখবে সেখানে দুটি এরিয়া Area 0 & Area 1 এর সকল রাউটারের ডাটাবেজ থাকবে । চলুন আমরা Router 2 এর ডাটাবেজ চেক করি।

Router 2 Database Table:

Router#sh ip ospf database
OSPF Router with ID (192.168.20.5) (Process ID 1)

Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum Link count
192.168.20.1 192.168.20.1 324 0x80000004 0x00fcd4 4
192.168.20.5 192.168.20.5 303 0x80000003 0x0002a6 2

Summary Net Link States (Area 0)

Link ID ADV Router Age Seq# Checksum
192.168.20.4 192.168.20.5 293 0x80000001 0x00a7a6
192.168.20.8 192.168.20.5 218 0x80000002 0x002362
192.168.20.12 192.168.20.5 196 0x80000003 0x00f887

Router Link States (Area 1)

Link ID ADV Router Age Seq# Checksum Link count
192.168.20.5 192.168.20.5 233 0x80000002 0x00296b 2
192.168.20.10 192.168.20.10 83 0x80000002 0x002cee 2
192.168.20.13 192.168.20.13 31 0x80000006 0x009679 6
192.168.20.14 192.168.20.14 31 0x80000002 0x007c8e 2

Summary Net Link States (Area 1)

Link ID ADV Router Age Seq# Checksum
192.168.20.0 192.168.20.5 298 0x80000001 0x00c88a
192.168.1.0 192.168.20.5 298 0x80000002 0x00b4ac
192.168.2.0 192.168.20.5 298 0x80000003 0x00a7b7
Router#

এখানে আমরা দেখতে পাচ্ছি যে Area 0 ও Area 1 এর আলাদা আলাদা ডাটাবেজ রয়েছে। অন্য রাউটারগুলিতে শুধু মাত্র ঐ এরিয়া ছাড়া অন্য কোন এরিয়ার ডাটাবেজ থাকেবে না । এভাবে আমরা বড় কোন নেটওয়ার্ককে অলাদা আলাদা এরিয়াতে ভাগ করতে পারি ।

Sunday, May 19, 2019

DR এবং BDR কি? DR এবং BDR কনফিগারেশন

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

BR & BDR

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

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


আমরা উপরের চিত্রটিতে লক্ষ করি। এখানে ৪টি রাউটার রয়েছে R1, R2, R3 এবং R4। যখন এদের মধ্যে OSPF রান করানো হল তখন এরা পরস্পর NEIGHBORS  হল, কোন সমস্য নাই । যেহেতু এটি একটি মাল্টি অ্যাকসেস নেটওয়ার্ক সেহেতু তাদের মাঝে একটি ইলেকশন হবে । ধরে নিলাম এখানে রাউটার 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 নির্বাচনে অংশগ্রহন করতে পারে না ।


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

চলুন প্রথমে আমরা সকল রাউটার সমুহের ইন্টারফেস গুলিকে আইপি অ্যাড্রেস দিয়ে  আপ করে নিই। নিচে ইন্টারফেস গুলিকে আইপি দিয়ে আপ করার কমান্ড সমুহ দেওয়া হল ।

Router 1 Configuration Code: 

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
 %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router 2 Configuration Code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.1.2 255.255.255.0
Router(config-if)#no shut
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router 3 Configuration Code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.1.3 255.255.255.0
Router(config-if)#no shut
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router 4 Configuration Code:

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip add 192.168.1.4 255.255.255.0
Router(config-if)#no shut
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

আমাদের সকল রাউটার সমুহের ইন্টারফেস সমুহ গুলিকে কনফিগার করা হয়ে গেল । এবার আমরা সকল রাউটার সমুহে OSPF কনফিগার করব। ত চলুন আমরা OSPF কনফিগার করি।

Router 1 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#route ospf 1
Router(config-router)#network 192.168.1.1 0.0.0.0 area 1
Router(config-router)#

এখানে আমরা ওয়াইলকার্ড ম্যক্স হিসেবে 0.0.0.0 ব্যবহার করেছি। কারণ Router 1 এর এই ইন্টারফেস শুধুমাত্র এই একটি আইপি অ্যাড্রেস চলবে । আমরা এই টপোলজিতে সকল রাউটারে ওয়ালকার্ড ম্যাক্স হিসেবে 0.0.0.0 ব্যাবহার করব । তাহলে যা হবে আমরা যদি এই সুইচটাতে কোন পিসি যুক্ত করি তাহলেও সে নেটওয়ার্ক অ্যাকসেস করতে পারবে না । কিন্তু আমরা যদি এখানে ওরিজিনাল ওয়াইলকার্ড ম্যাক্স 0.0.0.255 ব্যাবহার করতাম তাহলে যে কেউ এই সুইচে একটি পিসি যুক্ত করে 192.168.1.1-254 পর্যন্ত যে কোন একটি আইপি অ্যাড্রেস দিলে সে সহজেই নেটওয়ার্ক অ্যাকসেস করতে পারবে।

Router 2 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#route ospf 1
Router(config-router)#netw 192.168.1.2 0.0.0.0 area 1
Router(config-router)#

Router 3 Configuration Code:

Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.3 0.0.0.0 area 1
Router(config-router)#

Router 4 Configuration Code:

Router>
Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.4
Router(config-router)#network 192.168.1.4 0.0.0.0 area 1
Router(config-router)#

আমাদের সকল রাউটারে OSPF কনফিগার করা হয়ে গেল। এবার আমরা কোন রাউটারে গিয়ে তার ডাটাবেজ, NEIGHBORS  ও রাউটিং টেবিল চেক করি। রাউটার 1 এ চেক করে দেখি যে কোন রাউটার DR & BDR হয়েছে । sh ip ospf interface আমরা এই কমান্ডটি ব্যবহার করে দেখতে পারি, কোন রাউটার DR এবং BDR হয়েছে ।

Router#sh ip ospf interface

FastEthernet0/0 is up, line protocol is up
Internet address is 192.168.1.1/24, Area 1
Process ID 1, Router ID 192.168.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DROTHER, Priority 1
Designated Router (ID) 192.168.1.4, Interface address 192.168.1.4
Backup Designated Router (ID) 192.168.1.3, Interface address 192.168.1.3
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:02
Index 1/1, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 3, Adjacent neighbor count is 2
Adjacent with neighbor 192.168.1.4 (Designated Router)
Adjacent with neighbor 192.168.1.3 (Backup Designated Router)
Suppress hello for 0 neighbor(s)
Router#

আমরা এখানে দেখতে পাচ্ছি যে DR হয়েছে Router (ID) 192.168.1.4 এই রাউটারটি এবং BDR হয়েছে Router (ID) 192.168.1.3 এই রাউটার টি । আমরা অগেই বলেছিলাম যে প্রতিটি রাউটার এর একটি Router ID থাকে । আর এই Router ID তিন ভাবে নির্ধারণ হয়ে থাকে ।

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

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

            ২. Highest IP address on the loopback interface.

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

            ২. Highest IP Address on the physical interface

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

এখানে যেহেতু আমরা নিজে কোন Router ID ডিফাইন করে দিই নাই বা কোন লুপব্যাক ইন্টাফেও ক্রিয়েট করি নাই তাই রাউটার নিজেই তার ফিজিক্যাল ইন্টারফেস এর মধ্যে যে আইপি অ্যাড্রেসটি সবচেয়ে বড় সেটিই তার রাউটার আইডি হিসেবে নির্ধারণে করে নিয়েছে । সুতবাং এখানে আমরা দেখতে পাচ্ছি যে Router 4 হয়েছে DR এবং Router 3 হয়েছে BDR যেটা আমাদের হওয়ার কথা ছিল । কারণ আমরা জানি যে যে রাউটার এর প্রায়োরিটি সবচেয়ে বেশি সেটি হবে DR এবং যেটার প্রায়োরিটি তার DR এর চেয়ে কম হবে সেটি হবে BDR। আর যদি সকল রাউটার এর প্রয়োরিটি সমান হয়ে তাহলে যে Router ID সবচেয়ে বড় হবে সে হবে DR এবং যার সেকেন্ড হবে সে হবে BDR।


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

Thursday, May 16, 2019

মোবাইল ফোন নেটওয়ার্ক যেভাবে কাজ করে

আজকে আমরা দেখব মোবাইল ফোন নেটওয়ার্ক কিভাবে কাজ করে।মোবাইল ফোন কিভাবে কাজ করে তার হিশেব নিকেশ অনেক বেশি এবং কিছুটা জটিল বটে তবে আমি আজকে মোবাইল ফোনের নেটওয়ার্ক কিভাবে কাজ করে তার একটা সহজ এলগরিদম ব্যাখ্যা করব।
                                               


মোবাইল নেটওয়ার্কে কয়েক ধরনের প্রযুক্তির মধ্যে (GSM,CDMA,TDMA,FDMA etc) আমাদের দেশে মুলত ২ই ধরনের প্রযুক্তি ব্যবহার হয়-
  •  GSM (Global System for Mobile Communication) (যেমনঃ টেলিটক, বংলালিংক, জিপি, রবি, এয়ারটেল)
  • CDMA (Code Division Multiple Access) (সিটিসেল একমাত্র CDMA অ্পারেটর)
          (GSM এবং CDMA  কিভাবে কাজ করে তার জন্য পরবর্তীতে আরেকটি আর্টিকেল লিখব যেখানে ২ই প্রযুক্তির সুবিধা এবং অসুবিধা ব্যাখ্যা করব)

আমাদের দেশে ৬ টি মোবাইল অপারেটরের প্রায় ৩০ হাজার মোবাইল টাওয়ার আছে।এখন প্রশ্ন হতে পারে যে এত টাওয়ার কেন দরকার যেখানে রেডিও কিংবা টেলিভিশনের ক্ষেত্রে ২,৩ টা টাওয়ারই যথেষ্ট? তার উত্তর হচ্ছে প্রযুক্তিগত দিক থেকে মোবাইল নেটওয়ার্ক হচ্ছে ফুল ডুপ্লেক্স(অর্থাৎ একই সাথে দুই দিকে ব্রডকাস্ট)রেডিও কিংবা টেলিভিশন মোবাইল নেটওয়ার্ক থেকে ভিন্ন কারন রেডিও ,টিভি হচ্ছে সিমপ্লেক্স (একমুখী ব্রডকাস্ট) আর যার জন্য আমরা শুধু রেডিও তে আরজেদের বকবকানি শুনি বা টিভি তে অনুষ্ঠান দেখি। যদি মোবাইল সিমপ্লেক্স  ব্রডকাস্ট  হতো  তাইলে সবার কথা সবাই শুনে ফেলত এবং প্রচুর নয়েজ হত।

মোবাইল ফোন নেটওয়ার্ক এর আর্কিটেকচারটা শুরুতে একটু দেখে নেয়া যাকঃ

মোবাইল নেটওয়ার্কের  টাওয়ার সেট করার জন্য ষড়ভুজ আকৃতির ডায়াগ্রাম ব্যবহার করা হয়

                                   

মোবাইল নেটওয়ার্কে কোন দেশ বা এরিয়াকে হাজার হাজার সেলে বিভক্ত করা হয। প্রত্যেক সেলের জন্য বি.টি.এস থাকে। আবার বি.টি.এসকে সাপোর্ট দেয়ার জন্য অনেক সময় অপারেটররা মাইক্রো বি.টি.এস ব্যবহার করে থাকে। বি.টি.এস কেবল এরিয়ার আয়তন হিসেবে বসানো হয়না। কোন স্থানে কতগুলো বি.টি.এস বসবে তা ওখানকার মোবাইল ব্যবহারকারীর সংখ্যার উপরও নির্ভর করে থাকে।

 BTS কোন সেল ফোন থেকে আগত রিকোয়েষ্টকে তাদের MSC-তে (মোবাইল সুইচিং সিস্টেম) পাঠায়।MSC-তে VLR (ভিজিটর লোকেটর রেজিষ্টার) থাকে। সেই VLR এ ইউসারের ইনফরমেশান থাকে। অর্থাৎ কোন VTS এর অধিনে কোন কোন ইউসার আছে। এটা টেম্পরারী থাকে।
যদি আপনি একই অপারেটরের অধিনস্ত মোবাইলে কল করে থাকেন তাহলে একই পদ্ধতিতে তা আবার রিসিভারের মোবাইলে যাবে। অর্থাৎ এইচ,এল.আর থেকে ভি.এল আর তারপর বি.টিএস এ এরপর সেলফোন এ যাবে।

যদি আপনি অন্য কোন অপারেটরের মোবাইলে কল করে থাকেন তাহলে HLR তাদের গেটওয়ের মাধ্যমে SS7 প্রোটোকল ইউস করে অন্য অপারেটরের HLR এ রিকোয়েষ্ট পাঠাবে।




















এর চাইতে একটু সহজ করে যদি দেখি তাহলে, আর্কিটেকচারটা নিচের মত দেখাবেঃ


আমরা যখন একটি সেল ফোন থেকে আরেকটি সেল ফোন থেকে কল করার চেষ্টা করি তখন সেল ফোন প্রথম BTS এ রিকোয়েষ্ট পাঠায়। বাংলাদেশে GSM এর ক্ষেত্রে তা ৯০০ থেকে ১৮০০ ফ্রিকুয়েন্সী রেঞ্জের ভিতর হয়ে থাকে। BTS এর কাজ হল ট্রান্সমিশান সেন্ড ও রিসিভ করা।

                                    মোবাইল ফোন নেটওয়ার্ক এর আর্কিটেকচার

Radio Access Network (RAN)

আমরা যখন কাউকে কল করি তখন তা আমাদের মোবাইল ফোন থেকে বাতাসের মধ্য দিয়ে সরাসরি নিকটস্থ কোন একটা BTS টাওয়ারে যায় আর  এই টাওয়ার বা BTS গুলোকে কন্ট্রোল করে BSC (Base Station Controller). এক একটা BSC প্রায় ১৫০-২০০ BTS কে কন্ট্রোল করতে পারে। আর এই BTS এবং BSC গুলো মিলেই গড়ে উঠে গোটা মোবাইল নেটওয়ার্ক এর সবচেয়ে বড় নেটওয়ার্ক – Radio Access Network (RAN).

Switching Network OR Core Network:


যারা পূর্বের T&T (বর্তমান BTCL) এর এক্সচেঞ্জ (Telephone Exchange) এর সাথে পরিচিত আছেন, তারা জানেন যে, T&T তে কল করলে প্রথমে একজন অপারেটর কল ধরত এবং আপনার কাছে এক্সটেনশন নাম্বার জিজ্ঞেস করত। এবং সে আপনার কাংখিত এক্সটেনশন নাম্বার এ সংযোগ দিয়ে দিত। অর্থাৎ সুইচিংটা সে করে দিত।
এখন একটু ভাবুন তো, প্রতি দিন মোবাইল টু মোবাইল এ যে পরিমান কল হয়, তা যদি অপারেটর দিয়ে এক্সচেঞ্জ করতে হত, তাহলে কত কোটি অপারেটর লাগত???
মোবাইল ফোন নেটওয়ার্ক এ এই এক্সচেঞ্জ এর কাজটি করে দেয় Mobile Switching Center (MSC).

Intelligent Network:

এবার আসি Intelligent Network (IN) এ। আমাদের দুই ধরনের কানেকশন পাওয়া যায়
  • ক) প্রি-পেইড
  • খ) পোস্ট-পেইড
যারা প্রি-পেইড ইউজার তাদের মোবাইল এ balance/টাকা আছে কিনা, সে বৈধ ইউজার কিনা, সে যে Service টা ব্যবহার করতে চাচ্ছে তার জন্য Registration করা আছে কিনা এর সব জন্য সংরক্ষিত থাকে IN এ। আপনার কল সংযোগ দেয়ার আগেই এই সমস্ত খোঁজ খবর নিয়েই আপনাকে কল করার অনুমতি দেয়া হয়।

Transmission Network


Transmit করা মানে হচ্ছে কোন কিছু এক জায়গা থেকে অন্য জায়গায় পাঠানো। মোবাইল ফোন আমাদের কথা(Voice) অথবা Data (SMS/Internet/Multimedia Data) নিয়ে কাজ করে। আর আমাদের এই কথা (Voice) অথবা Data (SMS/Internet/Multimedia Data) স্থানান্তর অর্থাৎ যাকে কল করছেন তার কাছে পৌছে দেয়ার জন্য মাধ্যম হিসেবে কাজ করে Transmission Network।
  • ১। Radio Access Network (RAN)  মোবাইল ফোন সরাসরি এই নেটওয়ার্ক এর সাথে যোগাযোগ করে
  • ২। Switching Network বা Core Network  যাকে কল করছেন তার কাছে সুইচিং করে দেয় বা সংযোগ স্থাপন করে দেয়
  • ৩। Intelligent Network (IN) মোবাইল ইউজার এর সব তথ্য জমা রাখে এবং Verify করে
  • ৪। Transmission Network  তথ্য আদান প্রদান এর মাধ্যম হিসেবে কাজ করে.