ISO-OSI Reference Model — 국제 표준화 기구(ISO)가 제정한 Open Systems Interconnection 계층 참조 모델. 자동차 버스 네트워킹에서는 표준 7계층에 Mechanical Layer(Layer 0)를 추가해 사용한다. 복잡한 상위 프로토콜 과제를 개별 서비스로 분해해 계층으로 조직함으로써 관리·이해가 쉬워지고, 스택의 일부를 큰 비용 없이 교체할 수 있다.
계층 구성 (자동차 버스 관점)
| Layer | 이름 | 기능 |
|---|---|---|
| 7 | Application Layer | Application services + Diagnostics |
| 6 | Presentation Layer | — |
| 5 | Session Layer | Interaction Layer, Network Management |
| 4 | Transport Layer | Segmenting and assembling, flow control |
| 3 | Network Layer | Routing, extended address assignment, flow control |
| 2 | Data Link Layer | Framing, addressing, bus access, synchronization, data protection, flow control |
| 1 | Physical Layer | Transmission medium, signal transmission, data protection, topologies, flow control |
| 0 | Mechanical Layer | Plug connectors, cables |
- ISO: International Standardization Organization
- OSI: Open Systems Interconnection
실제 ECU 소프트웨어 스택
실제 ECU는 단순 통신 외에도 추가 기능이 필요하므로, 계층별 역할이 CAN 기준으로 다음과 같이 매핑된다:
- L7 Application Layer — 애플리케이션 서비스 + Diagnostics
- L5 Session Layer — Interaction Layer(메시지 송·수신 상호작용 관리) + Network Management
- L4 Transport Layer — Segmentation·Assembling, Flow Control
- L3 Network Layer — Routing, Extended Address Assignment, Flow Control
- L2 Data Link Layer — Framing, Addressing, Bus Access, Synchronization, Data Protection (MAC 계층)
- L1 Physical Layer — Transmission Medium, Signal Transmission, Topologies
CAN의 OSI 매핑
CAN Protocol은 Data Link Layer 전체 + Physical Layer의 PLS(Physical Signaling)를 커버하며, ISO 11898 표준군에 의해 정의된다:
| 계층 | CAN 상의 구성 | ISO 표준 |
|---|---|---|
| L2 Data Link (LLC + MAC) | CAN-Controller | ISO 11898-1 |
| L1 Physical (PLS) | CAN-Controller | ISO 11898-1 |
| L1 Physical (PMA + MDI) | CAN-Transceiver (HS / LS) | ISO 11898-2 / -3 |
자세한 내용은 CAN 참조.
- OSI 7계층 중 CAN은 Data Link Layer까지만 사용.
- CAN TP(Transport Protocol)는 일반적으로 OSI L4가 아닌 Application의 일부로 분류. TCP/IP의 TCP·UDP와 위치가 다르다.
TCP/IP 스택과의 대응
실제 구현은 OSI 7계층이 아닌 TCP/IP 4계층이 사용된다. Session·Presentation은 실제 프로토콜이 드물어 Application에 흡수되며, TCP/IP 스택은 Transport 계층까지만 담당. 상세 매핑은 TCP·IP 스택 참조.
자동차 버스 네트워킹 과제의 OSI 매핑
자동차 네트워킹의 6가지 Primary Tasks와 3가지 Extended Tasks를 OSI 위에 대응:
| 과제 | 계층 |
|---|---|
| Framing | L2 (Data Link) |
| Addressing | L2 (Data Link) |
| Data Protection (물리) | L1 (Physical) |
| Data Protection (프로토콜) | L2 (Data Link) |
| Bus Access | L2 (Data Link) |
| Synchronization | L2 (Data Link) |
| Topology | L1 (Physical) |
| Segmenting / Assembling | L4 (Transport) |
| Routing | L3 (Network) |
| Flow Control | L1/L2/L3/L4 모두 |
Flow Control의 계층별 역할
Flow Control은 여러 계층에 분산되어 존재:
| 계층 | 역할 |
|---|---|
| L1 | Physical flow control — 비트 순서·타이밍 보존, 동기화에 중요 |
| L2 | Sending/receiving flow control — 송신 속도를 수신자에 맞춤 |
| L3 | Flow control for routing — 서로 다른 버스 속도를 상호 조정 |
| L4 | Flow control in segmenting/assembling — 분할 데이터 블록의 순서 보존 |
→ 계층별 흐름 제어는 송·수신자가 과부하 상황을 회피하도록 데이터 흐름을 조정한다.
확장 과제 — 상위 프로토콜
- Segmenting / Assembling: 단일 프레임 페이로드 최대 크기를 초과하는 데이터를 분할 전송하고, 수신 측에서 식별자로 재조립 → Transport Protocol(L4) 담당.
- Routing: 다중 서브 네트워크를 가로질러 데이터를 전달할 때 방향을 결정. 자동차에서는 메쉬가 없으므로 별도 프로토콜 계층이 필요 없고 Gateway 노드 애플리케이션이 수행. Peer-to-Peer 주소 지정이 필요하면 L4의 transport protocol이나 L7의 diagnostic protocol 등 추가 계층 필요.