কমপ্লায়েন্স কোড: বাইট 3–10, 36 ও বর্ধিত টেবিল
হোস্ট ভেন্ডরের নাম দেখে জানতে পারে না মডিউলটি আসলে কী; সে তা জানে কমপ্লায়েন্স কোড থেকে। এগুলো বিট ফিল্ড, যা বলে “আমি 10GBASE-LR” বা “আমি 1000BASE-T কপার SFP”, আর বিট ফিল্ডে জায়গা ফুরিয়ে যাওয়ার পর উদ্ভাবিত সবকিছুর জন্য আছে একটিমাত্র বর্ধিত কোড। হোস্ট এগুলো দিয়ে মডিউলের ধরনের নাম ঠিক করে, কোন কোন গতি দেবে তা স্থির করে, FEC ও ব্রেকআউট বেছে নেয়, আর কড়া প্ল্যাটফর্মে কোড পোর্টের সঙ্গে না মিললে মডিউল প্রত্যাখ্যান করে। মডিউল কোড করার কাজে এগুলো সঠিকভাবে বসানোই সবচেয়ে গুরুত্বপূর্ণ অংশ।
কোডিংয়ের দুই প্রজন্ম
| পদ্ধতি | কোথায় | কীভাবে কাজ করে |
|---|---|---|
| ক্লাসিক বিট ফিল্ড | SFF-8472 বাইট 3–10; SFF-8636 বাইট 131–138 ও 164 | প্রতি স্ট্যান্ডার্ডে একটি বিট; একাধিক বিট সেট থাকতে পারে (ডুয়াল-রেট, মাল্টি-প্রোটোকল) |
| বর্ধিত স্পেসিফিকেশন কমপ্লায়েন্স | SFF-8472 বাইট 36; SFF-8636 বাইট 192 | SFF-8024 টেবিল 4-4 থেকে একটি মান: 25G, 100G, 200G, 400G, MSA PMD |
| অ্যাপ্লিকেশন | CMIS ডেস্ক্রিপ্টর | হোস্ট ইন্টারফেস ID + মিডিয়া ইন্টারফেস ID + লেনের সংখ্যা, প্রতি মডিউলে একাধিক — দেখুন CMIS |
25G বা 100G মডিউলে বেশির ভাগ ক্লাসিক বিট ফাঁকা থাকে এবং তার পরিচয় বসে বাইট 36 বা 192-এ; 10G/1G মডিউলে হয় উল্টোটা। ডুয়াল-রেট 10G/25G মডিউল দুটিই ব্যবহার করে।
SFF-8472 বাইট 3–10 (SFP পরিবার)
| বাইট | বিট 7 | বিট 6 | বিট 5 | বিট 4 | বিট 3 | বিট 2 | বিট 1 | বিট 0 |
|---|---|---|---|---|---|---|---|---|
| 3: 10G ইথারনেট / InfiniBand | 10GBASE-ER | 10GBASE-LRM | 10GBASE-LR | 10GBASE-SR | IB 1X SX | IB 1X LX | IB 1X অ্যাক্টিভ কপার | IB 1X প্যাসিভ কপার |
| 4: ESCON / SONET | ESCON MMF 1310 LED | ESCON SMF 1310 লেজার | OC-192 স্বল্প পাল্লা | SONET পাল্লার বিট 1 | SONET পাল্লার বিট 2 | OC-48 দীর্ঘ | OC-48 মধ্যম | OC-48 স্বল্প |
| 5: SONET | সংরক্ষিত | OC-12 SM দীর্ঘ | OC-12 SM মধ্যম | OC-12 স্বল্প | সংরক্ষিত | OC-3 SM দীর্ঘ | OC-3 SM মধ্যম | OC-3 স্বল্প |
| 6: ইথারনেট | BASE-PX | BASE-BX10 | 100BASE-FX | 100BASE-LX/LX10 | 1000BASE-T | 1000BASE-CX | 1000BASE-LX | 1000BASE-SX |
| 7: FC লিংকের দৈর্ঘ্য / প্রযুক্তি | অতি দীর্ঘ (V) | স্বল্প (S) | মধ্যম (I) | দীর্ঘ (L) | মাঝারি (M) | সংরক্ষিত | শর্টওয়েভ লেজার, লিনিয়ার Rx (SA) | লংওয়েভ লেজার (LC) |
| 8: FC প্রযুক্তি / ক্যাবল | ইলেকট্রিক্যাল ইন্টার-এনক্লোজার (EL) | OFC ছাড়া শর্টওয়েভ লেজার (SN) | OFC-সহ শর্টওয়েভ লেজার (SL) | লংওয়েভ লেজার (LL) | অ্যাক্টিভ ক্যাবল | প্যাসিভ ক্যাবল | সংরক্ষিত | সংরক্ষিত |
| 9: FC মিডিয়া | টুইন অ্যাক্সিয়াল (TW) | টুইস্টেড পেয়ার (TP) | মিনিয়েচার কোঅ্যাক্স (MI) | ভিডিও কোঅ্যাক্স (TV) | মাল্টিমোড 62.5 µm (M6) | মাল্টিমোড 50 µm (M5/M5E) | সংরক্ষিত | সিঙ্গেল-মোড (SM) |
| 10: FC গতি | 1200 MB/s | 800 MB/s | 1600 MB/s | 400 MB/s | 3200 MB/s | 200 MB/s | বাইট 62 দেখুন | 100 MB/s |
বাইট 62 (ফাইবার চ্যানেলের গতি 2) 64GFC ও তার ওপরের গতির তালিকা চালু রাখে। বাইট 36-এ থাকে বর্ধিত কোড। বাইট 12 নামমাত্র রেট দেয় ×100 Mb/s এককে (FFh হলে বাইট 66, ×250 Mb/s এককে), বাইট 11 এনকোডিং, আর বাইট 13 রেট সিলেক্ট-এর জন্য রেট আইডেন্টিফায়ার।
SFP-এর সাধারণ কোডিং
| মডিউল | বাইট 3 | বাইট 6 | বাইট 8 | বাইট 36 | বাইট 12 | বাইট 11 | তরঙ্গদৈর্ঘ্য |
|---|---|---|---|---|---|---|---|
| 1000BASE-SX | 00h | 01h | 00h | 00h | 0Dh (1.3 Gb/s) | 01h 8B/10B | 850 nm |
| 1000BASE-LX | 00h | 02h | 00h | 00h | 0Dh | 01h | 1310 nm |
| 1000BASE-T কপার | 00h | 08h | 00h | 00h | 0Dh | 01h | 0 (প্রযোজ্য নয়) |
| 10GBASE-SR | 10h | 00h | 00h | 00h | 67h (10.3 Gb/s) | 06h 64B/66B | 850 nm |
| 10GBASE-LR | 20h | 00h | 00h | 00h | 67h | 06h | 1310 nm |
| 10G প্যাসিভ DAC | 00h | 00h | 04h | 00h | 67h | 06h | 0, বাইট 60 = ক্যাবলের কমপ্লায়েন্স |
| 25GBASE-SR | 00h | 00h | 00h | 02h | FFh (বাইট 66 = 67h → 25.75 Gb/s) | 06h | 850 nm |
| 25GBASE-LR | 00h | 00h | 00h | 03h | FFh / 67h | 06h | 1310 nm |
| 25G প্যাসিভ DAC CA-25G-N | 00h | 00h | 04h | 0Dh | FFh / 67h | 06h | 0 |
| 10G/25G ডুয়াল-রেট SR | 10h | 00h | 00h | 02h | FFh / 67h | 06h | 850 nm |
দৈর্ঘ্যের বাইট 14–19 একে অপরের সঙ্গে সামঞ্জস্যপূর্ণ হতে হবে: SR মডিউল OM3/OM4 পাল্লা জানায়, LR মডিউল কিলোমিটারে, আর DAC বাইট 18-এ মিটারে দৈর্ঘ্য জানায়।
SFF-8636 বাইট 131–138, 164 (QSFP পরিবার)
| বাইট | বিষয়বস্তু |
|---|---|
| 131: 10/40G ইথারনেট | বিট 7 বর্ধিত (বাইট 192 ব্যবহার করুন), 6 10GBASE-LRM, 5 10GBASE-LR, 4 10GBASE-SR, 3 40GBASE-CR4, 2 40GBASE-SR4, 1 40GBASE-LR4, 0 40G অ্যাক্টিভ ক্যাবল (XLPPI) |
| 132: SONET | OC-48 দীর্ঘ / মধ্যম / স্বল্প পাল্লা, 40G OTN |
| 133: SAS/SATA | SAS 6 / 12 / 24 Gb/s |
| 134: গিগাবিট ইথারনেট | বিট 3 1000BASE-T, 2 1000BASE-CX, 1 1000BASE-LX, 0 1000BASE-SX |
| 135: FC লিংকের দৈর্ঘ্য ও প্রযুক্তি | SFP বাইট 7-এর মতো একই বিটের অর্থ |
| 136: FC ট্রান্সমিটারের প্রযুক্তি | SFP বাইট 8-এর মতো EL, SN, SL, LL বিট |
| 137: FC মিডিয়া | TW, TP, MI, TV, M6, M5, OM3, SM |
| 138: FC গতি | 100 … 3200 MB/s, বর্ধিত ফ্ল্যাগ |
| 164: বর্ধিত মডিউল | InfiniBand রেট: SDR, DDR, QDR, FDR, EDR |
| 192: বর্ধিত কমপ্লায়েন্স | টেবিল 4-4-এর মান |
সাধারণ কোডিং: 40GBASE-SR4: বাইট 131 = 04h, বাইট 192 = 00h; 100GBASE-SR4: বাইট 131 = 80h (বর্ধিত), বাইট 192 = 02h; 100G CWDM4: 80h / 06h; 100GBASE-CR4 DAC: 80h / 0Bh, কানেক্টর 23h-সহ।
CMIS: বিটের বদলে অ্যাপ্লিকেশন
CMIS মডিউল সর্বোচ্চ 15টি অ্যাপ্লিকেশন তালিকাভুক্ত করে; প্রতিটিতে হোস্টের একটি ইলেকট্রিক্যাল ইন্টারফেস ও একটি মিডিয়া ইন্টারফেস জোড়া বাঁধা থাকে (দুটিই SFF-8024-এর কোড) এবং লেনের সংখ্যা উল্লেখ থাকে। একটি 400G DR4 মডিউল ঘোষণা করতে পারে 400GAUI-8 ↔ 400GBASE-DR4 (8:4) এবং 100GAUI-2 ↔ 100GBASE-DR (2:1, 4×100G ব্রেকআউটের জন্য)। হোস্ট প্রতিটি ডেটা পাথের জন্য একটি বেছে নেয়; যা ঘোষণা করা নেই, তা কনফিগার করা যায় না। বিস্তারিত ও নির্বাচনের প্রক্রিয়া: CMIS।
হোস্ট কোডগুলো কীভাবে ব্যবহার করে
- নামকরণ: CLI-তে দেখানো ধরনের স্ট্রিং (
10GBASE-LR,QSFP-100G-SR4) এই বাইটগুলো থেকেই তৈরি হয়; প্রায়ই নির্দিষ্ট ক্রমে খুঁজে পাওয়া প্রথম সেট-করা বিট ধরা হয়। - গতির প্রস্তাব: হোস্ট শুধু সেই রেটগুলো তালিকাভুক্ত করে, যেগুলোর কোড আছে; বাইট 36 = 02h কিন্তু বাইট 3-এ কোনো বিট নেই, এমন 25G মডিউলকে 10G দেওয়া হবে না (গতি ও রেট)।
- FEC নির্বাচন: বর্ধিত কোড FEC-সংক্রান্ত অনুমানও বহন করে (CA-25G-L/S/N; RS-FEC-সহ বা ছাড়া CAUI-4) এবং কিছু হোস্ট সেখান থেকেই FEC নির্ধারণ করে (FEC ও লিংক ট্রেনিং)।
- কপার বনাম অপটিক্যাল: বাইট 8-এর বিট 2–3, কানেক্টর 23h এবং বাইট 147-এর কপার প্রযুক্তি হোস্টকে DAC-এর জন্য নির্ধারিত আচরণে নিয়ে যায় (অটো-নেগোশিয়েশন, লিংক ট্রেনিং)।
- নীতি: কড়া প্ল্যাটফর্ম কোডগুলোকে পোর্টের মোড ও নিজেদের সামঞ্জস্যের ডেটাবেজের সঙ্গে মেলায়; না মিললে ভেন্ডর ব্লক গ্রহণযোগ্য হলেও সমর্থিত নয় বা speed and type not supported বার্তা আসে (ভেন্ডর লক)।
কোডিংয়ের নিয়ম
- শুধু সেই বিটগুলো সেট করুন, যা হার্ডওয়্যার সত্যিই পূরণ করে; SR মডিউলে 10GBASE-LR ঘোষণা করলে “লিংক নেই” অবস্থা বদলে হয়ে যায় “এরর-সহ লিংক”।
- পুরো শনাক্তকরণ তথ্য সামঞ্জস্যপূর্ণ রাখুন: কমপ্লায়েন্স ↔ তরঙ্গদৈর্ঘ্য ↔ দৈর্ঘ্য ↔ এনকোডিং ↔ নামমাত্র রেট ↔ কানেক্টর ↔ ট্রান্সমিটারের প্রযুক্তি।
- 25G ও তার বেশি গতির জন্য বাইট 36 / 192 পূরণ করুন এবং বাইট 12 / 140 FFh-এ সেট করুন; ×250 Mb/s এককে রেট থাকবে বাইট 66 / 222-এ।
- DAC-এর ক্ষেত্রে তরঙ্গদৈর্ঘ্যের বদলে ক্যাবল প্রযুক্তির বিট, মিটারে দৈর্ঘ্য, কানেক্টর 23h এবং অ্যাটেনুয়েশন/কমপ্লায়েন্সের বাইট কোড করুন।
- এরপর চেকসাম নতুন করে হিসাব করুন (চেকসাম)।
CodingBox-এ
Check transceiver স্ক্রিন ওপরের প্রতিটি বিটকে সহজ নামে ডিকোড করে এবং CMIS অ্যাপ্লিকেশনের তালিকা দেখায়; EEPROM editor কোডের বাইটগুলো ফিল্ড ধরে ধরে সম্পাদনা করে, ফলস্বরূপ ধরনের স্ট্রিং দেখায় এবং লেখার সময় CC_BASE ও CC_EXT ঠিক করে দেয়।
বাইটের প্রেক্ষাপটসহ সম্পূর্ণ বিট টেবিল: SFF-8472 A0h ম্যাপ (বাইট 3–10, 36, 62), SFF-8636 আপার পেজ ম্যাপ (131–138, 164, 192), XFP ম্যাপ (131–138)।