OSI 참조 모델(Open Systems Interconnection Reference Model)은 시스템 상호 연결을 위한 표준 개발을 조율하는 공통 기반이 되는 모델이다.[1] ISO/IEC 7498-1:1994가 이 모델을 정하고, ITU-T X.200(07/94)이 같은 본문을 담는다. 모델은 일곱 계층으로 이루어진다.[2]
일곱 계층
계층은 아래에서부터 물리(1), 데이터 링크(2), 네트워크(3), 전송(4), 세션(5), 표현(6), 응용(7) 계층이다.[2]
- 물리 계층: 데이터 링크 개체 사이에서 비트를 전송할 물리 연결을 활성화하고, 유지하고, 해제하는 기계적·전기적·기능적·절차적 수단을 제공한다.
- 데이터 링크 계층: 물리 계층에서 생길 수 있는 오류를 검출하고, 경우에 따라 정정한다.
- 네트워크 계층: 네트워크 주소 사이의 경로를 정하고 중계한다. 서브네트워크 여럿을 직렬이나 병렬로 거치더라도 전송 개체는 경로와 중계를 신경 쓰지 않는다.
- 전송 계층: 세션 개체 사이에서 데이터를 투명하게 옮긴다. 각 세션 개체가 요구하는 성능을 최소 비용으로 내도록 네트워크 서비스 사용을 최적화한다. 전송 프로토콜은 끝 개방 시스템 사이에서만 동작한다.
- 세션 계층: 협력하는 표현 개체들이 대화를 조직하고 동기화하며 데이터 교환을 관리하는 수단을 제공한다.
- 표현 계층: 응용 개체가 주고받는 정보의 표현을 맡는다. 공통 표현을 제공해 응용 개체가 구문에 매이지 않게 한다.
- 응용 계층: 응용 프로세스가 OSI 환경에 접근하는 유일한 수단이다.[2]
ISO 11898-1:2024는 CAN의 데이터 링크 계층과 PCS(Physical Coding Sublayer)를 정한다.[3] ISO 15765-2:2024는 CAN을 쓰는 차량 네트워크의 전송 계층과 네트워크 계층 프로토콜, 그 서비스를 정하고[4], ISO 14229-1:2026은 UDS의 응용 계층을 정한다.[5]
서비스와 프로토콜
가장 높은 계층을 뺀 계층은 계층에 서비스를 제공한다. 이 서비스는 계층 안의 기능과, 필요하면 계층의 서비스로 만든다. 같은 계층의 개체 사이의 협력은 그 계층의 프로토콜이 정한다.[2]
PDU(Protocol Data Unit)는 프로토콜이 정하는 데이터 단위로, 프로토콜 제어 정보와 경우에 따라 사용자 데이터로 이루어진다. 분할이나 묶기가 없으면 PDU는 SDU(Service Data Unit) 하나에 대응될 수 있고, 이때 PDU는 프로토콜 제어 정보와 그 SDU로 이루어진다.[2]
인터넷 프로토콜 스위트와의 차이
RFC 1122는 인터넷 프로토콜 스위트를 링크, 인터넷, 전송, 응용의 네 계층으로 나눈다. 인터넷 프로토콜 스위트의 응용 계층은 OSI 참조 모델의 표현 계층과 응용 계층 기능을 합친 것이다.[6]