মিডিয়া-নিরপেক্ষ ইন্টারফেস: পোর্টের বৈদ্যুতিক দিক
সুইচ ASIC বা NIC কন্ট্রোলারের ভেতরের ইথারনেট MAC এবং মাধ্যমের (কপার জোড়া, ফাইবার, ব্যাকপ্লেন) মাঝখানে থাকে একটি প্রমিত বৈদ্যুতিক ইন্টারফেস। IEEE এই পরিবারকে বলে মিডিয়া-নিরপেক্ষ ইন্টারফেস (MII): অপর প্রান্তে কপার PHY, SFP কেজ বা 400G মডিউল, যা-ই থাকুক, MAC-এর কিছু যায় আসে না, যতক্ষণ সেটি নির্ধারিত ইন্টারফেসে কথা বলে। ইথারনেটের প্রতিটি প্রজন্ম একটি করে ইন্টারফেস যোগ করেছে: 10/100-এর জন্য MII ও RMII, গিগাবিটের জন্য GMII/RGMII/SGMII, 10G-এর জন্য XGMII/XAUI/XFI/SFI, আর তার পরের সবকিছুর জন্য AUI পরিবার (CAUI-4, 400GAUI-8, 800GAUI-8)। এই অংশে ইন্টারফেসগুলো ট্রান্সিভারের দৃষ্টিকোণ থেকে ব্যাখ্যা করা হয়েছে: কেজে কী এসে পৌঁছায়, কপার SFP-কে কী অনুকরণ করতে হয়, এবং “ভুল মোডে” থাকা পোর্ট কেন একটি সম্পূর্ণ ঠিকঠাক মডিউলকে প্রত্যাখ্যান করে।
বিভাজনের কারণ
| স্তর | কোথায় থাকে | পরবর্তী স্তরের সঙ্গে ইন্টারফেস |
|---|---|---|
| MAC (ফ্রেমিং, অ্যাড্রেস) | সুইচ ASIC, NIC কন্ট্রোলার, SoC | রিকনসিলিয়েশন সাবলেয়ার → xMII |
| PCS (কোডিং: 8b/10b, 64b/66b, FEC) | প্লাগযোগ্য অপটিক্সের ক্ষেত্রে ASIC/কন্ট্রোলার; কপারের ক্ষেত্রে PHY চিপ | PMA |
| PMA / SerDes | ASIC SerDes বা PHY | মডিউল বা মাধ্যমের দিকে AUI লেন |
| PMD (লেজার, কপার ড্রাইভার) | ট্রান্সিভার মডিউল বা PHY চিপ | ফাইবার / ক্যাবল |
প্লাগযোগ্য অপটিক্সে PCS ও SerDes হোস্টেই থাকে; মডিউল সিরিয়াল লেন (SFI, CAUI-4, 400GAUI-8) গ্রহণ করে এবং তা আলোতে রূপান্তর করে। কপারে PCS+PMA+PMD-এর কাজ করে একটি PHY চিপ, যা MAC-এর সঙ্গে কথা বলে সমান্তরাল (RGMII) বা সিরিয়াল (SGMII) ইন্টারফেসে। কপার SFP সেই PHY-কে রাখে মডিউলের ভেতরেই, তাই কেজকে তার কাছে SGMII বা 1000BASE-X পৌঁছে দিতে হয় (SGMII ও সিরিয়াল গিগাবিট)।
ইন্টারফেসের ক্রম
| ইন্টারফেস | রেট | গঠন | সিগন্যাল | পাল্লা | নির্ধারণকারী | সাধারণ অবস্থান |
|---|---|---|---|---|---|---|
| MII | 10/100 | 4-বিট সমান্তরাল @ 2.5/25 MHz | 16–18 | cm | IEEE 802.3 Cl. 22 | পুরোনো MAC ↔ PHY |
| RMII | 10/100 | 2-বিট @ 50 MHz | 7–9 | cm | RMII Consortium | এমবেডেড SoC ↔ PHY |
| SMII / SS-SMII | 10/100 | 1-বিট @ 125 MHz | প্রতি পোর্টে 2–3 | cm | Cisco | মাল্টি-পোর্ট PHY |
| GMII | 1G (+10/100) | 8-বিট @ 125 MHz | 24+ | cm | Cl. 35 | MAC ↔ PHY, এখন বেশির ভাগ ক্ষেত্রে চিপের ভেতরে |
| RGMII | 1G (+10/100) | 4-বিট DDR @ 125 MHz | 12 | ≤ 10–15 cm | HP/Marvell RGMII v1.3/2.0 | ছোট সুইচ/রাউটারে SoC ↔ কপার PHY |
| TBI / RTBI | 1G | 10-বিট @ 125 MHz | 20+ | cm | Cl. 36 | MAC ↔ বাইরের SerDes (পুরোনো) |
| 1000BASE-X (SerDes) | 1G | 1টি লেন, 1.25 GBd, 8b/10b | 2টি ডিফারেনশিয়াল জোড়া | 50 cm+ | Cl. 36/37 | 1G-তে SFP কেজ যা বহন করে |
| SGMII | 10/100/1000 | 1টি লেন, 1.25 GBd, 8b/10b | 2টি জোড়া (+ ক্লক) | 50 cm+ | Cisco SGMII v1.8 | MAC ↔ কপার PHY; MAC ↔ কপার SFP |
| 2500BASE-X | 2.5G | 1.25 × SGMII/1000BASE-X রেট: 3.125 GBd | 2টি জোড়া | 50 cm | ডি ফ্যাক্টো | 2.5G SFP, PON স্টিক |
| QSGMII | 4 × 1G | 1টি লেন, 5 GBd | 2টি জোড়া | 50 cm | Cisco | ASIC ↔ কোয়াড কপার PHY |
| USXGMII | 10M–10G | 1টি লেন, 10.3125 GBd, 64b/66b | 2টি জোড়া | 30 cm | Cisco/Marvell | ASIC ↔ মাল্টিগিগ PHY; 10GBASE-T SFP+ |
| XGMII | 10G | 32-বিট DDR @ 156.25 MHz | 74 | < 7 cm | Cl. 46 | চিপের ভেতরে |
| XAUI | 10G | 4 × 3.125 GBd, 8b/10b | 8টি জোড়া | 50 cm | Cl. 47 | XENPAK/X2 মডিউল, পুরোনো PHY |
| XFI / SFI | 10G | 1 × 10.3125 GBd, 64b/66b | 2টি জোড়া | 20–30 cm | XFP MSA / SFF-8431 | XFP / SFP+ কেজ |
| 10GBASE-KR | 10G | 1 × 10.3125 GBd | 2টি জোড়া | 1 m ব্যাকপ্লেন | Cl. 72 | ব্যাকপ্লেন, 10GBASE-T PHY |
| 25GAUI | 25G | 1 × 25.78 GBd NRZ | 2টি জোড়া | C2M | Annex 109A/B | SFP28 কেজ |
| XLAUI / CAUI-10 | 40G / 100G | 4 / 10 × 10.3125 GBd | 8 / 20টি জোড়া | C2C/C2M | Annex 83A/B | QSFP+ / CFP, CXP |
| CAUI-4 | 100G | 4 × 25.78 GBd NRZ | 8টি জোড়া | C2M | Annex 83D/E | QSFP28 কেজ |
| 50GAUI-2 / -1 | 50G | 2 × 26.5625 NRZ / 1 × 26.5625 GBd PAM4 | 4 / 2টি জোড়া | C2M | Annex 135B–E | SFP56 |
| 100GAUI-4 / -2 / -1 | 100G | 4 × NRZ / 2 × 53 GBd PAM4 / 1 × 106 GBd PAM4 | — | C2M | Annex 135D–G, 120G | QSFP28 (PAM4 ভ্যারিয়েন্ট), QSFP112 |
| 200GAUI-8 / -4 / -2 | 200G | 8 × 26.5 PAM4 / 4 × 53 / 2 × 106 | — | C2M | Annex 120C–G | QSFP56, QSFP112 |
| 400GAUI-16 / -8 / -4 | 400G | 16 × 25 NRZ / 8 × 53 PAM4 / 4 × 106 PAM4 | — | C2M | Annex 120B–G | CFP8 / QSFP-DD, OSFP / QSFP112, OSFP |
| 800GAUI-8 / -4 | 800G | 8 × 106 PAM4 / 4 × 212 PAM4 | — | C2M | 802.3df / dj | OSFP, QSFP-DD800 / OSFP224, OSFP-XD |
বিস্তারিত: MII, RMII, GMII, RGMII, SGMII, 1000BASE-X, QSGMII, USXGMII, XGMII, XAUI, SFI ও AUI পরিবার।
কোনটি কোথায় বসে
| ডিভাইস | MAC → … | … → মাধ্যম |
|---|---|---|
| 48-পোর্ট 1G কপার সুইচ | ASIC → QSGMII → কোয়াড PHY | PHY → RJ45 |
| ছোট রাউটার / SoC বোর্ড | SoC → RGMII বা SGMII → PHY | PHY → RJ45; অথবা SoC → 1000BASE-X/SGMII → SFP কেজ |
| 10G/25G সুইচ বা NIC-এর SFP+/SFP28 পোর্ট | ASIC SerDes → SFI / 25GAUI → কেজ | মডিউল → ফাইবার বা DAC |
| 100G QSFP28 পোর্ট | ASIC → CAUI-4 (4 × 25G) → কেজ | মডিউল → 4 λ বা 4টি ফাইবার |
| 400G QSFP-DD / OSFP পোর্ট | ASIC → 400GAUI-8 (8 × 50G PAM4) → কেজ | মডিউলের গিয়ারবক্স → 4 × 100G অপটিক্যাল |
| 800G OSFP পোর্ট | ASIC → 800GAUI-8 (8 × 100G PAM4) → কেজ | মডিউল → 8 × 100G (DR8) বা 4 × 200G |
| কপার 1000BASE-T SFP | হোস্ট 1000BASE-X বা SGMII → মডিউলের PHY | PHY → RJ45 |
| 10GBASE-T SFP+ | হোস্ট SFI (10GBASE-R) → মডিউলের PHY (USXGMII শ্রেণির) | PHY → RJ45 |
| মাল্টিগিগ RJ45 সুইচ পোর্ট | ASIC → USXGMII → মাল্টিগিগ PHY | 2.5/5/10GBASE-T |
PHY বনাম মডিউলের ব্যবস্থাপনা
| কপার PHY চিপ | প্লাগযোগ্য মডিউল | |
|---|---|---|
| বাস | MDIO/MDC (Clause 22: 5-বিট অ্যাড্রেস, 32টি 16-বিট রেজিস্টার; Clause 45: 10G+-এর জন্য ডিভাইস/রেজিস্টার জোড়া) | I²C দুই-তার (A0h/A2h, CMIS পেজ) (দুই-তারের ইন্টারফেস) |
| লিংকের অবস্থা | PHY স্ট্যাটাস রেজিস্টার (রেজিস্টার 1), RGMII/SGMII-এ ইন-ব্যান্ড | LOS/LOL পিন ও ফ্ল্যাগ, DDM |
| Linux টুল | mii-tool, phytool, ethtool (PHY ড্রাইভার) | ethtool -m, i2c-dev (NIC টুল) |
| কপার SFP-এর অস্বাভাবিক দিক | মডিউলের ভেতরের PHY-তে পৌঁছানো যায় I²C-তে দ্বিতীয় একটি অ্যাড্রেসে (যেমন Marvell 88E1111-ভিত্তিক মডিউলে 0xAC) অথবা ভেন্ডরের পেজের মাধ্যমে; MDIO টানেল করে পাঠানো হয় | — |
ট্রান্সিভারের কাজে কেন এটি গুরুত্বপূর্ণ
- কেজের মোড। 1G SFP পোর্ট 1000BASE-X বা SGMII মোডে থাকতে পারে; কপার SFP প্রতিটিতে আলাদাভাবে আচরণ করে, আর 10/100 ক্লায়েন্ট কাজ করে শুধু SGMII-তে (বা এমন মডিউলে, যা পার্থক্যটা আড়াল করে) (SGMII ও সিরিয়াল গিগাবিট)।
- রেট ও কোডিং। মডিউলকে হোস্টের লেন রেট ও কোডিং গ্রহণ করতে হয়: 10.3125 GBd-এ SFI, 25.78-এ CAUI-4, PAM4-এ 400GAUI-8। কমপ্লায়েন্স কোড ও CMIS অ্যাপ্লিকেশন ঠিক এটাই ঘোষণা করে (কমপ্লায়েন্স কোড)।
- রিটাইমিং কে করে। SFP+ মডিউল প্রায়ই লিনিয়ার/লিমিটিং ধরনের, ইকুয়ালাইজেশন করে হোস্ট; 25G+ মডিউলে থাকে CDR; PAM4 মডিউলে থাকে DSP; LPO মডিউল আবার লিনিয়ার এবং হোস্টের SerDes-এর ওপর নির্ভর করে (CDR, DSP ও LPO)।
- ইলেকট্রিক্যাল লেন ≠ অপটিক্যাল লেন। 400G-FR4 হোস্টের কাছ থেকে 8টি ইলেকট্রিক্যাল লেন নেয় এবং 4টি তরঙ্গদৈর্ঘ্য পাঠায়; গিয়ারবক্স থাকে মডিউলের ভেতরে (XGMII, XAUI ও AUI পরিবার)।
- Linux ইন্টারফেস বেছে নেয় EEPROM থেকে। কার্নেলের SFP লেয়ার 1000BASE-X, SGMII, 2500BASE-X ও 10GBASE-R-এর মধ্যে বেছে নিতে বাইট 3–10, 12 ও 36 পড়ে; কমপ্লায়েন্সের একটি বাইট ভুল হলে ভালো মডিউলও ভুল মোডে লিংক হয় (মেমোরি ম্যাপ)।
আরও পড়ুন
- MII, RMII, GMII, RGMII: সমান্তরাল ইন্টারফেসের পিন, ক্লক, RGMII ডিলে মোড, ইন-ব্যান্ড স্ট্যাটাস, MDIO-এর মাধ্যমে PHY ব্যবস্থাপনা ও সাধারণ ত্রুটি।
- SGMII, 1000BASE-X, QSGMII, USXGMII: PHY ও SFP কেজের সিরিয়াল ইন্টারফেস: অটো-নেগোশিয়েশনের পার্থক্য, কপার SFP, 100BASE-FX, 2.5G, মাল্টিগিগ এবং Linux কীভাবে মোড বেছে নেয়।
- XGMII, XAUI, XFI/SFI ও AUI পরিবার: 10G থেকে 800G পর্যন্ত লেনের সংখ্যা, C2C বনাম C2M, কমপ্লায়েন্স পয়েন্ট, OIF CEI-এর সঙ্গে সম্পর্ক, ইলেকট্রিক্যাল থেকে অপটিক্যাল লেনের ম্যাপিং, রিটাইমড বনাম লিনিয়ার মডিউল।
CodingBox-এ
CodingBox যে বাইটগুলো দেখায়, সেগুলো মডিউলের নিজের ঘোষণা: সে হোস্টের কোন কোন ইন্টারফেস সমর্থন করে। এর মধ্যে আছে কমপ্লায়েন্স কোড (1000BASE-T মানে SGMII/1000BASE-X-সক্ষম কপার), নমিনাল বিট রেট, এনকোডিং বাইট (8b/10b বনাম 64b/66b বনাম PAM4), CDR বিট এবং CMIS হোস্ট-ইন্টারফেস ID। এগুলো বদলালে হোস্ট কোন ইন্টারফেস চেষ্টা করবে, তা-ও বদলে যায় (Check transceiver, কমপ্লায়েন্স কোড)।