Mã tuân thủ: byte 3–10, 36 và các bảng mở rộng
Host không biết một module là gì từ tên nhà sản xuất của nó — nó biết được từ mã tuân thủ: các trường bit nói lên “tôi là 10GBASE-LR” hoặc “tôi là một SFP đồng 1000BASE-T”, cộng với một mã mở rộng duy nhất cho mọi thứ được phát minh sau khi các trường bit hết chỗ. Host dùng chúng để đặt tên loại module, quyết định những tốc độ nào sẽ đưa ra, chọn FEC và breakout, và — trên các nền tảng nghiêm ngặt — để từ chối một module có mã không khớp với cổng. Đặt đúng các mã này là phần quan trọng nhất trong việc mã hóa một module.
Hai thế hệ mã hóa
| Cơ chế | Ở đâu | Cách hoạt động |
|---|---|---|
| Trường bit cổ điển | SFF-8472 byte 3–10; SFF-8636 byte 131–138 và 164 | một bit cho mỗi chuẩn; có thể đặt nhiều bit (đa tốc độ, đa giao thức) |
| Tuân thủ đặc tả mở rộng | SFF-8472 byte 36; SFF-8636 byte 192 | một giá trị từ SFF-8024 Table 4-4: 25G, 100G, 200G, 400G, các PMD của MSA |
| Ứng dụng | bộ mô tả CMIS | host interface ID + media interface ID + số làn, nhiều bộ cho mỗi module — xem CMIS |
Một module 25G hay 100G để trống hầu hết các bit cổ điển và đặt thông tin nhận dạng của nó vào byte 36 hoặc 192; một module 10G/1G làm ngược lại. Module hai tốc độ 10G/25G dùng cả hai.
SFF-8472 byte 3–10 (họ SFP)
| Byte | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
|---|---|---|---|---|---|---|---|---|
| 3 — 10G Ethernet / InfiniBand | 10GBASE-ER | 10GBASE-LRM | 10GBASE-LR | 10GBASE-SR | IB 1X SX | IB 1X LX | IB 1X đồng chủ động | IB 1X đồng thụ động |
| 4 — ESCON / SONET | ESCON MMF 1310 LED | ESCON SMF 1310 laser | OC-192 cự ly ngắn | bit cự ly SONET 1 | bit cự ly SONET 2 | OC-48 dài | OC-48 trung bình | OC-48 ngắn |
| 5 — SONET | dự trữ | OC-12 SM dài | OC-12 SM trung bình | OC-12 ngắn | dự trữ | OC-3 SM dài | OC-3 SM trung bình | OC-3 ngắn |
| 6 — Ethernet | BASE-PX | BASE-BX10 | 100BASE-FX | 100BASE-LX/LX10 | 1000BASE-T | 1000BASE-CX | 1000BASE-LX | 1000BASE-SX |
| 7 — chiều dài liên kết / công nghệ FC | rất dài (V) | ngắn (S) | trung bình (I) | dài (L) | vừa (M) | dự trữ | laser bước sóng ngắn, Rx tuyến tính (SA) | laser bước sóng dài (LC) |
| 8 — công nghệ / cáp FC | điện liên vỏ máy (EL) | laser bước sóng ngắn không OFC (SN) | laser bước sóng ngắn có OFC (SL) | laser bước sóng dài (LL) | cáp chủ động | cáp thụ động | dự trữ | dự trữ |
| 9 — media FC | twinax (TW) | cáp xoắn đôi (TP) | đồng trục mini (MI) | đồng trục video (TV) | đa mode 62,5 µm (M6) | đa mode 50 µm (M5/M5E) | dự trữ | đơn mode (SM) |
| 10 — tốc độ FC | 1200 MB/s | 800 MB/s | 1600 MB/s | 400 MB/s | 3200 MB/s | 200 MB/s | xem byte 62 | 100 MB/s |
Byte 62 (Fibre Channel speed 2) tiếp tục danh sách tốc độ cho 64GFC trở lên. Byte 36 chứa mã mở rộng. Byte 12 cho tốc độ danh định theo đơn vị ×100 Mb/s (FFh → byte 66 theo đơn vị ×250 Mb/s), byte 11 là kiểu mã hóa, byte 13 là mã nhận dạng tốc độ cho chọn tốc độ.
Cách mã hóa SFP điển hình
| Module | Byte 3 | Byte 6 | Byte 8 | Byte 36 | Byte 12 | Byte 11 | Bước sóng |
|---|---|---|---|---|---|---|---|
| 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 đồng | 00h | 08h | 00h | 00h | 0Dh | 01h | 0 (không áp dụng) |
| 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 |
| DAC thụ động 10G | 00h | 00h | 04h | 00h | 67h | 06h | 0, byte 60 = tuân thủ cáp |
| 25GBASE-SR | 00h | 00h | 00h | 02h | FFh (byte 66 = 67h → 25,75 Gb/s) | 06h | 850 nm |
| 25GBASE-LR | 00h | 00h | 00h | 03h | FFh / 67h | 06h | 1310 nm |
| DAC thụ động 25G CA-25G-N | 00h | 00h | 04h | 0Dh | FFh / 67h | 06h | 0 |
| SR hai tốc độ 10G/25G | 10h | 00h | 00h | 02h | FFh / 67h | 06h | 850 nm |
Các byte chiều dài 14–19 phải khớp nhau: một module SR khai báo cự ly OM3/OM4, một module LR khai báo kilômét, một DAC khai báo mét ở byte 18.
SFF-8636 byte 131–138, 164 (họ QSFP)
| Byte | Nội dung |
|---|---|
| 131 — 10/40G Ethernet | bit 7 mở rộng (dùng byte 192), 6 10GBASE-LRM, 5 10GBASE-LR, 4 10GBASE-SR, 3 40GBASE-CR4, 2 40GBASE-SR4, 1 40GBASE-LR4, 0 cáp chủ động 40G (XLPPI) |
| 132 — SONET | OC-48 cự ly dài / trung bình / ngắn, 40G OTN |
| 133 — SAS/SATA | SAS 6 / 12 / 24 Gb/s |
| 134 — Gigabit Ethernet | bit 3 1000BASE-T, 2 1000BASE-CX, 1 1000BASE-LX, 0 1000BASE-SX |
| 135 — chiều dài liên kết & công nghệ FC | ý nghĩa bit giống byte 7 của SFP |
| 136 — công nghệ bộ phát FC | các bit EL, SN, SL, LL như byte 8 của SFP |
| 137 — media FC | TW, TP, MI, TV, M6, M5, OM3, SM |
| 138 — tốc độ FC | 100 … 3200 MB/s, cờ mở rộng |
| 164 — Module mở rộng | các tốc độ InfiniBand: SDR, DDR, QDR, FDR, EDR |
| 192 — Tuân thủ mở rộng | giá trị Table 4-4 |
Điển hình: 40GBASE-SR4 → byte 131 = 04h, byte 192 = 00h; 100GBASE-SR4 → byte 131 = 80h (mở rộng), byte 192 = 02h; 100G CWDM4 → 80h / 06h; DAC 100GBASE-CR4 → 80h / 0Bh với đầu nối 23h.
CMIS — ứng dụng thay cho bit
Một module CMIS liệt kê tối đa 15 ứng dụng, mỗi ứng dụng ghép một giao diện điện host với một giao diện media (cả hai đều là mã SFF-8024) và nêu rõ số làn. Một module 400G DR4 có thể quảng bá 400GAUI-8 ↔ 400GBASE-DR4 (8:4) và 100GAUI-2 ↔ 100GBASE-DR (2:1, cho breakout 4×100G). Host chọn một ứng dụng cho mỗi luồng dữ liệu; bất cứ thứ gì không được quảng bá thì không thể cấu hình được. Chi tiết và luồng lựa chọn: CMIS.
Host dùng các mã này như thế nào
- Đặt tên — chuỗi loại module trên CLI (
10GBASE-LR,QSFP-100G-SR4) được suy ra từ các byte này, thường là bit đầu tiên được đặt theo một thứ tự cố định. - Đưa ra tốc độ — host chỉ liệt kê những tốc độ có mã hiện diện; một module 25G có byte 36 = 02h nhưng không có bit nào ở byte 3 sẽ không được đưa ra tốc độ 10G (Tốc độ & tốc độ truyền).
- Chọn FEC — mã mở rộng mang theo giả định về FEC (CA-25G-L/S/N; CAUI-4 có hoặc không có RS-FEC) và một số host đặt FEC dựa theo đó (FEC & huấn luyện liên kết).
- Đồng so với quang — byte 8 bit 2–3, đầu nối 23h và các công nghệ đồng ở byte 147 chuyển host sang chế độ xử lý DAC (tự động đàm phán, huấn luyện liên kết).
- Chính sách — các nền tảng nghiêm ngặt so sánh mã với chế độ của cổng và với cơ sở dữ liệu tương thích của chúng; sai lệch cho ra unsupported hoặc speed and type not supported ngay cả khi khối nhà sản xuất được chấp nhận (Khóa nhà sản xuất).
Quy tắc mã hóa
- Chỉ đặt các bit mà phần cứng thực sự đáp ứng; khai báo 10GBASE-LR trên một module SR biến “không có liên kết” thành “liên kết có lỗi”.
- Giữ toàn bộ thông tin nhận dạng nhất quán: tuân thủ ↔ bước sóng ↔ chiều dài ↔ mã hóa ↔ tốc độ danh định ↔ đầu nối ↔ công nghệ bộ phát.
- Với 25G trở lên, điền byte 36 / 192 và đặt byte 12 / 140 thành FFh với tốc độ ×250 Mb/s ở byte 66 / 222.
- Với DAC, mã hóa các bit công nghệ cáp, chiều dài theo mét, đầu nối 23h và các byte suy hao/tuân thủ thay vì bước sóng.
- Tính lại các checksum sau đó (Checksum).
Trong CodingBox
Màn hình Check transceiver giải mã mọi bit ở trên thành tên gọi rõ ràng và liệt kê các ứng dụng CMIS; EEPROM editor chỉnh sửa các byte mã theo từng trường, hiển thị chuỗi loại module kết quả, và sửa CC_BASE cùng CC_EXT khi ghi.
Các bảng bit đầy đủ trong bối cảnh byte của chúng: Bản đồ A0h của SFF-8472 (byte 3–10, 36, 62), Bản đồ trang trên của SFF-8636 (131–138, 164, 192), Bản đồ XFP (131–138).