벤더 필드: 이름, OUI, PN, SN, 날짜 코드
벤더 블록은 호스트가 show interface transceiver에 표시하는 내용이자 호환성 정책이 대조하는 대상입니다. 규격은 각 필드와 그 길이, 인코딩을 정확하게 정의하며 — 호스트는 패딩, 대소문자, 엉뚱한 바이트에 관대하지 않습니다. 이 페이지는 그 규칙, 규격별 바이트 범위, 그리고 멀쩡한 모듈을 쓰레기값으로 읽히게 만드는 실수들을 정리합니다.
필드
| 필드 | SFF-8472(SFP, A0h) | SFF-8636(QSFP, 페이지 00h) | CMIS(페이지 00h) | INF-8077i(XFP) | 형식 |
|---|---|---|---|---|---|
| 벤더명 | 20–35 | 148–163 | 129–144 | 148–163 | ASCII 16자 |
| 벤더 OUI | 37–39 | 165–167 | 145–147 | 165–167 | 3바이트, IEEE 할당 |
| 벤더 PN | 40–55 | 168–183 | 148–163 | 168–183 | ASCII 16자 |
| 벤더 리비전 | 56–59 | 184–185 | 164–165 | 184–185 | ASCII 4/2/2/2자 |
| 벤더 SN | 68–83 | 196–211 | 166–181 | 196–211 | ASCII 16자 |
| 날짜 코드 | 84–91 | 212–219 | 182–189 | 212–219 | ASCII 8자 |
| CLEI 코드 | — | 페이지 02h, 바이트 129 비트 4인 경우 | 190–199 | — | ASCII 10자 |
| 벤더 지정 | 96–127(A0h), A2h 사용자 EEPROM 128–247 | 224–255, 페이지 02h | 223–255, 커스텀 페이지 | 224–255 | 자유 |
바이트 단위 맵: 메모리 맵.
인코딩 규칙
- ASCII만 사용, 출력 가능 범위 20h–7Eh. NUL(00h), FFh, 제어 문자는 불가.
- 왼쪽 정렬, 스페이스(20h)로 패딩해 필드 전체 길이를 채웁니다. 10자리 부품 번호 뒤에는 0이 6개가 아니라 스페이스가 6개 옵니다.
- 벤더명은 등록된 제조사(또는 브랜드 소유자)의 이름입니다 — 호스트가 대조하는 문자열이며, 보통 대소문자를 구분합니다.
- OUI는 이름 필드에 적힌 회사의 24비트 IEEE 조직 고유 식별자이며, 상위 바이트부터 기록됩니다; 00-00-00은 미지정을 뜻합니다. 호스트가 이를 확인하는 경우는 드물지만, OUI와 이름이 어긋나면 재코딩된 모듈의 손쉬운 단서가 됩니다.
- 리비전은 형식이 자유롭고(흔히
A,01,1.0), 없으면 스페이스로 채웁니다. - 시리얼 번호는 벤더별로 고유해야 합니다; 많은 벤더가 연도/주차와 일련 카운트를 담으며, 일부 호스트는 그 구조로 자사 모듈을 식별합니다.
- 날짜 코드는
YYMMDD뒤에 2자리 벤더 로트 코드가 붙습니다(없으면 스페이스):240315= 2024년 3월 15일. - CLEI(Common Language Equipment Identifier)는 10자리 통신 자산 코드로, 주로 통신사에 판매되는 모듈에 있습니다.
호스트가 대조하는 대상
| 호스트 동작 | 비교 대상 | 주로 쓰이는 곳 |
|---|---|---|
| 이름 + PN 조회 | 벤더명과 부품 번호를 호환성 표와 대조 | 대부분의 엔터프라이즈 스위치 |
| PN 접두사/제품군 | PN의 앞부분 문자 | 광범위한 “지원 제품군” 목록을 쓰는 플랫폼 |
| 벤더 지정 서명 | SN 등의 필드로 계산해 벤더 영역에 넣은 해시나 매직 값 | 엄격한 OEM 잠금 |
| SN 패턴 | 시리얼 번호의 구조 | 일부 OEM, 보증과 진품 확인용 |
| OUI | IEEE 식별자 | 드묾; 일부 NIC와 NOS |
| 없음 | 체크섬만 유효하면 무엇이든 허용 | 오픈 스위치, unsupported-SFP를 허용하는 대부분의 NIC |
어느 플랫폼이 무엇을 하며 어떻게 대응해야 하는지는 벤더 락과 서드파티 옵틱스에서 다룹니다.
흔한 실수
| 실수 | 호스트에 나타나는 증상 |
|---|---|
| 스페이스 대신 NUL 패딩 | 이름이 잘리거나 깨짐, 모듈이 미지원으로 표시됨 |
| 필드가 1바이트 길어 다음 필드를 침범 | OUI나 PN 손상, 체크섬 불일치 |
| 기준과 다른 대소문자 | 호환성 표에서 PN이 매칭되지 않음 |
| ASCII가 아닌 바이트(UTF-8, 키릴 문자) | 물음표로 표시되거나 거부됨 |
| 숫자 자리에 문자가 들어간 날짜 코드 | 표시 오류; 일부 호스트는 거부 |
| 벤더 블록은 바꿨지만 체크섬은 그대로 | 모듈 무효 — 체크섬 참고 |
| 이름은 바꿨지만 벤더 지정 서명은 그대로 | 엄격한 플랫폼에서는 여전히 미지원 |
| 식별 정보가 컴플라이언스 코드나 파장과 불일치 | 속도와 유형 미지원 — 컴플라이언스 코드 참고 |
벤더 지정 영역
규격은 벤더 영역을 의도적으로 정의하지 않은 채로 둡니다. 제조사는 이곳에 교정 백업, 생산 데이터, 컨트롤러 설정을, 잠긴 모듈에서는 인증 데이터를 저장합니다. 무턱대고 덮어쓰면 모듈이 벽돌이 되거나 잠금 검사가 깨질 수 있으며, 일치하는 시리얼 번호 없이 기준 모듈에서 복사해도 검사를 통과하지 못하는 경우가 많습니다. 벤더의 배치를 알지 못한다면 이를 불투명한 영역으로 취급하십시오(EEPROM 재코딩).
CodingBox에서
EEPROM editor는 각 벤더 필드를 텍스트로 편집하고, 정확한 길이만큼 스페이스로 채우며, ASCII가 아닌 입력은 거부하고, 쓰기 시 체크섬을 다시 계산합니다. code database는 완전한 식별 정보를 저장하므로 검증된 벤더 블록을 한 번에 적용할 수 있습니다.
각 맵의 벤더 블록: SFF-8472 A0h 20–91, SFF-8636 상위 페이지 148–219, CMIS 페이지 00h 129–199, XFP 표 01h 148–219.
PN 필드 뒤에 숨은 벤더별 문법 — Cisco, Juniper, Arista, Huawei, HPE, Dell, Nvidia, Brocade, MikroTik 등: OEM 부품 번호.