차량의 두뇌와 같은 신경망이 빠르게 진화하고 있습니다.
이제 자동차는 단순한 기계가 아니라 데이터를 기반으로 움직이는
SDV(SW Defined Vehicle)로 변모하고 있지요.
이 변화를 가능하게 하는 핵심기술 중 하나는 바로 Ethernet 기반의
고속 네트워크라고 해도 과언이 아닐 것입니다.
하지만 속도와 효율성을 보장하는 만큼 ISO 26262와 같은
안전 기준을 충족하기 위해 해결해야 할 과제도 만만치 않습니다.
이번 포스팅에서는 Ethernet 기반 차량 네트워크 설계에서
Functional Safety(ISO 26262)를 확보하기 위해
고려해야 할 사항이 무엇인지 알아보도록 하겠습니다.
소프트웨어 정의 차량(Software-Defined Vehicle, SDV)은 차량의 기능과 성능이 소프트웨어 중심으로 정의되고, 업데이트되는 차세대 자동차의 핵심 개념입니다. SDV는 기존 하드웨어 중심의 개발 모델에서 벗어나, 네트워크 연결성, 데이터 중심 설계, 그리고 원격 업데이트와 같은 기술적 요구를 충족시키는 방향으로 진화하고 있습니다. 이 과정에서 Ethernet은 SDV 개발에 있어 필수적인 네트워크 인프라로 자리 잡고 있습니다.
Ethernet은 기존 CAN (Controller Area Network)에 비해 더 높은 대역폭과 데이터 처리 능력을 제공합니다. 그러나 Ethernet 기반 네트워크로 전환할 때는 기존 CAN에서 제공되던 E2E(End-to-End) 안전 메커니즘과는 다른 수준의 주의와 설계가 필요합니다. Ethernet은 CAN에 비해 더 복잡한 프로토콜 스택(TCP/IP 등)을 사용하며, 비결정론적 특성과 개방된 설계로 인해 안전성 측면에서 추가적인 고려가 필요합니다. 이번 포스팅에서는 Ethernet 기반, 특히 SOME/IP와 DDS(Data Distribution Service)를 중심으로 차량 네트워크를 설계 함에 있어 주로 기능안전(ISO 26262) 달성을 위해 주의해야 할 사항에 대해 알아보고자 합니다.
Ethernet의 특성과 안전성 과제
Ethernet은 고속 데이터 전송과 효율적인 멀티캐스트 통신을 제공하지만, 기존 CAN 네트워크와는 다음과 같은 차이를 보입니다:
1. 비결정론적 데이터 전송
CAN은 고정된 전송 주기와 우선순위 기반의 충돌 해결 메커니즘을 통해 높은 결정론적 특성을 보장합니다. CAN은 버스 중재(Bus Arbitration) 방식으로 동작하여 데이터 전송의 우선순위를 명확히 정합니다. 이를 위해 CAN 메시지에는 식별자(Identifier)가 포함되며, 낮은 숫자의 식별자를 가진 메시지가 높은 우선순위를 갖습니다. 따라서 충돌이 발생해도 높은 우선순위 메시지는 지연 없이 전송됩니다.
CAN의 전송 속도는 일반적으로 1Mbps이며, CAN-FD(Flexible Data Rate)의 경우 최대 8-12 Mbps까지 지원됩니다. 이는 비록 Ethernet에 비해 낮지만, 실시간성과 안정성을 보장합니다. 또한 CAN은 비트 단위 충돌 감지(Bit-wise Arbitration)를 통해 충돌을 효율적으로 관리하며, 충돌 발생 시 데이터를 손실하지 않습니다.
반면, Ethernet은 높은 대역폭과 빠른 데이터 전송 속도를 제공하며, 최근 자동차 네트워크에서 점점 더 많이 채택되고 있습니다. SOME/IP와 DDS는 Ethernet 기반의 대표적인 통신 프로토콜입니다. 먼저 SOME/IP는 TCP 기반 전송 지연과 UDP 기반의 비결정론적 특성을 가질 수 있습니다. 특히 SOME/IP의 Service Discovery (SD) 메커니즘에서 서비스 탐색/등록의 동적 특성으로 인해 네트워크 부하 또는 데이터 지연이 발생할 수 있습니다. 이와 유사하게 DDS에서도 Publisher와 Subscriber 간 동적 연결 과정에서 데이터 전송 지연이 발생할 수 있으며, 네트워크 부하에 따른 QoS (Quality of Service) 설정에 따라 데이터 전송 지연 또는 손실 가능성이 높아질 수 있습니다. 특히 QoS 정책에 따라 Best-Effort 전송을 사용하게 되는데, 이 경우 데이터 전달 성공이 보장되지 않아 비결정론적 특성이 강화될 수 있습니다.
위 그림은 SOME/IP의 Service Discovery는 클라이언트-서버 모델을 기반으로 동적으로 서비스와 이벤트를 탐색하고 구독을 설정하며, 요청-응답 및 알림 방식으로 데이터를 전달합니다.
- 장점: 상대적으로 단순하고 차량 내 ECU 간의 통신에 적합.
- 단점: QoS 설정이 제한적이며, 실시간성 보장이 어려움.
다음으로 DDS의 Publisher-Subscriber 모델은 데이터 중심 설계로 Publisher와 Subscriber간 데이터 분산과 실시간성을 보장하며, 강력한 QoS 정책을 제공합니다.
- 장점: 대규모 네트워크와 실시간 데이터 처리에 적합.
- 단점: 설정과 구현이 복잡하며 초기 학습 곡선이 높음.
2. 복잡한 프로토콜 스택
CAN 메시지는 고정된 프레임 구조를 사용하며, 식별자와 데이터를 구분하며, 프로토콜 계층도 데이터 링크 계층과 물리 계층으로 단순화된 구조를 가집니다. 그리고 하드웨어 수준의 충돌 감지가 처리되기 때문에 상대적으로 소프트웨어 구현이 단순하고, CRC가 포함되어 있어 데이터 전송 중 오류의 감지와 복구가 용이합니다. 결국 ISO 26262 준수나 실시간성과 무결성 보장을 위한 안전 메커니즘 구현이 상대적으로 용이한 장점을 가집니다.
반면, Ethernet 기반의 SOME/IP나 DDS의 경우 OSI 계층 모델을 기반으로 하기 때문에 프로토콜 계층이 상대적으로 복잡하고, SOME/IP의 Service Discovery나 DDS의 Publisher-Subscriber 구조의 동적 특성으로 인해 안전 메커니즘 구현이 상대적으로 복잡하고 어렵다는 특징이 있습니다. 대표적인 Ethernet 기반의 신뢰성 보장 방법으로는 데이터 Serialization이 있으며, 이를 통해 데이터 무결성 확보가 가능하며, CRC와 같은 오류 검출/복구 메커니즘이 추가될 수도 있습니다.
또한 QoS 정책 기반의 DDS는 데이터 전송 품질을 세밀하게 적용할 수 있으며, 자체 무결성과 장애 복구를 위한 내장 메커니즘을 포함하고 있기 때문에 정책 설정과 데이터 관리에 추가적인 복잡성이 유발되기도 합니다.
E2E 안전 메커니즘 수준의 Ethernet 안전 보장
E2E 안전 메커니즘은 CAN 네트워크에서 데이터 전송의 무결성과 신뢰성을 보장하기 위해 사용되던 대표적인 기술입니다. Ethernet 기반 차량 네트워크에서는 CAN에서 사용되던 E2E 메커니즘과 동일한 수준의 안전성을 보장하려면 다음 사항에 주의해야 합니다:
1. 패킷 무결성 확인
SOME/IP는 TCP 또는 UDP를 통해 데이터를 전송하며, 무결성 확인 방식은 사용하는 프로토콜과 추가적인 설정에 따라 달라집니다. 우선 TCP는 기본적으로 데이터 무결성을 보장하는 메커니즘(CRC 포함)을 제공합니다. 데이터 패킷 손실 시 자동 재전송이 이루어지며, ISO 26262 요구사항을 충족하는 기본적인 안정성을 제공합니다. 하지만, 재전송으로 인한 지연이 발생할 수 있으므로 실시간성이 요구되는 데이터에는 부적합할 수 있습니다.
UDP는 가벼운 프로토콜로, 무결성 확인을 자체적으로 제공하지 않으므로, UDP 기반 SOME/IP 통신에서 패킷 무결성을 보장하려면 추가적인 무결성 확인 메커니즘이 필요합니다.
- CRC(Cyclic Redundancy Check): 데이터 전송 전후에 CRC 값을 계산하여 데이터 손상을 감지.
- HMAC(Hash-based Message Authentication Code): 데이터를 보호하고 변조를 방지하기 위해 키를 사용하는 해시 기반 무결성 확인.
그밖에도 SOME/IP의 경우 Application Layer에서 데이터 직렬화와 역직렬화 과정에서 무결성 확인을 포함할 수 있습니다. 예를 들어, 데이터를 직렬화할 때 해시 값을 함께 포함하여 수신 측에서 역직렬화 시 데이터를 검증합니다. 또한 패킷이 네트워크 상에서 유효한 시간을 제한하여 오래된 패킷이 전송되거나 무결성 손상으로 인해 시스템이 오작동하지 않도록 방지합니다. (Time-to-Live(TTL) 설정)
DDS는 퍼블리셔-서브스크라이버 모델을 사용하며, 무결성 확인을 위한 QoS 정책을 제공합니다. 기본적으로 DDS는 UDP 기반으로 동작하므로, 무결성 확인을 보장하기 위해 다음과 같은 추가 설정이 필요합니다.
- Reliability(QoS 정책): 데이터를 신뢰성 있게 전달하기 위해 Reliable 모드(확인 응답을 요구)와 Best-Effort 모드(확인 없이 전송)를 선택할 수 있습니다. 그러나 안전성이 중요한 시스템에서는 반드시 Reliable 모드를 사용해야 합니다.
- Data Integrity: DDS는 QoS 설정을 통해 데이터 무결성을 검증할 수 있으며, 패킷 손상이나 데이터 누락이 발생했을 때 재전송 메커니즘을 제공합니다.
- Application Level CRC 및 해시 검증: DDS에서 데이터를 퍼블리셔와 서브스크라이버 간에 전송할 때, 각 메시지에 CRC 값이나 HMAC을 포함시켜 데이터를 검증합니다.
- TLS/DTLS 사용: DDS는 데이터를 보호하고 무결성을 보장하기 위해 TLS(Transport Layer Security) 또는 DTLS(Datagram TLS)를 사용할 수 있습니다. 이 방식은 데이터 전송 중 변조와 손실을 방지하는 동시에 보안성을 강화합니다.
- Durability(QoS 정책): 퍼블리셔가 전송한 데이터가 손실되었을 경우, 데이터를 재전송하거나 저장된 데이터를 활용하여 무결성을 유지합니다.
2. 순서 제어
SOME/IP와 DDS와 같은 Ethernet 기반 통신 프로토콜은 다량의 데이터를 빠르고 안정적으로 전송할 수 있지만, 패킷이 전송 중 손실되거나 순서가 뒤바뀔 위험이 있습니다. 이런 문제가 발생하면 안전과 직결된 시스템에서 치명적인 오류를 초래할 수 있기 때문에, 패킷 순서 제어는 ISO 26262 준수를 위해 고려해야 할 중요한 사항 중 하나입니다.
SOME/IP는 TCP 또는 UDP를 사용하여 데이터를 전송하며, 전송 프로토콜에 따라 패킷 순서 제어 방식이 달라집니다. 먼저 TCP 기반 통신에서의 순서 제어 메커니즘은 패킷이 올바른 순서로 도착하도록 보장하기 위해 서버는 데이터를 전송할 때 ACK(확인 응답) 과정을 통해 패킷 손실 또는 순서 오류를 감지하고, 필요시 재전송합니다. 그러나 재전송 과정에서 지연이 발생할 수 있어 실시간성에 적합하지 않을 수 있습니다. 또한 UDP 기반 통신은 패킷 순서를 보장하지 않으므로, 추가적인 메커니즘이 필요합니다.
- Sequence Number(시퀀스 번호): 패킷마다 고유의 시퀀스 번호를 부여하여 순서를 추적할 수 있으며, 클라이언트는 수신한 패킷의 번호를 확인하고, 누락되거나 순서가 틀린 패킷을 감지할 수 있습니다.
- 타임스탬프 기반 정렬: 각 패킷에 타임스탬프를 포함시켜 수신 시 데이터의 전송 순서를 재구성할 수 있으며, 데이터가 오래된 경우 폐기 처리 됩니다.
DDS는 QoS 설정을 통해 패킷 순서와 관련된 동작을 제어합니다.
- Presentation QoS: 데이터를 정렬된 순서(Ordered Access)로 전달할 수 있도록 설정하여 Publisher에서 데이터 생성 순서에 따라 Subscriber가 데이터를 처리하도록 보장합니다.
- Reliability QoS: Reliable 모드를 사용하면 패킷 손실 시 재전송을 통해 데이터 무결성과 순서를 보장합니다. 이 모드는 네트워크 부하가 증가하더라도 데이터가 올바르게 전달되도록 합니다.
- Latency Budget QoS: 데이터 전송 지연을 최소화하는 설정으로, 실시간성을 높이고 패킷 순서를 유지.
- Durability QoS: 퍼블리셔가 데이터를 생성했으나 서브스크라이버가 연결되지 않은 경우에도 데이터를 저장하고, 나중에 올바른 순서로 전달.
- Sequence Number: SOME/IP와 유사하게 각 데이터 패킷에 고유 시퀀스 번호를 부여.
- History QoS: 서브스크라이버가 누락된 데이터를 재요청할 수 있도록 퍼블리셔가 과거 데이터를 저장합니다. 패킷 순서가 어긋날 경우, 서브스크라이버가 이를 복구.
3. 시간 초과 및 재전송 메커니즘
ISO 26262는 자동차 시스템에서 안전성을 확보하기 위해 데이터의 신뢰성, 시간 준수성, 무결성을 강조합니다. 데이터가 손실되거나 지연되면 시스템 오작동으로 이어질 수 있으므로, 시간 초과(timeout) 및 재전송 메커니즘은 이러한 문제를 해결하고 안전성을 보장하기 위해 필수적인 요소입니다. Ethernet 기반 프로토콜인 SOME/IP와 DDS는 각각 고유의 시간 초과 및 재전송 매커니즘을 제공합니다.
먼저 SOME/IP는 TCP 또는 UDP를 사용하여 데이터를 전송하며, 시간 초과 및 재전송 방식은 사용하는 전송 프로토콜에 따라 달라집니다. 일반적으로 TCP 기반에서는 자체적으로 타이머 기반의 시간 초과 메커니즘과 재전송 메커니즘을 탑재하고 있습니다. 반면 UDP의 경우, 비연결성 프로토콜이므로, 시간 초과 감지 기능이 없습니다. 따라서 클라이언트와 서버단에서 이를 감지할 수 있는 메커니즘이 별도로 정의되어야 합니다. 예를 들어 클라이언트가 서버로부터 특정 시간 내에 데이터를 수신하지 못할 경우 타임아웃을 발생시키고, 서버 역시 클라이언트 요청에 대해 응답 시간이 초과되면 해당 요청을 무시하거나 오류로 기록하도록 정의할 수 있습니다. 재전송 메커니즘도 시퀀스 번호를 사용하여 누락된 패킷을 확인하고 재전송 요청이 이루어질 수 있도록 구현되어야 하며, 이벤트 기반 전송에서는 손실된 데이터에 대해 필요에 따라 다시 요청하거나 새로운 이벤트로 대체할 수 있어야 합니다.
또한 DDS는 Publisher-Subscriber 모델을 기반으로 하며, 시간 초과 및 재전송을 포함한 강력한 QoS(Quality of Service) 설정을 제공합니다.
시간 초과 메커니즘
- Deadline QoS:
• DDS는 데이터가 특정 시간 내에 도착해야 하는 Deadline QoS를 제공.
• 퍼블리셔와 서브스크라이버 간 데이터 전송 시, 지정된 시간이 초과되면 Deadline Missed 이벤트가 발생.
• 서브스크라이버는 누락된 데이터를 복구하거나 대체 작업을 수행할 수 있음. - Time-Based Filter QoS:
• 서브스크라이버는 특정 주기 내에서만 데이터 수신을 허용하여 시간 초과와 관련된 데이터를 관리.
• 불필요한 데이터를 제거함으로써 네트워크 부하를 줄이고 효율성을 높임.
재전송 메커니즘
- Reliability QoS:
• DDS는 Reliable 모드에서 데이터를 신뢰성 있게 전달하며, 패킷 손실 시 자동 재전송.
• 클라이언트는 ACK를 통해 데이터 수신 여부를 확인하며, 실패 시 재전송을 요청. - Durability QoS:
• 데이터 손실을 방지하기 위해 퍼블리셔가 데이터를 저장하고, 서브스크라이버가 요청 시 이를 제공.
• 연결이 끊어진 후에도 데이터를 복구할 수 있어 안전성이 강화됨. - History QoS:
• 이전 데이터를 보존하여 서브스크라이버가 누락된 데이터를 요청 가능.
• 데이터 손실이 발생해도 복구할 수 있는 기회 제공.
마치며...
Ethernet 기반 차량 네트워크로의 전환은 기존 CAN 네트워크보다 더 높은 대역폭과 성능을 제공하지만, 안전성과 관련된 새로운 과제도 함께 가져옵니다. 특히, CAN에서 제공되던 E2E 안전 메커니즘을 대체하거나 보완하기 위해 Ethernet의 비결정론적 특성을 보완하는 설계가 필수적입니다. 이를 위해 TSN, 중복 경로, 암호화, 실시간 오류 검출 등의 기술을 활용해야 하며, ISO 26262 표준에 따라 기능 안전을 준수해야 합니다.
Ethernet의 잠재력을 최대한 활용하면서도 안전성을 유지하는 전략적 접근은 미래 차량 네트워크 설계의 성공을 좌우할 중요한 열쇠가 될 것입니다.
SDV(Software-Defined Vehicle)가 새로운 트렌드로 자리 잡으면서, 차량 네트워크도 기존의 CAN에서 Ethernet으로 자연스럽게 변화하고 있습니다. 더 빠르고, 더 많은 데이터를 처리할 수 있는 Ethernet은 SDV가 요구하는 높은 연결성과 확장성을 충족시킬 수 있는 필수 기술이지만, 동시에 ISO 26262 준수를 위한 많은 과제가 수반됩니다.
패킷 무결성, 데이터 순서, 시간 초과, 재전송 메커니즘 등 안전성을 보장하기 위한 다양한 요소를 꼼꼼히 설계해야 하며, DDS와 SOME/IP 같은 프로토콜을 활용해 QoS 설정과 실시간 데이터 처리를 최적화해야 합니다.
결국, CAN에서 Ethernet으로의 전환은 단순히 기술적인 업그레이드가 아니라, SDV 시대에 맞는 안전하고 유연한 차량 네트워크를 만드는 중요한 과정입니다. 복잡하고 새로운 도전이 기다리고 있겠지만, 이를 철저히 준비하고 관리한다면 SDV가 가져올 멋진 미래를 한층 더 앞당길 수 있을 것입니다. 🚗💡