SGMII, 1000BASE-X, QSGMII, USXGMII: PHY ও SFP-এর সঙ্গে সিরিয়াল ইন্টারফেস · বৈদ্যুতিক ইন্টারফেস: MII পরিবার ও AUI · নেটওয়ার্ক কার্ড ও সুইচ · ডকুমেন্টেশন · CodingBox
CodingBox ডকুমেন্টেশন

SGMII, 1000BASE-X, QSGMII, USXGMII: PHY ও SFP-এর সঙ্গে সিরিয়াল ইন্টারফেস

প্রতিটি 1G SFP কেজে একটি 1.25 GBd সিরিয়াল লেন থাকে। এই লেন দুটি রীতিতে কাজ করতে পারে, যা অসিলোস্কোপে একই রকম দেখায়: 1000BASE-X, ফাইবার মডিউল যে IEEE ইন্টারফেস আশা করে, আর SGMII, Cisco-র সংস্করণ, যা 10/100 Mb/s যোগ করে এবং অটো-নেগোশিয়েশন করে অন্যভাবে। কপার SFP থাকে এ দুইয়ের সীমানায়, আর “কপার SFP 1G-তে লিংক হয়, কিন্তু আমার 100 Mb/s ক্যামেরা হয় না” ধরনের বেশির ভাগ সাপোর্ট টিকিটের কারণ এই রীতির অমিল। এই পেজে আছে গিগাবিটের দুটি রীতি ও তাদের অটো-নেগোশিয়েশন, 2500BASE-X, মাল্টি-পোর্ট QSGMII, মাল্টিগিগ ও 10GBASE-T SFP+-এর জন্য USXGMII, এবং Linux ও সুইচ কীভাবে মোড বেছে নেয়।

1000BASE-X: SFP-এর নিজস্ব ইন্টারফেস (Clause 36/37)

বিষয়মান
রেট1.25 GBd, 8b/10b → 1000 Mb/s পে-লোড
লেনপ্রতি দিকে 1টি ডিফারেনশিয়াল জোড়া (CML, AC-কাপলড)
কোডিং8b/10b, /K28.5/ কমাসহ; অর্ডার্ড সেট /C1/ /C2/ (কনফিগারেশন), /I1/ /I2/ (আইডল)
অটো-নেগোশিয়েশনClause 37: /C/ অর্ডার্ড সেটে 16-বিট কনফিগারেশন ওয়ার্ড বিনিময় হয়: ফুল/হাফ ডুপ্লেক্স, পজ (প্রতিসম/অপ্রতিসম), দূরবর্তী ত্রুটি, অ্যাকনলেজমেন্ট। গতির কোনো ফিল্ড নেই: 1000BASE-X শুধু 1G
কোথায়সুইচ/NIC SerDes → SFP কেজ; ফাইবার SFP (SX/LX/ZX/BiDi/CWDM) এটি সরাসরি লেজারে পাঠিয়ে দেয়; PCS থাকে হোস্টে

ফাইবার SFP স্বচ্ছ: হোস্ট যা কোড করে, তা-ই আলো হয়ে বেরিয়ে যায়। তাই 1G ফাইবার মডিউলের কোনো “মোড” নেই, কিন্তু পোর্টের আছে, এবং সেটি 1000BASE-X হতে হবে (প্রায়ই “SerDes” বা “ফাইবার” মোড হিসেবে দেখানো হয়; দূরের প্রান্তে AN না থাকলে Cisco-তে speed nonegotiate)।

SGMII: গিগাবিটের সঙ্গে 10/100 (Cisco SGMII স্পেসিফিকেশন v1.8)

বিষয়মান
রেটএকই 1.25 GBd, 8b/10b
10/100 সমর্থনপ্রতিটি ডেটা বাইট 100 বার (10 Mb/s) বা 10 বার (100 Mb/s) পুনরাবৃত্ত করা হয়, ফলে লাইন 1.25 GBd-তেই থাকে
লেন2টি জোড়া; ঐচ্ছিক 625 MHz DDR ক্লক জোড়া (TX_CLK/RX_CLK); বেশির ভাগ SerDes বাস্তবায়ন ক্লক ছাড়াই চলে
অটো-নেগোশিয়েশনSGMII কন্ট্রোল ওয়ার্ড (এটিও /C/ অর্ডার্ড সেটে যায়, 16 বিট): বিট 15 লিংক, বিট 11–10 গতি (10/100/1000), বিট 12 ডুপ্লেক্স, বিট 14 অ্যাকনলেজ; PHY থেকে MAC-এর দিকে পাঠানো হয়, যাতে MAC জানতে পারে কপারের দিকে কী নেগোশিয়েট হয়েছে। Clause 37-এর বিষয়বস্তুর সঙ্গে মেলে না
কোথায়MAC ↔ কপার PHY (Marvell 88E15xx, TI DP83867, Broadcom); কপার SFP সমর্থন চায় এমন বোর্ডে SoC ↔ SFP কেজ; কপার 1000BASE-T SFP-এর ভেতরে

SGMII হলো MAC–PHY ইন্টারফেস; “অটো-নেগোশিয়েশন” ঘটে দুবার: প্রথমে PHY ও লিংক পার্টনারের মাঝের টুইস্টেড পেয়ারে Clause 28 অনুযায়ী, তারপর SGMII কন্ট্রোল ওয়ার্ড ফলাফল MAC-কে জানায়। হোস্ট Clause 37 আশা করলে অথচ SGMII ওয়ার্ড পেলে (বা উল্টোটা ঘটলে), লিংক AN শেষ করতে পারে না; প্রচলিত সমাধান পোর্টে AN বন্ধ করা (speed nonegotiate, no negotiation auto, autoneg off), তবে শুধু 1G-তে।

দুইয়ের মাঝখানে কপার SFP

হোস্ট পোর্টের মোডকপার SFP-এর আচরণ10/100 ক্লায়েন্ট
1000BASE-X, AN চালুমডিউলের PHY-কে Clause 37-এর উত্তর দিতে হয়; অনেকে দেয় (অনুকরণ করে), কেউ কেউ দেয় না, তখন AN বন্ধ না করা পর্যন্ত লিংক হয় নানা (গতির ফিল্ড নেই)
1000BASE-X, AN বন্ধকপারের দিকে 1G নেগোশিয়েট হলে 1G-তে লিংক হয়না
SGMII, AN চালুPHY কন্ট্রোল ওয়ার্ডের মাধ্যমে 10/100/1000 জানায়হ্যাঁ
SGMII, AN বন্ধস্থির 1Gনা

Marvell 88E1111-ভিত্তিক কপার SFP মডিউল ডিফল্টভাবে SGMII বা 1000BASE-X-এ চলে; কোনটি হবে, তা নির্ভর করে উৎপাদনের সময় সেট করা কনফিগারেশন EEPROM বা স্ট্র্যাপের ওপর। ভেন্ডররা একই মডিউলের “SGMII” ও “SerDes” সংস্করণ আলাদাভাবে বিক্রি করে, আর কোনো কোনোটিকে মডিউলের I²C দিয়ে পৌঁছানো PHY রেজিস্টারের মাধ্যমে বদলানো যায়। যেসব সুইচ পোর্টের তালিকায় “1000BASE-T SFP সমর্থিত” লেখা থাকে, সেগুলো ওই কেজে SGMII বাস্তবায়ন করে (কপার ইথারনেট ও DAC)।

100BASE-FX SFP

100 Mb/s ফাইবার SFP (100BASE-FX, 1310 nm, 2 km) চালাতে হোস্টকে লেন চালাতে হয় 4b/5b কোডিংয়ে 125 MBd-এ, আর সেটি সম্পূর্ণ আলাদা PCS। কাজ করে শুধু সেসব পোর্ট, যা স্পষ্টভাবে “100M SFP” সমর্থন করে (ক্যাম্পাস সুইচের অনেকগুলো, নির্বাচিত পোর্টে; বেশির ভাগ রাউটার; ডেটা সেন্টারের সুইচ কম); অন্য পোর্টে মডিউল শনাক্ত হয়, কিন্তু লিংক হয় না। কিছু হোস্ট SGMII পুনরাবৃত্তির মাধ্যমে 100BASE-FX চালায়, আর সেক্ষেত্রে মডিউলে একটি আলাদা PHY থাকে (“SGMII-তে 100M” SFP)।

2500BASE-X

বিষয়মান
রেট3.125 GBd, 8b/10b → 2.5 Gb/s
স্ট্যান্ডার্ডIEEE-এর কোনো মান নেই (ডি ফ্যাক্টো, 2.5 × 1000BASE-X); Linux-এ phy-interface-type = "2500base-x"
ANClause 37-এর ধরনের, প্রায়ই বন্ধ রাখা হয়
কোথায়2.5G SFP মডিউল (2.5GBASE-T কপার, 2.5G ফাইবার); হোস্টের দিকে GPON/EPON ONU স্টিক (2.5G ডাউনস্ট্রিম); Wi-Fi 6 AP আপলিংক; কিছু 2.5G সুইচের SFP কেজ

মাল্টিগিগের IEEE-সমতুল্য হলো 2.5GBASE-X/5GBASE-R (802.3bz), কিন্তু বেশির ভাগ সিলিকন 2500BASE-X বা USXGMII-তে কথা বলে।

QSGMII: এক লেনে চারটি পোর্ট

বিষয়মান
রেট5 GBd, 8b/10b; 4টি SGMII চ্যানেল টাইম-মাল্টিপ্লেক্স করা
লেনচারটি পোর্টের জন্য 2টি জোড়া
কোথায়সুইচ ASIC ↔ কোয়াড কপার PHY (48-পোর্ট অ্যাক্সেস সুইচে 48টি SGMII-এর বদলে 12টি QSGMII লেন); বাইরের SerDes-এর মাধ্যমে কয়েকটি কোয়াড-পোর্ট SFP কেজ নকশায়
ভ্যারিয়েন্টQSGMII (Cisco); কিছু Qualcomm/Realtek SoC-তে “PSGMII”-ও (5টি পোর্ট)

সাধারণ নকশায় কেজে এটি চোখে পড়ে না; গুরুত্ব পায় তখন, যখন কোয়াড-PHY বোর্ডে SFP কম্বো পোর্ট থাকে এবং সেগুলোর মোড PHY চ্যানেলের মোড থেকে নেওয়া হয়।

USXGMII: একটি 10G লেনে 10 Mb/s থেকে 10 Gb/s

বিষয়মান
রেট10.3125 GBd, 64b/66b (10GBASE-R ইলেকট্রিক্যাল)
গতি10M, 100M, 1G, 2.5G, 5G, 10G, সিম্বল পুনরাবৃত্তির মাধ্যমে (SGMII-এর উচ্চতর গতির রূপ)
স্পেসিফিকেশনCisco USXGMII (v1.2), ব্যাপকভাবে গৃহীত; Linux-এ usxgmii
মাল্টি-পোর্টUSXGMII-M: একটি 10G লেনে 4 × 2.5G, 2 × 5G, 4 × 1G+… (QSGMII-এর মতো)
AN64b/66b আইডলে USXGMII AN ওয়ার্ড, গতি/ডুপ্লেক্স/লিংক জানায়
কোথায়ASIC ↔ মাল্টিগিগ PHY (2.5/5/10GBASE-T পোর্ট); 10GBASE-T SFP+ মডিউল (ভেতরের PHY, যেমন Marvell AQR/Broadcom)

10GBASE-T SFP+ মডিউল সাধারণ SFP+ পোর্টে 10GBASE-R (SFI) দেখায় এবং 10G-তে লিংক হয়। এটি একই সঙ্গে 1G/2.5G/5G ক্লায়েন্টকেও সেবা দিতে পারবে কি না, তা নির্ভর করে হোস্ট ওই কেজে USXGMII রেট অ্যাডাপ্টেশন সমর্থন করে কি না। বেশির ভাগ সুইচ করে না, ফলে মডিউল শুধু 10G-তে চলে, অথবা অভ্যন্তরীণভাবে রেট অ্যাডাপ্টেশন করে হোস্টকে 10G জানায়, আর কপারের দিকে চলে কম গতিতে (গতি ও রেট)।

হোস্ট কীভাবে মোড বেছে নেয়

হোস্টপদ্ধতি
Linux phylink/SFPA0h-এর বাইট 3–10 (কমপ্লায়েন্স), 12 (নমিনাল রেট), 36 (বর্ধিত) এবং বাইট 6-এর বিট 3 (1000BASE-T) পড়ে: 1000BASE-T → SGMII (SoC-তে SGMII না থাকলে 1000BASE-X); 1000BASE-SX/LX → 1000BASE-X; BR 3.1 GBd → 2500BASE-X; 10G কোড → 10GBASE-R; মডিউলের ভেতরের কপার PHY-কে I²C-তে (অ্যাড্রেস 0x56/0xAC) খুঁজে বের করা হয় এবং চালায় phylib
সুইচ NOSপোর্টের ডিফল্ট আসে প্ল্যাটফর্ম থেকে (বেশির ভাগ 1G SFP কেজ SGMII-সক্ষম; 1G-তে চলা SFP+/SFP28 প্রায়ই শুধু 1000BASE-X), কমান্ড speed 1000, speed nonegotiate, media-type sfp, negotiation auto, port-mode
NIC ড্রাইভারIntel: SFP+ পোর্ট 1G সমর্থন করে শুধু 1000BASE-X-এ (10/100 কপার SFP নয়); Mellanox: কিছু মডেলে 1G চলে 1000BASE-X-এ; Broadcom: ফার্মওয়্যার অনুযায়ী (NIC পোর্ট)
কপার SFPPHY মোডের স্ট্র্যাপ/EEPROM (SGMII বনাম SerDes ভ্যারিয়েন্ট); AN-এর আচরণ ঠিক করে ভেন্ডরের ফার্মওয়্যার

অমিলের সারণি

লক্ষণকারণসমাধান
কপার SFP: 1G ক্লায়েন্ট ঠিক আছে, 10/100 কখনো লিংক হয় নাপোর্ট 1000BASE-X-এ আছেSGMII-সক্ষম পোর্টে সরান, অথবা হোস্টের দিকে 1G-তে অ্যাডাপ্টেশন করে 10/100 আড়াল করে এমন মডিউল ব্যবহার করুন
ফাইবার SFP শুধু AN বন্ধ থাকলে লিংক হয়দূরের প্রান্তে Clause 37 নেই (মিডিয়া কনভার্টার, কিছু ONU), অথবা কপার মডিউল থেকে SGMII ওয়ার্ড আসছেspeed nonegotiate / autoneg off
100BASE-FX SFP শনাক্ত হয়, লিংক হয় নাহোস্টে 100M SerDes মোড নেই100M SFP সমর্থন করে এমন পোর্ট ব্যবহার করুন, অথবা SGMII-তে 100BASE-FX মডিউল নিন
2.5G SFP 1G-তে লিংক হয় বা একেবারেই হয় নাহোস্টে 2500BASE-X নেই2.5G-সক্ষম কেজ বা রেট ফলব্যাকসহ মডিউল বেছে নিন
ONU স্টিক লিংক হয়, তারপর কেটে যায়2500BASE-X বনাম 1000BASE-X-এর প্রত্যাশার অমিল, ANহোস্টকে 2500BASE-X-এ রাখুন, AN বন্ধ করুন (PON অপটিক্স)
10GBASE-T SFP+ শুধু 10G-তে লিংক হয়হোস্টে USXGMII নেইশুধু 10G মেনে নিন, অথবা অভ্যন্তরীণ রেট অ্যাডাপ্টেশনসহ মডিউল ব্যবহার করুন
Linux: মডিউল এক বোর্ডে চলে, আরেকটিতে চলে নাphylink EEPROM থেকে ভিন্ন ইন্টারফেস বেছে নিয়েছে; SoC-তে সেই মোড নেইdmesg-এ sfp: module … interface খুঁজুন; কমপ্লায়েন্স বাইট বা ডিভাইস ট্রি ঠিক করুন

CodingBox-এ

হোস্টের সিদ্ধান্ত যে বাইটগুলো নিয়ন্ত্রণ করে, সবই A0h-এ: কমপ্লায়েন্স কোড 3–10 (1000BASE-T, SX, LX, 10G কোড), নমিনাল বিট রেট 12, এনকোডিং 11 (8b/10b বনাম 64b/66b), বর্ধিত কমপ্লায়েন্স 36। 1000BASE-SX হিসেবে কোড করা কপার মডিউলকে ফাইবার ধরা হবে, ফলে তার 10/100 পথ হারিয়ে যাবে; ভুলে 1000BASE-T বিট সেট হয়ে যাওয়া ফাইবার মডিউলকে চালানো হবে SGMII হিসেবে। CodingBox এই ফিল্ডগুলো দেখায় এবং সম্পাদনা করতে দেয় (Check transceiver, কমপ্লায়েন্স কোড)।


এই নিবন্ধে কোনো অশুদ্ধ তথ্য বা ভুল পেলে সংশ্লিষ্ট অংশটি নির্বাচন করুন এবং Ctrl+Enter চেপে ।