নেটওয়ার্ক টপোলজি
এই পাঠে যা শিখবেন
- ফিজিক্যাল বনাম লজিক্যাল টপোলজির পার্থক্য
- বাস, স্টার, রিং ও মেশ টপোলজির গঠন, সুবিধা ও অসুবিধা
- Single point of failure (SPOF) ধারণা ও কেন এটি নেটওয়ার্ক ডিজাইনে গুরুত্বপূর্ণ
- Python দিয়ে টপোলজিগুলোর ফল্ট-টলারেন্স ও কেবলিং খরচ তুলনা করা
১ · টপোলজি কী — ফিজিক্যাল বনাম লজিক্যাল বিন্যাস
টপোলজিNetwork Topologyনেটওয়ার্কের নোড ও লিংকের বিন্যাস প্যাটার্ন — ফিজিক্যাল (প্রকৃত তার/ডিভাইস কীভাবে বসানো) বা লজিক্যাল (ডেটা আসলে কোন পথে প্রবাহিত হয়) দুই রকমই হতে পারে। বলতে বোঝায় নেটওয়ার্কের ডিভাইসগুলো কীভাবে একে অপরের সাথে সংযুক্ত। মজার ব্যাপার হলো — একটি নেটওয়ার্কের ফিজিক্যাল বিন্যাস (তার আসলে কীভাবে টানা) এবং তার লজিক্যাল বিন্যাস (ডেটা আসলে কীভাবে প্রবাহিত হয়) সবসময় এক নাও হতে পারে। যেমন — যদি কেন্দ্রীয় ডিভাইসটি একটি সাধারণ হাব হয় (সুইচ নয়), তাহলে ফিজিক্যালি এটি স্টার-আকৃতির তারের বিন্যাস হলেও, লজিক্যালি এটি এখনও একটি বাস-এর মতোই আচরণ করে — কারণ হাব প্রতিটি সিগন্যাল সবগুলো পোর্টে সম্প্রচার করে (M3/L12-এ সুইচের সাথে এই পার্থক্য বিস্তারিত দেখব)।
২ · বাস টপোলজি (Bus)
একটি একক শেয়ার্ড কেবল (backbone) — সবগুলো ডিভাইস সরাসরি এই কেবলে ট্যাপ করে সংযুক্ত থাকে, আর যেকোনো ডিভাইসের পাঠানো সিগন্যাল পুরো কেবল বরাবর সবার কাছে পৌঁছায়। কেবলের দুই প্রান্তে টার্মিনেটর থাকে যাতে সিগন্যাল প্রতিফলিত না হয়।
- সুবিধা: সবচেয়ে কম কেবলিং খরচ, বসানো সহজ।
- অসুবিধা: শেয়ার্ড মাধ্যম হওয়ায় কলিশন-প্রবণ; এবং কেবলের যেকোনো একটি ব্রেক পুরো সেগমেন্টকে অচল করে দেয়।
৩ · স্টার টপোলজি (Star)
সবগুলো ডিভাইস একটি কেন্দ্রীয় হাব বা সুইচের সাথে পৃথক তারে সংযুক্ত — এটিই আজকের সবচেয়ে প্রচলিত টপোলজি (প্রায় প্রতিটি বাসা বা অফিস LAN)।
- সুবিধা: একটি ডিভাইসের তার নষ্ট হলে শুধু সেই ডিভাইসটিই প্রভাবিত হয়, বাকিরা স্বাভাবিকভাবে চলতে থাকে।
- অসুবিধা: কেন্দ্রীয় হাব/সুইচ নষ্ট হলে পুরো নেটওয়ার্ক বিচ্ছিন্ন হয়ে যায় — এটি একটি single point of failure (SPOF)।
৪ · রিং টপোলজি (Ring)
প্রতিটি নোড ঠিক দুইটি প্রতিবেশী নোডের সাথে সংযুক্ত, একটি বদ্ধ লুপ তৈরি করে। ঐতিহ্যবাহী রিং নেটওয়ার্কগুলো টোকেন পাসিং ব্যবহার করত — শুধু যে নোডের কাছে "টোকেন" থাকে সেই ট্রান্সমিট করতে পারে, ফলে কলিশন এড়ানো যায়।
- সুবিধা: কলিশন-মুক্ত, প্রতিটি নোড সমান সুযোগ পায়।
- অসুবিধা: একটি লিংক ভেঙে গেলে পুরো রিং বিঘ্নিত হতে পারে — যদি না ডুয়াল-রিং রিডানডেন্সি থাকে (দুটি বিপরীতমুখী রিং, যেমন FDDI নেটওয়ার্ক)।
৫ · মেশ টপোলজি (Mesh)
প্রতিটি নোড অনেক বা সবগুলো অন্য নোডের সাথে সরাসরি সংযুক্ত — সর্বোচ্চ রিডানডেন্সি ও ফল্ট-টলারেন্স দেয়, কিন্তু কেবলিং খরচ ও জটিলতা দ্রুত বাড়ে। nটি নোডের একটি পূর্ণ (full) মেশে প্রয়োজনীয় লিংক সংখ্যা —
$$ \text{লিংক সংখ্যা} = \frac{n(n-1)}{2} $$
যেমন ৪টি নোডে ৬টি লিংক লাগে, কিন্তু ২০টি নোডে লাগে ১৯০টি — এই দ্রুত (quadratic) বৃদ্ধিই ব্যাখ্যা করে কেন পূর্ণ মেশ সাধারণত শুধু ব্যাকবোন/WAN-এর ছোট, ক্রিটিক্যাল অংশেই ব্যবহৃত হয় (নিচের কোড সেলে নিজে যাচাই করুন)।
প্রতিটি টপোলজির মূল ট্রেড-অফ একটাই প্রশ্নে ফিরে আসে — ফল্ট-টলারেন্স বনাম খরচ। বেশি রিডানডেন্সি (মেশ) মানে বেশি নির্ভরযোগ্যতা কিন্তু বেশি কেবলিং খরচ; কম রিডানডেন্সি (বাস) মানে সস্তা কিন্তু ভঙ্গুর। বাস্তব নেটওয়ার্ক ডিজাইন সবসময় এই দুই প্রান্তের মধ্যে একটি ব্যালেন্স খোঁজে।
৬ · হাইব্রিড টপোলজি
বাস্তব নেটওয়ার্ক প্রায় কখনোই একটিমাত্র "খাঁটি" টপোলজি ব্যবহার করে না — সাধারণত একাধিক টপোলজির মিশ্রণ (যেমন star-of-stars: একাধিক ছোট স্টার LAN পরস্পর সংযুক্ত হয়ে একটি বড় ট্রি-আকৃতির কাঠামো তৈরি করে)। একটি বড় অফিস ভবনের প্রতিটি ফ্লোরে একটি করে স্টার সুইচ থাকতে পারে, আর সেই সুইচগুলো নিজেরা একটি ব্যাকবোনের মাধ্যমে সংযুক্ত থাকে — এটিই একটি সাধারণ হাইব্রিড ডিজাইন।
# টপোলজি তুলনা — ফল্ট-টলারেন্স, কেবলিং খরচ ও single point of failure
topologies = {
"Bus": {"ফল্ট_টলারেন্স": "নিম্ন", "কেবলিং_খরচ": "সর্বনিম্ন", "SPOF": "শেয়ার্ড কেবল (ব্রেক হলে পুরো সেগমেন্ট অচল)"},
"Star": {"ফল্ট_টলারেন্স": "মধ্যম", "কেবলিং_খরচ": "মধ্যম", "SPOF": "কেন্দ্রীয় হাব/সুইচ"},
"Ring": {"ফল্ট_টলারেন্স": "মধ্যম", "কেবলিং_খরচ": "মধ্যম", "SPOF": "যেকোনো একটি লিংক (ডুয়াল-রিং না থাকলে)"},
"Mesh": {"ফল্ট_টলারেন্স": "সর্বোচ্চ", "কেবলিং_খরচ": "সর্বোচ্চ", "SPOF": "নেই (পূর্ণ মেশে)"},
}
print("টপোলজি তুলনা:")
for name, info in topologies.items():
print(f"\n{name}:")
for key, value in info.items():
print(f" {key}: {value}")
# মেশ টপোলজিতে নোড বাড়ার সাথে সাথে প্রয়োজনীয় লিংক সংখ্যা কীভাবে বাড়ে (n নোডের জন্য n*(n-1)/2 লিংক)
print("\nপূর্ণ মেশে নোড সংখ্যা বনাম প্রয়োজনীয় লিংক সংখ্যা:")
for n in [4, 10, 20]:
links = n * (n - 1) // 2
print(f" {n} নোড -> {links}টি লিংক প্রয়োজন")
টপোলজি নির্বাচন আসলে একটি প্রকৌশল সিদ্ধান্ত — বাজেট, প্রয়োজনীয় নির্ভরযোগ্যতা, ও স্কেলের ভিত্তিতে। বাস্তব নেটওয়ার্ক প্রায় সবসময় হাইব্রিড, কারণ কোনো একক "খাঁটি" টপোলজি সব পরিস্থিতিতে সর্বোত্তম নয়। পরবর্তী পাঠে (L03) আমরা দেখব কীভাবে OSI মডেল এই ফিজিক্যাল বিন্যাসের উপরে আরও অনেক স্তর যোগ করে সম্পূর্ণ যোগাযোগ ব্যবস্থা তৈরি করে।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ কেন একটি হাব-ভিত্তিক নেটওয়ার্ক ফিজিক্যালি স্টার হলেও লজিক্যালি বাসের মতো আচরণ করে?
একটি হাব কোনো "শিক্ষা" (learning) ছাড়াই যেকোনো পোর্টে আসা সিগন্যাল বাকি সবগুলো পোর্টে হুবহু সম্প্রচার করে দেয় — ঠিক যেমন একটি শেয়ার্ড বাস কেবলে যেকোনো সিগন্যাল সবার কাছে পৌঁছায়। তাই যদিও তারের বিন্যাস দেখতে স্টার-আকৃতির, সিগন্যাল প্রবাহের আচরণ (সবাই সবকিছু শোনে) ঠিক বাসের মতোই — এটিই লজিক্যাল টপোলজির ধারণা। একটি সুইচ (M3/L12) এই সমস্যা সমাধান করে, কারণ এটি শুধু সঠিক গন্তব্য পোর্টে ফ্রেম পাঠায়।
প্র ০২ ফুল মেশ সবচেয়ে বেশি ফল্ট-টলারেন্ট হওয়া সত্ত্বেও কেন বড় নেটওয়ার্কে সরাসরি ব্যবহার করা হয় না?
কারণ প্রয়োজনীয় লিংক সংখ্যা নোড সংখ্যার সাথে quadratic হারে বাড়ে (n(n-1)/2) — মাত্র ২০টি নোডেই ১৯০টি লিংক লাগে। এত কেবলিং খরচ ও জটিলতা সাধারণ LAN-এর জন্য অবাস্তব, তাই ফুল মেশ শুধু ছোট, ক্রিটিক্যাল ব্যাকবোন সেগমেন্টে ব্যবহৃত হয়, আর বড় নেটওয়ার্কে পার্শিয়াল মেশ বা হাইব্রিড ডিজাইন বেছে নেওয়া হয়।
প্র ০৩ ডুয়াল-রিং (dual-ring) কীভাবে রিং টপোলজির একক-লিংক-ব্যর্থতার দুর্বলতা সমাধান করে?
ডুয়াল-রিং-এ দুটি বিপরীতমুখী রিং থাকে (যেমন FDDI নেটওয়ার্ক)। স্বাভাবিক অবস্থায় শুধু একটি রিং সক্রিয়ভাবে ডেটা বহন করে; কোনো একটি লিংক ভেঙে গেলে, নেটওয়ার্ক দ্বিতীয় রিংটি বিপরীত দিকে ব্যবহার করে ট্রাফিক পুনর্গঠন করে ("wrap" করে) — ফলে একটি একক ব্রেকেও পুরো নেটওয়ার্ক অচল হয় না, এটি একটি self-healing ডিজাইন।
অনুশীলন
-
চিন্তা করুন: আপনার বাসার WiFi রাউটার-ভিত্তিক নেটওয়ার্ক কোন টপোলজি ব্যবহার করে বলে মনে হয়?
এটি একটি স্টার টপোলজি — প্রতিটি ডিভাইস (ফোন, ল্যাপটপ, স্মার্ট টিভি) সরাসরি কেন্দ্রীয় রাউটারের সাথে (তারবিহীনভাবে বা তারযুক্তভাবে) সংযুক্ত থাকে। রাউটার নষ্ট হলে বা রিস্টার্ট হলে পুরো বাসার নেটওয়ার্ক সাময়িকভাবে বিচ্ছিন্ন হয়ে যায় — এটিই স্টার টপোলজির ক্লাসিক single point of failure।
-
পরীক্ষা করুন: উপরের কোড সেলে
n-এর তালিকায় ৫০ যোগ করে দেখুন পূর্ণ মেশে কতগুলো লিংক প্রয়োজন হয়।৫০টি নোডের জন্য 50×49/2 = ১২২৫টি লিংক প্রয়োজন হবে — মাত্র ২০ থেকে ৫০-এ নোড বাড়ানোতেই লিংক সংখ্যা ১৯০ থেকে ১২২৫-এ পৌঁছে যায়, যা quadratic বৃদ্ধির প্রভাব স্পষ্টভাবে দেখায়।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ পরবর্তী পাঠ — OSI মডেলের সাতটি স্তর — এই টপোলজির উপরেই গড়ে ওঠা প্রোটোকল স্তরগুলো ব্যাখ্যা করবে।
- Cloud Computing & DevOps কোর্স সঙ্গী কোর্স ক্লাউডে VPC, লোড ব্যালেন্সার ও DNS কীভাবে ব্যবহারিকভাবে কনফিগার করা হয় তা শিখতে দেখুন।
- Cybersecurity & Ethical Hacking কোর্স সঙ্গী কোর্স নেটওয়ার্ক প্রোটোকলের দুর্বলতা কীভাবে আক্রমণ ও প্রতিরক্ষার ভিত্তি হয়ে ওঠে তা শিখতে দেখুন।
- সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, DBMS, Discrete Mathematics, System Design, Cybersecurity, Cloud Computing & DevOps ও Computer Networks — সব এক জায়গায়।