1. 4B/5B 선로부호 코드
ㅇ 4 비트 길이의 데이터 그룹를 5 비트 길이의 코드(5 보오)로 변환하는 방식
ㅇ 역사
- 원래, 1980년대 FDDI 광통신에 사용코자 개발되었으나,
- 100BASE-X(100BASE-TX,100BASE-FX)에서 이를 채택 활용하며 더욱 유명해짐
2. 4B/5B 특징
ㅇ `0` 또는 `1` 이 길게 연속되어 전송 되지 않도록, 사전에 블록 코드(4B -> 5B)화함
- 4 비트 -> 5 비트로 블록코드화 에서 강조된 사항
. 5 비트 블록코드 내부에 반드시 1 이상의 전이가 있도록 함
. 3 이상의 `0`이 연속되지 않도록 함
. 전체적으로 `0`과 `1` 사이에 균형 있게함
ㅇ NRZI 방식과 함께 사용됨
- NRZI는 연속되는 긴 `0`이 있으면, 수신측이 비트동기를 잃을 위험성이 있어 이를 개선
3. 응용 例
ㅇ FDDI 물리계층에서 사용
ㅇ 100BASE-FX 또는 100BASE-TX : 4B/5B + NRZI
- 4 -> 5 비트로 블록코드하면서, 100 Mbps 비트율이 125 Mbaud 보율로 됨
4. 4B/5B + NRZI 코드 변환표
ㅇ 데이터 코드
ㅇ 제어 코드 및 기타 코드
- IDLE (no data) : 11111
. IDLE (Interstream Fill Data) : no data 일 때 active가 되는 경우를 말함
. 한편, IDLE `11111`이, NRZI 방식에서는 `1010...`으로 연속으로 변하는 비트열이 됨
- JK start-of-stream delimiter 코드비트열 : 11000 11001 (각 프레임의 시작)
- TR end-of-stream delimiter 코드비트열 : 01101 00111 (각 프레임의 끝)
※ 코드 구분
- 실제로, 데이터라고 간주되는 코드 : 0 ~ F, IDLE, SLEEP
- 제어 코드로 간주되는 코드 : J,K,T,R
- 무효 코드로 간주되는 코드 : V