সরাসরি পর্বে যান
পর্ব ১৪ · ৬২-এর মধ্যে · মডিউল ২

Wi-Fi — 802.11, CSMA/CA, roaming আর নিরাপত্তা

Wi-Fi — IEEE 802.11 Architecture, Channels, CSMA/CA, the Four Address Fields, Roaming & WPA2/WPA3 Security

Taught in Bangla, this lesson explains IEEE 802.11 architecture with stations, access points, BSS and ESS, Wi-Fi generations and bands, why channels 1, 6 and 11 are used at 2.4 GHz, scanning, authentication and association, CSMA/CA step by step, the 802.11 frame and its four address fields, roaming and mesh, and security from WEP to WPA2 and WPA3 with practical advice.

এই পর্বে যা শিখবেন

  • Station, AP, BSS, ESS, IBSS, SSID, BSSID আর distribution system — Wi-Fi নেটওয়ার্কের গঠন
  • Wi-Fi 4 থেকে Wi-Fi 7: band, channel width, MIMO, OFDMA, আর বিজ্ঞাপনের গতি বনাম বাস্তব গতি
  • ২.৪ GHz-এ কেন ১/৬/১১ — হিসাব করে প্রমাণ; একটি laptop কীভাবে নেটওয়ার্কে যোগ দেয়
  • CSMA/CA পুরোপুরি: DIFS, SIFS, slot, backoff, NAV, ACK, RTS/CTS — simulator চালিয়ে
  • চারটি address field, rate adaptation, roaming (802.11k/v/r), mesh আর WPA2/WPA3 নিরাপত্তা

১ · Wi-Fi নেটওয়ার্কের গঠন — station, AP, BSS আর ESS

ফোনে Wi-Fi চালু করলে একটি তালিকা আসে: “Rahman-Home”, “Rahman-Home-5G”, পাশের ফ্ল্যাটের “Tasnim_WiFi”… নাম চাপলেন, password দিলেন, ইন্টারনেট চলে এল। এর পেছনে কাজ করে IEEE-র 802.11 standard — আমাদের চেনা Wi-Fi. পর্ব ১২-এর Ethernet তারের LAN; Wi-Fi তার বেতার রূপ, WLAN. ওপরের স্তরে (IP) দুটি একই; পার্থক্য data link আর physical স্তরে — বেতার মাধ্যম কীভাবে ভাগ হবে, আর বাতাসের ডেটা কীভাবে নিরাপদ থাকবে।

একটি বড় অফিসের রিসেপশন ভাবুন। দর্শনার্থীরা (ফোন, laptop) সরাসরি ভেতরের কর্মীদের সাথে কথা বলেন না; সবাই রিসেপশন ডেস্কে (access point) কথা বলেন, ডেস্ক ভেতরের করিডোর (তারের LAN) দিয়ে বার্তা পৌঁছে দেয়। অফিসের প্রতিটি ফ্লোরে একটি করে রিসেপশন, কিন্তু সব ডেস্কের সাইনবোর্ডে একই নাম লেখা — দর্শনার্থী যে ফ্লোরেই যান, “একই অফিস”। আর রিসেপশনে সবাই একই ঘরে কথা বলছেন — একজন কথা বললে অন্যদের চুপ থাকতে হয়। Wi-Fi-র প্রায় সব নকশা এই ছবি থেকে বোঝা যায়।

Station (STA)

Wi-Fi radio আছে এমন যেকোনো যন্ত্র — ফোন, laptop, স্মার্ট টিভি, CCTV ক্যামেরা। Standard-এর ভাষায় station. AP নিজেও একটি বিশেষ station.

client, STA

Access point (AP)

Station-গুলোর কেন্দ্র: বেতারে frame নেয়, তারের LAN-এ (বা অন্য station-এ) পাঠায়। বাড়ির “Wi-Fi router” আসলে তিনটি যন্ত্র এক বাক্সে — AP, একটি ছোট switch আর একটি router (সাথে NAT, DHCP — পর্ব ১৮–১৯)।

AP, “router”

BSS আর BSSID

একটি AP আর তার সাথে যুক্ত station-গুলো মিলে একটি BSS (Basic Service Set). প্রতিটি BSS-এর পরিচয় একটি ৪৮-bit নম্বর BSSID — সাধারণত AP radio-র MAC address.

একটি AP-র এলাকা

ESS, SSID আর DS

একই নামের অনেক BSS, তারের LAN দিয়ে জোড়া — একটি ESS (Extended Service Set). নামটি হলো SSID (সর্বোচ্চ ৩২ byte). AP-গুলোকে যে নেটওয়ার্ক জোড়ে, তার নাম distribution system (DS) — সাধারণত Ethernet.

পুরো অফিসের নেটওয়ার্ক

AP ছাড়াও Wi-Fi চলে: কয়েকটি station সরাসরি একে অপরের সাথে — IBSS (Independent BSS), চলতি নাম ad hoc; এখানে BSSID এলোমেলোভাবে বানানো। আজ এর জায়গা অনেকটা নিয়েছে Wi-Fi Direct আর ফোনের hotspot (যা ফোনকেই ছোট একটি AP বানায়)।

একটি অফিসের ESS — দুটি BSS, একটি distribution system

Two BSSs with the same SSID joined by a wired distribution system form one ESS

        ┌────── Distribution System (Ethernet switch) ──────┐
        │                                                    │
 ┌──────┴──────┐                                      ┌──────┴──────┐
 │ AP1 · ch 1  │ BSSID bb:..:0a        BSSID bb:..:0b │ AP2 · ch 6  │
 └──────┬──────┘                                      └──────┬──────┘
  BSS 1: "Office-Staff"                          BSS 2: "Office-Staff"
  laptop  phone  printer                         laptop  phone
  (same SSID on both = one ESS; router/Internet behind the switch)
ছবি ১৪.১ — দুটি AP আলাদা চ্যানেলে (১ আর ৬), কিন্তু একই SSID. Station-এর কাছে পুরোটা একটি নেটওয়ার্ক; এক AP থেকে আরেকটিতে যাওয়াই roaming (অংশ ৭)।

SSID মানুষের জন্য নাম — একই নাম অনেক AP ব্যবহার করতে পারে, এমনকি অন্য কেউ আপনার নামেই নেটওয়ার্ক বানাতে পারেন; তাই নাম দেখে বিশ্বাস নয়, নিরাপত্তা আসে encryption থেকে (অংশ ৮)। BSSID যন্ত্রের জন্য — প্রতিটি AP radio-র আলাদা; dual-band router-এ সাধারণত দুটি BSSID.

মূল ধারণা

AP একটি layer-2 bridge: সে বেতারের 802.11 frame আর তারের Ethernet frame-এর মধ্যে অনুবাদ করে, MAC address দেখে সিদ্ধান্ত নেয়। IP-র দিক থেকে Wi-Fi-তে থাকা laptop আর তারে থাকা কম্পিউটার একই LAN-এ, একই subnet-এ।

২ · প্রজন্ম, band আর গতি — Wi-Fi 4 থেকে Wi-Fi 7

১৯৯৭ সালে প্রথম 802.11 standard দিত মাত্র ১–২ Mbps. তারপর প্রতি কয়েক বছরে নতুন সংশোধনী (amendment) এসেছে, প্রতিটির নাম একটি অক্ষর: 802.11b, a, g, n, ac, ax, be. এই নামগুলো সাধারণ মানুষের কাছে দুর্বোধ্য ছিল, তাই Wi-Fi Alliance (যন্ত্র পরীক্ষা করে “Wi-Fi CERTIFIED” সনদ দেয় যে শিল্প-সংগঠন) ২০১৮ সালে সহজ নাম চালু করে: Wi-Fi 4, 5, 6… পুরোনোগুলোর আনুষ্ঠানিক সংখ্যা-নাম নেই।

Standardনামমোটামুটি বছরBandসর্বোচ্চ চওড়া চ্যানেলনতুন কৌশলতাত্ত্বিক সর্বোচ্চ PHY rate
802.11b—১৯৯৯২.৪ GHz২২ MHzDSSS/CCK১১ Mbps
802.11a / g—১৯৯৯ / ২০০৩৫ / ২.৪ GHz২০ MHzOFDM৫৪ Mbps
802.11nWi-Fi 4২০০৯২.৪ ও ৫ GHz৪০ MHzMIMO, ৪টি stream পর্যন্ত৬০০ Mbps
802.11acWi-Fi 5২০১৩৫ GHz১৬০ MHz256-QAM, downlink MU-MIMOপ্রায় ৬.৯ Gbps
802.11axWi-Fi 6 / 6E২০১৯ / ২০২০২.৪, ৫ (6E-তে ৬ GHz-ও)১৬০ MHzOFDMA, 1024-QAM, BSS coloring, TWTপ্রায় ৯.৬ Gbps
802.11beWi-Fi 7২০২৪-এর আশেপাশে২.৪, ৫, ৬ GHz৩২০ MHz4096-QAM, multi-link operation (MLO)প্রায় ৪৬ Gbps

বছরগুলো মোটামুটি — standard চূড়ান্ত হওয়া, certification আর বাজারে যন্ত্র আসা আলাদা সময়ে ঘটে (যেমন Wi-Fi 6-এর certification ২০১৯-এ, IEEE standard ২০২১-এ; Wi-Fi 7-এর certification ২০২৪-এর শুরুতে চালু হয়, IEEE standard চূড়ান্ত হয় তার কিছু পরে বলে জানা যায়)।

গতি বাড়ানোর চারটি চাবি

একটি Wi-Fi link-এর PHY rate (বাতাসে bit পাঠানোর হার) চারটি জিনিসের গুণফল। পর্ব ০৭–০৮-এ signal, QAM আর spectrum দেখেছেন; এখানে সেগুলো এক সূত্রে আসে:

PHY rate = data subcarrier-এর সংখ্যা × প্রতি subcarrier-এ bit × coding rate × stream-এর সংখ্যা ÷ symbol-এর সময়
  • Channel width: OFDM চ্যানেলকে শত শত সরু subcarrier-এ ভাগ করে; চওড়া চ্যানেল (২০ → ৪০ → ৮০ → ১৬০ → ৩২০ MHz) মানে বেশি subcarrier.
  • Modulation (QAM): 64-QAM-এ প্রতি symbol-এ ৬ bit, 256-QAM-এ ৮, 1024-QAM-এ ১০, 4096-QAM-এ ১২. বেশি bit মানে বিন্দুগুলো কাছাকাছি — উঁচু SNR লাগে, তাই সর্বোচ্চ QAM সাধারণত AP-র খুব কাছেই সম্ভব।
  • Coding rate: ৫/৬ মানে প্রতি ৬ bit-এর ৫টি আসল ডেটা, ১টি error correction-এর জন্য বাড়তি (পর্ব ০৯-এর ধারণা)।
  • Spatial stream (MIMO): একাধিক antenna দিয়ে একই চ্যানেলে একসাথে আলাদা ডেটা-স্রোত; ২টি stream মানে প্রায় দ্বিগুণ rate. ফোনে সাধারণত ১–২টি antenna, তাই ৮-stream router-এও ফোন ২-stream-এই কথা বলে।

যাচাই করা হিসাব: Wi-Fi 5, ৮০ MHz, এক stream, 256-QAM, coding ৫/৬: ৮০ MHz-এ data subcarrier ২৩৪টি, symbol-এর সময় (ছোট guard interval-সহ) ৩.৬ µs. তাই ২৩৪ × ৮ × ৫/৬ ÷ ৩.৬ µs = ৪৩৩.৩ Mbps. ১৬০ MHz-এ (৪৬৮টি subcarrier) আর ৮টি stream-এ: ৮ × ৮৬৬.৭ ≈ ৬,৯৩৩ Mbps — টেবিলের “৬.৯ Gbps”. Wi-Fi 6-এ subcarrier আরও ঘন, symbol লম্বা (১২.৮ µs + ০.৮ µs guard = ১৩.৬ µs): ৮০ MHz-এ ৯৮০ × ১০ × ৫/৬ ÷ ১৩.৬ ≈ ৬০০.৫ Mbps প্রতি stream; ১৬০ MHz, ৮ stream-এ ≈ ৯,৬০৮ Mbps.

MU-MIMO আর OFDMA — একসাথে অনেককে

পুরোনো Wi-Fi-তে AP এক মুহূর্তে একটি station-এর সাথেই কথা বলত। MU-MIMO antenna-র সংকেত সাজিয়ে (beamforming) একই সময়ে কয়েকটি station-কে আলাদা stream দেয় — Wi-Fi 5-এ শুধু AP থেকে station-এর দিকে, Wi-Fi 6-এ দুই দিকেই। OFDMA (Wi-Fi 6) চ্যানেলের subcarrier-গুলো ছোট ভাগে (resource unit) ভাগ করে একই transmission-এ কয়েকজনকে দেয় — একই ট্রাকে পাঁচজনের পার্সেল একসাথে তোলার মতো। ছোট packet-এর ভিড়ে (মেসেজিং, IoT, অফিসের শত শত ফোন) লাভ সবচেয়ে বেশি।

বিজ্ঞাপনের সংখ্যা আর আসল গতি: বাক্সের “AX3000” বা “৯.৬ Gbps” হলো আদর্শ অবস্থায় সব band-এর সর্বোচ্চ PHY rate-এর যোগফল। একটি যন্ত্র পায় এর অনেক কম: ফোনের stream কম; দূরত্ব আর দেয়ালে SNR কমলে QAM নামে; MAC-এর খরচ — অপেক্ষা, backoff, ACK (অংশ ৫-এ দেখবেন ৫৪ Mbps link-এ মোটামুটি ৩০ Mbps); আর চ্যানেল সবার সাথে ভাগ, Wi-Fi half-duplex. মোটা দাগে ভালো অবস্থাতেও প্রকৃত throughput PHY rate-এর অর্ধেকের আশেপাশে থাকা স্বাভাবিক; সঠিক সংখ্যা যন্ত্র, পরিবেশ আর ভিড়ভেদে অনেক বদলায়।

Rate adaptation — দূরে গেলে ধীরে, কিন্তু নিশ্চিতে

প্রতিটি modulation-coding জোড়ের একটি নম্বর — MCS. Wi-Fi 5-এ এক stream, ৮০ MHz-এ MCS 0 (BPSK, ১/২) ৩২.৫ Mbps, MCS 4 (16-QAM, ৩/৪) ১৯৫, MCS 7 (64-QAM, ৫/৬) ৩২৫, MCS 9 (256-QAM, ৫/৬) ৪৩৩.৩ Mbps. প্রেরক প্রতি মুহূর্তে MCS বেছে নেয় — rate adaptation. Standard শুধু MCS-এর তালিকা দেয়; বাছাইয়ের অ্যালগরিদম নির্মাতার। সরলতম ধারণা (ARF): পরপর কয়েকটি ACK পেলে এক ধাপ ওপরে, পরপর ব্যর্থ হলে এক ধাপ নিচে। Linux-এর ডিফল্ট Minstrel মাঝে মাঝে অন্য rate নমুনা হিসেবে চেষ্টা করে, আর যেটিতে প্রত্যাশিত throughput (সফলতার হার × rate) সবচেয়ে বেশি, সেটি বেছে নেয়। দূরে উঁচু QAM-এ অনেক frame নষ্ট হয় — কম rate-এ নিশ্চিত পৌঁছানো তখন বেশি লাভজনক।

৩ · Band আর চ্যানেল — ২.৪ GHz-এ কেন ১, ৬, ১১?

Wi-Fi চলে লাইসেন্স ছাড়া ব্যবহারযোগ্য frequency-তে — ISM band আর আশেপাশে। মোবাইল অপারেটর spectrum নিলামে কেনে; Wi-Fi-তে শুধু শক্তির সীমা আর নিয়ম মানতে হয় (বাংলাদেশে নিয়ম ঠিক করে BTRC). দাম: আপনার router, পাশের ফ্ল্যাটের router, microwave oven, Bluetooth — সবাই একই spectrum-এ।

Bandমোট পরিসর (মোটামুটি)সুবিধাঅসুবিধা
২.৪ GHz২৪০০–২৪৮৩.৫ MHz, মাত্র ৮৩.৫ MHzদেয়াল ভেদ করে বেশি দূর যায়; প্রায় সব পুরোনো যন্ত্রও বোঝেভিড়, মাত্র ৩টি না-ছোঁয়া ২০ MHz চ্যানেল; microwave, Bluetooth-এর সাথে ভাগ
৫ GHzকয়েকটি খণ্ডে কয়েকশো MHzঅনেক চ্যানেল, ৮০/১৬০ MHz সম্ভব, ভিড় কমদেয়ালে বেশি দুর্বল হয়; কিছু চ্যানেলে radar-এর জন্য DFS নিয়ম
৬ GHzসর্বোচ্চ ৫৯২৫–৭১২৫ MHz (১,২০০ MHz), দেশভেদে কমনতুন আর ফাঁকা; শুধু Wi-Fi 6E/7 যন্ত্র; পুরো ১,২০০ MHz খোলা থাকলে ৫৯টি ২০ MHz চ্যানেলদূরত্ব সবচেয়ে কম; কোন দেশে কতটা খোলা তা নিয়ন্ত্রক সংস্থার সিদ্ধান্ত — কেনার আগে স্থানীয় নিয়ম যাচাই করুন

৫ GHz কেন দেয়ালে বেশি দুর্বল? পর্ব ০৭–০৮-এর path loss: frequency বাড়লে একই antenna-য় সংকেত বেশি দুর্বল হয়, আর ইট-কংক্রিটে শোষণও সাধারণত বেশি। তাই প্রায়ই পাশের ঘরে ৫ GHz দারুণ, দুই দেয়াল পরে ২.৪ GHz-ই ভরসা।

প্রমাণ — ২.৪ GHz-এ চ্যানেল কেন একে অপরের ওপর পড়ে

২.৪ GHz-এ চ্যানেল ১-এর কেন্দ্র ২৪১২ MHz, আর প্রতিটি পরের চ্যানেল ৫ MHz ওপরে:

চ্যানেল n-এর কেন্দ্র = ২৪১২ + ৫(n − ১) MHz  (n = ১…১৩)

অথচ একটি OFDM চ্যানেল প্রায় ২০ MHz চওড়া (কেন্দ্রের ±১০ MHz). দুটি চ্যানেল n আর m-এর কেন্দ্রের দূরত্ব ৫|n − m| MHz. এরা একে অপরের ওপর পড়ে যদি কেন্দ্রের দূরত্ব চওড়ার চেয়ে কম হয়:

৫|n − m| < ২০  ⇔  |n − m| ≤ ৩

অর্থাৎ চ্যানেল ১ ঢেকে দেয় ২, ৩, ৪-কে। |n − m| = ৪ হলে (যেমন ১ আর ৫) কিনারা ঠিক ছুঁয়ে থাকে (২৪২২ MHz-এ)। কিন্তু বাস্তব transmitter-এর শক্তি ±১০ MHz-এ থেমে যায় না — চ্যানেলের বাইরেও একটি “স্কার্ট” থাকে (spectral mask), আর পুরোনো 802.11b-র DSSS সংকেত ছিল ২২ MHz চওড়া। তাই নিরাপদ নকশায় কিনারার মাঝে আরও অন্তত ৫ MHz ফাঁক: কেন্দ্রের দূরত্ব ≥ ২৫ MHz, অর্থাৎ |n − m| ≥ ৫. চ্যানেল ১ থেকে পাঁচ ধাপ করে: ১, ৬, ১১; চতুর্থটির জন্য দরকার ১৬, যা নেই। যুক্তরাষ্ট্রে শুধু ১–১১ খোলা, তাই সেখানে এটিই একমাত্র সেট; যেসব দেশে ১–১৩ খোলা (বাংলাদেশসহ অনেক দেশে সাধারণত তা-ই বলে জানা যায়; নিশ্চিত হতে BTRC-র নিয়ম দেখুন), সেখানেও চতুর্থ একটি চ্যানেল মেলে না (১১ + ৫ = ১৬)। চ্যানেল ১৪ (২৪৮৪ MHz) শুধু জাপানে, শুধু 802.11b-তে ছিল।

নিচের calculator সূত্রটি থেকেই পুরো ছবিটি বের করে:

// 2.4 GHz Wi-Fi channels: centre = 2412 + 5(n-1) MHz, each channel 20 MHz wide.
const W = 20;
const centre = n => 2412 + 5 * (n - 1);              // channels 1..13
const overlap = (a, b) => Math.abs(centre(a) - centre(b)) < W;  // edges cross
console.log("ch  centre  occupies (MHz)   overlaps with");
for (let n = 1; n <= 13; n++) {
  const lo = centre(n) - W / 2, hi = centre(n) + W / 2;
  const ov = [];
  for (let m = 1; m <= 13; m++) if (m !== n && overlap(n, m)) ov.push(m);
  console.log(String(n).padStart(2) + "  " + centre(n) + "    " + lo + "-" + hi +
    "      " + ov.join(","));
}
// Greedy pick from channel 1 upward: keep a channel if it clears every kept one.
function pick(maxCh, gapMHz) {
  const kept = [];
  for (let n = 1; n <= maxCh; n++)
    if (kept.every(k => centre(n) - centre(k) >= gapMHz)) kept.push(n);
  return kept.join(", ");
}
console.log("edges just touch (gap 20 MHz), 1-13: " + pick(13, 20));
console.log("with a 5 MHz guard (gap 25 MHz), 1-11: " + pick(11, 25));
console.log("with a 5 MHz guard (gap 25 MHz), 1-13: " + pick(13, 25));
console.log("channel 1 vs 4: centres " + (centre(4) - centre(1)) + " MHz apart -> " +
  (overlap(1, 4) ? "overlap" : "clear"));

আউটপুট:

ch  centre  occupies (MHz)   overlaps with
 1  2412    2402-2422      2,3,4
 2  2417    2407-2427      1,3,4,5
 3  2422    2412-2432      1,2,4,5,6
 4  2427    2417-2437      1,2,3,5,6,7
 5  2432    2422-2442      2,3,4,6,7,8
 6  2437    2427-2447      3,4,5,7,8,9
 7  2442    2432-2452      4,5,6,8,9,10
 8  2447    2437-2457      5,6,7,9,10,11
 9  2452    2442-2462      6,7,8,10,11,12
10  2457    2447-2467      7,8,9,11,12,13
11  2462    2452-2472      8,9,10,12,13
12  2467    2457-2477      9,10,11,13
13  2472    2462-2482      10,11,12
edges just touch (gap 20 MHz), 1-13: 1, 5, 9, 13
with a 5 MHz guard (gap 25 MHz), 1-11: 1, 6, 11
with a 5 MHz guard (gap 25 MHz), 1-13: 1, 6, 11
channel 1 vs 4: centres 15 MHz apart -> overlap

পড়ুন এভাবে: মাঝের প্রতিটি চ্যানেল দুই পাশে তিনটি করে চ্যানেলের ওপর পড়ে; যেমন চ্যানেল ৬ (২৪২৭–২৪৪৭ MHz) ঢাকে ৩ থেকে ৯. শুধু কিনারা ছোঁয়া পর্যন্ত মানলে ১–১৩-এ চারটি সেট সম্ভব (১, ৫, ৯, ১৩) — কিছু ইউরোপীয় পরিকল্পনায় দেখা যায়, তবে স্কার্টের কারণে কিছু হস্তক্ষেপ থাকে। ৫ MHz নিরাপত্তা-ফাঁকে ১–১১ আর ১–১৩ দুই ক্ষেত্রেই উত্তর ১, ৬, ১১. শেষ লাইনটি সাধারণ ভুল ধরায়: ১ আর ৪-এর কেন্দ্র মাত্র ১৫ MHz দূরে, তাই এরা একে অপরের ওপর পড়ে।

একই চ্যানেল বনাম পাশের চ্যানেল — কোনটি খারাপ? অবাক করা উত্তর: পাশের ফ্ল্যাট যদি চ্যানেল ৬-এ থাকে, আপনার জন্য চ্যানেল ৭ বা ৮-এর চেয়ে চ্যানেল ৬-ই সাধারণত ভালো। একই চ্যানেলে দুই নেটওয়ার্ক একে অপরের preamble বোঝে, তাই CSMA/CA দিয়ে ভদ্রভাবে পালা করে (অংশ ৫)। আংশিক overlap-এ একে অপরের সংকেত শুধু “শব্দ” হয়ে ঢোকে — কেউ অপেক্ষা করে না, সবার frame নষ্ট হয়। তাই ১, ৬, ১১-এর বাইরে না যাওয়াই নিয়ম।

৫ GHz-এ কেন্দ্র = ৫০০০ + ৫n MHz, আর ব্যবহারযোগ্য ২০ MHz চ্যানেলগুলো ৪ নম্বর পরপর (৩৬, ৪০, ৪৪, ৪৮ … ১৪৯ … ১৬৫), তাই নিজেরাই না-ছোঁয়া; ৮০ MHz মানে চারটি জোড়া (যেমন ৩৬–৪৮)। কোন খণ্ড খোলা আর কোথায় DFS লাগে, তা দেশভেদে আলাদা। ৬ GHz-এ কেন্দ্র = ৫৯৫০ + ৫n MHz.

৪ · নেটওয়ার্কে যোগ দেওয়া — scanning, authentication আর association

একটি laptop কীভাবে জানে আশেপাশে কোন কোন নেটওয়ার্ক আছে? দুই উপায়ে:

  • Passive scanning: প্রতিটি AP নিয়মিত beacon frame সম্প্রচার করে — সাধারণত প্রতি ১০০ TU (১ TU = ১,০২৪ µs, তাই প্রায় ১০২.৪ ms). তাতে থাকে SSID, BSSID, rate, নিরাপত্তার ধরন আর চ্যানেল। Laptop প্রতিটি চ্যানেলে কিছুক্ষণ শোনে — ব্যাটারি-সাশ্রয়ী, কিন্তু ধীর।
  • Active scanning: Laptop প্রতিটি চ্যানেলে probe request পাঠায়, AP-গুলো probe response দেয় — দ্রুত, কিন্তু ফোন নিজের পরিচয় ছড়ায়; তাই আধুনিক ফোন scan-এ প্রায়ই এলোমেলো (randomized) MAC ব্যবহার করে।

এরপর দুটি 802.11 ধাপ। Authentication নামটি বিভ্রান্তিকর: WPA2-Personal-এ এটি “Open System” — আসল যাচাই নয় (WPA3-SAE-তে অবশ্য এখানেই আসল কাজ)। তারপর association: station জানায় সে কী পারে, AP তাকে একটি association ID (AID) দেয়। তারপর 4-way handshake (অংশ ৮) — শেষ না হওয়া পর্যন্ত AP সাধারণ ডেটা frame ঢুকতে দেয় না।

  1. BeaconAP → সবাইপ্রতি ~১০২ ms
  2. Probereq / respactive scan
  3. Auth + AssocAID = 1যুক্ত, কিন্তু তালা বন্ধ
  4. 4-way handshakePTK, GTKচাবি তৈরি
  5. DataDHCP, ...encrypted
Laptop আর AP — প্রতিটি ধাপে
frame
কে → কাকে
মূল তথ্য
Laptop-এর অবস্থা
  1. Beacon — “আমি এখানে আছি”. AP চ্যানেল ৬-এ প্রায় প্রতি ১০২.৪ ms-এ beacon ছাড়ে: SSID “Rahman-Home”, BSSID, সমর্থিত rate আর নিরাপত্তার তথ্য (RSN element: WPA2/WPA3). Laptop চ্যানেলে চ্যানেলে ঘুরে শুনে তালিকা বানায় — এটি passive scanning.
  2. Probe — দ্রুত খোঁজ। অপেক্ষা না করে laptop প্রতিটি চ্যানেলে probe request ছাড়তে পারে; AP probe response-এ beacon-এর মতো তথ্যই ফেরত দেয়। আগে যুক্ত হয়েছেন এমন নেটওয়ার্ক খুঁজতে এটি কাজে লাগে।
  3. Authentication — নামেই শুধু। দুটি ছোট frame: laptop বলে “যুক্ত হতে চাই” (sequence ১), AP বলে “ঠিক আছে” (sequence ২, status ০)। Open System-এ কোনো password যাচাই হয় না; এই নামটি WEP যুগের উত্তরাধিকার। WPA3-SAE-তে এই ধাপেই password-ভিত্তিক চাবি-বিনিময় হয়।
  4. Association — তালিকায় নাম তোলা। Laptop জানায় সে কোন rate, কয়টি stream, power-save পারে; AP তাকে AID = ১ দেয়। Laptop এখন AP-র সাথে যুক্ত, কিন্তু 802.1X-এর “controlled port” বন্ধ — শুধু চাবি-বিনিময়ের EAPOL frame চলতে পারে, সাধারণ ডেটা নয়।
  5. 4-way handshake, বার্তা ১ ও ২. AP পাঠায় একটি এলোমেলো সংখ্যা ANonce; laptop নিজের SNonce বানায়। দুই পক্ষের কাছে আগে থেকেই আছে PMK (password আর SSID থেকে তৈরি)। PMK + দুই nonce + দুই MAC মিলিয়ে দুজনেই আলাদাভাবে একই PTK হিসাব করে। বার্তা ২-এ laptop SNonce পাঠায় সাথে একটি MIC — প্রমাণ যে তার কাছে সঠিক PMK আছে। Password নিজে কখনো বাতাসে যায় না।
  6. 4-way handshake, বার্তা ৩ ও ৪. AP MIC মিলিয়ে নিশ্চিত হয়, তারপর বার্তা ৩-এ group key GTK (broadcast/multicast-এর চাবি) encrypted অবস্থায় পাঠায়। বার্তা ৪-এ laptop নিশ্চিত করে। দুই পক্ষ চাবি install করে, controlled port খুলে যায়।
  7. প্রথম ডেটা — encrypted. এখন থেকে প্রতিটি unicast ডেটা frame PTK থেকে আসা চাবিতে AES-CCMP দিয়ে encrypted আর integrity-সুরক্ষিত। সাধারণত প্রথম কাজ DHCP দিয়ে IP ঠিকানা নেওয়া (পর্ব ১৮)। পুরো প্রক্রিয়াটি সাধারণত এক সেকেন্ডেরও কম সময়ে শেষ হয়, তবে scan আর DHCP-র ওপর নির্ভর করে।

৫ · 802.11 MAC — CSMA/CA ধাপে ধাপে

পর্ব ১১-এ ALOHA, তারের Ethernet-এর CSMA/CD আর hidden terminal দেখেছেন। Ethernet পাঠানোর সময় তারে শুনে collision ধরে ফেলে। Wi-Fi তা পারে না, দুটি কারণে: পাঠানোর সময় radio-র নিজের শক্তিশালী সংকেত তার receiver-কে ডুবিয়ে দেয় (চিৎকার করতে করতে ফিসফিস শোনার মতো); আর collision ঘটে receiver-এর কাছে — প্রেরক হয়তো অন্য প্রেরককে শুনতেই পায় না (hidden terminal). তাই 802.11 collision এড়ানোর চেষ্টা করে, আর প্রতিটি frame-এর সফলতা নিশ্চিত করে ACK দিয়ে — CSMA/CA; standard-এ এর নাম DCF (distributed coordination function).

অফিসের মিটিংয়ে মাইক একটাই। কেউ কথা বলছেন — বাকিরা চুপ (carrier sense). কথা শেষ হলে সবাই একসাথে মাইক ধরতে ছুটলে বিশৃঙ্খলা; তাই নিয়ম: থামার পর একটু অপেক্ষা (DIFS), তারপর প্রত্যেকে মনে মনে একটি এলোমেলো সংখ্যা ধরে গুনতে থাকেন (backoff); যাঁর গোনা আগে শেষ, তিনি বলবেন। অন্য কেউ কথা শুরু করলে নিজের গোনা থামিয়ে রাখেন, পরে সেখান থেকেই আবার গোনেন। আর যাঁকে উদ্দেশ করে বলা, তিনি সাথে সাথে মাথা নেড়ে জানান “শুনেছি” (ACK).

সময়ের একক — slot, SIFS, DIFS

Slot time backoff গোনার একক — একটি station চ্যানেল ব্যস্ত কি না বুঝতে যতটা সময় লাগে। SIFS সবচেয়ে ছোট ফাঁক — ACK, CTS-এর মতো উত্তর এর পরেই যায়, তাই উত্তরদাতা সবসময় নতুন প্রেরকের আগে সুযোগ পায়। DIFS = SIFS + ২ × slot — নতুন frame-এর আগে চ্যানেলকে অন্তত এতক্ষণ ফাঁকা দেখতে হয়।

PHYSlotSIFSDIFS = SIFS + 2·slotCWmin → CWmax
802.11b (DSSS, ২.৪ GHz)২০ µs১০ µs৫০ µs৩১ → ১০২৩
OFDM, ৫ GHz (802.11a/n/ac/ax)৯ µs১৬ µs৩৪ µs১৫ → ১০২৩

নিয়মগুলো

  1. Carrier sense দুই রকম: physical — radio চ্যানেলে শক্তি বা Wi-Fi preamble শুনছে কি না (CCA); আর virtual — NAV, অর্থাৎ অন্যদের frame-এর Duration field দেখে “চ্যানেল এত µs পর্যন্ত বুক করা” মনে রাখা। যেকোনো একটি ব্যস্ত বললে চ্যানেল ব্যস্ত।
  2. DIFS আর backoff: চ্যানেল DIFS ধরে ফাঁকা দেখার পর station [০, CW] থেকে একটি এলোমেলো পূর্ণসংখ্যা নেয় — backoff counter. প্রতিটি ফাঁকা slot-এ counter এক কমে; শূন্য হলে পাঠায়।
  3. Freeze — থামানো, বাতিল নয়: গোনার মাঝে চ্যানেল ব্যস্ত হলে counter যেখানে আছে সেখানেই থেমে থাকে; চ্যানেল আবার DIFS ধরে ফাঁকা হলে সেখান থেকে চলে। ফলে যে অনেকক্ষণ অপেক্ষা করেছে, পরের বার তার counter ছোট — একরকম ন্যায্যতা।
  4. ACK: Receiver ঠিকমতো frame পেলে (FCS মিলে গেলে) SIFS পরে ACK পাঠায়। নির্দিষ্ট সময়ে ACK না এলে প্রেরক ধরে নেয় frame হারিয়েছে।
  5. ব্যর্থ হলে contention window দ্বিগুণ: CW = ২(CW + ১) − ১ — ১৫ → ৩১ → ৬৩ … ১০২৩ পর্যন্ত (binary exponential backoff, Ethernet-এর মতোই)। কয়েকবার (retry limit, যেমন ৭) ব্যর্থ হলে frame বাদ। সফল হলে CW আবার CWmin-এ।

Broadcast আর multicast frame-এর ACK হয় না (কে দেবে?), তাই retry-ও নেই, আর এরা সাধারণত সবচেয়ে কম rate-এ যায় — ভারী multicast তাই চ্যানেলের অনেক সময় খায়।

নিচের simulator-এ তিনটি station (A, B, C), প্রত্যেকের AP-তে পাঠানোর ২টি frame. সময় ৫ GHz OFDM-এর (slot ৯, SIFS ১৬, DIFS ৩৪ µs); DATA-র airtime ১২০ µs আর ACK ২৮ µs ধরে নেওয়া। নির্দিষ্ট seed, তাই প্রতিবার একই ফল। সরলতার জন্য সবাই সবাইকে শোনে, আর collision-এর পর ACK-এর অপেক্ষাকে একটি সফল আদান-প্রদানের সমান সময় ধরা হয়েছে।

// 802.11 DCF (CSMA/CA): 3 stations, 2 frames each, 5 GHz OFDM timing.
const SLOT = 9, SIFS = 16, DIFS = SIFS + 2 * SLOT;   // 9, 16, 34 us
const DATA = 120, ACK = 28;                          // assumed airtimes (us)
const CWMIN = 15, CWMAX = 1023;
let seed = 2026;                                     // fixed seed -> same run every time
const rand = cw => (seed = (seed * 16807) % 2147483647) % (cw + 1);
const st = ["A", "B", "C"].map(n => ({ n, left: 2, cw: CWMIN, bo: 0 }));
st.forEach(s => (s.bo = rand(s.cw)));
const show = () => st.filter(s => s.left).map(s => s.n + "=" + s.bo).join(" ");
let t = 0;
console.log("t(us)  event                         backoff counters");
console.log("0".padEnd(7) + "frames ready, draw [0,CW]".padEnd(30) + show());
while (st.some(s => s.left)) {
  const act = st.filter(s => s.left);
  const k = Math.min(...act.map(s => s.bo));         // slots until a counter hits 0
  t += DIFS + k * SLOT;                              // DIFS idle, then k slots
  act.forEach(s => (s.bo -= k));                     // all count down; the rest freeze
  const tx = act.filter(s => s.bo === 0);
  let ev;
  if (tx.length === 1) {
    ev = tx[0].n + " DATA, SIFS, ACK ok";
    tx[0].left--; tx[0].cw = CWMIN;
  } else {
    ev = "COLLISION " + tx.map(s => s.n).join("+") + ", no ACK";
    tx.forEach(s => (s.cw = Math.min(2 * s.cw + 1, CWMAX)));
  }
  const frozen = act.filter(s => s.bo > 0).map(s => s.n + ":" + s.bo).join(" ");
  console.log(String(t).padEnd(7) + ev.padEnd(30) + "frozen " + (frozen || "-"));
  t += DATA + SIFS + ACK;                            // busy (or ACK timeout, simplified)
  tx.forEach(s => { if (s.left) s.bo = rand(s.cw); });
  if (tx.some(s => s.left)) console.log(String(t).padEnd(7) + "new draw".padEnd(30) + show() +
    "  (CW " + tx.filter(s => s.left).map(s => s.n + "=" + s.cw).join(" ") + ")");
}
console.log("all 6 frames delivered at t = " + t + " us");

আউটপুট (নির্দিষ্ট seed — প্রতিবার একই):

t(us)  event                         backoff counters
0      frames ready, draw [0,CW]     A=6 B=4 C=4
70     COLLISION B+C, no ACK         frozen A:2
234    new draw                      A=2 B=5 C=11  (CW B=31 C=31)
286    A DATA, SIFS, ACK ok          frozen B:3 C:9
450    new draw                      A=11 B=3 C=9  (CW A=15)
511    B DATA, SIFS, ACK ok          frozen A:8 C:6
675    new draw                      A=8 B=15 C=6  (CW B=15)
763    C DATA, SIFS, ACK ok          frozen A:2 B:9
927    new draw                      A=2 B=9 C=11  (CW C=15)
979    A DATA, SIFS, ACK ok          frozen B:7 C:9
1240   B DATA, SIFS, ACK ok          frozen C:2
1456   C DATA, SIFS, ACK ok          frozen -
all 6 frames delivered at t = 1620 us

লাইন ধরে পড়ুন (সময় = DATA শুরুর মুহূর্ত): শুরুতে A = ৬, B = ৪, C = ৪. DIFS (৩৪ µs) আর ৪ slot (৩৬ µs) পর B আর C একসাথে শূন্যে — t = ৭০-এ collision; A-র counter ২-এ থেমে আছে (freeze). ACK না পেয়ে B আর C-এর CW ১৫ থেকে ৩১, নতুন সংখ্যা ৫ আর ১১. t = ২৩৪-এ চ্যানেল ফাঁকা; DIFS আর ২ slot পরে (২৩৪ + ৩৪ + ১৮ = ২৮৬) A আগে শূন্যে — আগের অপেক্ষার পুরস্কার। সফল A-র CW আবার ১৫, দ্বিতীয় frame-এর counter ১১. প্রতিটি আদান-প্রদানে চ্যানেল ১২০ + ১৬ + ২৮ = ১৬৪ µs ব্যস্ত, তারপর আবার DIFS. ছয়টি frame-এ মোট ১,৬২০ µs, যার মধ্যে আসল DATA মাত্র ৬ × ১২০ = ৭২০ µs — অর্ধেকেরও কম। seed বা station-এর সংখ্যা বদলে চালিয়ে দেখুন collision কীভাবে বাড়ে।

যাচাই করা অঙ্ক — ৫৪ Mbps-এর link-এ কত Mbps আসে?

প্রশ্ন: 802.11a (৫ GHz), ৫৪ Mbps-এ একটি station একা একটানা ১,৫০০ byte-এর payload পাঠাচ্ছে। কোনো collision নেই। গড় throughput কত?

  • MAC header ২৪ byte + FCS ৪ byte, তাই frame = ১,৫২৮ byte = ১২,২২৪ bit; PHY যোগ করে আরও ২২ bit (service ১৬ + tail ৬) = ১২,২৪৬ bit.
  • ৫৪ Mbps-এ প্রতি ৪ µs-এর OFDM symbol-এ ২১৬ bit: ⌈১২,২৪৬ ÷ ২১৬⌉ = ৫৭টি symbol = ২২৮ µs; preamble আর PHY header ২০ µs যোগ করে DATA = ২৪৮ µs.
  • ACK (১৪ byte) যায় ২৪ Mbps-এ: (১১২ + ২২) bit ÷ ৯৬ → ২টি symbol = ৮ µs + ২০ µs = ২৮ µs.
  • গড় backoff = CWmin/২ = ৭.৫ slot × ৯ = ৬৭.৫ µs.
  • এক চক্র = DIFS ৩৪ + backoff ৬৭.৫ + DATA ২৪৮ + SIFS ১৬ + ACK ২৮ = ৩৯৩.৫ µs.
  • Throughput = ১২,০০০ bit ÷ ৩৯৩.৫ µs ≈ ৩০.৫ Mbps — ৫৪-এর মাত্র প্রায় ৫৬%.

কোনো প্রতিযোগী নেই, কোনো collision নেই — তবু প্রায় অর্ধেক সময় যায় অপেক্ষা আর নিয়ন্ত্রণে। এই খরচ PHY rate-এর সাথে কমে না (DIFS, preamble, ACK প্রায় স্থির), তাই rate যত বাড়ে, অনুপাত তত খারাপ হয়। এজন্যই 802.11n থেকে frame aggregation এসেছে: অনেকগুলো frame একসাথে জুড়ে (A-MPDU) একবারের অপেক্ষায় পাঠানো, আর একটি Block ACK-এ সবগুলোর প্রাপ্তি জানানো।

RTS/CTS আর NAV — hidden terminal-এর ওষুধ

প্রতিটি 802.11 frame-এর header-এ একটি Duration field থাকে: “এই frame শেষ হওয়ার পরও চ্যানেল আরও এত µs আমার আদান-প্রদানের জন্য দরকার”। যে station frame-টি শোনে (নিজের জন্য না হলেও), সে এই সংখ্যা দিয়ে নিজের NAV টাইমার বসায় আর ততক্ষণ চুপ থাকে — চ্যানেল নিজের কানে ফাঁকা শোনালেও। Hidden terminal-এর সমাধান এখানেই: RTS/CTS. প্রেরক প্রথমে একটি ছোট RTS (Request To Send) পাঠায়, AP উত্তরে CTS (Clear To Send) দেয়। AP-র চারপাশের সবাই CTS শোনে — প্রেরককে যারা শুনতে পায় না, তারাও। বড় DATA frame-এর বদলে collision হলে হবে শুধু ছোট RTS-এ।

নিচের উদাহরণে laptop A আর ফোন C একটি AP-র দুই পাশে; দেয়ালের কারণে A আর C একে অপরকে শোনে না। সময় সহজ রাখতে ধরে নেওয়া হয়েছে: RTS ৪০ µs, CTS ৩২ µs, DATA ৩০০ µs, ACK ৩২ µs, SIFS ১৬ µs.

  1. Laptop Aframe আছেবাম ঘরে
  2. APশুনছেমাঝখানে
  3. ফোন CA-কে শোনে নাডান ঘরে
সময়রেখা (µs)
সময়
বাতাসে
Duration field
C-এর physical sense
C-এর NAV
  1. পরিস্থিতি। A আর C দুজনেরই AP-তে পাঠানোর frame আছে। দুজনেই AP-কে শোনে, কিন্তু একে অপরকে নয়। শুধু physical carrier sense থাকলে A পাঠানোর সময় C-ও চ্যানেল “ফাঁকা” দেখে পাঠাত — AP-র কাছে collision, অথচ কেউ টের পেত না।
  2. t = ০–৪০: A পাঠাল RTS. DIFS আর backoff শেষে A ৪০ µs-এর ছোট RTS ছাড়ল। Duration = SIFS + CTS + SIFS + DATA + SIFS + ACK = ১৬ + ৩২ + ১৬ + ৩০০ + ১৬ + ৩২ = ৪১২ µs. A-র কাছের সবাই NAV বসাল t = ৪০ + ৪১২ = ৪৫২ পর্যন্ত। C কিছুই শোনেনি।
  3. t = ৫৬–৮৮: AP পাঠাল CTS. SIFS (১৬ µs) পরে AP CTS ছাড়ল; Duration = ৪১২ − ১৬ − ৩২ = ৩৬৪ µs. C CTS শুনল — নিজের জন্য নয়, তবু NAV বসাল t = ৮৮ + ৩৬৪ = ৪৫২ পর্যন্ত। এই মুহূর্তটিই পুরো কৌশলের প্রাণ।
  4. t = ১০৪–৪০৪: A পাঠাল DATA. ৩০০ µs ধরে বড় frame. C-এর physical sense বলছে চ্যানেল ফাঁকা (A শোনা যায় না), কিন্তু virtual sense (NAV) বলছে ব্যস্ত — C চুপ। DATA-র Duration = SIFS + ACK = ৪৮.
  5. t = ৪২০–৪৫২: AP পাঠাল ACK. SIFS পরে ACK, Duration = ০. ঠিক t = ৪৫২-তে ACK শেষ, আর সবার NAV-ও শেষ — তিনটি Duration-এর হিসাব একই মুহূর্তে মিলে গেল (৪০ + ৪১২ = ৮৮ + ৩৬৪ = ৪০৪ + ৪৮ = ৪৫২)।
  6. t = ৪৫২-এর পরে: নতুন প্রতিযোগিতা। চ্যানেল ফাঁকা; সবাই DIFS অপেক্ষা করে নিজের backoff counter থেকে আবার গোনা শুরু করে। C এখন নিরাপদে চেষ্টা করতে পারে। দাম: প্রতিটি DATA-র আগে বাড়তি RTS + CTS + দুটি SIFS (এখানে ১০৪ µs) — তাই RTS/CTS সাধারণত শুধু বড় frame-এ ব্যবহার হয় (“RTS threshold”); অনেক যন্ত্রে ডিফল্টভাবে এটি কার্যত বন্ধ থাকে।

৬ · 802.11 frame আর চারটি address field

Ethernet frame-এ address দুটি: গন্তব্য আর উৎস (পর্ব ১২)। 802.11 data frame-এর header-এ তিনটি, কখনো চারটি। কেন? কারণ বেতারে “এই hop-এ কে পাঠাচ্ছে, কে নিচ্ছে” আর “আসলে frame-টি কার, কার কাছে যাবে” আলাদা হতে পারে। Laptop ইন্টারনেটের router-এ packet পাঠালে বাতাসে frame-টি নেয় AP, কিন্তু আসল গন্তব্য router-এর MAC. তাই তিনটিই লাগে।

802.11 MAC frame-এর গঠন (byte-এ)

Generic 802.11 MAC frame — QoS and HT Control fields appear only in some frames

   2        2       6      6      6       2       6      2      0 - ...    4
┌───────┬────────┬──────┬──────┬──────┬───────┬──────┬──────┬─────────┬─────┐
│ Frame │Duration│Addr 1│Addr 2│Addr 3│  Seq  │Addr 4│ QoS  │  Frame  │ FCS │
│Control│  / ID  │ (RA) │ (TA) │      │Control│(WDS) │ Ctrl │  Body   │     │
└───────┴────────┴──────┴──────┴──────┴───────┴──────┴──────┴─────────┴─────┘
Frame Control bits: Version(2) Type(2) Subtype(4) ToDS FromDS MoreFrag
                    Retry PwrMgmt MoreData Protected +HTC/Order
ছবি ১৪.২ — সাধারণ data frame-এর header ২৪ byte; QoS data হলে ২৬, চারটি address থাকলে আরও ৬ byte. Frame Body-তে থাকে LLC/SNAP header আর তারপর IP packet; শেষে CRC-32 FCS (পর্ব ০৯)।

Frame Control-এর Type বলে frame-টি management (beacon, probe, auth, association), control (RTS, CTS, ACK) না data. Retry bit জানায় এটি আবার পাঠানো কপি — ACK হারালে প্রেরক একই frame আবার পাঠায়, আর receiver Sequence Control-এর নম্বর দেখে নকল কপি ফেলে দেয়। Protected bit = body encrypted. আর দুটি bit — ToDS আর FromDS — ঠিক করে চারটি address-এর অর্থ। নিয়ম মনে রাখার চাবি: Addr1 সবসময় এই hop-এর receiver (RA), Addr2 সবসময় এই hop-এর transmitter (TA). বাকিগুলো আসল উৎস/গন্তব্য বা BSSID.

ToDSFromDSপরিস্থিতিAddr1Addr2Addr3Addr4
00Ad hoc (IBSS) station → station, বা management/control frameDASABSSID—
10Station → AP (তারপর DS-এ)BSSIDSADA—
01AP → station (DS থেকে আসা)DABSSIDSA—
11AP → AP (WDS / mesh-এর বেতার সংযোগ)RATADASA

উদাহরণ: Laptop L (aa:aa:aa:00:00:01) AP1-এর (BSSID bb:bb:bb:00:00:0a) মাধ্যমে তারে থাকা router R-কে (cc:cc:cc:00:00:fe) একটি packet পাঠায়। বাতাসে: ToDS = 1, Addr1 = AP1 (receiver), Addr2 = L (উৎস ও transmitter), Addr3 = R (আসল গন্তব্য)। AP1 frame-টি নিয়ে 802.11 header খুলে একটি Ethernet frame বানায়: গন্তব্য R, উৎস L — AP-র নিজের MAC কোথাও থাকে না, ঠিক যেমন switch frame বদলায় না। R-এর উত্তর ফেরার সময় AP1 বানায় FromDS frame: Addr1 = L, Addr2 = AP1, Addr3 = R. নিচের decoder Frame Control-এর দুটি byte (যেমন capture-এ দেখা যায়) পড়ে address-গুলোর ভূমিকা বলে দেয়:

// Decode an 802.11 Frame Control field (2 bytes, hex) and name the address fields.
const TYPES = ["Management", "Control", "Data", "Extension"];
const ROLE = {                                     // [ToDS][FromDS] -> Addr1..Addr4
  "00": ["DA", "SA", "BSSID", "-"],                // ad hoc (IBSS) or management
  "10": ["BSSID", "SA", "DA", "-"],                // station -> AP
  "01": ["DA", "BSSID", "SA", "-"],                // AP -> station
  "11": ["RA", "TA", "DA", "SA"],                  // AP -> AP (WDS / mesh)
};
function decode(fcHex, addrs) {
  const [b0, b1] = fcHex.split(" ").map(h => parseInt(h, 16));
  const type = (b0 >> 2) & 3, subtype = (b0 >> 4) & 15;
  const toDS = b1 & 1, fromDS = (b1 >> 1) & 1;
  const flags = [["Retry", 8], ["Protected", 64]].filter(f => b1 & f[1]).map(f => f[0]);
  const role = ROLE["" + toDS + fromDS];
  console.log(`FC ${fcHex}: ${TYPES[type]} subtype ${subtype}, ToDS=${toDS} FromDS=${fromDS}` +
    (flags.length ? ", " + flags.join("+") : ""));
  addrs.forEach((a, i) => console.log(`   Addr${i + 1} = ${a}  (${role[i]})`));
}
const L = "aa:aa:aa:00:00:01", AP1 = "bb:bb:bb:00:00:0a", R = "cc:cc:cc:00:00:fe";
const AP2 = "bb:bb:bb:00:00:0b", P = "dd:dd:dd:00:00:22";
decode("08 41", [AP1, L, R]);                        // laptop -> router, via AP1
decode("88 42", [L, AP1, R]);                        // router's reply, AP1 -> laptop
decode("08 00", [P, L, "02:12:34:56:78:9a"]);        // ad hoc: laptop -> phone
decode("88 43", [AP1, AP2, R, L]);                   // mesh hop: AP2 -> AP1

আউটপুট:

FC 08 41: Data subtype 0, ToDS=1 FromDS=0, Protected
   Addr1 = bb:bb:bb:00:00:0a  (BSSID)
   Addr2 = aa:aa:aa:00:00:01  (SA)
   Addr3 = cc:cc:cc:00:00:fe  (DA)
FC 88 42: Data subtype 8, ToDS=0 FromDS=1, Protected
   Addr1 = aa:aa:aa:00:00:01  (DA)
   Addr2 = bb:bb:bb:00:00:0a  (BSSID)
   Addr3 = cc:cc:cc:00:00:fe  (SA)
FC 08 00: Data subtype 0, ToDS=0 FromDS=0
   Addr1 = dd:dd:dd:00:00:22  (DA)
   Addr2 = aa:aa:aa:00:00:01  (SA)
   Addr3 = 02:12:34:56:78:9a  (BSSID)
FC 88 43: Data subtype 8, ToDS=1 FromDS=1, Protected
   Addr1 = bb:bb:bb:00:00:0a  (RA)
   Addr2 = bb:bb:bb:00:00:0b  (TA)
   Addr3 = cc:cc:cc:00:00:fe  (DA)
   Addr4 = aa:aa:aa:00:00:01  (SA)

Byte থেকে অর্থ: প্রথম byte 0x08 = বাইনারি 0000 1000: নিচের ২ bit version ০, পরের ২ bit type = ২ (Data), ওপরের ৪ bit subtype ০. 0x88-এ subtype ৮ = QoS Data — আধুনিক Wi-Fi-র প্রায় সব ডেটা এমন। দ্বিতীয় byte flag-এর: 0x41 = ToDS (bit ০) + Protected (bit ৬), 0x42 = FromDS + Protected, 0x43 = দুটোই। চার উদাহরণ: (১) laptop থেকে router — বাতাসের receiver AP1, তাই Addr1 = BSSID; (২) উত্তর — Addr1 এবার laptop, আর আসল উৎস R চলে গেছে Addr3-এ; (৩) ad hoc — AP নেই, তাই দুই station সরাসরি আর Addr3-এ এলোমেলো BSSID (02: দিয়ে শুরু মানে “স্থানীয়ভাবে বানানো” address); (৪) mesh-এর বেতার backhaul — satellite AP2 থেকে মূল AP1-এ, laptop-এর frame router-এর দিকে যাচ্ছে: hop-এর receiver/transmitter দুটি AP, আর আসল গন্তব্য-উৎস Addr3/Addr4-এ। প্রতিটিতে Addr1 = receiver, Addr2 = transmitter নিয়মটি মিলিয়ে দেখুন।

৭ · Roaming আর mesh — এক AP থেকে আরেক AP

রিসেপশন থেকে ভিডিও কল করতে করতে আপনি মিটিং রুমে গেলেন — laptop AP1-এর এলাকা ছেড়ে AP2-এর এলাকায়। একই ESS, একই SSID, একই subnet, তাই IP বদলায় না; শুধু বেতার সংযোগ এক BSS থেকে আরেকটিতে সরে। একে বলে roaming (মোবাইল নেটওয়ার্কে handover — পর্ব ৫১)।

Wi-Fi-তে কখন সরবে, সিদ্ধান্ত নেয় station নিজে (মোবাইল নেটওয়ার্কে সাধারণত নেটওয়ার্ক)। নির্মাতাভেদে নিয়ম আলাদা: সংকেতের শক্তি (RSSI, dBm-এ — −৫০ খুব ভালো, −৭০ দুর্বল হতে শুরু, −৮০ প্রায় অচল) একটি সীমার নিচে নামলে খোঁজ শুরু। অনেক যন্ত্র দুর্বল AP আঁকড়ে থাকে — “sticky client”. তিনটি সংশোধনী সাহায্য করে:

  • 802.11k (radio resource measurement): AP station-কে “neighbor report” দেয় — আশেপাশের কোন AP কোন চ্যানেলে। পুরো band scan না করে শুধু ২–৩টি চ্যানেল দেখলেই চলে।
  • 802.11v (BSS transition management): AP বা controller station-কে পরামর্শ দিতে পারে, “আপনি AP2-তে গেলে ভালো হয়” — ভিড় ভাগ করতে বা sticky client সরাতে। মানা না-মানা station-এর ইচ্ছা।
  • 802.11r (fast BSS transition, FT): নতুন AP-তে গিয়ে পুরো 4-way handshake (আর অফিসে 802.1X-এর লম্বা যাচাই) আবার না করে, আগে থেকে তৈরি চাবির কাঠামো ব্যবহার করে authentication আর reassociation-এর frame-এর মধ্যেই চাবি মিলিয়ে নেয়। ভয়েস/ভিডিও কলে বিরতি অনেক কমে।
  1. AP1ch 1রিসেপশন
  2. LaptopAP1-এর পাশেভিডিও কল চলছে
  3. AP2ch 6মিটিং রুম
Laptop-এর চোখে
যুক্ত আছে
AP1 RSSI
AP2 RSSI
MCS (rate adaptation)
ঘটনা
  1. রিসেপশনে, AP1-এর পাশে। RSSI −৫০ dBm — চমৎকার। Rate adaptation উঁচু MCS বেছে নিয়েছে, কল মসৃণ।
  2. করিডোরে। দুটি দেয়াল মাঝে, RSSI −৬৭ dBm. Minstrel-এর মতো অ্যালগরিদম দেখল উঁচু MCS-এ frame হারাচ্ছে, তাই MCS ৪-এ নামাল। এই laptop-এর roaming-সীমা (উদাহরণ হিসেবে) −৭০ dBm, তাই এখনো সে AP1-এই থাকে।
  3. মিটিং রুমের দরজায় — সীমা পার। RSSI −৭৪ dBm. Laptop AP1-এর কাছে 802.11k neighbor report চাইল; উত্তর: “AP2 চ্যানেল ৬-এ, AP3 চ্যানেল ১১-এ”। ১৩টি চ্যানেল scan করার দরকার নেই।
  4. লক্ষ্যভেদী scan. Laptop শুধু চ্যানেল ৬ আর ১১-এ ঝটপট probe পাঠাল: AP2 −৫২ dBm (খুব ভালো), AP3 −৮১ dBm (অচল)। পছন্দ AP2. (AP1 চাইলে 802.11v দিয়ে আগেই এই পরামর্শ দিতে পারত।)
  5. দ্রুত হস্তান্তর — 802.11r. FT authentication আর reassociation-এর দুই জোড়া frame-এর মধ্যেই নতুন চাবি তৈরি হয়ে গেল; আলাদা 4-way handshake বা 802.1X-এর পুরো যাত্রা লাগল না। কলে বিরতি সাধারণত চোখে পড়ার মতো নয় (যন্ত্র আর নেটওয়ার্কভেদে কয়েক দশ ms-এর মতো)। 802.11r ছাড়া, বিশেষ করে 802.1X নেটওয়ার্কে, এই ধাপ অনেক বেশি সময় নিতে পারে।
  6. তারের দিকে হালনাগাদ। AP2 laptop-এর হয়ে একটি frame তারের দিকে পাঠায় (laptop-এর MAC উৎস হিসেবে), ফলে অফিসের switch শিখে নেয়: এই MAC এখন AP2-এর port-এ (পর্ব ১২-এর MAC learning). Laptop-এর IP, TCP সংযোগ, চলমান কল — সব অক্ষত, কারণ সে একই LAN-এ আছে।

Mesh Wi-Fi — তার ছাড়া AP জোড়া

বড় ফ্ল্যাট বা তিনতলা বাড়িতে এক router-এ সব ঘর ঢাকে না। Mesh Wi-Fi-তে কয়েকটি node বেতারে (wireless backhaul) বা তারে যুক্ত হয়ে একই SSID ছড়ায়, আর node থেকে node-এ frame যায় চার-address frame-এ (অংশ ৬-এর চতুর্থ উদাহরণ)। IEEE-র mesh standard 802.11s, আর ভিন্ন কোম্পানির যন্ত্র মেলাতে Wi-Fi Alliance-এর EasyMesh আছে, তবে অনেক mesh সিস্টেম নির্মাতার নিজস্ব পদ্ধতিতে চলে। Trade-off: একই radio-তে client আর backhaul চললে প্রতিটি frame বাতাসে দুবার যায় — প্রতি hop-এ throughput মোটামুটি অর্ধেক হতে পারে। আলাদা backhaul radio সাহায্য করে; সবচেয়ে ভালো node-গুলো Ethernet তারে জোড়া।

৮ · নিরাপত্তা আর বাস্তব পরামর্শ — WEP থেকে WPA3, বাড়ি থেকে অফিস

Wi-Fi-র সংকেত দেয়াল পেরিয়ে সিঁড়ি, পাশের ফ্ল্যাট, রাস্তা পর্যন্ত যায় — যে কেউ শুনতে পারে। তাই নিরাপত্তার দুটি কাজ: কে যুক্ত হবে তা নিয়ন্ত্রণ, আর বাতাসের প্রতিটি frame encrypted ও অপরিবর্তিত রাখা। দুর্বলতাগুলো এখানে শুধু ধারণা হিসেবে — কেন ভাঙল, আর প্রতিরক্ষা কী।

WEP — কেন ভাঙা

প্রথম 802.11-এর WEP RC4 stream cipher-এ সবার জন্য একটি স্থির চাবি ব্যবহার করত, প্রতিটি frame-এ তার সাথে একটি ২৪-bit IV জুড়ে। নকশাগত সমস্যা: (১) মাত্র প্রায় ১.৬৮ কোটি IV — ব্যস্ত নেটওয়ার্কে দ্রুতই একই IV, অর্থাৎ একই keystream ফিরে আসে; (২) ২০০১ সালে Fluhrer, Mantin আর Shamir দেখান, RC4-এর চাবি-প্রস্তুতির দুর্বলতার কারণে যথেষ্ট frame জমালে মূল চাবিই বের হয়; (৩) integrity-র জন্য CRC-32, যা linear — encrypted frame-এর bit বদলে checksum-ও মিলিয়ে দেওয়া যায়; (৪) চাবি বদলের কোনো ব্যবস্থা নেই। প্রতিরক্ষা: WEP কোথাও নয়। শুধু WEP বোঝে এমন যন্ত্রটিই বদলানো দরকার।

WPA2-PSK আর 4-way handshake

অন্তর্বর্তী WPA (২০০৩, TKIP) এখন বাতিল। আসল সমাধান 802.11i (২০০৪), বাজারে WPA2: AES-CCMP দিয়ে encryption ও integrity, প্রতিটি সংযোগের আলাদা চাবি। বাড়িতে সাধারণত PSK মোড — সবাই একই passphrase (৮–৬৩ অক্ষর) জানে। PMK = PBKDF2(passphrase, SSID, ৪,০৯৬ বার, ২৫৬ bit) — ইচ্ছে করে ধীর hash. 4-way handshake-এ দুই পক্ষ দুটি এলোমেলো nonce বিনিময় করে, PMK + দুই nonce + দুই MAC থেকে নতুন PTK বানায়, আর MIC দিয়ে প্রমাণ করে দুজনেই একই PMK জানে — passphrase বাতাসে না পাঠিয়েই। AP বার্তা ৩-এ সবার জন্য group key GTK দেয়।

PSK-র ধারণাগত দুর্বলতা: handshake-এর বার্তা বাতাসে খোলা। কেউ রেকর্ড করলে নিজের কম্পিউটারে একটি করে passphrase অনুমান করে MIC মিলিয়ে দেখতে পারে — নেটওয়ার্কের সাথে যোগাযোগ ছাড়াই (offline অনুমান)। “12345678”-এর মতো সাধারণ passphrase তাই দ্রুত মিলে যায়। প্রতিরক্ষা: লম্বা, এলোমেলো passphrase (চার-পাঁচটি অসম্পর্কিত শব্দ, ১৬+ অক্ষর), আর সম্ভব হলে WPA3.

WPA3, SAE আর enterprise

  • WPA3-Personal (২০১৮): SAE চাবি-বিনিময়ে প্রতিটি অনুমান যাচাই করতে AP-র সাথে সরাসরি বিনিময় লাগে — offline অনুমান চলে না; সাথে forward secrecy. Management frame সুরক্ষা (PMF, 802.11w) বাধ্যতামূলক, তাই জাল “disconnect” frame কঠিন। ৬ GHz-এ WPA2 চলেই না — WPA3 বা OWE বাধ্যতামূলক। শুরুর দিকের বাস্তবায়নের কিছু ত্রুটি (২০১৯) হালনাগাদে সারানো হয়েছে। Transition mode (একই SSID-এ WPA2 + WPA3) সুবিধাজনক, কিন্তু সব যন্ত্র WPA3 বুঝলে শুধু WPA3.
  • Enterprise — 802.1X/EAP: অফিসে প্রত্যেকে নিজের account বা certificate দিয়ে যুক্ত হন; AP যাচাই পাঠায় RADIUS সার্ভারে, আর প্রত্যেকের আলাদা PMK তৈরি হয়। কেউ চাকরি ছাড়লে শুধু তাঁর account বন্ধ। Client-এ সার্ভারের certificate যাচাই চালু রাখা জরুরি, নইলে জাল AP তথ্য সংগ্রহ করতে পারে।

WPS বন্ধ রাখুন, firmware হালনাগাদ রাখুন। WPS-এর ৮ অঙ্কের PIN-এর নকশাগত ত্রুটি ২০১১ সালে প্রকাশিত হয়: PIN দুই ভাগে আলাদা যাচাই হয় আর শেষ অঙ্কটি checksum, তাই ১০৮-এর বদলে মাত্র প্রায় ১০৪ + ১০৩ = ১১,০০০ সম্ভাবনা। ২০১৭ সালের KRACK দেখায় যে WPA2 standard-এর handshake-এ নিজেরই একটি সূক্ষ্ম ত্রুটি ছিল; protocol না বদলে সমাধান এসেছে software হালনাগাদে। Router-এর firmware আর ফোন-laptop-এর OS হালনাগাদ রাখাই এমন ত্রুটির কার্যকর প্রতিরক্ষা।

বাড়ি আর অফিসের নিরাপত্তা-চেকলিস্ট

  • Router-এর ডিফল্ট admin password বদলান, আর WAN দিক থেকে admin পাতা বন্ধ রাখুন।
  • WPA3-Personal (না থাকলে WPA2-AES; TKIP বা WEP কখনো নয়), লম্বা passphrase, WPS বন্ধ।
  • অতিথি আর IoT যন্ত্রের (ক্যামেরা, স্মার্ট-বাল্ব) জন্য আলাদা guest network, সাথে client isolation — অতিথির ফোন আপনার laptop বা প্রিন্টার দেখতেই পাবে না।
  • Hidden SSID বা MAC filter আসল নিরাপত্তা নয় — SSID probe-এ ফাঁস হয়, MAC নকল করা যায়।
  • খোলা পাবলিক Wi-Fi-তে ধরে নিন সবাই শুনছে — HTTPS (পর্ব ৪৮) আর দরকারে VPN (পর্ব ৪৯)।

বাড়ি-অফিসের জন্য বাস্তব পরামর্শ — বাংলাদেশের প্রেক্ষাপটে

  • Router কোথায়: বাসার মাঝামাঝি, একটু উঁচুতে, খোলা জায়গায় — কোণে, স্টিলের আলমারির পেছনে, পানির ট্যাংক বা microwave-এর পাশে নয়। ISP-র তার দরজার পাশে ঢুকলে একটি লম্বা Ethernet তার দিয়ে router ভেতরে সরানোই প্রায়ই সবচেয়ে সস্তা উন্নতি।
  • Band আর চ্যানেল: কাছের ঘরে ৫ GHz, দূরের ঘরে ২.৪ GHz. ঘন অ্যাপার্টমেন্টে ২.৪ GHz-এ এক ডজন প্রতিবেশী নেটওয়ার্ক দেখা অস্বাভাবিক নয়; নিজের ফোন বা laptop-এ আশেপাশের চ্যানেল দেখে ১, ৬, ১১-এর মধ্যে কম ভিড়েরটি বেছে নিন, ২.৪ GHz-এ ৪০ MHz এড়ান। “Auto” চ্যানেল কোনো router-এ ভালো, কোনোটিতে নয় — মেপে দেখুন।
  • দেয়াল আর তলা: ইট-কংক্রিট সংকেত অনেক কমায়; দুই তলায় একটি শক্তিশালী router-এর চেয়ে তারে জোড়া দ্বিতীয় AP বা mesh প্রায়ই ভালো। সাধারণ repeater একই চ্যানেলে আবার পাঠায় বলে গতি কমাতে পারে।
  • বিদ্যুৎ: লোডশেডিংয়ে router আর ONU বন্ধ হলে ইন্টারনেটও যায় — অনেকে ছোট DC mini UPS ব্যবহার করেন; ভোল্টেজ মিলিয়ে কিনুন।
  • অফিসে: এলাকা নয়, ব্যবহারকারীর সংখ্যা ধরে AP বসান; পাশের AP-কে আলাদা চ্যানেলে আর মাঝারি শক্তিতে রাখুন যাতে roaming ঠিক হয়; কর্মীদের জন্য 802.1X, অতিথিদের জন্য আলাদা VLAN-এ (পর্ব ১৩) guest SSID.

আরও গভীরে: আধুনিক Wi-Fi-তে সাধারণ DCF-এর বদলে চলে EDCA (802.11e): ভয়েস, ভিডিও, সাধারণ আর ব্যাকগ্রাউন্ড — চারটি “access category”-র প্রতিটির আলাদা AIFS (DIFS-এর বদলে) আর আলাদা CW, তাই ভয়েস frame পরিসংখ্যানগতভাবে আগে চ্যানেল পায়, আর একবার পেলে TXOP সময়সীমার মধ্যে কয়েকটি frame পরপর পাঠাতে পারে। Linux-এ Wi-Fi-র স্তর হলো driver-এর ওপরে mac80211 (software MAC, যেখানে Minstrel থাকে) আর cfg80211/nl80211 কনফিগারেশন ইন্টারফেস; iw কমান্ড, client-এর wpa_supplicant আর AP-র hostapd এই ইন্টারফেস দিয়েই কথা বলে। Wi-Fi 6-এ AP নিজেই “trigger frame” দিয়ে কোন station কখন কোন resource unit-এ পাঠাবে তা ঠিক করে দিতে পারে — অর্থাৎ বিশুদ্ধ contention থেকে কিছুটা নির্ধারিত scheduling-এর দিকে যাত্রা, যা মোবাইল নেটওয়ার্কের ধাঁচের কাছাকাছি।

পরীক্ষা ও ইন্টারভিউতে এই বিষয়ে প্রায়ই যা জিজ্ঞেস করা হয়:

  • Wi-Fi কেন CSMA/CD ব্যবহার করে না? — Radio পাঠানোর সময় নিজে শুনতে পারে না, আর collision receiver-এর কাছে ঘটে যা প্রেরক টের না-ও পেতে পারে (hidden terminal); তাই collision avoidance আর ACK.
  • SIFS কেন DIFS-এর চেয়ে ছোট? — যাতে ACK/CTS-এর মতো চলমান আদান-প্রদানের উত্তর নতুন প্রেরকের আগে চ্যানেল পায়; DIFS = SIFS + ২ × slot.
  • NAV কী? — অন্যের frame-এর Duration field থেকে বসানো টাইমার — virtual carrier sense; RTS/CTS-এর সাথে hidden terminal ঠেকায়।
  • ২.৪ GHz-এ না-ছোঁয়া চ্যানেল কোনগুলো, কেন? — ১, ৬, ১১; কেন্দ্র ৫ MHz দূরে কিন্তু চ্যানেল ২০–২২ MHz চওড়া, তাই ২৫ MHz (৫ চ্যানেল) ফাঁক দরকার।
  • SSID আর BSSID-এর পার্থক্য? — SSID মানুষের দেওয়া নেটওয়ার্কের নাম (অনেক AP-তে একই), BSSID প্রতিটি AP radio-র ৪৮-bit পরিচয়, সাধারণত তার MAC.

৯ · AI-এর যুগে Wi-Fi — পরামর্শ নিন, কিন্তু যাচাই করে

“আমার Wi-Fi স্লো, কী করব?” — AI দশটি টিপস দেবে, অনেকগুলো কাজেরও। কিন্তু ভুলগুলো চেনা ধরনের: পুরোনো কমান্ড, এক কোম্পানির router-এর মেনু সবার জন্য সত্য বলে চালানো, বিজ্ঞাপনের গতিকে বাস্তব ধরা, আর নিরাপত্তা-বিপজ্জনক “সহজ সমাধান”।

AI-এর ভুলকেন ভুলকীভাবে ধরবেন
iwconfig, iwlist-এর মতো পুরোনো কমান্ডপুরোনো wireless-tools; আধুনিক Linux-এ iw আর nmcliman iw দেখুন; Windows-এ netsh wlan
“Settings > Wireless > Advanced-এ যান” — একটি নির্দিষ্ট router-এর মেনুপ্রতিটি নির্মাতা আর firmware-এর মেনু আলাদানিজের মডেলের manual বা নির্মাতার সাইট দেখুন
“AX3000 router = ৩ Gbps ইন্টারনেট”দুই band-এর PHY rate যোগ করা; এক যন্ত্রের throughput অনেক কমঅংশ ২ আর ৫-এর হিসাব; তারে ও Wi-Fi-তে আলাদা speed test
DIFS/SIFS/slot-এর মান মিশিয়ে ফেলা (802.11b-র ২০ µs slot-এর সাথে OFDM-এর ১৬ µs SIFS)PHY-ভেদে মান আলাদাঅংশ ৫-এর টেবিল; DIFS = SIFS + ২·slot দিয়ে মিলিয়ে নিন
“SSID লুকান আর MAC filter দিন — নিরাপদ”দুটোই সহজে এড়ানো যায়; আসল নিরাপত্তা encryptionWPA3/WPA2-AES আর শক্ত passphrase আছে কি না দেখুন
“পুরোনো যন্ত্র চালাতে WEP/TKIP চালু করুন” বা “firewall বন্ধ করে দেখুন”পুরো নেটওয়ার্ক অরক্ষিত হয়ে যায়পুরোনো যন্ত্রকে আলাদা guest নেটওয়ার্কে রাখুন বা বদলান
802.11-এর জন্য “RFC নম্বর” উদ্ধৃত করা802.11 IEEE-র standard, IETF-এর RFC নয়; তবে RADIUS, EAP-এর RFC আছেrfc-editor.org-এ নম্বর খুলে শিরোনাম মেলান

AI-কে Wi-Fi-র সমস্যা দিলে পরিস্থিতি, যন্ত্র আর সীমা স্পষ্ট করে দিন:

আমার বাসার Wi-Fi-র সমস্যা বিশ্লেষণে সাহায্য করো। পরিস্থিতি: ঢাকার একটি অ্যাপার্টমেন্ট, ৩ বেডরুম, ইটের দেয়াল; router দরজার পাশে; ২.৪ GHz-এ আশেপাশে ১২টি নেটওয়ার্ক দেখা যায়; আমার router dual-band (মডেল: ...); দূরের বেডরুমে ভিডিও কল কেটে যায়। নিয়ম: ১. আগে বলো কোন তথ্য মাপতে হবে (signal dBm, চ্যানেল, tx bitrate) আর Linux-এ iw/nmcli বা Windows-এ netsh wlan দিয়ে কীভাবে — পুরোনো iwconfig নয়। ২. পরামর্শগুলো সম্ভাব্য প্রভাব অনুযায়ী সাজাও, আর প্রতিটির পক্ষে কারণ দাও (path loss, channel overlap, CSMA/CA). ৩. ২.৪ GHz-এ শুধু ১, ৬, ১১-এর মধ্যে চ্যানেল প্রস্তাব করো, আর কেন তা বলো। ৪. কোনো নির্দিষ্ট router-এর মেনু-পথ বানিয়ে বলবে না; না জানলে “manual দেখুন” বলো। ৫. নিরাপত্তা দুর্বল করে এমন কিছু (WEP/TKIP, WPS চালু, firewall বন্ধ) প্রস্তাব করবে না।

AI-এর উত্তর মানার আগে — চেকলিস্ট

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন — তারপর “→ উত্তর” চাপুন।

প্র ০১লাইসেন্স ছাড়া spectrum — ১৯৮৫ সালের একটি নিয়ন্ত্রক সিদ্ধান্ত কীভাবে Wi-Fi সম্ভব করল, আর ঘন অ্যাপার্টমেন্টে এর দাম কী?

১৯৮৫ সালে যুক্তরাষ্ট্রের নিয়ন্ত্রক সংস্থা FCC একটি সিদ্ধান্ত নেয়: শিল্প, বিজ্ঞান আর চিকিৎসার যন্ত্রের জন্য রাখা ISM band-গুলোতে (যেমন ২.৪ GHz, যেখানে microwave oven-ও চলে) spread spectrum প্রযুক্তির যোগাযোগ-যন্ত্র লাইসেন্স ছাড়াই চালানো যাবে, শুধু শক্তির সীমা মানতে হবে। এই band-কে তখন অনেকে “আবর্জনার band” মনে করতেন — microwave-এর শব্দে ভরা। কিন্তু এই সিদ্ধান্তই কোম্পানিগুলোকে কারও অনুমতি বা নিলাম ছাড়া বেতার LAN বানানোর সুযোগ দিল। NCR-এর WaveLAN-এর মতো প্রথম দিকের পণ্য থেকে ১৯৯৭ সালের 802.11 standard, তারপর ১৯৯৯ সালে Wi-Fi Alliance-এর জন্ম আর Apple-এর AirPort-এর মতো সস্তা পণ্য — এক দশকে বেতার LAN ঘরে ঘরে পৌঁছে গেল। অন্য দেশগুলোও মোটামুটি একই ধরনের band খুলে দেয়, তাই একটি laptop পৃথিবীর প্রায় সব জায়গায় চলে।

মোবাইল অপারেটরের spectrum-এর সাথে তুলনা করুন: সেখানে একটি কোম্পানি বিপুল টাকায় একটি band কেনে, আর নিজের নেটওয়ার্কে কে কখন পাঠাবে তা কেন্দ্রীয়ভাবে ঠিক করে (পর্ব ৫১)। Wi-Fi-তে কোনো মালিক নেই, কোনো কেন্দ্রীয় পরিকল্পনাকারী নেই। এর মূল্য দিতে হয় ভিড়ের সময়। ঢাকার একটি দশতলা ভবনে প্রতিটি ফ্ল্যাটে একটি করে ISP-র router, সবগুলো সম্ভবত ২.৪ GHz-এ, অনেকগুলো ডিফল্ট চ্যানেলে বা ৪০ MHz-এ। CSMA/CA ভদ্র নিয়ম — একই চ্যানেলের সবাই পালা করে — কিন্তু পালা মানে সময় ভাগ: আপনার AP যতক্ষণ পাশের ফ্ল্যাটের ট্রাফিক শুনে চুপ, ততক্ষণ আপনার গতি শূন্য। অর্থনীতিতে একে বলে “commons”-এর সমস্যা: সবাই ভাগ করা সম্পদ বেশি ব্যবহার করলে সবার ক্ষতি।

প্রযুক্তি এর উত্তর দিয়েছে কয়েকভাবে: ৫ GHz আর পরে ৬ GHz-এ অনেক বেশি চ্যানেল; Wi-Fi 6-এর BSS coloring, যা দূরের অন্য নেটওয়ার্কের দুর্বল সংকেতকে উপেক্ষা করে নিজের পাঠানোর সুযোগ বাড়ায়; আর ছোট cell — কম শক্তির অনেক AP, যাতে প্রতিটির শব্দ কম দূর যায়। মজার ব্যাপার, দেয়াল যত পুরু আর frequency যত বেশি, প্রতিবেশীর হস্তক্ষেপ তত কম — ৫/৬ GHz-এর “দুর্বলতা”-ই ঘন ভবনে সুবিধা।

মূল উপলব্ধি: লাইসেন্সহীন spectrum উদ্ভাবনের দরজা খুলে দিয়েছে, বিনিময়ে ভিড় সামলানোর দায় দিয়েছে প্রতিটি যন্ত্র আর ব্যবহারকারীর ওপর। ভালো চ্যানেল, কম width, সঠিক band আর পরিমিত শক্তি — এগুলো শুধু নিজের জন্য নয়, প্রতিবেশীর জন্যও ভদ্রতা।

প্র ০২WEP থেকে WPA3 — বেতার নিরাপত্তার দুই দশকের ইতিহাস কী শেখায়?

১৯৯৭ সালের 802.11-এর WEP-এর নামেই লক্ষ্য লেখা ছিল: “Wired Equivalent Privacy” — তারের মতো গোপনীয়তা। সে সময় শক্তিশালী cryptography-র রপ্তানিতে যুক্তরাষ্ট্রের কড়া নিয়ম ছিল, তাই মূল চাবি মাত্র ৪০ bit; আর নকশাটি খোলা cryptography গবেষকদের পর্যালোচনা ছাড়াই তৈরি হয়েছিল। ২০০১ সালের মধ্যে কয়েকটি গবেষণা দল দেখাল, সমস্যা চাবির আকারে নয়, কাঠামোতেই: ছোট IV বারবার ফিরে আসে, RC4-এর দুর্বল চাবি-প্রস্তুতির সাথে IV জোড়ায় চাবি ফাঁস হয় (Fluhrer–Mantin–Shamir), আর CRC-32 integrity-র কোনো সুরক্ষা দেয় না। কয়েক বছরের মধ্যে কয়েক মিনিটেই WEP-চাবি বের করা সম্ভব হয়ে যায়।

তখন বিশ্বজুড়ে লাখো যন্ত্রের hardware শুধু RC4 চালাতে পারত। তাই Wi-Fi Alliance ২০০৩ সালে WPA (TKIP) আনে — একই RC4, কিন্তু প্রতি frame-এ আলাদা চাবি আর নতুন integrity কোড, firmware হালনাগাদেই চলে। এটি ছিল জোড়াতালি, আর জানা কথা যে সাময়িক। আসল সমাধান 802.11i (২০০৪), অর্থাৎ WPA2: AES-CCMP, প্রতিটি সংযোগের আলাদা চাবি, 4-way handshake. প্রায় এক যুগ WPA2 টিকে ছিল। ২০১৭ সালে Mathy Vanhoef দেখান KRACK: handshake-এর একটি বার্তা আবার পাঠিয়ে চাবি পুনরায় install করানো যায় — protocol-এর formal প্রমাণে “চাবি কখন install হবে” মডেলেই ছিল না। সমাধান এল software patch-এ, protocol না বদলেই। ২০১৮ সালে WPA3 আসে SAE নিয়ে, যা offline password-অনুমান বন্ধ করে আর forward secrecy দেয়। পরের বছর একই গবেষক আর Eyal Ronen দেখান (Dragonblood) শুরুর দিকের SAE বাস্তবায়নে সময়ের পার্থক্য থেকে তথ্য ফাঁস হতে পারে — আবার হালনাগাদ, আর standard-এ আরও সাবধানী নির্দেশনা।

এই ইতিহাসের শিক্ষা কয়েকটি: (১) নিজের বানানো cryptography নয় — প্রমাণিত, খোলা পর্যালোচনা হওয়া নির্মাণ ব্যবহার করুন; (২) integrity আর confidentiality আলাদা জিনিস, দুটোই লাগে; (৩) নিরাপত্তা কখনো “একবার করে শেষ” নয় — হালনাগাদের পথ খোলা রাখা নকশারই অংশ; (৪) পুরোনো যন্ত্রের সাথে সামঞ্জস্য (transition mode, WEP-অনুমতি) প্রায়ই সবচেয়ে দুর্বল দরজা।

মূল উপলব্ধি: বেতার নিরাপত্তার প্রতিটি প্রজন্ম আগেরটির নকশাগত ভুল থেকে এসেছে। ব্যবহারকারীর হাতে প্রতিরক্ষা সহজ — সর্বশেষ মোড (WPA3), শক্ত passphrase, WPS বন্ধ আর নিয়মিত হালনাগাদ।

প্র ০৩একটি ধীর যন্ত্র কীভাবে পুরো Wi-Fi-কে ধীর করে দেয়? “Performance anomaly” আর airtime fairness ব্যাখ্যা করুন।

CSMA/CA-র ন্যায্যতা হলো সুযোগের ন্যায্যতা: দীর্ঘমেয়াদে প্রতিটি station মোটামুটি সমান সংখ্যক বার চ্যানেল পায় (সবার CW একই নিয়মে)। কিন্তু সুযোগ পেলে একটি frame পাঠাতে কত সময় লাগে, তা নির্ভর করে তার rate-এর ওপর। ধরুন বসার ঘরে দুটি laptop, একটি AP-র পাশে ২০০ Mbps-এ, অন্যটি দূরের বারান্দায় ১০ Mbps-এ। দুজনেই ১,৫০০ byte-এর frame পাঠায়: প্রথমটির airtime প্রায় ৬০ µs, দ্বিতীয়টির ১,২০০ µs (শুধু ডেটার অংশ, overhead বাদে)। পালাক্রমে একটি করে frame গেলে প্রতি চক্রে চ্যানেলের প্রায় ৯৫% সময় খায় ধীর যন্ত্রটি! দুজনেই প্রতি চক্রে একই পরিমাণ ডেটা পাঠায়, তাই দুজনের throughput প্রায় সমান — আর দুটিই ধীরটির কাছাকাছি নেমে আসে।

২০০৩ সালে Heusse ও তাঁর সহকর্মীরা 802.11b-তে এটি মেপে নাম দেন “performance anomaly”: একটি station দূরে গিয়ে ১১ থেকে ১ Mbps-এ নামলে, কাছের দ্রুত station-গুলোর throughput-ও প্রায় ধীরটির সমান হয়ে যায়। এটি CSMA/CA-র নকশা থেকেই আসে, কোনো বাগ নয়।

প্রতিকার কয়েক রকম। (১) Airtime fairness: AP সুযোগের বদলে সময় ভাগ করে — প্রতিটি station সমান airtime পায়; ধীরটি তখন কম ডেটা পাঠায়, কিন্তু দ্রুতগুলো আর আটকে থাকে না। Linux-এর mac80211-এ এমন airtime-ভিত্তিক scheduling যোগ হয়েছে, আর অনেক enterprise AP-তে এটি একটি সেটিং। (২) পুরোনো ধীর rate (যেমন 802.11b-র ১–১১ Mbps) বন্ধ করে দেওয়া, যাতে কেউ খুব নিচে নামতে না পারে — দাম, খুব দূরের যন্ত্র যুক্তই হতে পারবে না। (৩) ভালো AP-বিন্যাস, যাতে কাউকে খুব দূরে থাকতে না হয়; roaming সহায়তা (802.11k/v) যাতে sticky client সরে যায়। (৪) Frame aggregation আর OFDMA, যা প্রতি সুযোগে overhead কমায় আর একসাথে কয়েকজনকে জায়গা দেয়।

মূল উপলব্ধি: ভাগ করা মাধ্যমে “ন্যায্যতা” কিসের — সুযোগ, সময় না ডেটা — সেই সিদ্ধান্তই পুরো নেটওয়ার্কের দক্ষতা ঠিক করে। বাসায় সবচেয়ে দূরের পুরোনো যন্ত্রটি পুরো Wi-Fi-র গতি টেনে নামাতে পারে।

প্র ০৪Router-এর বাক্সে “AX3000”, অথচ ফোনে speed test-এ ৩০০ Mbps-ও আসে না — হিসাবটি ধাপে ধাপে মিলিয়ে দেখান।

প্রথমে বাক্সের সংখ্যা ভাঙা যাক। Wi-Fi 6-এ একটি spatial stream-এ, ১০২৪-QAM ও coding ৫/৬-এ, ৪০ MHz-এ PHY rate প্রায় ২৮৬.৮ Mbps আর ১৬০ MHz-এ প্রায় ১,২০১ Mbps. একটি সাধারণ “AX3000” router-এ ২.৪ GHz-এ ২টি stream × ৪০ MHz ≈ ৫৭৪ Mbps আর ৫ GHz-এ ২টি stream × ১৬০ MHz ≈ ২,৪০২ Mbps; যোগফল ≈ ২,৯৭৬, গোল করে “৩০০০”। কিন্তু কোনো একটি যন্ত্র একসাথে দুই band ব্যবহার করে না (Wi-Fi 7-এর MLO আসার আগে), তাই এক যন্ত্রের জন্য সর্বোচ্চ ২,৪০২ Mbps — তাও যদি ফোনে ২টি stream থাকে, ১৬০ MHz চ্যানেল পাওয়া যায় (দেশ, DFS আর প্রতিবেশীর ওপর নির্ভর), আর ফোন AP-র খুব কাছে থাকে যাতে ১০২৪-QAM টেকে।

বাস্তবে অনেক router ৫ GHz-এ ৮০ MHz-এ চলে: তখন ২ × ৬০০.৫ ≈ ১,২০১ Mbps. পাশের ঘরে, একটি দেয়ালের পরে SNR কমে, rate adaptation হয়তো 256-QAM-এ নামে (দুই stream-এ প্রায় ৯৬১ Mbps) বা আরও নিচে। এরপর MAC-এর খরচ: অংশ ৫-এর হিসাবে aggregation ছাড়া ৫৪ Mbps-এ প্রায় ৫৬% পাওয়া গেছে; উঁচু rate-এ aggregation এই খরচ অনেক কমায়, তবু অপেক্ষা, preamble, Block ACK আর TCP-র ACK-এর জন্য উল্টো দিকের পাঠানো (Wi-Fi half-duplex) মিলে সাধারণত PHY rate-এর মোটামুটি ৬০–৭০%-এর বেশি পাওয়া কঠিন। একই চ্যানেলে প্রতিবেশীর ট্রাফিক থাকলে আরও কম।

আর শেষে সবচেয়ে সাধারণ কারণ: Wi-Fi হয়তো সমস্যাই নয়। ISP-র প্ল্যান যদি ১০০ বা ২০০ Mbps হয়, speed test তার বেশি দেখাবে না — bottleneck তখন ইন্টারনেট সংযোগ (পর্ব ০৫-এর min(Rs, Rc, R/n)). সঠিক তদন্ত হলো: প্রথমে তারে যুক্ত কম্পিউটারে speed test, তারপর AP-র পাশে Wi-Fi-তে, তারপর দূরের ঘরে — তিনটি সংখ্যার পার্থক্যই বলে দেয় সমস্যা কোথায়। Linux-এ iw dev wlan0 link বা Windows-এ netsh wlan show interfaces দেখায় আসল negotiated rate আর signal.

মূল উপলব্ধি: বিজ্ঞাপনের সংখ্যা = সব band-এর আদর্শ PHY rate-এর যোগফল। এক যন্ত্রের বাস্তব throughput = তার stream ও চ্যানেল-width দিয়ে সীমিত PHY rate × (SNR-নির্ভর MCS) × MAC-দক্ষতা, আর তার ওপরে ISP-র bottleneck. প্রতিটি গুণক আলাদা করে মাপলেই রহস্য মেটে।

প্র ০৫Wi-Fi-তে roaming-এর সিদ্ধান্ত কেন client নেয়, আর মোবাইল নেটওয়ার্কে কেন নেটওয়ার্ক? এই নকশা-পার্থক্যের ফল কী?

802.11 জন্মেছিল LAN-এর ধারণা নিয়ে — Ethernet-এর মতো সরল, বিতরণকৃত, কোনো কেন্দ্রীয় নিয়ন্ত্রক ছাড়া। প্রতিটি AP স্বাধীন হতে পারে, আর AP-গুলো একে অপরের কথা না-ও জানতে পারে (আলাদা কোম্পানির, আলাদা সময়ে বসানো)। এমন জগতে একমাত্র যে পক্ষ সব AP-কে “দেখতে” পায়, সে station নিজে — তাই সিদ্ধান্তও তার। মোবাইল নেটওয়ার্ক উল্টো দিক থেকে এসেছে: একটি অপারেটরের মালিকানায় সব টাওয়ার, কেন্দ্রীয় পরিকল্পনা, টাকায় কেনা spectrum যার প্রতিটি অংশের হিসাব রাখতে হয়। সেখানে ফোন আশেপাশের cell-এর সংকেত মেপে রিপোর্ট পাঠায়, আর নেটওয়ার্ক ঠিক করে কখন কোন cell-এ handover হবে (পর্ব ৫১)।

Client-নির্ভর নকশার ফল মিশ্র। সুবিধা: সরলতা, কোনো controller ছাড়াই যেকোনো AP কাজ করে, আর ফোন নিজের ব্যাটারি আর কাজের ধরন বুঝে সিদ্ধান্ত নেয়। অসুবিধা: প্রতিটি নির্মাতার অ্যালগরিদম আলাদা — একই অফিসে এক ব্র্যান্ডের ফোন সুন্দর roam করে, আরেকটি পুরোনো AP আঁকড়ে থাকে (sticky client), দুর্বল সংকেতে ধীর rate-এ পুরো AP-কে ধীর করে (প্র ০৩)। নেটওয়ার্ক জানে কোন AP-তে ভিড় বেশি, কিন্তু সরাসরি কাউকে সরাতে পারে না।

শিল্প এই ফাঁক পূরণ করেছে কয়েক ধাপে। Enterprise নেটওয়ার্কে controller (বা cloud ব্যবস্থাপনা) সব AP-কে একসাথে পরিচালনা করে — চ্যানেল আর শক্তি ঠিক করে, ভিড় দেখে। 802.11k station-কে প্রতিবেশীর তালিকা দেয়, 802.11v নেটওয়ার্ককে “পরামর্শ” দেওয়ার ভাষা দেয়, 802.11r হস্তান্তরকে দ্রুত করে। কিছু controller অনিচ্ছুক client-কে বিদায়-frame পাঠিয়ে জোর করে সরায় — কাজ করে, কিন্তু client-এর অভিজ্ঞতায় ছোট বিরতি আনে। Wi-Fi 6/7-এ AP-নিয়ন্ত্রিত scheduling (trigger frame, OFDMA) আর Wi-Fi 7-এর multi-link একসাথে কয়েকটি link রাখার ধারণা — সব মিলিয়ে Wi-Fi ধীরে ধীরে মোবাইল নেটওয়ার্কের কেন্দ্রীয় নিয়ন্ত্রণের দিকে এগোচ্ছে, যখন মোবাইল নেটওয়ার্কও লাইসেন্সহীন band ব্যবহারের পথ খুঁজছে।

মূল উপলব্ধি: কে সিদ্ধান্ত নেবে — প্রান্ত না কেন্দ্র — সেটি মালিকানা আর ব্যবসার কাঠামো থেকে আসে। Wi-Fi-র বিতরণকৃত নকশা তাকে সস্তা আর সর্বত্র করেছে; বড় নেটওয়ার্কে মসৃণ roaming পেতে তাকে কেন্দ্রীয় সমন্বয়ের হাতিয়ার ধার করতে হয়েছে।

অনুশীলন

খাতা-কলম নিন — সময়রেখা এঁকে এঁকে হিসাব করুন।

  1. হাতে হিসাব (CSMA/CA আর RTS/CTS): ৫ GHz OFDM (slot ৯ µs, SIFS ১৬ µs). একটি station-এর backoff counter ৫, চ্যানেল পুরো সময় ফাঁকা। DATA-র airtime ২০০ µs, ACK ২৮ µs. (ক) চ্যানেল ফাঁকা হওয়ার মুহূর্ত থেকে ACK শেষ হওয়া পর্যন্ত কত µs? (খ) একই frame-এর আগে RTS (৪০ µs) আর CTS (৩২ µs) যোগ করলে মোট কত, আর RTS-এর Duration field-এ কী সংখ্যা থাকবে?

    (ক) DIFS = ১৬ + ২ × ৯ = ৩৪ µs; backoff = ৫ × ৯ = ৪৫ µs. মোট = ৩৪ + ৪৫ + ২০০ (DATA) + ১৬ (SIFS) + ২৮ (ACK) = ৩২৩ µs. (খ) বাড়তি অংশ = RTS ৪০ + SIFS ১৬ + CTS ৩২ + SIFS ১৬ = ১০৪ µs, তাই মোট ৪২৭ µs. RTS-এর Duration = RTS শেষ হওয়ার পর বাকি সময় = SIFS + CTS + SIFS + DATA + SIFS + ACK = ১৬ + ৩২ + ১৬ + ২০০ + ১৬ + ২৮ = ৩০৮ µs. মিলিয়ে নিন: ৩৪ + ৪৫ + ৪০ + ৩০৮ = ৪২৭.

  2. Backoff ট্রেস করুন: একই সময়ের মান (DIFS ৩৪, slot ৯, DATA ১২০, SIFS ১৬, ACK ২৮ µs). t = ০-তে চ্যানেল ফাঁকা হলো; তিনটি station-এর counter A = ৩, B = ৫, C = ৩. Collision হলে চ্যানেল একটি সফল আদান-প্রদানের সমান সময় (১৬৪ µs) ব্যস্ত থাকে, আর ব্যর্থরা নতুন সংখ্যা নেয় — ধরুন A = ৭, C = ২০. প্রতিটি ঘটনা কখন ঘটবে আর কার counter কত থাকবে?

    DIFS শেষে (৩৪) সবাই গোনে; ৩ slot পরে t = ৩৪ + ২৭ = ৬১ µs-এ A আর C দুজনেই শূন্যে — collision. B-এর counter ৫ − ৩ = ২-এ থেমে থাকে। চ্যানেল ফাঁকা হয় ৬১ + ১৬৪ = ২২৫-এ। A আর C-এর CW এখন ৩১; নতুন counter ৭ আর ২০. পরের DIFS (২৫৯) আর ২ slot পরে t = ২৭৭ µs-এ B পাঠায় (সফল); তখন A = ৫, C = ১৮. চ্যানেল ফাঁকা ২৭৭ + ১৬৪ = ৪৪১-এ; DIFS আর ৫ slot পরে t = ৪৪১ + ৩৪ + ৪৫ = ৫২০ µs-এ A পাঠায়; C-এর counter ১৩-তে থামে। লক্ষ করুন, collision-এ না জড়ানো B “লাভবান” — তার জমানো ছোট counter-ই তাকে আগে পাঠাতে দিল।

  3. আউটপুট অনুমান করুন: অংশ ৬-এর address decoder-এর শেষে এই দুটি লাইন যোগ করলে প্রথম লাইনের ফলে কোন address-এর কী ভূমিকা ছাপা হবে, আর দ্বিতীয়টির শিরোনাম-লাইন কী হবে? decode("08 02", [L, AP1, R]); আর decode("08 49", [AP1, L, R]);

    প্রথমটি: 0x02 = শুধু FromDS, তাই শিরোনাম FC 08 02: Data subtype 0, ToDS=0 FromDS=1, আর ভূমিকা Addr1 = L (DA), Addr2 = AP1 (BSSID), Addr3 = R (SA) — AP থেকে laptop-এ আসা একটি unencrypted frame. দ্বিতীয়টি: 0x49 = 0100 1001 — bit ০ (ToDS), bit ৩ (Retry), bit ৬ (Protected), তাই শিরোনাম FC 08 49: Data subtype 0, ToDS=1 FromDS=0, Retry+Protected. অর্থাৎ laptop থেকে AP-তে যাওয়া একটি encrypted frame-এর দ্বিতীয় (বা পরের) চেষ্টা — প্রথমবারের ACK আসেনি।

  4. কমান্ড লিখুন ও পড়ুন: নিজের Linux laptop-এ বর্তমান Wi-Fi সংযোগের SSID, frequency, signal আর tx bitrate দেখার কমান্ড কী? Windows-এ কী? নিচের আউটপুট থেকে চ্যানেল নম্বর, signal-এর মান আর tx bitrate-টি কোন MCS থেকে আসছে তা হিসাব করে মেলান।
    $ iw dev wlan0 link          # উদাহরণ আউটপুট
    Connected to bb:bb:bb:00:00:0a (on wlan0)
            SSID: Rahman-Home
            freq: 5180
            signal: -58 dBm
            tx bitrate: 390.0 MBit/s VHT-MCS 8 80MHz short GI VHT-NSS 1

    Linux: প্রথমে iw dev দিয়ে interface-এর নাম (যেমন wlan0 বা wlp2s0), তারপর iw dev wlan0 link; NetworkManager থাকলে nmcli dev wifi list আশেপাশের নেটওয়ার্কের চ্যানেল আর signal দেখায় (এগুলো AP-গুলোর প্রকাশ্য beacon থেকেই আসে)। Windows: netsh wlan show interfaces (SSID, channel, signal %, receive/transmit rate); macOS-এ Option চেপে Wi-Fi আইকনে ক্লিক। আউটপুট পড়া: ৫ GHz-এ কেন্দ্র = ৫০০০ + ৫n, তাই ৫১৮০ MHz মানে n = ৩৬. Signal −৫৮ dBm — ভালো। VHT মানে Wi-Fi 5; MCS 8 = 256-QAM, coding ৩/৪; ৮০ MHz-এ ২৩৪টি subcarrier, ছোট guard-এ symbol ৩.৬ µs, ১টি stream (NSS 1): ২৩৪ × ৮ × ৩/৪ ÷ ৩.৬ = ৩৯০ Mbps — আউটপুটের সাথে মিলে গেল।

নিজেকে যাচাই করুন

ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।

ক্রমএকটি laptop একটি WPA2-Personal নেটওয়ার্কে যুক্ত হয়ে প্রথম ডেটা পাঠানো পর্যন্ত — ধাপগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)

  1. Beacon শুনে বা probe পাঠিয়ে নেটওয়ার্ক খুঁজে পাওয়া (scanning)
  2. 802.11 authentication (Open System) frame বিনিময়
  3. Association request/response — AID পাওয়া
  4. 4-way handshake — PTK তৈরি আর GTK পাওয়া
  5. Encrypted ডেটা — যেমন DHCP দিয়ে IP ঠিকানা চাওয়া

তারের Ethernet-এর মতো CSMA/CD Wi-Fi-তে ব্যবহার করা হয় না কেন?

  • বেতারে কখনো collision হয় না
  • CSMA/CD খুব দামি, তাই খরচ বাঁচাতে
  • পাঠানোর সময় radio নিজে শুনতে পারে না, আর collision receiver-এর কাছে ঘটে যা প্রেরক টের না-ও পেতে পারে
  • Wi-Fi-র frame খুব ছোট, তাই collision ধরার সময় থাকে না

২.৪ GHz Wi-Fi-তে চ্যানেল n-এর কেন্দ্র ২৪১২ + ৫(n − ১) MHz আর প্রতিটি চ্যানেল ২০ MHz চওড়া। চ্যানেল ৩-এর কেন্দ্র কত, আর নিচের কোন চ্যানেলের সাথে এটি overlap করে না?

  • ২৪১৭ MHz; চ্যানেল ৬
  • ২৪২২ MHz; চ্যানেল ৭
  • ২৪২২ MHz; চ্যানেল ৬
  • ২৪৩২ MHz; চ্যানেল ৮

একটি OFDM Wi-Fi link-এ slot time ৯ µs আর SIFS ১৬ µs. DIFS কত?

  • ২৫ µs
  • ৫০ µs
  • ৩২ µs
  • ৩৪ µs

একটি laptop AP-র মাধ্যমে তারে থাকা একটি router-এ ডেটা frame পাঠাচ্ছে (ToDS = 1, FromDS = 0). 802.11 header-এর Addr1-এ কার MAC থাকবে?

  • AP-র BSSID
  • Router-এর MAC
  • Laptop-এর MAC
  • ff:ff:ff:ff:ff:ff

ফোন C একটি laptop A-কে শুনতে পায় না, কিন্তু দুজনেই একই AP শোনে। A RTS পাঠাল আর AP CTS দিল (Duration = ৩৬৪ µs). C কী করবে?

  • RTS শুনে নিজের backoff বাতিল করবে
  • CTS-এর Duration থেকে NAV বসিয়ে ৩৬৪ µs চুপ থাকবে
  • CTS তার জন্য নয়, তাই উপেক্ষা করে চ্যানেল ফাঁকা দেখলেই পাঠাবে
  • AP থেকে disassociate করে অন্য AP খুঁজবে

WPA2-Personal (PSK)-এর কোন ধারণাগত দুর্বলতা WPA3-Personal (SAE) দূর করে?

  • WPA2-তে ডেটা একেবারেই encrypted থাকে না
  • WPA2 SSID লুকাতে পারে না
  • রেকর্ড করা handshake থেকে offline-এ passphrase অনুমান যাচাই করা যায়
  • WPA2 passphrase খোলা অবস্থায় বাতাসে পাঠায়

শব্দকোষ

লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন — অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:

মনে রাখুন

  1. Station + AP = BSS (পরিচয় BSSID); একই SSID-এর অনেক BSS, distribution system দিয়ে জোড়া = ESS; AP ছাড়া = IBSS (ad hoc).
  2. PHY rate = subcarrier × bit/symbol × coding × stream ÷ symbol-সময়; বিজ্ঞাপনের সংখ্যা আদর্শ যোগফল, বাস্তব throughput অনেক কম। ২.৪ GHz-এ কেন্দ্র ২৪১২ + ৫(n − ১), না-ছোঁয়া সেট ১, ৬, ১১.
  3. যুক্ত হওয়া: scan (beacon/probe) → authentication → association → 4-way handshake → data.
  4. CSMA/CA: DIFS = SIFS + ২·slot, [০, CW]-এ backoff, ব্যস্ত হলে freeze, ACK না এলে CW দ্বিগুণ; NAV আর RTS/CTS hidden terminal ঠেকায়।
  5. Addr1 = receiver, Addr2 = transmitter; ToDS/FromDS বাকিটা ঠিক করে। নিরাপত্তায় WPA3 (বা WPA2-AES) + শক্ত passphrase, WPS বন্ধ, firmware হালনাগাদ, অতিথিদের আলাদা নেটওয়ার্ক।

পরের পর্বে: Physical আর data link স্তর শেষ — frame এক link পার হতে শিখল। এবার মডিউল ৩: packet কীভাবে অনেকগুলো link আর router পেরিয়ে পৃথিবীর অন্য প্রান্তে যায় — forwarding, routing আর router-এর ভেতরের গঠন।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

এই পর্বটি শেয়ার করুন:
এই পর্বে ভুল পেয়েছেন? জানান