분할(segmenting)은 한 계층이 SDU(Service Data Unit) 하나를 여러 PDU(Protocol Data Unit)로 나누는 기능이고, 재조립(reassembling)은 받는 쪽이 그 PDU들을 원래 SDU로 되돌리는 기능이다. 계층 사이에서 데이터 단위의 크기가 맞지 않을 때 쓴다.[1]

OSI 참조 모델은 분할을 네트워크 계층의 기능과 연결형 전송 계층의 기능으로 둔다. 비연결형 전송 계층은 분할과 재조립을 제공하지 않는다.[1]

CAN의 전송 프로토콜

Classical CAN 데이터 프레임의 데이터 필드는 0에서 8바이트다.[2]

ISO 15765-2:2024는 CAN을 쓰는 차량 네트워크에서 진단 통신에 쓰는 전송 프로토콜과 네트워크 계층 서비스를 정한다. 이 프로토콜은 분할된 PDU를 첫 프레임 FF(FirstFrame)와 여러 연속 프레임 CF(ConsecutiveFrame)에 나눠 보낸다.[3]

AUTOSAR의 CAN 전송 계층 모듈 CanTp가 다루는 전송 프로토콜 프레임은 단일 프레임 SF(Single Frame), FF, CF, 흐름 제어 프레임 FC(Flow Control)이고, 이 프레임들을 다음처럼 쓴다.[4]

  • SF: 보낼 데이터 N-SDU(Network Service Data Unit)가 CAN 프레임 하나에 실리는 단위 N-PDU(Network Protocol Data Unit)에 들어가면 SF로 보낸다.
  • FF: 분할된 메시지의 첫 부분과 메시지 전체 길이 FF_DL을 싣는다. 이면 FF_DL을 첫 바이트 하위 4비트와 둘째 바이트에 싣고, 이면 그 자리를 0으로 두고 FF_DL을 셋째부터 여섯째 바이트에 싣는다. 두 형식 모두 CAN 2.0과 CAN FD에 쓴다.
  • CF: 나머지 페이로드를 SN(Sequence Number)과 함께 싣는다.
  • FC: 수신 쪽이 송신 쪽 CF의 흐름을 조절한다. BS(Block Size)는 FC 하나 뒤에 이어지는 CF 수이고, STmin(Separation Time minimum)은 송신 쪽이 두 CF 사이에 기다릴 최소 시간이다.[4]

CanTp는 분할된 메시지를 받는 동안 SN이 맞는지 검사하고, 틀리면 수신을 중단한다. 빠진 연속 프레임과 뒤바뀐 연속 프레임은 오류로 알린다.[4]

CanTp는 연속 프레임을 받을 때마다 N_Cr 타이머를 시작한다(블록의 마지막 연속 프레임은 뺀다). 다음 연속 프레임이 오기 전에 N_Cr이 끝나면 수신을 중단한다. CanTp에서 흐름 제어는 송신 쪽을 수신 쪽의 처리 능력에 맞춘다.[4]

IP 단편화

IPv4 데이터그램이 최대 패킷 크기가 더 작은 네트워크를 지나야 하면 단편으로 나눈다. 단편마다 식별(Identification) 필드, 원래 데이터그램 안에서의 위치를 나타내는 단편 오프셋, 마지막 단편인지 나타내는 MF(More Fragments) 플래그가 있다. 받는 쪽 IP 모듈은 식별, 출발지, 목적지, 프로토콜 네 필드가 같은 단편을 모아, 단편 오프셋이 가리키는 자리에 데이터를 놓아 합친다.[5]

IPv4 호스트에는 재조립 타임아웃이 있어야 하고, 타임아웃이 지나면 재조립 중이던 데이터그램을 버린다.[6]

[1]
ITU-T, “ITU-T Recommendation X.200 (07/94) Information technology — Open Systems Interconnection — Basic Reference Model: The basic model.” 1994. Accessed: Sep. 26, 2026. [Online]. Available: https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.200-199407-I!!PDF-E&type=items
[2]
“CAN Specification Version 2.0,” Robert Bosch GmbH, 1991. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20171215103144/http://www.bosch-semiconductors.de:80/media/ubk_semiconductors/pdf_1/canliteratur/can2spec.pdf
[3]
ISO, “ISO 15765-2:2024 Road vehicles — Diagnostic communication over Controller Area Network (DoCAN) — Part 2: Transport protocol and network layer services (OBP preview).” 2024. Accessed: Sep. 26, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso:15765:-2:ed-4:v1:en
[4]
“Specification of CAN Transport Layer (AUTOSAR CP R25-11),” AUTOSAR, 2025. Accessed: Sep. 27, 2026. [Online]. Available: https://www.autosar.org/fileadmin/standards/R25-11/CP/AUTOSAR_CP_SWS_CANTransportLayer.pdf
[5]
IETF, “RFC 791 Internet Protocol.” 1981. Accessed: Sep. 26, 2026. [Online]. Available: https://www.rfc-editor.org/rfc/rfc791
[6]
IETF, “RFC 1122 Requirements for Internet Hosts — Communication Layers.” 1989. Accessed: Sep. 26, 2026. [Online]. Available: https://www.rfc-editor.org/rfc/rfc1122