Sunday, June 30, 2019

Static NAT এবং Dynamic NAT কনফিগারেশন

এই পর্বে আমরা NAT কিভাবে কনফিগার করেত হয় সেই বিষয়টিই দেখব। আমরা নিচের চিত্রের মত একটি টপোলজি নিলাম। যেখানে আমাদের একটি SERVER ২টি Router এবং কিছু Computer রয়েছে যা সুইচ এর মাধ্যমে Router1 এর সাথে যুক্ত। আর সার্ভারটি ইথারনেট ক্যাবল এর মাধ্যমে Router0 এর সাথে যুক্ত। এখানে আমাদের টোটাল তিনটি নেটওয়ার্ক চলতেছে। লোকাল নেটওয়ার্কে চলতেছে 192.168.1.0/24 এই নেটওয়ার্কটি এবং SERVER এর পাশে চলতেছে 170.1.1.0/24 এই নেটওয়াকটি এবং আমাদের ‍দুই রাউটারের মাঝে যে নেটওয়ার্কটি চলতেছে তা হল 200.10.10.0/29।  আমাদের লোকাল নেটওয়ার্কে যে নেটওয়ার্কটি চলতেছে (192.168.1.0/24) তা একটি প্রাইভেট আইপ নেটওয়ার্ক। কাজেই এই নেটওয়ার্কটি ইন্টারনেট অ্যাকসেস করতে পারবে না । এই জন্য আমরা Route1 192.168.1.0/24 এই নেটওয়ার্ক এর সাথে একটি পাবলিক নেটওয়ার্ক এর নাটিং করব। যাতে করে সে সর্ভার এর সাথে কানেক্ট হতে পারে ।
Nat Configuration Bangla tutorial

আমরা এই টপোলজির কোথায় কোন আইপি অ্যাড্রেস রান করতেছে তা কিন্তু আমরা মেনশন করে দিয়েছি। এখানে Router1 ও Router0 এর মাঝে যে নেটওয়ার্কটি চলতেছে (200.10.10.0/29) তকে আমরা /29 এ নিয়েছি । আমরা জারি যে /29 এ আমাদের মোট ৬টি হোস্ট থাকে অর্থাৎ আমরা ৬টি হোস্টকে আইপি অ্যাড্রেস দিতে পারব। তার মধ্যে আমার দুটি আইাপি ব্যবহার করে ফেলেছি । একটি ইউজ করেছি Router1 এর সিরিয়াল ইন্টারফেস Se 0/0/0 তে 200.10.10.1 এবং আর একটি ইউজ করেছি Route0 এর সিরিয়াল ইন্টারফেস Se 0/0/0 তে 200.10.10.2 । আর যে আইপি সমুহ বাাঁকি আছে আমরা সেই আইপি সমুহকে 192.168.1.0/24 এই নেটওয়ার্ক এর সাথে Nating করব। আমরা প্রথমে সমস্থ রাউটার, সার্ভার ও কম্পিউটার সমুহে আইপি অ্যাড্রেস সমুহ অ্যাসাইন করে নিই।
আপনারা চাইলে নিচের ভিডিওটি প্লে করে দেখতে পারেন কিভাবে রাউটার এর ইন্টারফেসে আইপি দিতে হয় এবং প্যাকেট ট্রেচার এ কিভাবে কম্পিউটার ও সার্ভার এ আইপ দিতে হয়।

STATIC NAT

প্রথমে আমরা Static NAT কনফিগারেশন দেখব। NAT এর ক্ষেত্রে আমাদের একটি বিষয় জানার দরকার যা আমরা এর আগে বলি নাই সেটা হল Inside Network ও Outside Network। আপনারা নিচের চিত্রের ‍দিকে লক্ষ করুন তাহলে খুব সহজেই বিষয়টি বুঝতে পারবেন। আমাদের যে লোকাল নেটওয়ার্কটি রয়েছে সেটি হল INSIDE NETWORK এবং এর বাহিরে যে নেটওয়ার্কটি রয়েছে সেটি হল Outside Network।


আমরা Router1 ও Router0 এর মাঝে যে নেটওয়ার্কটি ইউজ করেছি সেটি /29 এ রয়েছে আমরা জানিযে /29 এর হোস্ট সাইজ হল 6। এখানে আমরা প্রতিটি নেটওয়ার্কে 6 টি আইপি হোস্ট এর জন্য ব্যাবহার করতে পারব। এখানে ইউজেবল আইপি অ্যাড্রেস হল
  1. 10.10.1
  2. 10.10.2
  3. 10.10.3
  4. 10.10.4
  5. 10.10.5
  6. 10.10.6
এখানে এই ৬টি আইপি আমরা ব্যাবহার করতে পারব হোস্ট এর জন্য। তার মধ্যে আমরা প্রথম দুটি ব্যবহার করে ফেলেছি । 200.10.10.1 ইউজ করেছি Router 1 এর সিরিয়াল Se 0/0/0 তে এবং 200.10.10.2 ইউজ করেছি Router0 এর সিরিয়াল Se 0/0/0 তে।  আর বাঁকী আছে ৪টি । আমরা এই ৪টি আইপির মধ্যে 200.10.10.3 ও 200.10.10.4 কে আমরা NAT এর জন্য ইউজ করব।

আমাদের Inside Network এ মোট তিনটি PC রয়েছে । তদের আইপি অ্যাড্রেস হল PC0 এর 192.168.1.2, PC1 এর 192.168.1.3 এবং PC2 এর 192.168.1.4। এর মধ্যে আমরা PC1 ও PC2 কে NATING করব। PC1 এর প্রাইভেট আইপি 192.168.1.3 এর সাথে  পাবলিক আইপি 200.10.10.3 এবং PC2 এর প্রাইভেট আইপি 192.168.1.4 এর সাথে পাবলিক আইপি 200.10.10.4 এর NATING করব। যার ফলে PC1 ও PC2 SERVER কে অ্যাকসেস করতে পারবে কিন্তু PC0 SERVER কে অ্যাকসেস করতে পারবেনা।

আমরা নাটিং করার আগে Router 1 একটি Default Static Router ক্রিয়েট করব। আপনারা যদি Default Static Router সর্ম্পকে না জানেন তাহলে আমার আগের Static Router Configuration লেকচারটি  দেখতে পারেন ।

Static NAT 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 nat inside
Router(config-if)#int se 0/0/0
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat inside source static 192.168.1.2 200.10.10.3
Router(config)#ip nat inside source static 192.168.1.4 200.10.10.4

এবার আমরা যদি PC1 ও PC2 থেকে ‍SERVER এর ওয়েব পেজটিকে ওপেন করি তাহলে দেখব যে তা ওপেন হচ্ছে । কিন্তু PC0 থেকে আমরা SERVER কে অ্যাকসেস করতে পারব না । কারণ Static NAT এর আমরা যার সাথে যার নাটিং করে রাখব শুধু মাত্র সেই ইন্টানেট অ্যাকসেস করতে পারবে।

Dynamic NAT

এবার আমরা দেখব Dynamic NAT কিভাবে কনফিগার করতে হয়। এখানে আমরা একটি NAT এর জন্য একটি Pool ক্রিয়েট করব এবং একটি অ্যাকসেস লিষ্ট ক্রিয়েট করব । এর পর এই অ্যাকসেস লিষ্ট এর সাথে Pool এর নাটিং করব। ত চলুন দেখি কিভাবে এটি করতে হয়।

Dynamic NAT Configuration Code:

Router>en
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip nat inside
Router(config-if)#int se 0/0/0
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat pool public 200.10.10.3 200.10.10.4 netmask 255.255.255.248
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 pool public
Router(config)#

এবার যদি আমরা যে কোন PC থেকে SERVER কে অ্যাকসেস কারতে চাই তাহলে করতে পারব। তবে এক সাথে একই সময়ে দুটি মাত্র PC SERVER কে অ্যাকসেস করতে পারবে। তবে সেটা যে কোন দুটি PC হতে পারে । এটা কোন নির্দিষ্ট করা নেই। আমরা Router#sh ip nat translations
এই কমান্ডটি ব্যাবহার করে দেখতে পারি যে কোন প্রাইভেট আইপির আন্ডারে কোন পাবলিক আইপি এর নাটিং হচ্ছে।

Router#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 200.10.10.3:1025 192.168.1.3:1025 170.1.1.2:80 170.1.1.2:80
tcp 200.10.10.4:1025 192.168.1.2:1025 170.1.1.2:80 170.1.1.2:80

PAT (Port Address Translation)

Static NAT and Dynamic উভয়ের ক্ষেত্রেই আমরা দেখেছি যে আমাদের যে কয়টি Public IP থকবে শুধুমাত্র সে কয়টি PC ইন্টারনেট অ্যাকসেস করতে পারতেছে। ফলে একই সময়ে অন্য কোন কম্পিউটার চাইলেও ইন্টারনেট অ্যাকসেস করতে পারতেছিল না । আমরা PAT এর মাধ্যমে খুব সহজেই এই সমস্যাকে সমাধান করতে পারি । PAT সর্ম্পকে এর আগের পর্বে বিস্তারিত আলোচনা করা হয়েছে । এবার আমরা দেখব কিভাবে PAT কনফিগার করতে হয়। Dynamic NAT ও PAT কনফিগারেশন প্রাই একই রকম ।

PAT Configuration Code:
Router>en
Router#conf t
Router(config)#int fa 0/0
Router(config-if)#ip nat inside
Router(config-if)#int se 0/0/0
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat pool public 200.10.10.3 200.10.10.3 netmask 255.255.255.248
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 pool public overload
Router(config)#

এবার যদি আমরা দেখি তাহলে প্রতিটি কম্পিউটার থেকে একই সাথে SERVER কে অ্যাকসেস করতে পরবে। এখানে কিন্তু আমরা একটি মাত্র পাবলিক আইপি অ্যাড্রেস ব্যাবহার করেছি আর তা হল 200.10.10.3 এবং এই একটি পাবলিক আইপি দিয়ে একই সাথে সবগুলি কম্পিউটার ইন্টারনেট অ্যাকসেস করতে পারতেছে। আর এটা হচ্ছে Port Address এর কারনে । আমরা যদি Router#sh ip nat translations এখানে আমরা দেখতে পাচ্ছি যে Inside Global এ প্রত্যেক এর Public IP একই কিন্তু প্রত্যেকের Port Number আলাদা আলাদা ।

Router#sh ip nat translations

Pro Inside global Inside local Outside local Outside global
tcp 200.10.10.3:1024 192.168.1.4:1026 170.1.1.2:80 170.1.1.2:80
tcp 200.10.10.3:1025 192.168.1.2:1025 170.1.1.2:80 170.1.1.2:80
tcp 200.10.10.3:1026 192.168.1.3:1026 170.1.1.2:80 170.1.1.2:80

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

Friday, June 28, 2019

NAT কি? আমরা NAT কেন ব্যবহার করি?

Nat (Network Address Translation)

Nat কি? Nat হল Network Address Translation. নেটওয়ার্ক অ্যাড্রেস বলতে আমরা কিন্তু আইপি অ্যাড্রেসকে বুঝি। NAT হল এমন একটি পদ্ধতি যার মাধ্যমে কোন আইপির্ অ্যাড্রেসকে একটি আলাদা আইপি অ্যড্রেসে রুপান্তুর করা যায়।

Nat আমরা কি জন্য ব্যবহার করব?

আমরা যে সকল কারণে নাটকে ব্যাবহার করে থাকি তা হল- নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন। উদাহরণ সরুপ-
  • Convert Private IP to Public IP
  • Convert IPv4 to IPv6
  • Convert One Private IP to another Private IP

Example Number 1: 

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

 Example Number 2:

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

Example Number 3: 

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

NAT Bangla Tutorial

আমরা উপরের চিত্রের মাধ্যমে ভলভাবে বুঝার চেষ্ট করব নাট কিভাবে কাজ করে । এখানে আমাদের একটি Client Computer রয়েছে যার আইপ অ্যাড্রেস হল 10.10.10.10 যা একটি প্রাইভেট  আইপি অ্যাড্রেস । এবং একটি সার্ভার Computer রয়েছে যার আইপি অ্যাড্রেস হল 170.10.10.10 যা একটি পাবলিক আইপি অ্যাড্রেস । এখন যদি এই Client কম্পিউটার টি Server কম্পিউটার এর সাথে কমিউনিকেট করতে চায় তাহলে সে কমিউনিকেট করতে পারবে না! কারণ আমরা জানি যে Private IP রাউটেবল না অর্থাৎ Private IP দ্বারা ইন্টারনেট অ্যাকসেস করা যায় না । এই সমস্যা সমাধানের জন্য মাঝখানে একটি NAT Router ব্যাবহার করা হয়েছে। NAT Router কি করবে? সে এই Private IP টি কে Public IP তে কনর্ভাট করে দিবে ।

এটা সে কিভাবে করে থাকে এটিই এখন বুঝার চেষ্টা করি। Client Computer টি যখন প্যাকেট Server Computer এর কাছে পাঠাবে তখন তার Source Address হবে 10.10.10.10 এবং Destination Address হবে 170.10.10.10 । যখন এই প্যাকেটটি NAT Router এর কাছে যাবে তখন সে সোর্স হিসেবে যে প্রাইভেট আইপি অ্যাড্রেস 10.10.10.10 রয়েছে তা কনর্ভাট করে একটি পাবলিক আইপি 200.10.10.10 (এখানে আমরা যে আইপি অ্যাড্রেসটি Nating করে রাখব সে অ্যাড্রেসটি পাবে) দিয়ে দিবে । এখন সোর্স হবে 200.10.10.10 এবং ডেসটিনেশন আগের টা 170.10.10.10 ই থাকবে । এবার সার্ভার কমপিউটারটি যখন আবার Reply পাঠাবে তখন সেই Reply প্যাকেটটির Source হবে 170.10.10.10 এবং Destination হবে 200.10.10.10। এই প্যাকেটটি যখন NAT Router এর কাছে যাবে তখন সে আবার সেই পাবলিক আইপি 200.10.10.10 কে প্রাইভেট আইপি 10.10.10.10 এ কনর্ভাট করে দিবে। ফলে আবার তার Source হবে 170.10.10.10 এবং Destination হবে 10.10.10.10। এভাবে NAT কাজ করে থাকে ।

Types of NAT

NAT কে সাধারণত তিন ভাবে ইমপ্লিমেন্ট করা যায় । যথা:-
  1. Static NAT
  2. Dynamic NAT
  3. PAT (Port Address Translation) কেউ কেউ একে নেটওয়ার্ক ওভারলোডিং ও বলে থাকে।

Static NAT

Static NAT হল এমন একটি পদ্ধতি বা সিস্টেম যেখানে প্রত্যেকটি প্রাইভেট আইপি এর জন্য আলাদা আলাদা একটি পাবলিক আইপি নাটিং করা থাকে । যে প্রাইভেট আইপি এর জন্য যে পাবলিক আইপিটি নাটিং করা থাকবে সে সেই পাবলিক আইপিটি নিয়ে ইন্টারনেটে প্রবেশ করবে । অর্থাৎ যে প্রাইভেট আইপি এর জন্য যে পাবলিক আইপি স্টাটিকালি ডিফাইন করে দেওয়া হয়েছে সে সেই আইপিটি পাবে। অন্য কোন আইপি পাবে না ।


আমরা যদি উপরের চিত্রের দিকে খেয়াল করি তাহলে এখানে দুটি Client PC এবং একটি SERVER Pc রয়েছে। Client দুটি হল আইপি হল 10.10.10.10 এবং আর একটি হল 10.10.10.20। আপনারা চিত্রে দেখতে পাচ্ছেন এখানে প্রাইভেট আইপি 10.10.10.10 এর সাথে পাবালিক আইপি হিসেবে 200.10.10.10 এবং 10.10.10.20 এর সাথে 200.10.10.11 কে নাটিং করা হয়েছে । এবার যখন 10.10.10.10 Server এর কাছে কোন প্যাকেট পাঠাবে তখন সে NAT Router এর কাছে থেকে 200.10.10.10 এই পাবলিক আইপিটি পাবে । সে কোন ভাবেই 200.10.10.11 এই আইপিটি পাবে না । কারণ আমরা তার জন্য 200.10.10.10 কে ডিফাইন করে রেখেছি। এখানে একটি পাবলিক আইপ দিয়ে একটি মাত্র প্রাইভেট আইপিকে ইন্টারনেট সুবিধা প্রদান করা যায়।

Dynamic NAT

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

NAT Bangla Tutorial

Static NAT এর ক্ষেত্রে আমরা দেখেছিলাম প্রতিটি প্রাইভেট আইপি এর জন্য একটি করে পাবলিক আইপি আসাইন করা থাকে  এবং যতটি পাবলিক আইপি থাকে ততটিই প্রাইভেট আইপি ইন্টারনেট অ্যাকসেস করতে পারে । এর বেশি কোন কম্পিউটার থাকেলে তারা ইন্টারনেট অ্যাকসেস করতে পারে না । কিন্তু Dynamic NAT এর ক্ষেত্রে এই রকম সমস্যা সমাধান করা যায় । Dynamic NAT এর ক্ষেত্রে যতটিই পাবলিক আইপি থাকুক না কেন সকল কম্পিউটার ইন্টারনেট অ্যাকসেস করতে পারে। যখন যে কম্পিউটার ইন্টারনেট অ্যাকসেস করতে চাইবে তখন সে যে পাবলিক আইপিটি ফাঁকা পাবে সেই আইপিটি নিয়ে ইন্টারনেটে প্রবেশ করবে। তবে একটি সমস্যা আছে তা হল যতটি পাবলিক আইপি থাকবে একই সাথে সেই কয়টি কম্পিউটার ইন্টারনেট অ্যাকসেস করতে পারবে। আমরা যদি উপরের চিত্রের দিকে খেয়াল করি তাহলে এখানে 10.10.10.10 এর জন্য 200.10.10.10 এবং 10.10.10.20 এর জন্য 200.10.10.11 স্টাটিকালি নাটিং করে দেওয়াছিল । 10.10.10.10 কখোন 200.10.10.10 এর পরিবর্তে 200.10.10.11 আইপি পেত না । Dynamic NAT এর  কারো জন্য কোন পাবলিক আইপি নির্দিষ্ট করা থাকে না এখানে 10.10.10.10 কখোন 200.10.10.10 আবার কখোন 200.10.10.11 আইপি পাবে।

PAT (Port Address Translation) / Network Overloading

PAT হলো Port Address Translation.  PAT এর মাধ্যমে আমরা অনেকগুলি প্রাইভেট আইপি এড্রেসকে একটিমাত্র পাবলিক আইপি এড্রেস এর সাথে ম্যাপিং করতে পারি। অর্থাৎ আমরা একটি মাত্র পাবলিক আইপি দিয়ে অনেকগুলি প্রাইভেট আইপিকে ইন্টারনেট সেবা দিতে পারি ।

আমরা যখন আমাদের কম্পিউটার থেকে কোন ওয়েব ব্রাউজারের মাধ্যামে এক সাথে অনেকগুলি ওয়েবসাইজ ভিজিট করি তখন কিন্তু আমরা একসাথে অনেকগুলি সার্ভারকে অ্যাকসেস করি । যেমন ধরুন YouTube, Facebook, Twitter, LinkedIn, Instagram, Gmail etc..। আমরা কিভাবে একসাথে এতগুলি সার্ভার এর সাথে কানেক্ট হতে পারি যখন কিনা আমাদের আইপি অ্যাড্রেস থাকে মাত্র একটি! অর্থাৎ আমরা একটি মাত্র আইপি অ্যাড্রেস দিয়ে এক সাথে এত গুলি সার্ভার এর সাথে কিভাবে যোগাযোগ করতে পারি? এটি হয়ে থাকে PAT এর মাধ্যমে । আমরা যখন আমাদের কম্পিউটার থেকে সবগুলি সার্ভারকে একসাথে কানেক্ট হই, তখন আমাদের সকগুলি প্যাকেট এর সোর্স আইপি অ্যাড্রেস একই থাকে কিন্তু পোর্ট অ্যাড্রেস থাকে আলাদা আলাদা ।  আর এই কাজটি করে থাকে PAT। আমরা যখন কোন সার্ভার এর সাথে কানেক্ট হয় তখন কিন্তু শুধু আইপি অ্যাড্রেই লাগে না সাথে একটি পোর্ট নাম্বারও লাগে।

প্রত্যেকটি প্রোটকল এর নিদিষ্ট কিছু পোর্ট নাম্বার রয়েছে । আমরা যখন কোন সার্ভার এর সাথে কানেক্ট হই তখন কিন্তু প্রত্যকটি Server বা Destination এর র্পোাট নাম্বার কিন্তু একই থাকে Source Port নাম্বারটি Random হয়ে থাকে । এই Random নাম্বারটির রেঞ্জ হলে 1024-65535 পযন্তু যে কোন নাম্বার। যখন কোন সোর্স কম্পিউটার এই Random পোর্ট নাম্বারটি জেনারেট করে তখন অনেক সময় দুটি কম্পিউটার এর এই Source Port Address টি একই হতে পারে । ফলে তখন তারা কমিউনিকেট করতে পারবে না । আমরা নিচের চিত্রের মাধ্যমে PAT কে একটু বুঝার চেষ্টা করি।

NAT Bangla Tutorial

উপরের চিত্রতে একটি Client PC এক সাথে তিনটি কানেকশন বিল্ডাপ করেছে। এখানে প্রতিটি কানেকশনের IP Address একই কিন্তু তাদের Port Number আলাদা আলাদা। ফলে কোন সমস্যা নেই তারা পরস্পর এর মধ্যে যোগাযোগ করতে পারবে। শুধু মাত্র সে তার নাট রাউটারের কাছে থেকে একটি পাবলিক আইপি নিবে।

কিন্তু যখন তিনটি আলাদা আলাদ PC হবে তখন তারা যে সোর্স নাম্বারটি জেনারেট করবে তা একই হতে পারে! যদি আইপি অ্যাড্রেস আলাদা আলাদা হয় তাহলে সোর্স পোর্ট অ্যাড্রেস এক হল কোন সমস্যা নাই। কিন্তু আইপি ও পোর্ট অ্যাড্রেস যদি একই হয় তাহলে তা কমি্উনিকেট করতে পারবে না ।আমরা যদি নিচের চিত্রের দিকে খেয়াল করি।

NAT Bangla Tutorial

এখানে আমরা তিনটি Client PC দেখতে পাচ্ছি । যার প্রথম দুটির Port Address একই এবং শেষেরটির আলাদা। এখন যখন তারা কোন সার্ভার এর সাথে কমিউনিকেট করতে যাবে তাদের পাবলিক আইপ দরকার । যেহেতু আমাদের একটি মাত্র পাবলিক আইপি থাকবে, তখন তিনটি কম্পিউটার একই পাবলিক আইপি পাবে । ফলে প্রথম দুটি কম্পিউটারের IP Address ও Port Number একই হবে।  নিচেরটার পোর্ট নাম্বার যেহেতু আলাদা সে সার্ভার এর সাথে যোগাযোগ করতে পারবে। কিন্তু উপরের দুটি PC Server এর সাথে যোগাযোগ করতে পারবে না । PAT এর মাধ্যমে আমরা খুব সহজেই এই সমস্য সমাধান করতে পারি।

NAT Bangla Tutorial

PAT এর ক্ষেত্রে আমরা কিন্তু একটিই পাবলিক আইপি ব্যাবহার করি । আমরা একটি পাবলিক আইপ ব্যাবহার করে এক সাথে অনেকগুলি Client কে ইন্টারনেট সেবা প্রদান করি ।

উপরের চিত্রে আপনারা দেখতে পাচ্ছেন এখানে তিনটি Client PC রয়েছে যারা একই সাথে একটি সর্ভার এর সাথে কানেক্ট হওয়ার চেষ্টার করতেছে। এখানে Client PC প্রাইভেট আইপি অ্যাড্রেস দেওয়া আছে। আমাদের কাছে একটি মাত্র পাবলিক আইপি অ্যাড্রেস আছে আর তা হল 200.10.10.1। এখানে এই তিনটি কম্পিউটার এই একটি আইপি অ্যাড্রেস ব্যবহার করে সার্ভার এর সাথে কানেক্ট হবে ।  আমরা  জানি যখন কোন Client PC অন্য কোন হোস্ট এর সাথে কানেক্ট হতে যায় তখন সে তার সোর্স আইপি অ্যাড্রেস এর সাথে একটি পোর্ট নাম্বার যুক্ত করে । এবং এই পোর্ট নাম্বারটি সে Random জেনারেট করে আর সেই রেঞ্জ হল 1024-65535 পর্যন্ত। এখানে আমরা দেখতে পাচ্ছি প্রথম দুটি Client এর সোর্স পোর্ট নাম্বার একই তা হল 1024। এখন যখন এই Client কম্পিউটার সমুহ তাদের প্রাইভেট আইপি অ্যড্রেস ও পোর্ট নাম্বার নিয়ে NAT Router এর কাছে যাবে তখন NAT Router তাদের সোর্স প্রাইভেট আইপিটাবে ট্রান্সলেট করে সকলকে  এই পাবলিক “200.10.10.1”  আইপিটি দিবে  এবং সেই সাথে প্রথম  দুটি Client এর পোর্ট নাম্বার যেহেতু একই তাই NAT রাউটার তাদের পোর্ট অ্যাড্রেসটিও ট্রান্সলেট করে দিবে। সেই সাথে NAT Router দেখবে যাতে করে যে কোন Client এর সোর্স পোর্ট অ্যাড্রেস একই না হয় । উল্লেখযে প্রত্যেকটি Client এর কাছে কিন্তু তাদের Destination Port Address একই থাকবে । এবং আমাদের প্রতকটি প্রোটকল এর কিছু নির্দিষ্ট পোর্ট নাম্বার রয়েছে ।
 নিচে জনপ্রিয় কিছু পোটকল এর পোর্ট অ্যাড্রেস দেওয়া হল।
  1. ftp–21–File Transfer Protocol
  2. ssh–22–SSH Remote Login Protocol
  3. telnet–23–Telnet
  4. smtp–25–Simple Mail Transfer Protocol
  5. tftp–69–Trivial File Transfer Protocol
  6. gopher–70–Gopher
  7. http–80–World Wide Web HTTP
  8. pop2–109–Post Office Protocol-V2
  9. pop3–110–Post Office Protocol-V3
  10. nntp–119–Network News Transfer Protocol
  11. imap–143–Internet Message Access Protocol
  12. irc–194–Internet Relay Chat Protocol
  13. imap3–220–Interactive Mail Access Protocol V3
  14. https–443–http protocol over TLS/SSL
  15. printer–515–spooler
  16. imap4-ssl–585–IMAP4+SSL (use 993 instead)
  17. ftps–990–ftp protocol, control, over TLS/SSL
  18. telnets–992–telnet protocol over TLS/SSL
  19. imaps–993–imap4 protocol over TLS/SSL
  20. ircs–994–irc protocol over TLS/SSL
  21. pop3s–995–pop3 protocol over TLS/SSL (was spop3)

I hope, You've got a great idea about Nat, Are you going to homepage! visit Networking Bangla Tutorial.

Saturday, June 22, 2019

Standard ACL এবং Extended ACL কনফিগারেশন

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

আপনারা উপরের চিত্রে দেখতে পাচ্ছেন এখানে কিছু কম্পিউটার, সার্ভার রয়েছে । আমরা চাচ্ছি যে এখানে যে PC-7 রয়েছে তা ‍Server2 এর সাথে যোগায়োগ করতে পারবে না । প্রথমে আমরা Standard ACL এর মাধ্যমে এই কনফিগারেশনটি দেখবে এবং তার পরে Extended ACL এর মাধ্যমে এই কনফিগার দেখব।

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

Standard ACL

আমরা PC-7 কে Server2 এর জন্য ব্লক করব । PC-7 সকল হোস্ট এর সাথে যোগাযোগ করতে পারবে কিন্তু Server2 এর সাথে যোগাযোগ করতে পারবে না । আমরা যদি ACL কে কনফিগার করার আগে PC-7 থেকে Server2 কে Ping করি তাহলে দেখতে পাব যে Ping হচ্ছে ।


আপনারা উপরের চিত্রে দেখতে পাচ্ছেন আমরা PC-7 থেকে Server2 কে ping করলে Ping হচ্ছে এবং TTL ভালু পাওয়া যাচ্ছে। আমরা যদি PC-7 এর সমস্থ প্যাকেটকে Server2 এর জন্য ব্লক করতে চাই তাহলে Standard ACL এর ক্ষেত্রে আমরা জানি যে Standard ACL কে যতটা সম্ভব হোস্ট এর নিকটে Apply করতে হয়। সুতরাং আমরা Standard ACL কে Router 4 এর FastEthernet 0/0 তে ইমপ্লিমেন্ট করতে পারি। চলুন তাহলে দেখে নিই কিভাবে এই কনফিগার করতে হয়।

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0
Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255

এখানে উপরের যে কমান্ডটি দেখতে পাচ্ছেন এর মাধ্যমে আমরা একটি access list ক্রিয়েট করলাম। এখানে access-list 1 এর 1 হচ্ছে ACL এর যে রেঞ্জ রয়েছে সেই রেঞ্জ নাম্বার । আমরা জনি যে Standard ACL এর ক্ষেত্রে এই রেঞ্জ হল 1-99 এবং 1300-1999 পর্যন্ত। এই রেঞ্জ এর যেকোন নাম্বার ব্যাবহার করলে রাউটার বুঝতে পারে যে এটা Standard ACL। #access-list 1 deny 192.168.4.2 0.0.0.0 এখানে access-list 1 মানে ত বুঝলাম এর পর deny মানে হচ্ছে এই যে access-list 1টা রয়েছে তার পারমিশন হল deny এবং কার জন্য deny করা হল তার ‍Source Address কি? সেটা হল 192.168.1.2, এবং তার Wildcard mask হল 0.0.0.0 । আমরা জানি ACL কে রাউটারের ইন্টারফেসে ইমপ্লিমেন্ট করতে হয় । আমরা Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0 এই কমান্ডটি ব্যবহার করলাম প্যাকেটকে ব্লক করার জন্য এবং যে সকল প্যাকেটকে ব্লক করতে চাইনা তাদের জন্য ত একটি পারমিট কমান্ড দিতে হবে । তার জন্য আমরা এই কমান্ডটি ইউজ করেছি Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255 এখানে access-list 1 কে আমরা পামিট করলাম কোন নেটওয়ার্ক এর জন্য? যে কোন নেটওয়ার্ক এর জন্য এবং যে কোন সাবনেট মাক্স এর জন্য শুধু মাত্র 192.168.1.2 এই Address টি ছাড়া।
  1. Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0
  2. Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255
এখানে আমরা উপরের এই দুটি কমান্ড এর মাধ্যমে একটি ‍অ্যাকেসেস লিষ্ট ক্রিয়েট করলাম যার মাধ্যমে 192.168.4.2 এর সমস্থ প্যাকেটকে block করলাম এবং অন্য সকল এর জন্য allow করলাম।

আমরা এখানে একটি access-list 1 যেটা  ক্রিয়েট করলাম এবার এটাকে Router 4 এর এর FastEthernet 0/0 তে ইমপ্লিমেন্ট করব।

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 access-group 1 out

এখানে আমরা acces-list 1 কে ip access-group 1 এর মাধ্যমে Apply করলাম যার ডাইরেকশন হবে out। অর্থাৎ প্যাকেটটি যখন Route 4 এর FastEthernet 0/0 ইন্টারফেস দিয়ে বের হতে চাইবে তখন Router 4 তাকে ব্লক করে দিবে। এখন যদি আমরা PC-7 থেকে Server2 কে ping করি।

ACL BANGLA TUTORIAl

আপনারা দেখতে পাচ্ছেন যে PC-7 Server 2 কে Ping করতে পাতেছে না । আমাদের Replay আসতেছে Destination host unreachable. একই সাথে আমাদের যে PC 5 টি রয়েছে তাও কিন্তু ব্লক হয়ে গেছে। PC-5 এর ক্ষেত্রেও Replay আসতেছে Destination host unreachable. যেহেতু Standard ACL শুধুমাত্র Source Address নিয়ে কাজ করে তাই আমরা চাইলেও এর মাধ্যমে কোন Specific কোন হোস্ট কে ব্লক করতে পারি না । এটা আমরা Standard ACL এর একটি সিমাবদ্ধাও বলতে পারি।

Extended ACL

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

আমরা যদি আগের মতই PC-7 কে Server2 এর জন্য ব্লক করতে চাই তাহলে Extended ACL কে Router 3 এর FastEthernet ইন্টারফেস Fa0/1 এ ইমপ্লিমেন্ট করতে পারি কারণ এই হল Source PC-7 এর সবচেয়ে নিকটের ইন্টারফেস। আমরা যদি চায় তাহলে Router 4 এর FastEthernet Fa0/0 তেও ইমপ্লিমেন্ট করতে পারি তাতে নেটওয়ার্কে ট্রাফক বাড়বে এবং নেটওয়ার্ক স্লো হয়ে যাবে। আর যদি Router 3 এর FastEthernet ইন্টারফেস Fa0/1 এ ইমপ্লিমেন্ট করি তাহলে সেই প্যাকেটটিকে আর সামনে যেতে দিবে না ফলে নেটওয়ার্ক এর ট্রাফিক কমে যাবে। আমরা নিচে Router 3 তে কিভাবে Extended ACL কে ইমপ্লিমেন্ট করতে হয় তা দেখি

Extended ACL Configuration Code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2
Router(config)#access-list 100 permit ip any any

এখানে আমরা একটি Extended ACL এর Access List ক্রিয়েট করলাম । আমরা যদি এখানে এই “Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2” কোডটি নিয়ে বিস্তারিত আলোচনা করি তাহল প্রথমে আসে access-list 100, এখানে এটি হল Access list এর নাম্বার য 100, কারণ যেহেতু এটি Extended ACL আর Extended ACL  এর ক্ষেত্রে আমরা জানি যে তার রেঞ্জ হল 100-199 এবং 2000-2699 পর্যন্ত যে কোন নাম্বার আমরা ব্যবহার করতে পারব। এর পর আছে deny, এখানে deny মানে হচ্ছে তার পারমিশন হচ্ছে ব্লক । এর পর আছে ip host এখানে আমরা ip any, ip source address ও ব্যবহার করতে পারি । যেহেতু আমরা একটি সিঙ্গেল হোস্ট এর জন্য কাজ ACL কে ইমপ্লিমেন্ট করতেছি তাই এখানে ip host ব্যাবহার করা হয়েছে। এরপর আছে সোর্স আড্রেস । আমাদের সোর্স হল 192.168.4.2 এবং তার পর host destination Address, আমাদের destination address  হল 192.168.1.2।

এখানে আমরা একটি Access List ক্রিয়েট করলাম এবার এটিকে আমাদের Apply করতে হবে । নিচে তার কোড দেওয়া হল । আমরা গ্লোবাল কনফিগারেশন মোডে গিয়ে যে ইন্টারফেসে ACL কে ইমপ্লিমেন্ট করতে চাই সেই ইন্টারফেসটিকে সিলেক্ট করি।
Router(config)#int fa 0/1
Router(config-if)#ip access-group 100 in
Router(config-if)#

এখানে আমরা Router 3 এর FastEthernet Fa0/1 এ ACL কে ইমপ্লিমেন্ট করব। তা এখানে আমরা Router(config)#int fa 0/1

এই কোডটি ব্যবহার করেছি । এর পরRouter(config-if)#ip access-group 100 in” এখানে ip access-group 100 এই কমান্ডটির মাধ্যমে আমরা কোন রেঞ্জ এর ACL কে ইমপ্লিমেন্ট করব তা সিলেক্ট করলাম এবং তার Direction কি হবে সেটা এখানে দেওয়া হয়েছে in। অর্থাৎ প্যাকেটগুলি এই ইন্টারফেসে প্রবেশ করবে। যদি এই ইন্টারফেস দিয়ে বের হয়ে যেত তাহলে তার direction হত out.
এবার যদি আমরা PC-7 থেকে Server 2 কে ping করি তাহলে দেখতে পাব যে ping হবে না কিন্তু PC-5 এর সাথে ping হবে। যেটা Standard ACL এর ক্ষেত্রে হত না ।


এবার আমরা যদি চাই যে এই Access list টি রাখব না, খুব সহজ রাউটারের গ্লোবাল কনফিগারেশন মোডে গিয়ে টাইপ করুন “no access-list 100” এখানে 100 এর জয়গায় আপনার ACL এর যে রেঞ্জ হবে তা দিতে হবে।

আমরা দেখলাম যে কোন হোস্টকে কিভাবে অন্য কোন হোস্ট এর জন্য ব্লক করতে হয় । এবার আমরা যদি চাই যে PC-5 Server-2 কে ping করবে, কিন্তু তার ওয়েবপেজ ওপেন করতে পারবে না। অর্থাৎ তার ওয়েব পেজ অ্যাকসেস করতে পারবে না। চলুন দেখি কিভাবে এটা করতে হয়। তার আগে অবশ্যই আমরা আগের Access list টিকে Remove করে দিব। আমরা একটু দেখে নিই PC-5 থেকে আমরা তার ওয়েব পেজটিকে ওপেন করতে পারি কিনা ।


আপনারা উপরের চিত্রে দেখতে পাচ্ছেন আমরা Server-2 ওয়েবপেজটিকে ওপেন করতে পারতেছি । এবার আমরা PC-5 এর http প্রোটকলটিকে Server-2 এর জন্য বন্ধ করে দিব। যতে করে সে আর Server 2 এর ওয়েব পেজটিকে ওপেন করতে না পারে।

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 deny tcp host 192.168.4.2 host 192.168.1.2 eq 80
Router(config)#access-list 100 permit ip any any
Router(config)#int fa 0/1
Router(config-if)#ip access-group 100 in
Router(config-if)#

আমরা যদি উপরের কোড এর দিকে ভাল ভাবে খেয়াল করি তাহলে এখানে সবকিছু আগরে মত্ই, ভিন্ন দুটি জিনিস দেখতে পাচ্ছি তা হল tcp এবং eq 80। চলু আমরা একটু বিষয়টি সম্পর্কে ভালভাবে জানি। আমাদের এখনে মূল কাজ কি? http প্রোটকলকে ব্লক করা, http প্রোটকল যেহেতু TCP মোড এ থাকে তাই আমরা এখানে tcp ব্যবহার করেছি। এর পর eq 80 এখানে eq একটি অপারেটর যার মানে হচ্ছে equal. এখানে আমরা আরো কিছু অপারেটর ব্যবহার করতে পারি যেমন neq = not equal, lt = less then, gt = greater then. যেহেতু আমাদের http protocol এর port number 80 তাই এখানে আমরা 80 ব্যবহার করেছি। আমরা যে প্রোটকলকে ব্লক করতে চাই এখানে আমরা সেই প্রোটকল এর পোর্ট নাম্বার ব্যবহার করব ।

এবা চলুন দেখি যে আমরা Server-2 এর ওয়েব পেজ ওপেন করতে পারি কিনা।


দেখতে পাচ্ছেন আমরা তার ওয়েব পেজটিকে ওপেন হচ্ছেনা। কিন্তু আমরা যদি Server 2 কে ping করি তাহলে দেখব ping হবে।


এভাবে আমরা যে কোন প্রোটকলকেও ব্লক করতে পারি । আশা করি আপনারা ACL সম্পর্কে খুব ভাল একটি ধারণা পেয়েছেন।

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 এর আলাদা আলাদা ডাটাবেজ রয়েছে। অন্য রাউটারগুলিতে শুধু মাত্র ঐ এরিয়া ছাড়া অন্য কোন এরিয়ার ডাটাবেজ থাকেবে না । এভাবে আমরা বড় কোন নেটওয়ার্ককে অলাদা আলাদা এরিয়াতে ভাগ করতে পারি ।