এই পর্বে যা শিখবেন
- নেটওয়ার্কের লিখিত উত্তর নম্বর-ভাগের ক্রমে সাজানো, লেবেলসহ ছবি আঁকা আর সময় ভাগ করা
- OSI বনাম TCP/IP, CSMA/CD, ARQ, VLSM, DHCP–ARP, NAT আর IPv6-এর ক্লাসিক দীর্ঘ প্রশ্নের নির্ভুল মডেল উত্তর
- Distance vector বনাম link state, TCP-র handshake আর congestion control — টেবিল, গ্রাফ আর যাচাই করা হিসাবসহ
- DNS, HTTP, HTTPS, firewall, socket, SDN আর সমস্যা খোঁজার পদ্ধতি নিয়ে গোছানো উত্তর
- ভাইভায় দুই–পাঁচ বাক্যে নির্ভুল উত্তর, follow-up সামলানো আর AI-এর দেওয়া উত্তর যাচাই করা
১ · পরীক্ষক কী খোঁজেন — নেটওয়ার্কের উত্তরের কাঠামো, ছবি আর সময়
MCQ-তে উত্তর ঠিক বা ভুল; লিখিত পরীক্ষা আর ভাইভা আলাদা। দুজন একই TCP জানেন, অথচ একজন বেশি নম্বর পান — কারণ তিনি handshake-এর প্রতিটি তীরে flag, seq, ack লিখেছেন, “কেন দুই ধাপে নয়” বলেছেন, আর শেষে SYN flood-এর কথা তুলেছেন। পরীক্ষকের হাতে থাকে একটি মার্ক-স্কিম — কোন অংশে কত নম্বর; উত্তর সেই অংশগুলো চোখের সামনে সাজালে নম্বর হারায় না।
- সংজ্ঞা (এক–দুই বাক্য): নির্ভুল, শর্তসহ। “Protocol হলো যোগাযোগের নিয়মের সেট — বার্তার গঠন (syntax), প্রতিটি অংশের মানে (semantics) আর কখন কী পাঠাতে হবে (timing).”
- ছবি বা টেবিল: স্তরের ছবি, সময়রেখা (timeline), flowchart, routing table বা তুলনার টেবিল। প্রতিটি তীর, বাক্স আর অক্ষের নাম লিখুন; সংখ্যা থাকলে ছবিতেই বসান।
- ব্যাখ্যা: ছবির প্রতিটি অংশ কেন আছে — ধাপে ধাপে, নম্বর দিয়ে।
- উদাহরণ: ছোট, নির্দিষ্ট সংখ্যায় — একটি IP ঠিকানা, তিনটি router, একটি ১,৫০০ বাইটের packet. সংখ্যা দিলে হিসাব দেখান, একক লিখুন।
- সুবিধা ও সীমা: প্রতিটি নকশার দাম আছে — গতি, overhead, নিরাপত্তা, জটিলতা। শেষে এক লাইনে বাস্তব প্রয়োগ: “আজকের switched full-duplex Ethernet-এ CSMA/CD আর চলে না।”
নিচের প্রতিটি মডেল উত্তর এই ক্রম মেনেছে — মুখস্থ নয়, কাঠামোটি শিখে নিজের ভাষায় লিখুন।
প্রশ্নের ধরন অনুযায়ী নম্বর-ভাগ
| ধরন | যাতে নম্বর আসে | যাতে নম্বর কাটে |
|---|---|---|
| পার্থক্য বা তুলনা | একই মাপকাঠির সারি দিয়ে টেবিল (স্তর, একক, সংযোগ, নির্ভরযোগ্যতা, উদাহরণ) | দুই কলামে আলাদা আলাদা কথা; উদাহরণ নেই |
| ছবিসহ ব্যাখ্যা | লেবেলসহ স্তর, সময়রেখায় তীরের নাম আর মান, flowchart-এর প্রতিটি সিদ্ধান্ত | নামহীন তীর; seq/ack-এর মান নেই; ভুল দিকের তীর |
| Numerical | প্রথা আর অনুমান লেখা, সূত্র, একক রূপান্তর (bytes → bits, ms → s), চূড়ান্ত উত্তর আলাদা করে | শুধু শেষ সংখ্যা; byte আর bit গুলিয়ে ফেলা; একক নেই |
| নকশা (VLSM, টপোলজি) | বড় প্রয়োজন আগে, প্রতিটি subnet-এর network, range, broadcast আর mask-এর টেবিল, বাকি জায়গা | overlap; network বা broadcast ঠিকানা host-কে দেওয়া |
ছবি আঁকার নিয়ম — খাতায় আর এই পাতায়
- স্তরের ছবি: দুটি কলাম পাশাপাশি, একই উচ্চতায় মেলানো স্তর (যেমন OSI-র Session–Presentation–Application মিলে TCP/IP-র Application), পাশে প্রতিটি স্তরের PDU-র নাম।
- সময়রেখা (timeline): দুটি খাড়া রেখা (client আর server), সময় নিচের দিকে, তির্যক তীর — কারণ propagation-এ সময় লাগে। প্রতিটি তীরে flag, seq, ack লিখুন।
- Flowchart: সিদ্ধান্তের বাক্সে হ্যাঁ/না দুটি পথই আঁকুন; লুপ কোথায় ফেরে তা তীরে দেখান।
কত লিখবেন, কত সময় দেবেন
২ নম্বর বা সংক্ষিপ্ত টীকা মানে দুই–তিন বাক্য; ৫ নম্বরে ১২০–১৮০ শব্দ আর একটি ছবি বা টেবিল; ১০ নম্বরে ৩০০–৪০০ শব্দ, দুটি ছবি বা টেবিল আর একটি হিসাব। সময়: মোট মিনিট ÷ মোট নম্বর — ১৮০ মিনিটে ৯০ নম্বর হলে প্রতি নম্বরে দুই মিনিট। শুরুতে পাঁচ মিনিট প্রশ্ন বাছাইয়ে, শেষে দশ মিনিট মেলাতে রাখুন; numerical-এ আটকে গেলে পদ্ধতি লিখে এগিয়ে যান।
নিচের stepper-এ একটি ৬ নম্বরের প্রশ্নের উত্তর ধাপে ধাপে গড়া হয়েছে — প্রতিটি অংশ যোগ হলে নম্বর কীভাবে জমে, আর সময় কতটা যায়:
| যোগ হলো | |
| খাতায় যা লিখলেন | |
| জমা নম্বর | |
| খরচ হওয়া সময় |
- পরিকল্পনা। মার্জিনে চার শব্দের খসড়া — এক মিনিটে কাঠামো ঠিক, কোনো অংশ বাদ পড়বে না।
- সংজ্ঞা — ১ নম্বর। “Learning switch একটি data link স্তরের যন্ত্র, যা frame-এর source MAC দেখে কোন port-এ কে আছে শেখে আর destination MAC দেখে frame কোথায় পাঠাবে ঠিক করে।”
- নিয়ম — আরও ২ নম্বর। তিনটি নিয়ম নম্বর দিয়ে: (১) source MAC আর ইনপুট port টেবিলে লেখা; (২) destination টেবিলে থাকলে শুধু সেই port-এ পাঠানো, একই port হলে ফেলে দেওয়া (filter); (৩) অজানা বা broadcast হলে আসা port বাদে সব port-এ flood. সঙ্গে aging — নির্দিষ্ট সময় ব্যবহার না হলে entry মোছে।
- উদাহরণ — আরও ২ নম্বর। A (port 1), B (port 2), C (port 3). A→B: A@1 শেখা, flood. B→A: B@2 শেখা, শুধু port 1. C-এর broadcast: C@3 শেখা, port 1 আর 2-এ flood. টেবিলের তিন সারি আঁকুন।
- সীমা — শেষ ১ নম্বর। টেবিল ভরিয়ে দেওয়ার আক্রমণ (MAC flooding) হলে switch hub-এর মতো flood করে — প্রতিরক্ষা port security; দুই switch-এর মাঝে loop হলে broadcast চিরকাল ঘোরে — প্রতিরক্ষা STP. ১২ মিনিটে ৬ নম্বর।
কোন মডিউলের প্রশ্ন কোথায়
| কোর্সের মডিউল | পর্ব | লিখিত প্রশ্ন | ভাইভা প্রশ্ন |
|---|---|---|---|
| ১ · নেটওয়ার্কের ভিত্তি | ০১–০৬ | অংশ ২ (ক-০১–ক-০২) | ভ-০১–ভ-০৬ |
| ২ · Physical আর data link | ০৭–১৪ | অংশ ৩ (খ-০১–খ-০৫) | ভ-০৭–ভ-১৩ |
| ৩ · Network স্তর | ১৫–২১ | অংশ ৪ (গ-০১–গ-০৪) | ভ-১৪–ভ-২৩ |
| ৪ · Routing | ২২–২৬ | অংশ ৫ (ঘ-০১–ঘ-০৩) | ভ-২৪–ভ-২৮ |
| ৫ · Transport স্তর | ২৭–৩৩ | অংশ ৬ (ঙ-০১–ঙ-০৩) | ভ-২৯–ভ-৩৫ |
| ৬–৯ · Application, socket, নিরাপত্তা, আধুনিক নেটওয়ার্ক | ৩৪–৫৭ | অংশ ৭ (চ-০১–চ-০৬) | ভ-৩৬–ভ-৬০ |
এই পাতার কোনো প্রশ্ন কোনো নির্দিষ্ট পরীক্ষা বা প্রতিষ্ঠানের ইন্টারভিউ থেকে নেওয়া নয়; এগুলো বিশ্ববিদ্যালয়, চাকরি বা ইন্টারভিউর পরীক্ষায় প্রায়ই আসা ধরনের প্রশ্ন। নম্বর আনুমানিক; প্রতিটি numerical-এর প্রথা প্রশ্নেই লেখা। সব ঠিকানা উদাহরণের জন্য সংরক্ষিত বা private পরিসরের।
২ · অংশ ক — নেটওয়ার্কের ভিত্তি (মডিউল ১)
রিভিশন: পর্ব ০১ (নেটওয়ার্ক ও protocol), পর্ব ০২ (ধরন ও topology), পর্ব ০৩ (OSI, TCP/IP, encapsulation), পর্ব ০৪ (circuit বনাম packet switching), পর্ব ০৫ (delay ও throughput) আর পর্ব ০৬ (Linux টুল).
ক-০১OSI আর TCP/IP মডেলের তুলনা করুন — ছবিসহ। প্রতিটি স্তরের কাজ আর PDU-র নাম লিখুন। Encapsulation কী? — ১০ নম্বর (সহজ, ছবিসহ)
সংজ্ঞা: OSI মডেল হলো ISO-র সাত স্তরের ধারণাগত কাঠামো — কোন কাজ কোন স্তরে হবে তা ভাগ করে দেয়, নির্দিষ্ট protocol বাধ্য করে না। TCP/IP মডেল ইন্টারনেটের আসল protocol-গুলো (IP, TCP, UDP) ঘিরে গড়া চার স্তরের মডেল — link, internet, transport, application; অনেক বই link-কে physical আর data link-এ ভেঙে পাঁচ স্তরে পড়ায়।
OSI (7) TCP/IP (4) PDU
+----------------+ +------------------+
| 7 Application | | |
| 6 Presentation | --> | Application | message / data
| 5 Session | | |
+----------------+ +------------------+
| 4 Transport | --> | Transport | segment (TCP) / datagram (UDP)
+----------------+ +------------------+
| 3 Network | --> | Internet | packet (IP datagram)
+----------------+ +------------------+
| 2 Data link | | | frame
| 1 Physical | --> | Link | bits
+----------------+ +------------------+
| মাপকাঠি | OSI | TCP/IP |
|---|---|---|
| স্তর | ৭টি | ৪টি (বইভেদে ৫) |
| জন্ম | আগে মডেল, পরে protocol — ISO-র মানক | আগে protocol (ARPANET-এর অভিজ্ঞতা), পরে মডেল |
| Session ও presentation | আলাদা স্তর | application-এর ভেতরে (যেমন TLS, ডেটার রূপ) |
| Network স্তরের সেবা | connection-oriented আর connectionless দুটিই ভাবা হয়েছিল | শুধু connectionless — IP best effort |
| বাস্তব ব্যবহার | শেখানো আর সমস্যা বর্ণনার ভাষা (“layer 2 সমস্যা”) | আজকের ইন্টারনেট এটিই চালায় |
স্তরের কাজ: Physical — বিট থেকে সংকেত; Data link — এক hop-এ frame, MAC; Network — routing, IP; Transport — port, নির্ভরযোগ্যতা; Session — সংলাপ; Presentation — ডেটার রূপ, encryption; Application — HTTP, DNS-এর মতো সেবা।
Encapsulation: পাঠানোর সময় প্রতিটি স্তর ওপরের স্তরের ডেটার সামনে নিজের header জোড়ে (data link শেষে trailer-ও, যেমন FCS) — চিঠি খামে, খাম বস্তায়, বস্তা ট্রাকে। গ্রহীতা নিচ থেকে ওপরে প্রতিটি header খুলে (decapsulation) ঠিক স্তরে তুলে দেয়। উদাহরণ: ব্রাউজারের HTTP request → TCP header (port 443) → IP header (গন্তব্য IP) → Ethernet header (পরের hop-এর MAC) → বিট।
সুবিধা ও সীমা: একটি স্তর বদলালে (Wi-Fi থেকে fiber) বাকিগুলো একই থাকে, সমস্যা খোঁজা সহজ; দাম — প্রতিটি header-এর overhead, আর কখনো স্তরের নিয়ম ভাঙা (NAT port বদলায়)।
নম্বর কোথায়: দুটির সংজ্ঞা (২), লেবেলসহ পাশাপাশি ছবি (২), তুলনার টেবিল (২), প্রতিটি স্তরের কাজ ও PDU (২), encapsulation-এর উদাহরণ (২)। পর্ব ০৩
ক-০২Circuit switching আর packet switching-এর পার্থক্য লিখুন। একটি ১,৫০০ বাইটের packet ২,০০০ km লম্বা ১০ Mbps link দিয়ে যায়; সংকেতের গতি ২ × ১০৮ m/s. Transmission আর propagation delay কত? মাঝে দুটি store-and-forward router রেখে তিনটি সমান link (মোট দূরত্ব একই, প্রতিটি ১০ Mbps) হলে মোট delay কত? Processing আর queuing delay শূন্য ধরুন। — ৮ নম্বর (মাঝারি)
সংজ্ঞা: Circuit switching-এ কথা শুরুর আগে পুরো পথে নির্দিষ্ট সম্পদ (একটি TDM slot বা frequency) সংরক্ষিত হয় — পুরোনো টেলিফোনের মতো। Packet switching-এ ডেটা ছোট packet-এ ভাগ হয়; প্রতিটি packet নিজের header নিয়ে link ভাগাভাগি করে যায়, router পুরো packet পেয়ে তবে পাঠায় (store-and-forward).
| মাপকাঠি | Circuit switching | Packet switching |
|---|---|---|
| সংযোগ স্থাপন | লাগে, আগে | লাগে না (datagram) |
| সম্পদ | সংরক্ষিত — চুপ থাকলেও নষ্ট | চাহিদামতো ভাগ (statistical multiplexing) |
| Delay | স্থির, অনুমানযোগ্য | পরিবর্তনশীল — queuing আছে |
| Loss | সংযোগ পেলে প্রায় নেই | buffer ভরলে packet পড়ে যায় |
| উপযোগী | স্থির হারের কথা (পুরোনো PSTN) | bursty ডেটা — ইন্টারনেট |
হিসাব: L = ১,৫০০ × ৮ = ১২,০০০ বিট। Transmission delay = L/R = ১২,০০০ / (১০ × ১০৬) = ১.২ ms. Propagation delay = d/s = (২ × ১০৬ m) / (২ × ১০৮ m/s) = ১০ ms. এক link-এ মোট ১১.২ ms.
তিন link হলে: প্রতিটি router পুরো packet পেয়ে তবে পাঠায়, তাই transmission তিনবার: ৩ × ১.২ = ৩.৬ ms; propagation মোট দূরত্বে একই ১০ ms. মোট ১৩.৬ ms. সাধারণ সূত্র — N টি link, প্রতিটি R: N·L/R + মোট d/s.
নম্বর কোথায়: সংজ্ঞা (২), তুলনার টেবিল (২), দুই delay সূত্র ও একক (২), store-and-forward-এর তিনগুণ transmission (২)। পর্ব ০৪ · পর্ব ০৫
৩ · অংশ খ — Physical আর data link স্তর (মডিউল ২)
রিভিশন: পর্ব ০৭ (Nyquist–Shannon), পর্ব ০৮ (মাধ্যম, multiplexing), পর্ব ০৯ (CRC, Hamming), পর্ব ১০ (ARQ), পর্ব ১১ (ALOHA, CSMA), পর্ব ১২ (Ethernet, switch, STP), পর্ব ১৩ (VLAN) আর পর্ব ১৪ (Wi-Fi).
খ-০১CSMA/CD-র কাজের ধাপ flowchart দিয়ে ব্যাখ্যা করুন। Minimum frame size কেন লাগে? ১০০ Mbps-এর একটি bus-এ দুই প্রান্তের দূরত্ব ১ km, সংকেতের গতি ২ × ১০৮ m/s হলে সর্বনিম্ন frame কত বাইট? Wi-Fi কেন CSMA/CD ব্যবহার করে না? — ১০ নম্বর (মাঝারি, ছবিসহ)
সংজ্ঞা: CSMA/CD (Carrier Sense Multiple Access with Collision Detection) একটি ভাগ করা তারে (bus বা hub) কে কখন পাঠাবে তার নিয়ম: পাঠানোর আগে শোনা (carrier sense), পাঠানোর সময়ও শোনা, ধাক্কা (collision) টের পেলে থামা আর এলোমেলো সময় পরে আবার চেষ্টা।
[frame ready] n = 0
|
v
+-----------------+ busy
| channel idle? --|--------+ (keep sensing: 1-persistent)
+-----------------+ |
| yes ^------------+
v
[transmit, keep listening]
|
+-----------------+ no
| collision? |--------> [success, n = 0]
+-----------------+
| yes
v
[stop, send jam signal] n = n + 1
|
+-----------------+ yes
| n > 15 ? |--------> [give up, report error]
+-----------------+
| no
v
[pick K from 0 .. 2^min(n,10) - 1, wait K x slot time] --> back to "channel idle?"
ব্যাখ্যা: (১) channel ফাঁকা হলে পাঠানো, ব্যস্ত হলে অপেক্ষা; (২) পাঠানোর সময় collision ধরা; (৩) ধরা পড়লে থেমে ছোট jam signal (Ethernet-এ ৩২ বিট), যাতে সবাই টের পায়; (৪) binary exponential backoff — n-তম collision-এর পর ০ থেকে ২min(n,১০) − ১-এর মধ্যে এলোমেলো K, তারপর K × slot time অপেক্ষা (১০ Mbps-এ ৫১.২ µs); ১৬তম ব্যর্থ চেষ্টার পর হাল ছাড়া।
Minimum frame size-এর যুক্তি: সবচেয়ে খারাপ ক্ষেত্রে A-র সংকেত B-তে পৌঁছানোর ঠিক আগে B পাঠানো শুরু করে; B-র সংকেত ফিরে A-তে আসতে আরও এক Tp. তাই collision টের পেতে A-কে অন্তত ২Tp সময় ধরে পাঠাতে হয় — নইলে A ভাববে সফল। শর্ত Tt ≥ ২Tp, অর্থাৎ L/R ≥ ২d/v, তাই Lmin = ২·d·R/v.
হিসাব: Tp = ১,০০০ / (২ × ১০৮) = ৫ µs; ২Tp = ১০ µs; Lmin = ১০ × ১০−৬ × ১০০ × ১০৬ = ১,০০০ বিট = ১২৫ বাইট.
Wi-Fi কেন নয়: বেতারে নিজের পাঠানো সংকেত অন্যের দুর্বল সংকেতকে ঢেকে দেয়, তাই পাঠাতে পাঠাতে শোনা কার্যত অসম্ভব; তার ওপর hidden terminal — দুটি station access point শুনতে পায় কিন্তু একে অন্যকে নয়। তাই Wi-Fi CSMA/CA নেয়: আগে থেকে এলোমেলো অপেক্ষা, ACK দিয়ে সাফল্য নিশ্চিত, দরকারে RTS/CTS.
সীমা ও বাস্তবতা: ভার বাড়লে collision বাড়ে; গতি বাড়লে minimum frame বড় হয়। আজকের switched full-duplex Ethernet-এ collision-ই হয় না, তাই CSMA/CD কার্যত বন্ধ।
নম্বর কোথায়: সংজ্ঞা (১), লেবেলসহ flowchart (৩), jam আর backoff-এর ব্যাখ্যা (২), minimum frame-এর যুক্তি ও হিসাব (২), Wi-Fi আর full-duplex-এর মন্তব্য (২)। পর্ব ১১ · পর্ব ১৪
খ-০২একটি টেলিফোন লাইনের bandwidth ৩,০০০ Hz, SNR ৩০ dB. Shannon অনুযায়ী সর্বোচ্চ ডেটা-হার কত? শব্দহীন ধরে ৪টি সংকেত-স্তরে Nyquist হার কত? দুটি সূত্রের পার্থক্য কী? — ৫ নম্বর (সহজ)
SNR রূপান্তর: ৩০ dB = ১০ log১০(SNR) ⇒ SNR = ১০৩ = ১,০০০ (dB সরাসরি সূত্রে বসানো সবচেয়ে চেনা ভুল)।
Shannon: C = B log২(১ + SNR) = ৩,০০০ × log২(১,০০১) ≈ ৩,০০০ × ৯.৯৭ ≈ ২৯,৯০০ bps ≈ ২৯.৯ kbps.
Nyquist: শব্দহীন channel-এ সর্বোচ্চ হার = ২B log২M = ২ × ৩,০০০ × ২ = ১২,০০০ bps.
পার্থক্য: Nyquist শব্দহীন channel-এ স্তর বাড়িয়ে হার বাড়ানোর সীমা দেয় — যত স্তর তত হার। Shannon শব্দ ধরে চূড়ান্ত সীমা দেয় — কোনো encoding-ই এর বেশি নির্ভুলভাবে পাঠাতে পারে না। Shannon-এর হার পেতে স্তর লাগত প্রায় ২C/২B ≈ ৩২.
নম্বর কোথায়: dB রূপান্তর (১), Shannon হিসাব (২), Nyquist হিসাব (১), পার্থক্য (১)। পর্ব ০৭
খ-০৩ডেটা 1101011011, generator x4 + x + 1. CRC বের করুন, পাঠানো বিট-ধারা লিখুন, আর গ্রহীতা কীভাবে যাচাই করে দেখান। CRC কোন ধরনের error নিশ্চিত ধরে? — ৬ নম্বর (মাঝারি)
ধাপ ১: Generator-এর বিট 10011 (degree r = ৪), তাই ডেটার শেষে চারটি শূন্য: 11010110110000.
ধাপ ২ — modulo-২ ভাগ (XOR, ধার নেই): যেখানে সামনের বিট ১, সেখানে 10011 দিয়ে XOR:
1101011011 0000
11010 (bits 1-5)
10011 XOR -> 01001
10011 (bits 2-6)
10011 XOR -> 00000
10110 (bits 7-11)
10011 XOR -> 00101
10100 (bits 9-13)
10011 XOR -> 00111
remainder (last 4 bits) = 1110
ধাপ ৩: CRC = 1110; পাঠানো ধারা = ডেটা + CRC = 11010110111110.
গ্রহীতা: পুরো ১৪ বিট একই 10011 দিয়ে ভাগ করে; ভাগশেষ 0000 হলে error ধরা পড়েনি, শূন্য না হলে frame বাতিল। (যাচাই script-এ ভাগশেষ 0000 এসেছে।)
কী ধরে: x + 1 উৎপাদক থাকা generator-এ সব বিজোড়-সংখ্যক বিটের error; সব একক আর দুই-বিটের error (উপযুক্ত generator-এ); আর r বা তার কম দৈর্ঘ্যের সব burst error. CRC শুধু ধরে, ঠিক করে না, আর ইচ্ছাকৃত পরিবর্তন থেকে রক্ষা করে না।
নম্বর কোথায়: শূন্য যোগ (১), ভাগের ধাপ (২), CRC ও পাঠানো ধারা (১), গ্রহীতার যাচাই (১), কী ধরে (১)। পর্ব ০৯
খ-০৪Stop-and-wait-এর efficiency সূত্র বের করুন। ১,০০০ বিটের frame, ১ Mbps link, একমুখী propagation ২০ ms — efficiency কত? পূর্ণ ব্যবহারে window কত লাগবে, আর Go-Back-N ও Selective Repeat-এ sequence number-এর জন্য কত বিট লাগবে? ACK-এর transmission time আর processing শূন্য ধরুন। — ৮ নম্বর (মাঝারি)
সূত্র: এক frame পাঠাতে Tt, তারপর ACK ফিরে আসা পর্যন্ত ২Tp চুপ। এক চক্র = Tt + ২Tp, কাজের সময় Tt. তাই U = Tt / (Tt + ২Tp) = ১/(১ + ২a), যেখানে a = Tp/Tt.
হিসাব: Tt = ১,০০০ / ১০৬ = ১ ms; a = ২০/১ = ২০; U = ১/৪১ ≈ ২.৪৪% — link প্রায় পুরো সময় অলস।
Sliding window: W টি frame একসাথে ভাসমান রাখলে U = min(১, W/(১ + ২a)); পূর্ণ ব্যবহারে W ≥ ১ + ২a = ৪১.
Sequence বিট: k বিটে ২kটি নম্বর। Go-Back-N-এ W ≤ ২k − ১ ⇒ ২k ≥ ৪২ ⇒ k = ৬ (৬৩). Selective Repeat-এ W ≤ ২k−১ ⇒ ২k ≥ ৮২ ⇒ k = ৭ (window ৬৪ পর্যন্ত)।
SR-এ অর্ধেক কেন: সব ACK হারালে প্রেরক পুরোনো window আবার পাঠায়, অথচ গ্রহীতার window ততক্ষণে সামনে সরে গেছে। দুই window-এ একই নম্বর থাকলে গ্রহীতা পুরোনো frame-কে নতুন ভেবে নেবে। W ≤ ২k−১ হলে দুই window কখনো মেশে না।
নম্বর কোথায়: সূত্রের যুক্তি (২), U-র হিসাব (২), W (১), দুই প্রোটোকলের বিট (২), SR-এর সীমার যুক্তি (১)। পর্ব ১০
খ-০৫Hub, switch আর router-এর পার্থক্য লিখুন। একটি router-এর দুটি interface-এ দুটি switch; S1-এ ৪টি PC, S2-এ ৩টি PC আর একটি hub, hub-এ আরও ৩টি PC. মোট কতটি collision domain আর broadcast domain? — ৬ নম্বর (মাঝারি)
| মাপকাঠি | Hub | Switch | Router |
|---|---|---|---|
| স্তর | Physical | Data link | Network |
| সিদ্ধান্তের ভিত্তি | কিছু না — সব port-এ পাঠায় | destination MAC আর MAC table | destination IP আর routing table |
| Collision domain | সব port মিলে একটি | প্রতিটি port আলাদা | প্রতিটি interface আলাদা |
| Broadcast domain | একটি | একটি (VLAN ছাড়া) | প্রতিটি interface আলাদা — broadcast আটকায় |
গোনা: প্রতিটি switch port আর router interface একটি করে collision domain; hub-এর পুরো অংশ একটি। S1: ৪টি PC-port + R-এর দিকের link = ৫. S2: ৩টি PC-port + hub-এর port (hub আর তার ৩টি PC মিলে একটিই) + R-এর দিকের link = ৫. মোট ১০টি collision domain. Broadcast domain = router-এর interface-সংখ্যা = ২টি.
সীমা: full-duplex link-এ বাস্তবে collision হয় না, তবু পরীক্ষায় port ধরে গোনা প্রচলিত; VLAN থাকলে এক switch-এও একাধিক broadcast domain.
নম্বর কোথায়: টেবিল (৩), collision গোনা ও যুক্তি (২), broadcast (১)। পর্ব ১২ · পর্ব ১৩
৪ · অংশ গ — Network স্তর: ঠিকানা, DHCP, ARP, NAT আর IPv6 (মডিউল ৩)
রিভিশন: পর্ব ১৫ (forwarding বনাম routing), পর্ব ১৬ (IPv4 header, CIDR), পর্ব ১৭ (subnetting, VLSM), পর্ব ১৮ (DHCP, ARP), পর্ব ১৯ (NAT), পর্ব ২০ (ICMP) আর পর্ব ২১ (IPv6).
গ-০১একটি প্রতিষ্ঠান 192.168.10.0/24 পেয়েছে। চারটি LAN-এ host লাগবে — A: ১০০, B: ৫০, C: ২৫, D: ১০ — আর দুটি point-to-point WAN link (প্রতিটিতে ২টি host). VLSM দিয়ে ঠিকানা-পরিকল্পনা করুন: প্রতিটি subnet-এর network, usable range, broadcast আর mask. কত ঠিকানা বাকি থাকে? FLSM-এ কেন হতো না? — ১০ নম্বর (মাঝারি)
সংজ্ঞা: VLSM মানে একই ব্লক থেকে ভিন্ন আকারের subnet — যার যতটুকু দরকার। নিয়ম: (১) প্রয়োজন বড় থেকে ছোট সাজানো; (২) ২h − ২ ≥ host এমন সবচেয়ে ছোট h (network আর broadcast বাদ); (৩) prefix = ৩২ − h; (৪) পরের ফাঁকা ঠিকানা থেকে বসানো — বড় ব্লক আগে বলে প্রতিটি নিজের সীমানায় পড়ে।
আকার: A ১০০ → ১২৮ (h = ৭, /25); B ৫০ → ৬৪ (/26); C ২৫ → ৩২ (/27); D ১০ → ১৬ (/28); প্রতিটি WAN ২ → ৪ (/30).
| Subnet | Network/prefix | Usable range | Broadcast | Mask |
|---|---|---|---|---|
| A (১০০) | 192.168.10.0/25 | .1 – .126 (১২৬টি) | .127 | 255.255.255.128 |
| B (৫০) | 192.168.10.128/26 | .129 – .190 (৬২টি) | .191 | 255.255.255.192 |
| C (২৫) | 192.168.10.192/27 | .193 – .222 (৩০টি) | .223 | 255.255.255.224 |
| D (১০) | 192.168.10.224/28 | .225 – .238 (১৪টি) | .239 | 255.255.255.240 |
| WAN-1 | 192.168.10.240/30 | .241 – .242 | .243 | 255.255.255.252 |
| WAN-2 | 192.168.10.244/30 | .245 – .246 | .247 | 255.255.255.252 |
বাকি: 192.168.10.248/29 — ৮টি ঠিকানা, ভবিষ্যতের আরেকটি ছোট link বা loopback-এর জন্য। মোট ব্যবহার ১২৮ + ৬৪ + ৩২ + ১৬ + ৪ + ৪ = ২৪৮.
FLSM-এ কেন নয়: সব subnet সমান হলে সবচেয়ে বড়টির মাপ (১২৮) সবাইকে দিতে হতো — /25-এ মাত্র দুটি subnet হয়, অথচ লাগবে ছয়টি। VLSM ছোট link-এ ছোট ব্লক দিয়ে জায়গা বাঁচায়।
হিসাবটি নিচের ছোট planner-এ মিলিয়ে নিন। প্রয়োজনের তালিকা ইচ্ছা করে এলোমেলো ক্রমে লেখা; প্রোগ্রাম নিজেই বড় থেকে ছোট সাজায়:
// VLSM: biggest need first; each block = smallest power of two >= hosts + 2.
const base = "192.168.10.0", prefix = 24;
const needs = [["LAN-C", 25], ["WAN-1", 2], ["LAN-A", 100], ["LAN-D", 10], ["LAN-B", 50], ["WAN-2", 2]];
const toInt = s => s.split(".").reduce((a, o) => a * 256 + Number(o), 0);
const toIp = n => [24, 16, 8, 0].map(sh => Math.floor(n / 2 ** sh) % 256).join(".");
let next = toInt(base);
const end = next + 2 ** (32 - prefix);
console.log("name need subnet usable range broadcast mask");
for (const [name, hosts] of [...needs].sort((a, b) => b[1] - a[1])) {
let bits = 0;
while (2 ** bits < hosts + 2) bits++; // +2: network + broadcast address
const size = 2 ** bits;
if (next + size > end) { console.log(name, "does not fit!"); break; }
console.log(name.padEnd(6), String(hosts).padStart(4), " " + (toIp(next) + "/" + (32 - bits)).padEnd(18),
(toIp(next + 1) + " - " + toIp(next + size - 2)).padEnd(32), toIp(next + size - 1).padEnd(15),
toIp(2 ** 32 - size));
next += size;
}
console.log("still free:", toIp(next) + " onwards,", end - next, "addresses");আসল রানের আউটপুট:
name need subnet usable range broadcast mask
LAN-A 100 192.168.10.0/25 192.168.10.1 - 192.168.10.126 192.168.10.127 255.255.255.128
LAN-B 50 192.168.10.128/26 192.168.10.129 - 192.168.10.190 192.168.10.191 255.255.255.192
LAN-C 25 192.168.10.192/27 192.168.10.193 - 192.168.10.222 192.168.10.223 255.255.255.224
LAN-D 10 192.168.10.224/28 192.168.10.225 - 192.168.10.238 192.168.10.239 255.255.255.240
WAN-1 2 192.168.10.240/30 192.168.10.241 - 192.168.10.242 192.168.10.243 255.255.255.252
WAN-2 2 192.168.10.244/30 192.168.10.245 - 192.168.10.246 192.168.10.247 255.255.255.252
still free: 192.168.10.248 onwards, 8 addresses
টেবিলের প্রতিটি সারি মিলেছে, আর শেষে ৮টি ঠিকানা বাকি। Mask বের করা হয়েছে ২৩২ − ব্লকের আকার থেকে — যেমন ১২৮-এর ব্লকে 255.255.255.128; এটিই পর্ব ১৭-এর block size পদ্ধতির উল্টো দিক (২৫৬ − mask = ব্লক)।
নম্বর কোথায়: নিয়ম আর সাজানোর কারণ (২), প্রতিটি আকার ও prefix (২), পূর্ণ টেবিল — network, range, broadcast, mask (৪), বাকি ঠিকানা (১), FLSM-এর তুলনা (১)। পর্ব ১৭
গ-০২একটি নতুন ল্যাপটপ অফিসের Wi-Fi-তে যুক্ত হয়ে 198.51.100.20-এর একটি ওয়েবসাইটে যেতে চায়। DHCP-র DORA আর তারপর ARP-এর প্রতিটি বার্তা — উৎস, গন্তব্য, broadcast না unicast — ব্যাখ্যা করুন। ল্যাপটপ ARP-এ কার MAC খোঁজে? — ৮ নম্বর (মাঝারি)
সংজ্ঞা: DHCP একটি যন্ত্রকে স্বয়ংক্রিয়ভাবে IP ঠিকানা, subnet mask, default gateway আর DNS সার্ভারের ঠিকানা ধার দেয় (lease, নির্দিষ্ট সময়ের জন্য)। ARP একই LAN-এ একটি IPv4 ঠিকানার MAC ঠিকানা খুঁজে দেয়। ধরি DHCP সার্ভার ও gateway 192.168.1.1, অফিসের LAN 192.168.1.0/24.
laptop (0.0.0.0, UDP 68) DHCP server 192.168.1.1 (UDP 67)
|-- 1 DISCOVER to 255.255.255.255 (broadcast) ------------>|
|<------------- 2 OFFER 192.168.1.50, mask, gw, DNS, lease --|
|-- 3 REQUEST "I take .50 from 192.168.1.1" (broadcast) --->|
|<------------- 4 ACK lease confirmed ----------------------|
laptop now 192.168.1.50/24, gateway 192.168.1.1
|-- 5 ARP request "who has 192.168.1.1?" to ff:ff:ff:ff:ff:ff -> all hosts
|<- 6 ARP reply "192.168.1.1 is at <gateway MAC>" (unicast) --
|-- 7 IP packet to 198.51.100.20 inside a frame to the gateway's MAC -->
DORA: (১) Discover — ঠিকানা নেই, তাই উৎস 0.0.0.0, গন্তব্য broadcast; (২) Offer — সার্ভারের প্রস্তাব (বাস্তবায়নভেদে unicast বা broadcast); (৩) Request — আবার broadcast, যাতে অন্য সার্ভার জানে তাদের প্রস্তাব নেওয়া হয়নি; (৪) Ack — lease নিশ্চিত। অন্য subnet-এ সার্ভার থাকলে router-এর DHCP relay লাগে। এই চার ধাপের নাম DORA.
ARP কার জন্য: ল্যাপটপ নিজের mask দিয়ে দেখে 198.51.100.20 নিজের subnet-এ নেই, তাই packet যাবে gateway-তে। ARP-এ খোঁজে gateway-এর MAC, দূরের সার্ভারের নয় — Ethernet frame শুধু এক hop যায়। Request broadcast, reply unicast; উত্তর ARP cache-এ কিছুক্ষণ থাকে। Frame-এ গন্তব্য MAC gateway-এর, কিন্তু ভেতরের IP header-এ গন্তব্য 198.51.100.20.
সীমা: দুটিতেই যাচাই নেই — নকল DHCP সার্ভার বা নকল ARP reply ট্রাফিক ঘোরাতে পারে; প্রতিরক্ষা DHCP snooping আর dynamic ARP inspection. IPv6-এ ARP-এর বদলে Neighbor Discovery.
নম্বর কোথায়: দুটির সংজ্ঞা (১), DORA-র চার বার্তা ঠিক উৎস-গন্তব্যসহ (৩), Request কেন broadcast (১), ARP-এ gateway-এর MAC আর তার যুক্তি (২), নিরাপত্তা বা IPv6-এর মন্তব্য (১)। পর্ব ১৮
গ-০৩NAT আর PAT কী? দুটি অভ্যন্তরীণ যন্ত্র একই source port থেকে একই সার্ভারে গেলে NAT translation table দেখান। NAT-এর দুটি অসুবিধা লিখুন। — ৫ নম্বর (সহজ)
সংজ্ঞা: NAT router পার হওয়ার সময় packet-এর private IP বদলে public IP বসায়। PAT (বা NAPT, Linux-এ masquerade) port-ও বদলায়, তাই একটি public IP-র পেছনে শত শত যন্ত্র চলে — বাড়ির রাউটারে এটিই হয়। Private পরিসর: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 (RFC 1918).
| ভেতরের (IP:port) | বাইরের রূপ (IP:port) | গন্তব্য |
|---|---|---|
192.168.1.10:51000 | 203.0.113.5:40001 | 198.51.100.20:443 |
192.168.1.11:51000 | 203.0.113.5:40002 | 198.51.100.20:443 |
ব্যাখ্যা: দুজনের source port একই, তাই router দ্বিতীয়টিকে আলাদা বাইরের port দেয়; উত্তর 203.0.113.5:40002-এ এলে টেবিল দেখে 192.168.1.11:51000-এ ফেরায়।
অসুবিধা: (১) বাইরে থেকে সংযোগ শুরু করা যায় না — port forwarding বা NAT traversal লাগে, P2P আর VoIP-এ ঝামেলা; (২) end-to-end নীতি ভাঙে — header বদলায়, checksum নতুন করে হিসাব, কিছু protocol (payload-এ IP লেখা) ভাঙে। NAT নিরাপত্তার যন্ত্র নয় — সুরক্ষা দেয় firewall-এর নিয়ম।
নম্বর কোথায়: সংজ্ঞা ও PAT (২), টেবিল (২), অসুবিধা (১)। পর্ব ১৯
গ-০৪IPv4 আর IPv6-এর পার্থক্য লিখুন। ৪,০০০ বাইটের একটি IPv4 datagram (২০ বাইট header, option নেই) ১,৫০০ বাইট MTU-র link-এ যাবে — fragment-গুলোর মোট দৈর্ঘ্য, ডেটা, offset আর MF flag লিখুন। IPv6-এ একই অবস্থায় কী হতো? — ৮ নম্বর (মাঝারি)
| মাপকাঠি | IPv4 | IPv6 |
|---|---|---|
| ঠিকানা | ৩২ বিট, dotted decimal | ১২৮ বিট, hex, 2001:db8::1 |
| Header | ২০–৬০ বাইট, পরিবর্তনশীল, checksum আছে | স্থির ৪০ বাইট, checksum নেই, বাড়তি তথ্য extension header-এ |
| Fragmentation | উৎস আর পথের router দুজনেই পারে | শুধু উৎস; router করে না — Path MTU discovery |
| Broadcast | আছে | নেই — multicast আর anycast |
| ঠিকানা পাওয়া | হাতে বা DHCP | SLAAC, DHCPv6 বা হাতে |
| MAC খোঁজা | ARP | Neighbor Discovery (ICMPv6) |
Fragmentation-এর হিসাব: ডেটা = ৪,০০০ − ২০ = ৩,৯৮০ বাইট। প্রতিটি fragment-এ ডেটা সর্বোচ্চ ১,৫০০ − ২০ = ১,৪৮০ বাইট — ৮-এর গুণিতক, কারণ offset গোনা হয় ৮ বাইটের এককে।
| Fragment | মোট দৈর্ঘ্য | ডেটা | Offset (৮ বাইট একক) | MF |
|---|---|---|---|---|
| ১ | ১,৫০০ | ১,৪৮০ | ০ | ১ |
| ২ | ১,৫০০ | ১,৪৮০ | ১৮৫ | ১ |
| ৩ | ১,০৪০ | ১,০২০ | ৩৭০ | ০ |
তিনটিরই Identification একই; জোড়া লাগে শুধু শেষ গন্তব্যে। একটি fragment হারালে পুরো datagram বাতিল — fragmentation-এর বড় দাম।
IPv6-এ: পথের router fragment করত না; packet ফেলে দিয়ে উৎসকে ICMPv6 “Packet Too Big” পাঠাত, আর উৎস ছোট করে পাঠাত (দরকারে নিজেই Fragment extension header দিয়ে)। প্রতিটি IPv6 link-এর MTU অন্তত ১,২৮০ বাইট।
নম্বর কোথায়: পার্থক্যের টেবিল (৩), fragment-এর টেবিল (৩), ৮-বাইট এককের কারণ (১), IPv6-এর আচরণ (১)। পর্ব ১৬ · পর্ব ২১
৫ · অংশ ঘ — Routing (মডিউল ৪)
রিভিশন: পর্ব ২২ (routing table, longest prefix match), পর্ব ২৩ (Bellman-Ford, RIP), পর্ব ২৪ (Dijkstra, OSPF), পর্ব ২৫ (BGP) আর পর্ব ২৬ (multicast, QoS).
ঘ-০১Distance vector আর link state routing-এর তুলনা করুন। নিচের নেটওয়ার্কে u থেকে Dijkstra চালিয়ে N′, D(v), p(v) টেবিল আর u-র forwarding table লিখুন। Link cost: u–v ২, u–w ৫, u–x ১, v–x ২, v–w ৩, x–w ৩, x–y ১, w–y ১, w–z ৫, y–z ২; সমান হলে বর্ণানুক্রমে আগেরটি। — ১০ নম্বর (মাঝারি)
সংজ্ঞা: Distance vector-এ প্রতিটি router শুধু প্রতিবেশীদের সাথে নিজের দূরত্ব-তালিকা ভাগ করে, আর Bellman-Ford সমীকরণ Dx(y) = minv{c(x,v) + Dv(y)} দিয়ে নিজের তালিকা হালনাগাদ করে — “গুজব শুনে পথ চেনা”। Link state-এ প্রতিটি router নিজের link-এর তথ্য পুরো নেটওয়ার্কে flood করে; সবার হাতে একই মানচিত্র, আর প্রত্যেকে নিজে Dijkstra চালায় — “মানচিত্র দেখে পথ চেনা”।
| মাপকাঠি | Distance vector | Link state |
|---|---|---|
| কী জানে | প্রতিবেশী আর তাদের দাবি করা দূরত্ব | পুরো টপোলজি |
| কাকে পাঠায় | শুধু প্রতিবেশীকে, পুরো তালিকা | সবাইকে (flooding), শুধু নিজের link |
| Algorithm | Bellman-Ford (বিতরণকৃত) | Dijkstra (প্রতিটি router-এ) |
| Convergence | ধীর; count-to-infinity সম্ভব | দ্রুত; loop কম |
| উদাহরণ | RIP (hop count, সর্বোচ্চ ১৫) | OSPF, IS-IS |
Dijkstra-র টেবিল (খালি ঘর = নোডটি ইতিমধ্যে N′-এ; ধাপ ২-এ v আর y দুটিরই দূরত্ব ২, বর্ণানুক্রমে v আগে):
| ধাপ | N′ | D(v),p(v) | D(w),p(w) | D(x),p(x) | D(y),p(y) | D(z),p(z) |
|---|---|---|---|---|---|---|
| ০ | u | 2,u | 5,u | 1,u | ∞ | ∞ |
| ১ | ux | 2,u | 4,x | 2,x | ∞ | |
| ২ | uxv | 4,x | 2,x | ∞ | ||
| ৩ | uxvy | 3,y | 4,y | |||
| ৪ | uxvyw | 4,y | ||||
| ৫ | uxvywz |
Forwarding table (u): v → সরাসরি v (খরচ ২); x → x (১); y → x (২); w → x (৩, পথ u-x-y-w); z → x (৪, পথ u-x-y-z). প্রতিটি গন্তব্যের প্রথম hop পেতে p(·) ধরে পেছনে হাঁটুন যতক্ষণ না u-র প্রতিবেশী আসে।
// Dijkstra from u, printed as the exam table: N' and D(n),p(n). Tie -> alphabetical.
const edges = [["u","v",2], ["u","w",5], ["u","x",1], ["v","x",2], ["v","w",3],
["x","w",3], ["x","y",1], ["w","y",1], ["w","z",5], ["y","z",2]];
const G = {};
for (const [a, b, c] of edges) { (G[a] ??= {})[b] = c; (G[b] ??= {})[a] = c; }
const nodes = Object.keys(G).sort(), others = nodes.filter(n => n !== "u");
const D = {}, P = {}, done = [];
for (const n of nodes) { D[n] = Infinity; P[n] = "-"; }
D.u = 0;
console.log("step N' " + others.map(n => ("D(" + n + "),p(" + n + ")").padEnd(12)).join(""));
for (let step = 0; done.length < nodes.length; step++) {
const n = nodes.filter(x => !done.includes(x))
.sort((a, b) => D[a] - D[b] || (a < b ? -1 : 1))[0];
done.push(n);
for (const [m, c] of Object.entries(G[n]))
if (!done.includes(m) && D[n] + c < D[m]) { D[m] = D[n] + c; P[m] = n; }
const cells = others.map(x => (done.includes(x) ? "" :
D[x] === Infinity ? "inf" : D[x] + "," + P[x]).padEnd(12));
console.log(String(step).padEnd(5) + done.join("").padEnd(8) + cells.join(""));
}
// forwarding table at u: walk each path back to the first hop
const first = n => (P[n] === "u" ? n : first(P[n]));
console.log("\nforwarding table at u:");
for (const n of others) console.log(" to " + n + ": next hop " + first(n) + ", cost " + D[n]);আসল রানের আউটপুট:
step N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
0 u 2,u 5,u 1,u inf inf
1 ux 2,u 4,x 2,x inf
2 uxv 4,x 2,x inf
3 uxvy 3,y 4,y
4 uxvyw 4,y
5 uxvywz
forwarding table at u:
to v: next hop v, cost 2
to w: next hop x, cost 3
to x: next hop x, cost 1
to y: next hop x, cost 2
to z: next hop x, cost 4
হাতে বানানো টেবিলের প্রতিটি ঘর মিলেছে। w-এর দূরত্ব ৫ → ৪ → ৩ হয়েছে — Dijkstra দূরত্ব চূড়ান্ত ধরে কেবল N′-এ নেওয়ার সময়। সব cost অঋণাত্মক বলেই এটি নিরাপদ; ঋণাত্মক cost-এ Bellman-Ford লাগে।
নম্বর কোথায়: দুটির সংজ্ঞা ও সমীকরণ (২), তুলনার টেবিল (৩), Dijkstra-র পূর্ণ টেবিল (৩), forwarding table (১), tie-নিয়ম বা অঋণাত্মক cost-এর মন্তব্য (১)। পর্ব ২৩ · পর্ব ২৪
ঘ-০২Count-to-infinity সমস্যা উদাহরণসহ ব্যাখ্যা করুন। Split horizon আর poison reverse কীভাবে সাহায্য করে, আর কোথায় ব্যর্থ? — ৫ নম্বর (মাঝারি)
উদাহরণ: সারি A — B — C, প্রতিটি cost ১; B-র কাছে C ১, A-র কাছে ২ (B হয়ে)। B–C ভাঙল। B দেখে A বলছে “C আমার থেকে ২” — জানে না পথটি B হয়েই — তাই B লেখে ৩ (A হয়ে), A লেখে ৪, B ৫, A ৬… মাঝে packet A আর B-র মাঝে loop-এ ঘোরে। RIP-এ ১৬ = অসীম বলে একসময় থামে।
Split horizon: যে প্রতিবেশী হয়ে কোনো গন্তব্যে যাই, তাকে সেই গন্তব্যের পথ জানাই না। Poison reverse: জানাই, কিন্তু দূরত্ব অসীম বলে — এখানে A, B-কে বলত “C আমার থেকে ∞”, ফলে B সঙ্গে সঙ্গে বুঝত C অগম্য।
সীমা: দুটি নোডের loop এগুলো ঠেকায়, কিন্তু তিন বা বেশি router-এর বৃত্তে (A→B→C→A) পথের খবর ঘুরপথে ফিরে আসে, তখন count-to-infinity আবার হয়। বাড়তি উপায় — triggered update, hold-down timer, বা path vector.
নম্বর কোথায়: উদাহরণে অন্তত তিন ধাপের মান (২), দুই কৌশলের সংজ্ঞা (২), সীমা (১)। পর্ব ২৩
ঘ-০৩BGP কেন দরকার? eBGP আর iBGP-র পার্থক্য কী? BGP কেন সবচেয়ে ছোট পথ না বেছে “নীতি” মেনে পথ বাছে? — ৫ নম্বর (মাঝারি)
সংজ্ঞা: ইন্টারনেট হাজার হাজার autonomous system-এর (AS — একটি প্রশাসনের অধীনের নেটওয়ার্ক, যেমন একটি ISP) জোড়া। প্রতিটি AS-এর ভেতরে OSPF বা IS-IS-এর মতো IGP; AS-গুলোর মাঝে একটিই মানক — BGP, একটি path-vector protocol, যা TCP port 179-এ চলে।
eBGP বনাম iBGP: eBGP দুই ভিন্ন AS-এর router-এর মাঝে — বাইরের পথ শেখা আর জানানো; iBGP একই AS-এর ভেতরের BGP router-গুলোর মাঝে — বাইরে থেকে শেখা পথ ভেতরে ছড়ানো।
নীতি কেন: AS-গুলো ব্যবসা — কে কাকে transit দেবে, কার ট্রাফিক বিনা পয়সায় (peering) আর কার জন্য টাকা (customer–provider), তা চুক্তির বিষয়। তাই সিদ্ধান্তে আগে local preference (নিজের নীতি), তারপর ছোট AS-path, তারপর অন্যান্য মাপকাঠি। পূর্ণ AS-path থাকায় loop ধরা সহজ — নিজের AS-নম্বর পথে দেখলে বাতিল।
নম্বর কোথায়: AS আর BGP-র সংজ্ঞা (২), eBGP/iBGP (২), নীতির যুক্তি (১)। পর্ব ২৫
৬ · অংশ ঙ — Transport স্তর: TCP আর UDP (মডিউল ৫)
রিভিশন: পর্ব ২৭ (port, multiplexing), পর্ব ২৮ (UDP), পর্ব ২৯ (handshake, state), পর্ব ৩০ (seq, ACK, RTO), পর্ব ৩১ (rwnd, BDP), পর্ব ৩২ (slow start, AIMD) আর পর্ব ৩৩ (QUIC).
ঙ-০১TCP আর UDP-র তুলনা করুন। TCP-র three-way handshake আর সংযোগ বন্ধের ধাপ সময়রেখায় আঁকুন — client-এর ISN ১০০০, server-এর ৫০০০; handshake-এর পর client ২০০ বাইট পাঠায়। প্রতিটি তীরে flag, seq আর ack লিখুন। দুই ধাপে কেন হয় না? TIME_WAIT কেন? — ১০ নম্বর (মাঝারি, ছবিসহ)
| মাপকাঠি | TCP | UDP |
|---|---|---|
| সংযোগ | connection-oriented — আগে handshake | connectionless |
| নির্ভরযোগ্যতা | ACK, retransmission, ক্রম ঠিক রাখা | নেই — হারালে হারাল |
| ডেটার রূপ | byte stream — বার্তার সীমা থাকে না | datagram — প্রতিটি বার্তা আলাদা |
| Flow ও congestion control | আছে | নেই (অ্যাপ নিজে করতে পারে) |
| Header | ২০–৬০ বাইট | ৮ বাইট |
| ব্যবহার | ওয়েব, ইমেইল, SSH, ফাইল | DNS-এর সাধারণ query, VoIP, গেম, ভিডিও কল, QUIC-এর নিচে |
client server
SYN_SENT -- SYN seq=1000 -------------------> LISTEN
<-- SYN+ACK seq=5000 ack=1001 ---- SYN_RCVD
ESTABLISHED -- ACK seq=1001 ack=5001 ----------> ESTABLISHED
-- data seq=1001 (200 bytes) ack=5001 ->
<-- ACK ack=1201 ------------------
FIN_WAIT_1 -- FIN seq=1201 -------------------> CLOSE_WAIT
FIN_WAIT_2 <-- ACK ack=1202 ------------------
<-- FIN seq=5001 ------------------ LAST_ACK
TIME_WAIT -- ACK ack=5002 -------------------> CLOSED
(waits 2 x MSL, then CLOSED)
ব্যাখ্যা: SYN আর FIN প্রতিটি একটি sequence নম্বর খায়, তাই SYN-এর পর ack 1001, FIN-এর পর ack 1202. ২০০ বাইট ১০০১ থেকে ১২০০ পর্যন্ত, তাই ACK ১২০১ — “পরের যে বাইট চাই”। Handshake-এর তৃতীয় ACK-এ ডেটা না থাকলে seq নম্বর খরচ হয় না, তাই ডেটাও seq 1001 থেকে শুরু।
দুই ধাপে কেন নয়: (১) দুই দিকেরই ISN জানাতে আর নিশ্চিত হতে হবে — client-এর ACK ছাড়া server জানে না তার ISN পৌঁছেছে কি না; (২) নেটওয়ার্কে আটকে থাকা পুরোনো SYN দেরিতে এলে দুই ধাপে server ভুয়া সংযোগ খুলে বসত; তৃতীয় ধাপে client “আমি এটি চাইনি” (RST) বলে বাতিল করতে পারে।
TIME_WAIT: শেষ ACK হারালে server আবার FIN পাঠাবে — তখন উত্তর দেওয়ার জন্য client কিছুক্ষণ থাকে; আর পুরোনো সংযোগের দেরিতে আসা segment যেন একই port-জোড়ার নতুন সংযোগে ঢুকে না পড়ে। সময় ২ × MSL (বাস্তবায়নভেদে আলাদা; Linux-এ ৬০ সেকেন্ড)।
নম্বর কোথায়: তুলনার টেবিল (২), লেবেলসহ সময়রেখা ও state (৩), seq/ack-এর যুক্তি (২), তিন ধাপের কারণ (২), TIME_WAIT (১)। পর্ব ২৯ · পর্ব ৩০
ঙ-০২TCP congestion control ব্যাখ্যা করুন — slow start, congestion avoidance, fast retransmit আর fast recovery. একটি TCP Reno সংযোগে শুরুতে cwnd = ১ MSS, ssthresh = ১২ MSS; round ১০-এ তিনটি duplicate ACK আর round ১৫-তে timeout. round-ভিত্তিক সরল নিয়ম ধরুন (slow start-এ cwnd = min(২·cwnd, ssthresh), fast recovery শেষে cwnd = ssthresh). Round ১–২০-এর cwnd-এর গ্রাফ আঁকুন; ১০০তম segment কোন round-এ যায়? — ১০ নম্বর (কঠিন, গ্রাফসহ)
সংজ্ঞা: Congestion control হলো নেটওয়ার্কের ভিড় বুঝে প্রেরকের গতি নিয়ন্ত্রণ। প্রেরক একটি congestion window (cwnd) রাখে; ভাসমান ডেটা ≤ min(cwnd, rwnd), তাই গতি মোটামুটি cwnd/RTT.
- Slow start: cwnd = ১ MSS থেকে শুরু, প্রতিটি ACK-এ +১ MSS — ফলে প্রতি RTT-তে দ্বিগুণ, যতক্ষণ না ssthresh ছোঁয়।
- Congestion avoidance: ssthresh-এর পর প্রতি RTT-তে মাত্র +১ MSS — additive increase.
- Fast retransmit: তিনটি duplicate ACK মানে একটি segment হারিয়েছে কিন্তু পরেরগুলো পৌঁছাচ্ছে — timeout-এর অপেক্ষা না করে সঙ্গে সঙ্গে আবার পাঠানো।
- Fast recovery (Reno): ssthresh = cwnd/২, cwnd প্রায় ssthresh — অর্ধেক গতিতে চলা অব্যাহত। Timeout-এ ssthresh = cwnd/২, cwnd = ১, আবার slow start; Tahoe দুই ক্ষেত্রেই cwnd = ১.
TCP Reno-র cwnd, ২০টি round
cwnd (segments) vs transmission round; dashed lines show ssthresh
| round | |
| cwnd | |
| ssthresh | |
| পর্যায় | |
| মোট segment |
- Slow start. ১, ২, ৪, ৮ — প্রতি round-এ দ্বিগুণ, মোট ১৫টি segment.
- ssthresh-এ আটকানো। ৮-এর দ্বিগুণ ১৬, কিন্তু নিয়ম min(১৬, ১২) — তাই round ৫-এ cwnd ১২. এখান থেকে নিয়ম বদলায়। মোট ২৭.
- Congestion avoidance. প্রতি round-এ +১: ১৩ থেকে ১৭. Round ১০-এ তিনটি duplicate ACK — ssthresh = ১৭/২ = ৮ (পূর্ণসংখ্যায়)। মোট ১০২ — অর্থাৎ ১০০তম segment গেছে round ১০-এ (round ৯ পর্যন্ত মোট ৮৫)।
- Fast recovery-র পর। Reno-তে cwnd = ssthresh = ৮, অর্ধেক গতিতে চলা অব্যাহত, তারপর ৯, ১০, ১১, ১২. Round ১৫-এ timeout — ssthresh = ১২/২ = ৬. মোট ১৫২.
- Timeout-এর পর slow start. cwnd ১-এ, তারপর ২, ৪, আর round ১৯-এ min(৮, ৬) = ৬ — নতুন ssthresh-এ আটকাল। মোট ১৬৫.
- আবার রৈখিক। Round ২০-এ ৭. Tahoe হলে round ১১-তেই cwnd ১ হতো — Reno-র সুবিধা এখানেই।
উত্তর: slow start — round ১–৫ আর ১৬–১৯; congestion avoidance — ৬–১০, ১১–১৫ আর ২০ (ssthresh ছোঁয়ার round বইভেদে যেকোনো পর্যায়ে — যেটি ধরবেন লিখে দিন)। ১০০তম segment round ১০-এ। কিছু বই fast recovery-র পর ssthresh + ৩ দেখায় (round ১১-তে ১১)।
নম্বর কোথায়: চার পর্যায়ের সংজ্ঞা (৪), লেবেলসহ গ্রাফ (৩), loss-এর ধরন অনুযায়ী প্রতিক্রিয়া ও ssthresh (২), segment গোনা বা AIMD-র মন্তব্য (১)। পর্ব ৩২
ঙ-০৩Flow control আর congestion control-এর পার্থক্য লিখুন। ১০০ Mbps, RTT ৫০ ms পথের bandwidth-delay product কত? Window scaling ছাড়া (সর্বোচ্চ ৬৫,৫৩৫ বাইট) throughput সর্বোচ্চ কত? আর SRTT = ১০০ ms, RTTVAR = ২০ ms অবস্থায় নতুন RTT নমুনা ১৪০ ms এলে RFC 6298 অনুযায়ী নতুন RTO কত (α = ১/৮, β = ১/৪)? — ৬ নম্বর (মাঝারি)
পার্থক্য: Flow control গ্রহীতাকে রক্ষা করে — গ্রহীতা নিজের buffer-এর ফাঁকা জায়গা receive window (rwnd) হিসেবে প্রতিটি ACK-এ জানায়। Congestion control নেটওয়ার্ককে রক্ষা করে — প্রেরক loss বা delay দেখে নিজে cwnd অনুমান করে। প্রেরক পাঠায় min(rwnd, cwnd) পর্যন্ত।
BDP: ১০০ × ১০৬ × ০.০৫ = ৫ × ১০৬ বিট = ৬,২৫,০০০ বাইট — পাইপ ভরে রাখতে এতটা ডেটা একসাথে ভাসমান থাকা দরকার।
Window scaling ছাড়া: throughput ≤ window/RTT = ৬৫,৫৩৫ × ৮ / ০.০৫ ≈ ১০.৫ Mbps — ১০০ Mbps-এর লাইনেও মাত্র এক-দশমাংশ। ৬,২৫,০০০ / ৬৫,৫৩৫ ≈ ৯.৫৪, তাই window scale shift অন্তত ৪ (×১৬) লাগবে।
RTO (RFC 6298, RTTVAR আগে, পুরোনো SRTT দিয়ে): RTTVAR = ০.৭৫ × ২০ + ০.২৫ × |১০০ − ১৪০| = ১৫ + ১০ = ২৫ ms; SRTT = ০.৮৭৫ × ১০০ + ০.১২৫ × ১৪০ = ১০৫ ms; RTO = ১০৫ + ৪ × ২৫ = ২০৫ ms. (যে বই নতুন SRTT দিয়ে DevRTT হিসাব করে, সেখানে ২৩.৭৫ ms আর RTO ২০০ ms আসে — পদ্ধতি লিখে দিন।) RFC 6298 RTO-র সর্বনিম্ন ১ সেকেন্ড সুপারিশ করে; Linux-এর সর্বনিম্ন ২০০ ms.
নম্বর কোথায়: পার্থক্য (২), BDP ও throughput (২), RTO-র ধাপ (২)। পর্ব ৩১ · পর্ব ৩০ · পর্ব ৫৬
৭ · অংশ চ — Application, socket, নিরাপত্তা আর আধুনিক নেটওয়ার্ক (মডিউল ৬–৯)
রিভিশন: পর্ব ৩৫ (DNS), পর্ব ৩৬ (HTTP), পর্ব ৩৮ (cache, CDN), পর্ব ৪১ (TCP socket), পর্ব ৪৪ (epoll), পর্ব ৪৭ (cryptography), পর্ব ৪৮ (TLS), পর্ব ৪৯ (firewall, VPN), পর্ব ৫০ (আক্রমণ ও প্রতিরক্ষা), পর্ব ৫১ (মোবাইল), পর্ব ৫২ (data center), পর্ব ৫৩ (SDN) আর পর্ব ৫৫ (সমস্যা খোঁজা).
চ-০১ব্রাউজারে www.example.com লিখলে DNS কীভাবে IP ঠিকানা খুঁজে পায় — ছবিসহ ধাপে ধাপে লিখুন। Recursive আর iterative query-র পার্থক্য কী? Caching আর TTL-এর ভূমিকা কী? — ৮ নম্বর (মাঝারি, ছবিসহ)
সংজ্ঞা: DNS একটি বিতরণকৃত, স্তরভিত্তিক নামের ডেটাবেস — ডোমেইন নাম থেকে IP ঠিকানা (এবং আরও রেকর্ড) দেয়; সাধারণত UDP port 53, বড় উত্তর বা zone transfer-এ TCP 53.
stub resolver recursive resolver root server
(your PC) (ISP / office / public) ("." zone)
|--1 A? www.example.com -->| |
| |--2 A? www.example.com-->|
| |<-3 ask .com TLD servers-| (referral, NS + glue)
| | .com TLD server
| |--4 A? www.example.com -->|
| |<-5 ask example.com NS ---| (referral)
| | example.com authoritative server
| |--6 A? www.example.com -->|
| |<-7 A = 203.0.113.80, TTL 3600
|<-8 A = 203.0.113.80 -----| (cached for up to 3600 s)
ব্যাখ্যা: (১) Stub resolver নিজের cache-এ না পেলে recursive resolver-কে recursive query পাঠায় — “পুরো উত্তর এনে দিন”। (২–৩) Root server শুধু .com-এর TLD সার্ভার দেখিয়ে দেয় (referral). (৪–৫) TLD দেখায় example.com-এর authoritative server. (৬–৮) Authoritative সার্ভার A রেকর্ড দেয়; resolver তা ফেরায় আর cache-এ রাখে।
Recursive বনাম iterative: stub → resolver পর্যায়টি recursive (প্রশ্নকারী শুধু শেষ উত্তর চায়); resolver → root/TLD/authoritative পর্যায়টি iterative (প্রতিটি সার্ভার “আমি জানি না, ওকে জিজ্ঞেস করুন” বলে)। এতে root আর TLD সার্ভারের ওপর চাপ কম থাকে।
Caching ও TTL: প্রতিটি রেকর্ডের TTL বলে কত সেকেন্ড cache-এ রাখা যাবে। ফলে বেশিরভাগ query root পর্যন্ত যায়ই না — .com-এর NS রেকর্ড প্রায় সব সময় cache-এ থাকে। দাম: ঠিকানা বদলালে পুরোনো উত্তর TTL শেষ না হওয়া পর্যন্ত থেকে যায় — তাই সার্ভার বদলের আগে TTL ছোট করে রাখা হয়।
নম্বর কোথায়: সংজ্ঞা ও port (১), লেবেলসহ ছবি (৩), প্রতিটি ধাপের ব্যাখ্যা (২), recursive বনাম iterative (১), cache ও TTL (১)। পর্ব ৩৫
চ-০২HTTP-র প্রধান method আর status code-এর শ্রেণি লিখুন। HTTP stateless হলে লগইন কীভাবে মনে থাকে? একটি পেজে base HTML আর ১০টি ছবি, RTT ১০০ ms, transmission time নগণ্য — non-persistent (একটি একটি করে), persistent (pipelining ছাড়া) আর persistent (pipelining-সহ)-এ মোট সময় কত? — ৬ নম্বর (মাঝারি)
Method: GET (পড়া), POST (নতুন কিছু পাঠানো বা তৈরি), PUT (পুরোটা বদলানো), PATCH (আংশিক বদল), DELETE (মোছা), HEAD (শুধু header). GET, HEAD নিরাপদ (safe); GET, PUT, DELETE idempotent — একবার আর দশবার পাঠানোর ফল একই; POST নয়।
Status code: 1xx তথ্য, 2xx সফল (200 OK, 201 Created), 3xx অন্যত্র যান (301 স্থায়ী, 302 সাময়িক, 304 Not Modified — cache-এর কপিই চলবে), 4xx client-এর ভুল (400, 401, 403, 404), 5xx সার্ভারের ভুল (500, 502, 503).
State কীভাবে: HTTP নিজে আগের request মনে রাখে না। লগইনের পর সার্ভার Set-Cookie header-এ একটি session ID পাঠায়; ব্রাউজার পরের প্রতিটি request-এ Cookie header-এ তা ফেরত দেয়, আর সার্ভার ID দেখে ব্যবহারকারী চেনে। নিরাপত্তায় cookie-তে Secure, HttpOnly, SameSite.
সময়ের হিসাব (N = ১০, প্রতিটি নতুন TCP সংযোগে handshake-এ ১ RTT, request–response-এ ১ RTT):
- Non-persistent, একটি একটি করে: (N + ১) × ২ RTT = ১১ × ২০০ = ২,২০০ ms.
- Persistent, pipelining ছাড়া: base-এ ২ RTT, তারপর প্রতিটি ছবিতে ১ RTT — ২০০ + ১০ × ১০০ = ১,২০০ ms.
- Persistent, pipelining-সহ: base-এ ২ RTT, তারপর সব ছবির request একসাথে — ১ RTT; মোট ৩০০ ms.
নম্বর কোথায়: method ও idempotent (১), status-এর শ্রেণি (১), cookie-র প্রবাহ (১), তিন সময় সূত্রসহ (৩)। পর্ব ৩৬ · পর্ব ৩৭
চ-০৩HTTPS কীভাবে একটি সংযোগ নিরাপদ করে? TLS 1.3 handshake ছবিসহ ব্যাখ্যা করুন; certificate যাচাই, key exchange আর forward secrecy-র ভূমিকা লিখুন। TLS কী থেকে রক্ষা করে না? — ১০ নম্বর (কঠিন, ছবিসহ)
সংজ্ঞা: HTTPS = HTTP + TLS. TLS তিনটি জিনিস দেয়: গোপনীয়তা (confidentiality — মাঝের কেউ পড়তে পারে না), অখণ্ডতা (integrity — বদলালে ধরা পড়ে) আর সার্ভারের পরিচয় নিশ্চিত করা (authentication — certificate দিয়ে)।
client (browser) server (example.com)
|-- ClientHello: TLS versions, cipher suites, |
| key_share (ECDHE public value), SNI=example.com --> |
|<-- ServerHello: chosen suite, key_share --------------|
| both sides now compute the shared secret (ECDHE) |
|<-- {EncryptedExtensions} {Certificate} |
| {CertificateVerify: signature with server key} |
| {Finished: MAC over the whole handshake} ----------|
|-- {Finished} ---------------------------------------->|
|== HTTP request/response, encrypted (AEAD) ===========|
({ } = already encrypted; 1 RTT before application data)
ধাপের ব্যাখ্যা: (১) ClientHello-তে সংস্করণ, cipher suite আর একটি ephemeral ECDHE public মান। (২) ServerHello-তে সার্ভারের মান — দুই পক্ষ একই গোপন মান হিসাব করে, যা পথে যায়নি; তা থেকে session key. (৩) সার্ভার certificate পাঠায় আর CertificateVerify-তে private key দিয়ে handshake-এ স্বাক্ষর করে। (৪) Finished — পুরো handshake-এর ওপর MAC, মাঝপথের বদল ধরা পড়ে।
Certificate যাচাই: নাম (SAN-এ example.com), মেয়াদ, বিশ্বাসের শিকল — leaf → intermediate → trust store-এর root CA, প্রতিটি স্বাক্ষর — আর বাতিলের অবস্থা (OCSP বা CRL).
Forward secrecy: session key আসে প্রতিবার নতুন ephemeral key থেকে, সার্ভারের দীর্ঘমেয়াদি private key থেকে নয়। তাই পরে সেই private key চুরি হলেও আগে রেকর্ড করা ট্রাফিক খোলা যায় না। TLS 1.3-এ সব key exchange ephemeral — পুরোনো RSA key transport বাদ।
যা থেকে রক্ষা করে না: সার্ভার নিজেই ক্ষতিকর হলে (phishing সাইটও বৈধ certificate নিতে পারে); ক্লায়েন্ট বা সার্ভারের কম্পিউটারে malware; অ্যাপের বাগ (SQL injection, XSS). মেটাডেটাও (IP, SNI) দেখা যায়।
নম্বর কোথায়: তিন নিরাপত্তা-সেবা (১), লেবেলসহ handshake (৩), ধাপের ব্যাখ্যা (২), certificate chain (২), forward secrecy (১), সীমা (১)। পর্ব ৪৭ · পর্ব ৪৮
চ-০৪Stateless আর stateful firewall, IDS আর IPS-এর পার্থক্য লিখুন। VPN কী? Site-to-site আর remote-access VPN-এর একটি করে ব্যবহার দিন। — ৬ নম্বর (সহজ)
| যন্ত্র | কী দেখে | কী করে |
|---|---|---|
| Stateless firewall | প্রতিটি packet আলাদা — IP, port, protocol | নিয়ম মিললে allow বা drop; ফেরত ট্রাফিকের জন্যও আলাদা নিয়ম লাগে |
| Stateful firewall | সংযোগের অবস্থা (connection tracking) | ভেতর থেকে শুরু হওয়া সংযোগের উত্তর নিজে থেকে ঢুকতে দেয়; অপ্রত্যাশিত packet আটকায় |
| IDS | ট্রাফিকের কপি — signature বা অস্বাভাবিকতা | শুধু সতর্ক করে (alert) |
| IPS | পথের মাঝখানে (inline) ট্রাফিক | সন্দেহজনক packet আটকায় — ভুল ইতিবাচক হলে বৈধ ট্রাফিকও আটকাতে পারে |
VPN: অবিশ্বস্ত নেটওয়ার্কের (ইন্টারনেট) ওপর দিয়ে এনক্রিপ্টেড tunnel — দুই প্রান্ত যেন একই ব্যক্তিগত নেটওয়ার্কে। Site-to-site: ঢাকার হেড অফিস আর চট্টগ্রাম শাখার router-এর মাঝে স্থায়ী tunnel (IPsec বা WireGuard), কর্মীদের কিছু করতে হয় না। Remote-access: বাসা থেকে একজন কর্মী ল্যাপটপের client দিয়ে অফিসের নেটওয়ার্কে যুক্ত হন।
সীমা: VPN শুধু পথ রক্ষা করে, ক্ষতিগ্রস্ত ল্যাপটপকে নয়; এনক্রিপ্টেড ট্রাফিকের ভেতর IDS দেখে না।
নম্বর কোথায়: চারটির পার্থক্য (৪), VPN ও দুটি উদাহরণ (২)। পর্ব ৪৯ · পর্ব ৫০
চ-০৫সংক্ষিপ্ত টীকা লিখুন: (ক) SDN, (খ) leaf-spine data center, (গ) 5G-র তিন ব্যবহার-শ্রেণি। — ৬ নম্বর (মাঝারি)
(ক) SDN: প্রচলিত router-এ সিদ্ধান্ত (control plane) আর packet পাঠানো (data plane) একই যন্ত্রে। SDN দুটি আলাদা করে — একটি কেন্দ্রীয় controller পুরো নেটওয়ার্ক দেখে নিয়ম বানায়, আর switch শুধু টেবিল মেনে পাঠায়। Controller → switch কথা হয় southbound API-তে (যেমন OpenFlow), অ্যাপ → controller northbound API-তে। সুবিধা: প্রোগ্রাম দিয়ে নীতি, দ্রুত পরিবর্তন; ঝুঁকি: controller-ই single point of failure হয়ে উঠতে পারে, তাই cluster লাগে।
(খ) Leaf-spine: প্রতিটি leaf (rack-এর ওপরের switch) প্রতিটি spine-এর সাথে যুক্ত; তাই যেকোনো দুই সার্ভারের মাঝে পথ leaf → spine → leaf — সবসময় সমান দৈর্ঘ্য। সমান খরচের অনেক পথে ECMP ট্রাফিক ভাগ করে। east-west ট্রাফিক বেশি বলেই এই নকশা।
(গ) 5G: eMBB — খুব বেশি গতি (ভিডিও, ফিক্সড ওয়্যারলেস); URLLC — খুব কম latency আর উচ্চ নির্ভরযোগ্যতা (শিল্প-নিয়ন্ত্রণ); mMTC — বিপুল সংখ্যক কম-শক্তির IoT যন্ত্র। নেটওয়ার্ক slicing একই অবকাঠামোয় এদের আলাদা “টুকরো” দেয়। চলন্ত অবস্থায় এক cell থেকে আরেকে যাওয়ার নাম handover.
নম্বর কোথায়: প্রতিটিতে সংজ্ঞা, কেন দরকার, একটি উদাহরণ বা সীমা (৩ × ২)। পর্ব ৫১ · পর্ব ৫২ · পর্ব ৫৩
চ-০৬“একটি অফিস কম্পিউটারে কোনো ওয়েবসাইট খুলছে না” — পদ্ধতিগতভাবে সমস্যা খোঁজার ধাপ লিখুন; প্রতিটি ধাপে Linux আর Windows-এর একটি করে কমান্ড দিন। — ৫ নম্বর (মাঝারি)
পদ্ধতি: নিচ থেকে ওপরে (bottom-up), প্রতিটি ধাপে একটি অনুমান যাচাই — আন্দাজে সেটিং বদল নয়। প্রথমে প্রশ্ন: একজনের সমস্যা না সবার? সব সাইট না একটি?
- Link: তার বা Wi-Fi যুক্ত? — Linux
ip link; Windowsipconfig. - ঠিকানা: বৈধ IP, mask, gateway পেয়েছে? 169.254.x.x (APIPA) মানে DHCP পায়নি —
ip addr,ip route;ipconfig /all. - Gateway:
pingদিয়ে gateway-এ পৌঁছায়? (ICMP বন্ধ থাকলে উত্তর না-ও আসতে পারে — মনে রাখুন।) - বাইরের পথ: একটি জানা বাইরের IP-তে ping বা
traceroute/tracert— কোথায় থামে? - DNS: নাম থেকে ঠিকানা আসে? —
dig example.com;nslookup example.com. IP দিয়ে চলে কিন্তু নাম দিয়ে নয় — DNS সমস্যা। - Transport ও application: port খোলা আর সার্ভার উত্তর দেয়? —
curl -v https://example.com; PowerShell-এTest-NetConnection example.com -Port 443. Certificate-এর ত্রুটি, proxy বা firewall এখানে ধরা পড়ে।
শেষে: দরকারে tcpdump; কারণ আর সমাধান লিখে রাখা।
নম্বর কোথায়: স্তরভিত্তিক ক্রম (২), প্রতিটি ধাপে সঠিক কমান্ড (২), ফলাফলের ব্যাখ্যা (১)। পর্ব ০৬ · পর্ব ৫৫
৮ · ভাইভা — মুখে উত্তরের কৌশল, নমুনা ভাইভা আর মডিউলভিত্তিক দ্রুত প্রশ্ন
ভাইভায় পরীক্ষক আপনার উত্তর শুনেই পরের প্রশ্ন বানান (follow-up প্রশ্ন); তাই প্রথম উত্তর এমনভাবে দিন, যাতে পরের প্রশ্ন আপনার চেনা পথে আসে।
তিন বাক্যের কাঠামো
“ARP কী?” — “একই LAN-এ IPv4 ঠিকানার MAC খোঁজার protocol (কী)। Host broadcast-এ জিজ্ঞেস করে, মালিক unicast-এ উত্তর দেয় (কীভাবে)। যাচাই নেই বলে spoofing সম্ভব (সীমা)।” তৃতীয় বাক্যই পরের প্রশ্নের দরজা খোলে।
তিনটি অভ্যাস যা নম্বর এনে দেয়
- জোরে ভাবুন: সংখ্যার প্রশ্নে পথটি মুখে বলুন — “/26 মানে ৬টি host বিট, ২৬ − ২ = ৬২”। পথ ঠিক থাকলে ছোট ভুলেও নম্বর থাকে।
- ছবি আঁকুন: হাতের কাছে কাগজ থাকলে handshake-এর দুই খাড়া রেখা বা তিন router-এর টপোলজি — দশ বাক্যের কাজ এক ছবিতে।
- স্তর বলুন: “এটি layer 2-এর বিষয়, তাই router এখানে আসে না” — স্তরের নাম বললে উত্তর নির্ভুল আর গোছানো শোনায়।
যে প্রশ্নের উত্তর জানেন না — সৎভাবে সামলানো
- স্বীকার করুন: “পুরো নিশ্চিত নই” বলা দুর্বলতা নয়; ভুল কথা জোর দিয়ে বললে বাকি উত্তরেও সন্দেহ জাগে।
- যা জানেন সেখান থেকে যুক্তি দিন: “QUIC-এর header মনে নেই, তবে এটি UDP-র ওপর চলে আর stream আলাদা বলে head-of-line blocking এড়ায়।”
- বানাবেন না: RFC নম্বর, port বা বছর মনে না থাকলে তা বলুন, আর যাচাইয়ের পথ (RFC, man page, ল্যাব) জানান।
একটি নমুনা ভাইভা — follow-up কীভাবে গভীরে নামে
নিচে একটি কাল্পনিক ভাইভার ছয়টি ধাপ। প্রতিটি উত্তরের শেষ বাক্য লক্ষ করুন — পরের প্রশ্ন সেখান থেকেই আসছে।
| পরীক্ষক | |
| প্রার্থী (মূল কথা) | |
| কেন ভালো উত্তর | |
| জোড়া মডিউল |
- শুরুর প্রশ্ন। উত্তর স্তর দিয়ে শুরু, শেষ বাক্যে collision domain.
- প্রথম follow-up. দুটি নিয়মই যথেষ্ট: শেখা আর aging.
- সীমা নিজে বলা। “broadcast আটকায় না” — এই এক বাক্যই পরীক্ষককে VLAN-এর দিকে টেনে আনল, যা প্রার্থীর প্রস্তুত বিষয়।
- VLAN. সংজ্ঞার সাথে বাস্তব নাম (802.1Q, trunk).
- ফাঁদের প্রশ্ন। ভুল উত্তর হতো “switch নিজেই পাঠাবে”। সঠিক উত্তর শুরু হয় “layer 2-এ পারবে না” দিয়ে — তারপর দুটি সমাধান।
- শেষ ধাপ — সব জোড়া। ARP, subnet আর routing এক উত্তরে।
Follow-up প্রশ্নের শিকল
| শুরুর প্রশ্ন | প্রায়ই আসা follow-up | উত্তরের সূত্র |
|---|---|---|
| TCP আর UDP-র পার্থক্য? | DNS কোনটি নেয়? → বড় উত্তরে? → তাহলে QUIC কেন UDP-র ওপর? | সাধারণত UDP; truncate হলে TCP; OS-এ নতুন TCP বসানো কঠিন, UDP সব middlebox পার হয় |
| Three-way handshake? | দুই ধাপে কেন নয়? → SYN flood কী? → SYN cookie কীভাবে বাঁচায়? | দুই দিকের ISN, পুরোনো SYN; অর্ধেক-খোলা সংযোগে সারি ভরা; state না রেখে ISN-এ তথ্য লুকানো |
| DNS কীভাবে কাজ করে? | Recursive বনাম iterative? → TTL বেশি হলে? → DNS-এ নিরাপত্তা? | stub–resolver বনাম resolver–সার্ভার; পরিবর্তন দেরিতে ছড়ায়; DNSSEC, DoH/DoT |
| HTTPS কী? | Certificate কে দেয়? → মাঝে কেউ নকল certificate দিলে? → forward secrecy? | CA; chain যাচাই ব্যর্থ — ব্রাউজার সতর্ক করে; ephemeral key |
নিজে নিজে মক ভাইভা — seed দিয়ে প্রশ্ন বাছাই
বন্ধুর সাথে অনুশীলনে এই ছোট প্রোগ্রামটি নিচের প্রশ্নব্যাংক থেকে ছয়টি ভিন্ন মডিউলের একটি করে প্রশ্নের নম্বর বাছে। একই seed দিলে দুজনের কাছে একই তালিকা আসে; seed বদলালে নতুন সেট:
// Mock viva: one random question from 6 different modules of this page's viva bank.
// Same SEED -> same set (practise with a friend); change SEED for a new set.
const SEED = 2026;
const bank = [ // [module, first, last] viva numbers (ভ-..)
["M1 foundations", 1, 6], ["M2 physical + link", 7, 13], ["M3 network layer", 14, 23],
["M4 routing", 24, 28], ["M5 transport", 29, 35], ["M6 application", 36, 42],
["M7 sockets", 43, 46], ["M8 security", 47, 53], ["M9 modern + capstone", 54, 60]];
function mulberry32(a) { // small, well-known seeded generator
return () => {
a = (a + 0x6D2B79F5) | 0;
let t = Math.imul(a ^ (a >>> 15), 1 | a);
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
};
}
const rnd = mulberry32(SEED);
const two = n => String(n).padStart(2, "0");
const picked = bank.map(m => [rnd(), m]).sort((a, b) => a[0] - b[0]).slice(0, 6)
.map(x => x[1]).sort((a, b) => a[1] - b[1]); // keep course order
console.log("Seed " + SEED + " - mock viva, about 12 minutes:");
picked.forEach(([name, lo, hi], i) => {
const q = lo + Math.floor(rnd() * (hi - lo + 1));
console.log((i + 1) + ". V-" + two(q) + " (" + name + ") answer in 3 sentences, ~90 s");
});
console.log("Then the examiner picks one answer and asks 'why?' twice.");আসল রানের আউটপুট:
Seed 2026 - mock viva, about 12 minutes:
1. V-01 (M1 foundations) answer in 3 sentences, ~90 s
2. V-07 (M2 physical + link) answer in 3 sentences, ~90 s
3. V-27 (M4 routing) answer in 3 sentences, ~90 s
4. V-31 (M5 transport) answer in 3 sentences, ~90 s
5. V-36 (M6 application) answer in 3 sentences, ~90 s
6. V-55 (M9 modern + capstone) answer in 3 sentences, ~90 s
Then the examiner picks one answer and asks 'why?' twice.
V-01 মানে নিচের ভ-০১ (protocol কী), V-07 মানে ভ-০৭, এভাবে। seed ২০২৬-এ ছয়টি মডিউল এসেছে, বাকি তিনটি বাদ — seed বদলালে অন্য মডিউল আসবে। Seeded generator (mulberry32) বলে একই seed মানে একই প্রশ্নপত্র। প্রতিটি উত্তর জোরে বলুন, ৯০ সেকেন্ডের মধ্যে, তারপর কার্ড খুলে মেলান।
ভাইভা কুইকফায়ার — দ্রুত প্রশ্ন, ছোট উত্তর
জোরে উত্তর বলুন, তারপর প্রশ্নে চেপে মেলান — প্রতিটিতে ৩০–৬০ সেকেন্ডের বেশি নয়। “পরের প্রশ্ন” লাইনে পরীক্ষক সম্ভবত যা জিজ্ঞেস করবেন, আর তার এক লাইনের উত্তর।
মডিউল ১ — ভিত্তি (পর্ব ০১–০৬)
ভ-০১Protocol কী? একটি উদাহরণ দিন। (সহজ)
দুই পক্ষের যোগাযোগের নিয়মের সেট — বার্তার গঠন, প্রতিটি অংশের মানে আর কখন কী পাঠাতে হবে। যেমন HTTP: client GET পাঠায়, server status code আর body ফেরায়। নিয়ম না মানলে বার্তা বোঝা যায় না, যেমন ভিন্ন ভাষায় চিঠি।
পরের প্রশ্ন: protocol আর standard কি এক? — না; standard হলো প্রকাশিত, স্বীকৃত protocol-এর বিবরণ (যেমন IETF-এর RFC, IEEE 802.3). পর্ব ০১
ভ-০২নেটওয়ার্ককে স্তরে ভাগ করা হয় কেন? অসুবিধা কী? (সহজ)
জটিল কাজকে ছোট, আলাদা দায়িত্বে ভাগ করতে — প্রতিটি স্তর শুধু নিচের স্তরের সেবা নেয় আর ওপরের স্তরকে সেবা দেয়। তাই একটি স্তর বদলালে (তার থেকে Wi-Fi) বাকিগুলো বদলাতে হয় না, আর সমস্যা খোঁজা সহজ। অসুবিধা — প্রতিটি স্তরের header-এর overhead আর কখনো কখনো একই কাজ দুই স্তরে (যেমন error check).
পরের প্রশ্ন: স্তরের নিয়ম ভাঙার উদাহরণ? — NAT transport-এর port বদলায়। পর্ব ০৩
ভ-০৩Internet আর World Wide Web কি এক? (সহজ)
না। Internet হলো বিশ্বজুড়ে নেটওয়ার্কের নেটওয়ার্ক — IP দিয়ে জোড়া অবকাঠামো। Web সেই অবকাঠামোর ওপর চলা একটি সেবা — HTTP দিয়ে আনা, লিংকে জোড়া পেজ। ইমেইল, ভিডিও কল, অনলাইন গেমও Internet-এ চলে, কিন্তু Web নয়।
পরের প্রশ্ন: Web কে বানিয়েছিলেন? — Tim Berners-Lee, CERN-এ, ১৯৮৯–৯১ সালে। পর্ব ০১
ভ-০৪Packet switching-এ statistical multiplexing মানে কী? (মাঝারি)
Link-এর ক্ষমতা কাউকে আগে থেকে ভাগ করে দেওয়া হয় না; যার যখন ডেটা আছে সে তখন ব্যবহার করে। বেশিরভাগ ব্যবহারকারী বেশিরভাগ সময় চুপ, তাই একই link-এ circuit switching-এর চেয়ে অনেক বেশি ব্যবহারকারী চলে। দাম — একসাথে অনেকে পাঠালে queue আর loss.
পরের প্রশ্ন: কখন circuit ভালো? — স্থির হারের, কঠোর delay-চাহিদার ট্রাফিকে। পর্ব ০৪
ভ-০৫চার ধরনের delay কী? কোনটি packet-এর আকারের ওপর নির্ভর করে? (সহজ)
Processing (header দেখা, সিদ্ধান্ত), queuing (সারিতে অপেক্ষা), transmission (L/R — বিটগুলো তারে ঠেলে দেওয়া) আর propagation (d/s — সংকেতের ভ্রমণ)। আকারের ওপর নির্ভর করে transmission; দূরত্বের ওপর propagation; ভিড়ের ওপর queuing.
পরের প্রশ্ন: traffic intensity La/R ১-এর কাছে গেলে? — গড় queuing delay খুব দ্রুত বাড়ে; ১-এর বেশি হলে queue সীমাহীন বাড়ত। পর্ব ০৫
ভ-০৬Linux-এ নিজের IP, route আর খোলা port দেখবেন কোন কমান্ডে? (সহজ)
ip addr (ঠিকানা), ip route (routing table, default gateway), ss -tulpn (শোনা TCP/UDP port আর প্রসেস)। পুরোনো ifconfig আর netstat (net-tools) অনেক distribution-এ আর ডিফল্ট থাকে না। Windows-এ ipconfig, route print, netstat -ano.
পরের প্রশ্ন: ping কী মাপে? — ICMP echo-র round-trip time আর loss. পর্ব ০৬
মডিউল ২ — Physical আর data link (পর্ব ০৭–১৪)
ভ-০৭Nyquist আর Shannon-এর সূত্রের পার্থক্য কী? (মাঝারি)
Nyquist (শব্দহীন): সর্বোচ্চ হার ২B log২M — সংকেত-স্তর M বাড়ালে হার বাড়ে। Shannon (শব্দসহ): C = B log২(১ + SNR) — কোনো encoding-ই এর বেশি নির্ভুল হার দেয় না। বাস্তব সীমা দুটির ছোটটি।
পরের প্রশ্ন: SNR dB-তে দিলে? — আগে ১০dB/১০ দিয়ে অনুপাতে রূপান্তর। পর্ব ০৭
ভ-০৮Parity কোন error ধরতে পারে না? CRC কেন ভালো? (সহজ)
একক parity bit জোড়-সংখ্যক বিট উল্টালে ধরতে পারে না — parity একই থাকে। CRC বহুপদী ভাগের ভাগশেষ; r বিটের CRC r বা কম দৈর্ঘ্যের সব burst error আর (উপযুক্ত generator-এ) সব বিজোড়-সংখ্যক error ধরে, হিসাবও হার্ডওয়্যারে দ্রুত।
পরের প্রশ্ন: CRC কি error ঠিক করে? — না, শুধু ধরে; ঠিক করতে Hamming বা FEC. পর্ব ০৯
ভ-০৯Hamming distance d হলে code কতটি error ধরে আর ঠিক করে? (মাঝারি)
সর্বনিম্ন Hamming distance d হলে d − ১টি পর্যন্ত error নিশ্চিত ধরে, আর ⌊(d − ১)/২⌋টি পর্যন্ত ঠিক করে। যেমন d = ৩ (Hamming(7,4)) — ২টি ধরে, ১টি ঠিক করে। কারণ: ১টি error-এ পাওয়া শব্দ মূল codeword-এর সবচেয়ে কাছে থাকে, অন্যটির নয়।
পরের প্রশ্ন: m ডেটা বিটে একক error ঠিক করতে কত parity বিট? — ২r ≥ m + r + ১-এর সবচেয়ে ছোট r. পর্ব ০৯
ভ-১০Go-Back-N আর Selective Repeat-এর পার্থক্য? (মাঝারি)
GBN-এ গ্রহীতা শুধু ক্রমে আসা frame নেয়; একটি হারালে প্রেরক সেখান থেকে পুরো window আবার পাঠায় — সহজ, কিন্তু অপচয়। SR-এ ক্রমের বাইরেরটিও buffer-এ থাকে, শুধু হারানোটি আবার যায় — দক্ষ, কিন্তু buffer আর প্রতিটি frame-এর timer লাগে। Window: GBN ≤ ২k − ১, SR ≤ ২k−১.
পরের প্রশ্ন: TCP কোনটির কাছাকাছি? — মিশ্র: cumulative ACK, কিন্তু ক্রমের বাইরের ডেটা রাখে আর SACK আছে। পর্ব ১০
ভ-১১Pure আর slotted ALOHA-র সর্বোচ্চ throughput কত, কেন? (কঠিন)
Pure ALOHA-তে একটি frame নিরাপদ থাকতে দুই frame-সময়ের (vulnerable period) মধ্যে আর কেউ পাঠাতে পারবে না, তাই S = G·e−২G, সর্বোচ্চ G = ০.৫-এ ১/(২e) ≈ ১৮.৪%. Slotted-এ পাঠানো শুধু slot-এর শুরুতে, vulnerable period অর্ধেক: S = G·e−G, সর্বোচ্চ G = ১-এ ১/e ≈ ৩৬.৮%.
পরের প্রশ্ন: সর্বোচ্চ বিন্দু কীভাবে? — dS/dG = ০ বসিয়ে। পর্ব ১১
ভ-১২Spanning Tree Protocol কেন দরকার? (মাঝারি)
বিকল্প পথের জন্য switch-গুলো loop করে যুক্ত থাকে, কিন্তু Ethernet frame-এ TTL নেই — একটি broadcast চিরকাল ঘুরে নেটওয়ার্ক অচল করে (broadcast storm), আর MAC table অস্থির হয়। STP একটি root bridge বেছে কিছু port বন্ধ (blocking) রেখে loop-মুক্ত গাছ বানায়; একটি link ভাঙলে বন্ধ port খোলে। আধুনিক রূপ RSTP দ্রুত converge করে।
পরের প্রশ্ন: root bridge কীভাবে বাছা হয়? — সবচেয়ে ছোট bridge ID (priority, তারপর MAC). পর্ব ১২
ভ-১৩VLAN কী, trunk port-এ কী যায়? (সহজ)
VLAN একটি switch-এর port-গুলোকে যুক্তিগতভাবে আলাদা LAN-এ ভাগ করে — প্রতিটি আলাদা broadcast domain, সাধারণত আলাদা subnet; যেমন finance আর guest একই switch-এ কিন্তু আলাদা। Trunk-এ একাধিক VLAN-এর frame যায়, প্রতিটিতে ৪ বাইটের 802.1Q tag-এ ১২ বিটের VLAN ID (১–৪০৯৪ ব্যবহারযোগ্য)।
পরের প্রশ্ন: native VLAN? — trunk-এ যে VLAN-এর frame tag ছাড়া যায়; ডিফল্ট রাখা নিরাপত্তার ঝুঁকি। পর্ব ১৩
মডিউল ৩ — Network স্তর (পর্ব ১৫–২১)
ভ-১৪MAC ঠিকানা, IP ঠিকানা আর port — কোনটির কাজ কী? (সহজ)
ভ-১৫Forwarding আর routing-এর পার্থক্য? (সহজ)
Forwarding — একটি router-এর ভেতরে, একটি packet কোন port দিয়ে বের হবে তা টেবিল দেখে ঠিক করা; nanosecond–microsecond-এর কাজ, data plane. Routing — পুরো নেটওয়ার্কে পথ হিসাব করে সেই টেবিল বানানো; সেকেন্ডের কাজ, control plane (OSPF, BGP).
পরের প্রশ্ন: SDN এখানে কী বদলায়? — control plane যন্ত্র থেকে সরিয়ে controller-এ নেয়। পর্ব ১৫
ভ-১৬Subnetting কেন করা হয়? (সহজ)
একটি বড় ঠিকানা-ব্লককে ছোট নেটওয়ার্কে ভাগ করতে — broadcast domain ছোট হয়, বিভাগ আলাদা করে নিরাপত্তার নিয়ম বসানো যায়, ঠিকানা নষ্ট কম হয়, আর routing table-এ সারাংশ (summarisation) সহজ।
পরের প্রশ্ন: /26-এ কতটি host? — ৬টি host বিট, ২৬ − ২ = ৬২. পর্ব ১৭
ভ-১৭192.168.5.77/27 কোন subnet-এ? broadcast কত? (মাঝারি)
/27-এ mask 255.255.255.224, block size ২৫৬ − ২২৪ = ৩২. ৭৭ পড়ে ৬৪–৯৫ ব্লকে: network 192.168.5.64, broadcast 192.168.5.95, usable .65–.94.
পরের প্রশ্ন: একই হিসাব binary-তে? — শেষ octet ৭৭ = 01001101; mask 11100000; AND = 01000000 = ৬৪. পর্ব ১৭
ভ-১৮Host কীভাবে জানে গন্তব্য একই subnet-এ কি না? Default gateway কী? (সহজ)
নিজের IP আর গন্তব্য IP দুটিকেই নিজের subnet mask দিয়ে AND করে; ফল সমান হলে একই subnet — সরাসরি ARP করে পাঠায়। না হলে packet যায় default gateway-তে — LAN-এর সেই router interface, যা বাইরের পথ জানে।
পরের প্রশ্ন: gateway ভুল সেট করা থাকলে? — LAN-এর ভেতরে সব চলবে, বাইরে কিছুই নয়। পর্ব ২২
ভ-১৯ARP কীভাবে কাজ করে? Gratuitous ARP কী? (মাঝারি)
Host broadcast-এ জিজ্ঞেস করে “IP X কার?”, মালিক unicast-এ নিজের MAC জানায়; উত্তর ARP cache-এ কিছুক্ষণ থাকে। Gratuitous ARP — কেউ না চাইতেই নিজের IP–MAC ঘোষণা; নতুন যন্ত্রে ঠিকানার দ্বন্দ্ব ধরতে বা failover-এর পর সবার cache হালনাগাদে।
পরের প্রশ্ন: ARP spoofing ঠেকাবেন কীভাবে? — switch-এ dynamic ARP inspection (DHCP snooping-এর টেবিল ধরে), আর উপরের স্তরে TLS. পর্ব ১৮
ভ-২০DHCP-র DORA কী? Request কেন broadcast? (সহজ)
Discover (client broadcast), Offer (সার্ভারের প্রস্তাব), Request (client নির্দিষ্ট প্রস্তাব চায়), Ack (সার্ভার নিশ্চিত করে)। Request broadcast, যাতে একাধিক সার্ভার থাকলে বাকিরা জানে তাদের প্রস্তাব নেওয়া হয়নি আর ঠিকানাটি ফেরত নেয়। DHCP UDP-তে চলে — সার্ভার port 67, client 68.
পরের প্রশ্ন: সার্ভার অন্য subnet-এ হলে? — router-এ DHCP relay. পর্ব ১৮
ভ-২১NAT কী? এটি কি firewall-এর কাজ করে? (মাঝারি)
Router-এ private ঠিকানা আর port-কে public ঠিকানা আর port-এ বদলানো (PAT), টেবিলে মনে রেখে উত্তর ফেরত পাঠানো। বাইরে থেকে অনাহূত সংযোগ ঢুকতে পারে না — এটি পার্শ্বফল, নিরাপত্তার নকশা নয়; নিয়ন্ত্রণ আর লগের জন্য আসল firewall লাগে।
পরের প্রশ্ন: CGNAT কী? — ISP-র স্তরে NAT, অনেক গ্রাহক একটি public IP ভাগ করে। পর্ব ১৯
ভ-২২ICMP কী? Ping আর traceroute এটি কীভাবে ব্যবহার করে? (মাঝারি)
ICMP হলো IP-র সহকারী বার্তা — ত্রুটি (destination unreachable, time exceeded) আর অনুসন্ধান (echo). Ping echo request পাঠিয়ে echo reply-র সময় মাপে। Traceroute TTL ১, ২, ৩… দিয়ে packet পাঠায়; প্রতিটি router TTL শূন্য হলে “time exceeded” ফেরত দেয়, ফলে প্রতিটি hop-এর ঠিকানা আর সময় জানা যায়।
পরের প্রশ্ন: Linux আর Windows-এর traceroute-এ পার্থক্য? — Linux ডিফল্টে UDP probe, Windows-এর tracert ICMP echo. পর্ব ২০
ভ-২৩IPv6 আর IPv4-এর তিনটি মূল পার্থক্য বলুন। (সহজ)
ঠিকানা ১২৮ বিট (৩২-এর বদলে) — NAT ছাড়াই প্রচুর ঠিকানা; স্থির ৪০ বাইটের সরল header, checksum নেই, router fragment করে না; broadcast নেই — multicast, আর ARP-এর বদলে Neighbor Discovery; SLAAC-এ যন্ত্র নিজেই ঠিকানা বানাতে পারে।
পরের প্রশ্ন: fe80:: দিয়ে শুরু ঠিকানা কী? — link-local, প্রতিটি interface-এ থাকে, router পার হয় না। পর্ব ২১
মডিউল ৪ — Routing (পর্ব ২২–২৬)
ভ-২৪Longest prefix match কী? উদাহরণ দিন। (মাঝারি)
Routing table-এ একাধিক entry মিললে সবচেয়ে লম্বা prefix-এর (সবচেয়ে নির্দিষ্ট) route জেতে। টেবিলে 10.0.0.0/8 → A আর 10.1.2.0/24 → B থাকলে 10.1.2.9 যায় B-তে, 10.9.9.9 যায় A-তে; কিছু না মিললে 0.0.0.0/0 (default route).
পরের প্রশ্ন: হার্ডওয়্যারে এত দ্রুত কীভাবে? — TCAM বা trie-ভিত্তিক lookup. পর্ব ২২
ভ-২৫RIP আর OSPF-এর পার্থক্য এক কথায়? (সহজ)
RIP — distance vector, metric শুধু hop count (১৫ পর্যন্ত, ১৬ = অসীম), প্রতিবেশীকে পুরো টেবিল পাঠায়, ধীর convergence. OSPF — link state, link-এর cost (সাধারণত bandwidth থেকে), পুরো মানচিত্রে Dijkstra, দ্রুত convergence আর area দিয়ে বড় নেটওয়ার্ক।
পরের প্রশ্ন: OSPF কোন transport নেয়? — কোনোটিই না; সরাসরি IP-র ওপর, protocol নম্বর 89. পর্ব ২৩ · পর্ব ২৪
ভ-২৬OSPF-এ area কেন? (মাঝারি)
পুরো বড় নেটওয়ার্কের প্রতিটি link-এর খবর সবাইকে flood করলে LSDB বিশাল হয় আর প্রতিটি পরিবর্তনে সবাই Dijkstra চালায়। Area-তে ভাগ করলে বিস্তারিত তথ্য area-র ভেতরে থাকে, বাইরে যায় সারাংশ; সব area যুক্ত থাকে backbone area 0-এর সাথে, সংযোগস্থলে ABR.
পরের প্রশ্ন: DR কেন? — broadcast LAN-এ সবার সাথে সবার adjacency-র বদলে একজন প্রতিনিধি, flooding কম। পর্ব ২৪
ভ-২৭BGP-কে path vector বলা হয় কেন? (মাঝারি)
BGP শুধু দূরত্ব নয়, গন্তব্য পর্যন্ত পুরো AS-এর তালিকা (AS_PATH) পাঠায়। এতে loop সহজে ধরা যায় — নিজের AS নম্বর পথে দেখলে বাতিল — আর নীতি অনুযায়ী পথ বাছা যায়। BGP TCP port 179-এ চলে।
পরের প্রশ্ন: route hijack কী? — কেউ অন্যের prefix নিজের বলে ঘোষণা করা; প্রতিরক্ষা RPKI-ভিত্তিক origin যাচাই আর prefix filter. পর্ব ২৫
ভ-২৮Unicast, broadcast, multicast আর anycast-এর পার্থক্য? VoIP-এর জন্য QoS কী করে? (মাঝারি)
Unicast — এক থেকে এক; broadcast — এক থেকে LAN-এর সবাই; multicast — এক থেকে যারা একটি দলে যোগ দিয়েছে (IPTV); anycast — একই ঠিকানা অনেক জায়গায়, packet যায় কাছেরটিতে (DNS root, CDN). QoS-এ VoIP packet-কে DSCP EF চিহ্ন দিয়ে আলাদা, অগ্রাধিকারের queue-তে রাখা হয়, যাতে বড় download-এর ভিড়েও delay আর jitter কম থাকে।
পরের প্রশ্ন: multicast group-এ যোগ দেয় কীভাবে? — IPv4-এ IGMP, IPv6-এ MLD. পর্ব ২৬
মডিউল ৫ — Transport (পর্ব ২৭–৩৩)
ভ-২৯Socket আর port-এর পার্থক্য? একটি TCP সংযোগ কীভাবে চেনা যায়? (সহজ)
Port একটি ১৬ বিটের সংখ্যা; socket হলো প্রসেসের হাতে থাকা যোগাযোগের প্রান্ত (OS-এর একটি object). একটি TCP সংযোগ চেনা যায় চারটি মানে — source IP, source port, destination IP, destination port; তাই একই সার্ভার port 443-এ হাজার সংযোগ আলাদা থাকে।
পরের প্রশ্ন: well-known port কোনগুলো? — ০–১০২৩; যেমন 22 SSH, 53 DNS, 80 HTTP, 443 HTTPS. পর্ব ২৭
ভ-৩০Three-way handshake দুই ধাপে হয় না কেন? (মাঝারি)
দুই দিকেরই ISN জানাতে আর নিশ্চিত হতে হয় — client-এর ACK ছাড়া server জানে না তার SYN পৌঁছেছে। তা ছাড়া দেরিতে আসা পুরোনো SYN-এ দুই ধাপে server ভুয়া সংযোগ খুলত; তৃতীয় ধাপে client তা বাতিল করতে পারে।
পরের প্রশ্ন: ISN এলোমেলো কেন? — পুরোনো সংযোগের segment গুলিয়ে যাওয়া আর অনুমান করে নকল segment ঢোকানো ঠেকাতে। পর্ব ২৯
ভ-৩১Flow control আর congestion control কি এক? (সহজ)
না। Flow control গ্রহীতাকে বাঁচায় — গ্রহীতা rwnd-এ জানায় কতটা নিতে পারবে। Congestion control নেটওয়ার্ককে বাঁচায় — প্রেরক loss বা delay থেকে cwnd অনুমান করে। প্রেরক পাঠায় min(rwnd, cwnd).
পরের প্রশ্ন: rwnd শূন্য হলে? — প্রেরক থামে আর persist timer দিয়ে মাঝে মাঝে window probe পাঠায়। পর্ব ৩১
ভ-৩২Slow start কি সত্যিই ধীর? (সহজ)
না — প্রতি RTT-তে cwnd দ্বিগুণ, অর্থাৎ exponential বৃদ্ধি। “Slow” কারণ শুরু ১ (আজকের Linux-এ সাধারণত ১০) segment থেকে, পুরো window একবারে ছেড়ে দেওয়ার বদলে। ssthresh ছুঁলে বৃদ্ধি রৈখিক হয়।
পরের প্রশ্ন: initial window বড় করা হলো কেন? — ছোট ওয়েব-অনুরোধ যেন কম RTT-তে শেষ হয়। পর্ব ৩২
ভ-৩৩তিনটি duplicate ACK আর timeout-এ TCP Reno-র প্রতিক্রিয়া আলাদা কেন? (মাঝারি)
Duplicate ACK আসা মানে পরের segment-গুলো পৌঁছাচ্ছে — একটি হারিয়েছে, কিন্তু পথ চলছে; তাই ssthresh = cwnd/২ আর cwnd অর্ধেক (fast recovery). Timeout মানে কিছুই আসছে না — হয়তো গুরুতর জ্যাম; তাই cwnd = ১, আবার slow start.
পরের প্রশ্ন: তিনটিই কেন, একটি নয়? — একটি-দুটি duplicate ACK শুধু ক্রম উল্টানোতেও আসে। পর্ব ৩২
ভ-৩৪RTO স্থির না রেখে মাপা হয় কেন? Karn-এর নিয়ম কী? (কঠিন)
RTT পথ আর ভিড়ভেদে অনেক বদলায় — স্থির RTO ছোট হলে অকারণ retransmission, বড় হলে দীর্ঘ অপেক্ষা। তাই RTO = SRTT + ৪ × RTTVAR, চলমান গড় থেকে। Karn: retransmit করা segment-এর RTT নমুনা নেওয়া হয় না, আর timeout-এ RTO দ্বিগুণ।
পরের প্রশ্ন: timestamps option-এর সুবিধা? — retransmit-এর পরেও RTT মাপা যায়। পর্ব ৩০
ভ-৩৫QUIC কেন UDP-র ওপর বানানো? (মাঝারি)
নতুন transport সরাসরি IP-র ওপর বানালে পথের firewall আর NAT চিনত না, আর TCP OS-এর kernel-এ — বদলাতে বছরের পর বছর। UDP সব জায়গায় পার হয়, আর QUIC user space-এ দ্রুত হালনাগাদ হয়। QUIC নিজেই নির্ভরযোগ্যতা, congestion control আর TLS 1.3 দেয়; প্রতিটি stream আলাদা বলে একটি হারানো packet শুধু তার stream আটকায় — TCP-র head-of-line blocking নেই।
পরের প্রশ্ন: connection migration? — Wi-Fi থেকে মোবাইল ডেটায় গেলে IP বদলালেও connection ID দিয়ে সংযোগ চলে। পর্ব ৩৩
মডিউল ৬ — Application (পর্ব ৩৪–৪০)
ভ-৩৬DNS UDP না TCP? (মাঝারি)
দুটিই, port 53. সাধারণ query UDP-তে — এক প্রশ্ন, এক উত্তর, handshake-এর খরচ নেই। উত্তর বড় হলে (truncated flag) আবার TCP-তে, আর zone transfer TCP-তে। DNS over TLS port 853, DNS over HTTPS port 443.
পরের প্রশ্ন: EDNS কী করে? — UDP-তে ৫১২ বাইটের পুরোনো সীমার চেয়ে বড় উত্তর পাঠানোর ব্যবস্থা। পর্ব ৩৫
ভ-৩৭HTTP stateless হলে shopping cart মনে থাকে কীভাবে? (সহজ)
সার্ভার Set-Cookie-এ একটি session ID দেয়, ব্রাউজার পরের প্রতিটি request-এ Cookie-তে ফেরত পাঠায়; সার্ভার ID দেখে নিজের ডেটাবেসে cart খোঁজে। বিকল্প — token (যেমন Authorization header-এ)।
পরের প্রশ্ন: HttpOnly কেন? — JavaScript cookie পড়তে পারে না, তাই XSS-এ session চুরি কঠিন হয়। পর্ব ৩৬
ভ-৩৮GET আর POST-এর পার্থক্য? 301, 304, 404, 503 কী বোঝায়? (সহজ)
GET তথ্য চায়, নিরাপদ আর idempotent, cache হতে পারে, প্যারামিটার URL-এ; POST কিছু পাঠায় বা বদলায়, idempotent নয়, ডেটা body-তে। 301 — স্থায়ীভাবে অন্য ঠিকানায়; 304 — বদলায়নি, cache-এর কপি চালান; 404 — নেই; 503 — সার্ভার সাময়িকভাবে সেবা দিতে পারছে না।
পরের প্রশ্ন: POST কি GET-এর চেয়ে নিরাপদ? — শুধু URL আর log-এ কম দেখা যায়; গোপনীয়তা দেয় HTTPS. পর্ব ৩৬
ভ-৩৯HTTP/1.1, HTTP/2 আর HTTP/3-এর মূল পার্থক্য? (মাঝারি)
HTTP/1.1 — লেখা (text) বার্তা, একটি সংযোগে একসাথে একটি অনুরোধ, তাই ব্রাউজার কয়েকটি সংযোগ খোলে। HTTP/2 — binary frame, একটি TCP সংযোগে অনেক stream একসাথে, header compression (HPACK); কিন্তু TCP-র একটি loss সব stream আটকায়। HTTP/3 — একই ধারণা QUIC-এর ওপর (UDP), header compression QPACK, stream-ভিত্তিক loss-সামলানো।
পরের প্রশ্ন: HTTP/2-এ domain sharding কেন অপ্রয়োজনীয়? — এক সংযোগেই multiplexing. পর্ব ৩৭
ভ-৪০CDN কী, সাইট দ্রুত হয় কেন? (সহজ)
কনটেন্টের কপি ব্যবহারকারীর কাছের অনেক edge সার্ভারে রাখার নেটওয়ার্ক। RTT ছোট হয়, মূল সার্ভারে চাপ কমে, আর DDoS-এর ধাক্কা অনেক জায়গায় ভাগ হয়। ব্যবহারকারীকে কাছের edge-এ পাঠানো হয় DNS বা anycast দিয়ে।
পরের প্রশ্ন: কনটেন্ট বদলালে? — TTL শেষ হওয়া, purge, বা ফাইলের নামে version (cache busting). পর্ব ৩৮
ভ-৪১SMTP, IMAP আর POP3-এর কাজ কী? (সহজ)
SMTP মেইল পাঠায় — client থেকে সার্ভারে আর সার্ভার থেকে সার্ভারে (push). IMAP দিয়ে মেইল সার্ভারে রেখেই পড়া, ফোল্ডার আর একাধিক যন্ত্রে মিল। POP3 সাধারণত মেইল নামিয়ে নেয়, পুরোনো ধাঁচ।
পরের প্রশ্ন: SPF, DKIM, DMARC কী? — কোন সার্ভার পাঠাতে পারে (SPF), বার্তায় ডোমেইনের স্বাক্ষর (DKIM), আর দুটি ব্যর্থ হলে গ্রাহক কী করবে তার নীতি (DMARC) — নকল প্রেরক ঠেকাতে। পর্ব ৩৯
ভ-৪২VoIP-এ jitter কী, playout buffer কেন? (মাঝারি)
Jitter — packet-গুলোর delay-এর ওঠানামা। গ্রহীতা কিছুক্ষণ জমিয়ে (playout delay) তারপর সমান ফাঁকে বাজায় — buffer বড় হলে কম কাটা কাটা কিন্তু বেশি দেরি। একমুখী delay প্রায় ১৫০ ms-এর নিচে হলে কথা স্বাভাবিক লাগে বলে ধরা হয়।
পরের প্রশ্ন: হারানো packet আবার চাওয়া হয় না কেন? — দেরিতে এলে কাজে লাগে না; তাই UDP/RTP আর loss concealment. পর্ব ৪০
মডিউল ৭ — Socket প্রোগ্রামিং (পর্ব ৪১–৪৫)
ভ-৪৩TCP server-এর socket call-এর ক্রম বলুন। (সহজ)
socket → bind (IP, port) → listen → accept (নতুন সংযুক্ত socket ফেরত দেয়) → recv/send → close. Client: socket → connect → send/recv → close.
পরের প্রশ্ন: সার্ভার আবার চালু করলে “Address already in use”? — আগের সংযোগের TIME_WAIT; SO_REUSEADDR দিয়ে bind করা যায়। পর্ব ৪১
ভ-৪৪TCP-তে একবার send করা ১০০ বাইট কি একবারের recv-এ পুরো আসে? (মাঝারি)
নিশ্চিত নয় — TCP byte stream, বার্তার সীমা রাখে না; recv কম বা একাধিক send মিলিয়ে বেশি দিতে পারে। তাই অ্যাপকে নিজে framing করতে হয় — দৈর্ঘ্যের prefix বা delimiter (যেমন HTTP-তে CRLF আর Content-Length), আর লুপে পড়া। UDP-তে প্রতিটি recvfrom একটি পুরো datagram দেয়।
পরের প্রশ্ন: recv 0 ফেরত দিলে? — অপর পক্ষ সংযোগ বন্ধ করেছে (FIN). পর্ব ৪১ · পর্ব ৪২
ভ-৪৫select, poll আর epoll-এর পার্থক্য? (মাঝারি)
তিনটিই এক থ্রেডে অনেক socket-এর প্রস্তুতি দেখে। select — fd-এর একটি নির্দিষ্ট আকারের সেট (প্রায়ই ১০২৪ সীমা), প্রতিবার পুরো সেট kernel-এ কপি আর স্ক্যান। poll — সীমা নেই, কিন্তু তবু প্রতিবার পুরো তালিকা স্ক্যান, O(n). epoll (Linux) — আগ্রহের তালিকা kernel-এ একবার, প্রস্তুত হলে শুধু প্রস্তুতগুলো ফেরত — হাজার সংযোগে দক্ষ।
পরের প্রশ্ন: অন্য OS-এ? — BSD/macOS-এ kqueue, Windows-এ IOCP. পর্ব ৪৪
ভ-৪৬প্রতি client-এ fork, thread pool আর event loop — কখন কোনটি? (মাঝারি)
fork-per-client — সরল, বিচ্ছিন্ন, কিন্তু প্রতিটি প্রসেস ভারী। Thread pool — নির্দিষ্ট থ্রেডে কাজ ভাগ, CPU-ভারী কাজে ভালো, shared ডেটায় lock লাগে। Event loop (epoll) — এক থ্রেডে হাজার নিষ্ক্রিয় সংযোগ, I/O-ভারী কাজে সেরা, কিন্তু একটি আটকানো কাজ সবাইকে আটকায়। nginx: কয়েকটি worker, প্রতিটিতে event loop.
পরের প্রশ্ন: C10K কী? — এক সার্ভারে দশ হাজার একসাথে সংযোগের চ্যালেঞ্জ। পর্ব ৪৩ · পর্ব ৪৪
মডিউল ৮ — নিরাপত্তা (পর্ব ৪৬–৫০)
ভ-৪৭CIA triad কী? প্রতিটির একটি নেটওয়ার্ক-উদাহরণ দিন। (সহজ)
Confidentiality — অনুমতি ছাড়া কেউ পড়তে পারবে না (TLS-এ এনক্রিপশন); Integrity — অনুমতি ছাড়া বদলানো যাবে না বা বদলালে ধরা পড়বে (MAC, স্বাক্ষর); Availability — দরকারের সময় সেবা পাওয়া যাবে (DDoS প্রতিরক্ষা, redundant link).
পরের প্রশ্ন: authentication কোথায়? — CIA-র বাইরে কিন্তু সমান জরুরি — কে কথা বলছে তার প্রমাণ। পর্ব ৪৬
ভ-৪৮Symmetric আর asymmetric encryption — দুটিই কেন লাগে? (মাঝারি)
Symmetric (যেমন AES) — একই key দুই পাশে, খুব দ্রুত, কিন্তু key আগে নিরাপদে ভাগ করার সমস্যা। Asymmetric (RSA, elliptic curve) — public আর private key-র জোড়া, key ভাগের সমস্যা মেটায় আর স্বাক্ষর দেয়, কিন্তু ধীর। তাই hybrid: asymmetric দিয়ে key exchange আর পরিচয়, তারপর symmetric দিয়ে আসল ডেটা — TLS ঠিক এটিই করে।
পরের প্রশ্ন: Diffie-Hellman কী দেয়? — খোলা পথে কথা বলেও দুই পক্ষের একটি গোপন মান, যা পথে কখনো যায় না। পর্ব ৪৭
ভ-৪৯Hash আর encryption-এর পার্থক্য? Digital signature কীভাবে কাজ করে? (মাঝারি)
Encryption উল্টানো যায় (key থাকলে); cryptographic hash একমুখী, স্থির দৈর্ঘ্যের “আঙুলের ছাপ” — ফেরানো যায় না। Signature: বার্তার hash প্রেরক নিজের private key দিয়ে স্বাক্ষর করে; যে কেউ public key দিয়ে যাচাই করে — বার্তা বদলায়নি আর প্রেরক private key-র মালিক।
পরের প্রশ্ন: পাসওয়ার্ড শুধু SHA-256-এ রাখা কেন খারাপ? — দ্রুত hash-এ অনুমান-আক্রমণ সহজ; salt-সহ ধীর password hash (bcrypt, Argon2) লাগে। পর্ব ৪৭
ভ-৫০Firewall, IDS আর IPS-এর পার্থক্য? (সহজ)
Firewall নিয়ম অনুযায়ী (IP, port, অবস্থা) ট্রাফিক ঢুকতে বা বেরোতে দেয় বা আটকায়। IDS ট্রাফিকের কপি দেখে সন্দেহজনক কিছু পেলে শুধু সতর্ক করে। IPS পথের মাঝে বসে নিজেই আটকায় — দ্রুত প্রতিরক্ষা, কিন্তু ভুল ইতিবাচকে বৈধ ট্রাফিকও আটকাতে পারে।
পরের প্রশ্ন: signature-based আর anomaly-based? — চেনা আক্রমণের ছাপ মেলানো বনাম স্বাভাবিক আচরণ থেকে বিচ্যুতি ধরা। পর্ব ৪৯ · পর্ব ৫০
ভ-৫১Firewall-এ “default deny” মানে কী? DMZ কেন? (মাঝারি)
যা স্পষ্টভাবে অনুমোদিত নয় তা আটকানো — শেষ নিয়ম “বাকি সব drop”; উল্টোটি (সব খোলা, কিছু বন্ধ) ভুলে যাওয়া port খোলা রেখে দেয়। DMZ — বাইরের জন্য খোলা সার্ভারগুলোর (ওয়েব, মেইল) আলাদা অঞ্চল; সেখানে কেউ ঢুকে পড়লেও ভেতরের নেটওয়ার্কে সরাসরি যেতে পারে না।
পরের প্রশ্ন: stateful firewall ফেরত ট্রাফিক কীভাবে চেনে? — connection tracking table. পর্ব ৪৯
ভ-৫২VPN কী? IPsec আর WireGuard-এর একটি করে বৈশিষ্ট্য বলুন। (মাঝারি)
অবিশ্বস্ত নেটওয়ার্কের ওপর এনক্রিপ্টেড tunnel, যাতে দূরের যন্ত্র বা শাখা যেন একই ব্যক্তিগত নেটওয়ার্কে। IPsec — network স্তরে, পুরোনো ও বহুল প্রচলিত মানক, IKE দিয়ে key বিনিময়, অনেক বিকল্প বলে কনফিগারেশন জটিল। WireGuard — ছোট কোডবেস, নির্দিষ্ট আধুনিক cryptography, UDP-তে চলে, Linux kernel-এ অন্তর্ভুক্ত।
পরের প্রশ্ন: split tunnelling? — শুধু অফিসের ট্রাফিক tunnel-এ, বাকিটা সরাসরি ইন্টারনেটে। পর্ব ৪৯
ভ-৫৩SYN flood কী, কীভাবে ঠেকানো যায়? (মাঝারি)
আক্রমণকারী (প্রায়ই নকল উৎস-ঠিকানায়) অনেক SYN পাঠায়, handshake শেষ করে না; অর্ধেক-খোলা সংযোগের সারি ভরে বৈধ client আটকায়। প্রতিরক্ষা: SYN cookie (state না রেখে তথ্য ISN-এ), rate limiting, বড় আক্রমণে upstream scrubbing বা CDN.
পরের প্রশ্ন: ingress filtering? — ISP নকল উৎস-ঠিকানার packet বেরোতে দেয় না। পর্ব ৫০
মডিউল ৯ — আধুনিক নেটওয়ার্ক আর ক্যাপস্টোন (পর্ব ৫১–৫৭)
ভ-৫৪মোবাইল নেটওয়ার্কে cell আর handover কী? 5G-তে নতুন কী? (মাঝারি)
এলাকা ছোট ছোট cell-এ ভাগ, প্রতিটিতে একটি base station; একই frequency দূরের cell-এ আবার ব্যবহার হয়। চলন্ত ফোন সংকেত মেপে এক cell থেকে আরেকে চলে যায় — handover, কথা না কেটে। 5G-তে নতুন radio (NR, বেশি bandwidth, mmWave পর্যন্ত), service-based core, আর তিন ব্যবহার-শ্রেণি — eMBB, URLLC, mMTC; network slicing.
পরের প্রশ্ন: NSA আর SA 5G? — NSA-তে 4G core-এর ওপর 5G radio; SA-তে নিজস্ব 5G core. পর্ব ৫১
ভ-৫৫Data center-এ leaf-spine কেন? (মাঝারি)
Data center-এ সার্ভারে-সার্ভারে (east-west) ট্রাফিক বেশি। Leaf-spine-এ প্রতিটি leaf সব spine-এর সাথে যুক্ত, তাই যেকোনো দুই rack-এর মাঝে পথ সমান (leaf-spine-leaf), ECMP-তে অনেক পথে ভার ভাগ, আর spine যোগ করে ক্ষমতা বাড়ানো যায়। একটি spine পড়লে ক্ষমতা কিছুটা কমে, সংযোগ থাকে।
পরের প্রশ্ন: oversubscription? — leaf-এর সার্ভার-দিকের মোট bandwidth আর spine-দিকের মোট bandwidth-এর অনুপাত, যেমন ৩:১. পর্ব ৫২
ভ-৫৬SDN আর NFV কি এক? (মাঝারি)
না। SDN control plane-কে switch থেকে সরিয়ে কেন্দ্রীয় controller-এ নেয় — নেটওয়ার্ক প্রোগ্রাম করা যায়। NFV নেটওয়ার্কের কাজকে (firewall, load balancer, mobile core) বিশেষ হার্ডওয়্যার থেকে সাধারণ সার্ভারের virtual machine বা container-এ আনে। দুটি একসাথে চলে, কিন্তু একটি অন্যটি ছাড়াও সম্ভব।
পরের প্রশ্ন: OpenFlow-এ switch অজানা packet পেলে? — table-miss নিয়ম অনুযায়ী, প্রায়ই controller-কে packet-in পাঠায়। পর্ব ৫৩
ভ-৫৭Cloud-এ VPC আর security group কী? Docker container কীভাবে বাইরে যায়? (মাঝারি)
VPC — cloud-এর ভেতরে নিজের যুক্তিগত নেটওয়ার্ক, নিজের ঠিকানা-পরিসর, subnet আর route table; security group — প্রতিটি instance-এর stateful firewall নিয়ম। Docker-এর ডিফল্ট bridge-এ container পায় একটি private ঠিকানা; বাইরে যেতে host NAT (masquerade) করে, আর বাইরে থেকে আসতে port publish (-p 8080:80).
পরের প্রশ্ন: Kubernetes Service কী সমস্যা মেটায়? — pod-এর ঠিকানা বদলায়; Service একটি স্থির ঠিকানা আর load balancing দেয়। পর্ব ৫৪
ভ-৫৮নেটওয়ার্ক সমস্যা খোঁজার পদ্ধতিগত ক্রম কী? (সহজ)
লক্ষণ স্পষ্ট করা (কে, কবে থেকে, কী বদলেছে), তারপর স্তর ধরে — bottom-up (link → IP → gateway → বাইরের পথ → DNS → port → application), বা মাঝখান থেকে (ping দিয়ে) ভাগ করে খোঁজা (divide and conquer). প্রতিটি ধাপে একটি অনুমান, একটি যাচাই; একবারে একটি পরিবর্তন; শেষে কারণ লিখে রাখা।
পরের প্রশ্ন: ping হয় কিন্তু ওয়েবসাইট খোলে না? — DNS, port, firewall বা application স্তর দেখুন: dig, curl -v. পর্ব ৫৫
ভ-৫৯Link ১ Gbps, কিন্তু দূরের সার্ভার থেকে download মাত্র ৫০ Mbps — সম্ভাব্য কারণ? (কঠিন)
পথের অন্য কোথাও bottleneck (ISP, সার্ভার নিজে); RTT বড় অথচ window ছোট — throughput ≈ window/RTT; packet loss — Mathis সূত্র অনুযায়ী loss বাড়লে TCP-র throughput মোটামুটি ১/√p অনুপাতে কমে; অথবা সার্ভারের ডিস্ক বা CPU. যাচাই: iperf3 দিয়ে মাপা, ss -ti-তে cwnd, rtt আর retransmit দেখা, ভিন্ন সার্ভারে তুলনা।
পরের প্রশ্ন: একাধিক সমান্তরাল সংযোগে দ্রুত হলে কী বোঝায়? — এক সংযোগের window বা loss-ই সীমা। পর্ব ৩২ · পর্ব ৫৬
ভ-৬০একটি অফিসের নেটওয়ার্ক নকশার প্রথম কাজ কী? (সহজ)
যন্ত্র কেনা বা subnet ভাগ নয় — প্রয়োজন সংগ্রহ: কতজন মানুষ ও যন্ত্র, কোন অ্যাপ, কত বৃদ্ধি, কতক্ষণ বন্ধ থাকা চলে, নিরাপত্তার চাহিদা, বাজেট। তারপর VLAN ও zone, VLSM-এ ঠিকানা, redundancy, firewall নীতি, monitoring আর লিখিত নথি।
পরের প্রশ্ন: single point of failure কীভাবে খুঁজবেন? — নকশার প্রতিটি যন্ত্র আর link একে একে “বন্ধ” ধরে দেখা কী থামে। পর্ব ৫৭
৯ · AI-কে কড়া পরীক্ষক বানান — আর তার উত্তর যাচাই করুন
AI-কে উত্তরদাতা নয়, পরীক্ষক বানান: নিজে লিখে নম্বর দিতে বলুন, follow-up-এর উত্তর মুখে দিন। তবে নেটওয়ার্কে AI-এর আত্মবিশ্বাসী ভুল সাধারণ — ভুল subnet হিসাব, পুরোনো কমান্ড (ifconfig, netstat), এক vendor-এর কনফিগারেশনকে সার্বজনীন বলা, “সব port খুলে দিন” ধরনের পরামর্শ আর বানানো RFC নম্বর।
একটি prompt, যা AI-কে পরীক্ষক বানায় আর নিজের হিসাব দেখাতে বাধ্য করে:
নেটওয়ার্ক নিয়ে AI-এর উত্তরে যেসব ভুল প্রায়ই থাকে
| ভুল | ফল | কীভাবে ধরবেন |
|---|---|---|
| Usable host-এ −২ ভুলে যাওয়া, বা ব্লক সীমানায় না বসানো | overlap বা broadcast ঠিকানা host-কে দেওয়া (গ-০১) | এই পাতার VLSM planner বা হাতে binary AND |
| Byte আর bit গুলিয়ে ফেলা; dB সরাসরি Shannon-এ বসানো | delay বা capacity আট গুণ বা বহু গুণ ভুল (ক-০২, খ-০২) | প্রতিটি লাইনে একক লিখতে বলুন; নিজে একবার হিসাব করুন |
| Reno আর Tahoe, বা ssthresh + ৩ বনাম ssthresh মিশিয়ে ফেলা | cwnd-এর গ্রাফ ভুল (ঙ-০২) | প্রথা প্রশ্নে লিখে দিন; round ধরে টেবিল চান |
| “সমস্যা হলে সব port খুলে দিন” বা firewall বন্ধের পরামর্শ | নিরাপত্তার বড় ফাঁক (চ-০৪) | default deny; ঠিক কোন port, কোন উৎস — শুধু সেটুকু |
| বানানো RFC নম্বর বা ভুল port | ভুল তথ্য মুখস্থ | RFC Editor-এর সূচি আর IANA-র port তালিকা মেলান |
AI-এর উত্তর মেনে নেওয়ার আগে — চেকলিস্ট
নিজেকে যাচাই করুন
প্রথমে একটি ক্রম সাজানোর প্রশ্ন, তারপর লিখিত আর ভাইভার মূল তথ্য নিয়ে আটটি MCQ. ভুল হলে কারণসহ ব্যাখ্যা পাবেন।
ক্রমএকটি ১০ নম্বরের নেটওয়ার্ক-উত্তরের অংশগুলো নম্বর-ভাগের ক্রমে সাজান (▲▼ চেপে সরান)
- নির্ভুল সংজ্ঞা, শর্তসহ
- লেবেলসহ ছবি বা তুলনার টেবিল
- ছবির প্রতিটি অংশের ধাপে ধাপে ব্যাখ্যা
- নির্দিষ্ট সংখ্যার একটি উদাহরণ বা হিসাব
- সুবিধা, সীমা আর বাস্তব প্রয়োগ
(সহজ) 192.168.20.64/27 subnet-এ কতটি host-কে ঠিকানা দেওয়া যায়?
- ৩০
- ৩২
- ৬২
- ১৪
(সহজ) একটি অফিসে hub, switch আর router আছে। কোন যন্ত্র broadcast domain ভাগ করে (VLAN ছাড়া)?
- Hub
- Router
- Switch
- কোনোটিই নয়
(সহজ) একটি নতুন যন্ত্র DHCP থেকে ঠিকানা পেতে বার্তাগুলো কোন ক্রমে বিনিময় হয়?
- Request, Offer, Discover, Ack
- Discover, Ack, Request, Offer
- Discover, Offer, Request, Ack
- Offer, Discover, Ack, Request
(মাঝারি) একটি TCP Reno সংযোগে cwnd = ২০ MSS অবস্থায় তিনটি duplicate ACK এল। প্রথা: fast recovery শেষে cwnd = ssthresh. নতুন ssthresh আর পরের round-এর cwnd কত?
- ssthresh ১০, cwnd ১
- ssthresh ২০, cwnd ২০
- ssthresh ১০, cwnd ১৩
- ssthresh ১০, cwnd ১০
(মাঝারি) Stop-and-wait ARQ: frame ১,০০০ বিট, link ১ Mbps, একমুখী propagation delay ২০ ms; ACK-এর transmission time আর processing শূন্য। Link utilisation প্রায় কত?
- ২.৪%
- ৪.৮%
- ৩৩%
- ১০০%
(সহজ) কোন routing protocol প্রতিটি router-এ পুরো টপোলজির মানচিত্র রেখে Dijkstra চালায়?
- RIP
- OSPF
- BGP
- ARP
(মাঝারি) DNS সাধারণত কোন transport আর port ব্যবহার করে?
- শুধু TCP 53
- UDP 67
- মূলত UDP 53, দরকারে TCP 53
- শুধু TCP 443
(সহজ) IDS আর IPS-এর মূল পার্থক্য কী?
- IDS ট্রাফিক এনক্রিপ্ট করে, IPS করে না
- IDS শুধু signature, IPS শুধু anomaly ব্যবহার করে
- IDS আটকায়, IPS শুধু সতর্ক করে
- IDS সতর্ক করে, IPS পথের মাঝে বসে আটকাতে পারে
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন — অর্থ দেখাবে। এই পর্বে ব্যবহৃত সব শব্দ এখানে একসাথে:
মনে রাখুন
- কাঠামোয় নম্বর: সংজ্ঞা → ছবি বা টেবিল → ব্যাখ্যা → উদাহরণ → সুবিধা ও সীমা; ২ নম্বরে দুই–তিন বাক্য, ৫ নম্বরে একটি ছবি বা টেবিল, ১০ নম্বরে দুটি আর একটি হিসাব।
- ছবিতে লেবেল: স্তরের ছবিতে PDU, সময়রেখায় flag-seq-ack, flowchart-এ হ্যাঁ/না দুই পথ, গ্রাফে অক্ষের নাম আর একক।
- সংখ্যায় একক আর প্রথা: byte → bit, dB → অনুপাত, ৮ বাইটের offset, fast recovery-র পর cwnd, RTO-র সূত্রের ক্রম — প্রশ্নে বা উত্তরে লিখে দিন।
- নকশার প্রশ্নে: VLSM-এ বড় প্রয়োজন আগে, প্রতিটি subnet-এর network, range, broadcast, mask আর বাকি জায়গা; Dijkstra-য় N′ আর D(v),p(v)-এর পূর্ণ টেবিল।
- ভাইভায়: তিন বাক্য — কী, কেন, সীমা; স্তরের নাম বলা, জোরে ভাবা, না জানলে সৎ থাকা আর যাচাইয়ের পথ বলা।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ৬১ · নেটওয়ার্কিং ইন্টারভিউর প্রশ্ন — ধারণা থেকে বাস্তব সিস্টেমপরবর্তী পর্বইন্টারভিউর ধাঁচে নেটওয়ার্কের প্রশ্ন।
- পর্ব ৫৮ · Numerical সমস্যা — subnetting, delay, CRC, sliding window আর routingএকই মডিউলসংখ্যার প্রশ্নের আরও অনুশীলন।
- পর্ব ৫৯ · MCQ প্রশ্নব্যাংক — কম্পিউটার নেটওয়ার্কএকই মডিউলপুরো কোর্সের MCQ.
- পর্ব ০৩ · স্তরে স্তরে নেটওয়ার্ক — OSI, TCP/IP আর encapsulationফিরে দেখুনপ্রায় প্রতিটি লিখিত উত্তরের ভিত্তি।
- কম্পিউটার নেটওয়ার্ক · কোর্স হোম৬২টি পর্বপুরো কোর্সের রোডম্যাপ — ১০টি মডিউল।
- অপারেটিং সিস্টেম · লিখিত ও ভাইভা প্রশ্নসম্পর্কিত কোর্সprocess, scheduling, deadlock আর মেমরির মডেল উত্তর।
- DBMS ও SQL · লিখিত ও ভাইভা প্রশ্নসম্পর্কিত কোর্সnormalization, transaction আর recovery-র মডেল উত্তর।