자동차 이더넷 검증에는 기존의 방법보다 더 많은 것이 필요합니다. NI MitM 테스트 솔루션은 엔지니어에게 MAC 레벨 컨트롤을 제공하여 실질적인 조건 하에서 결함 입출력, 타이밍 분석, 스트레스 테스트를 가능하게 합니다. FPGA 기반 하드웨어, 유연한 소프트웨어, 고급 자동화 기능을 통해 NI는 OEM 및 Tier 1 공급업체가 보다 안전하고, 보다 스마트하며, 보다 연결 가능한 차량을 구축할 수 있도록 지원합니다.
자동차 이더넷은 컨트롤러 영역 네트워크 (CAN) CAN 또는 로컬 상호 연결 네트워크 (LIN)와 같은 레거시 프로토콜 이상의 복잡성을 도입합니다.고급 소프트웨어 검증은 일반적이지만, 손상된 프레임, 타이밍 위반 또는 전기 노이즈와 같은 하위 레벨의 통신 오류는 종종 상업용 NIC에 의해 필터링되어 감지되지 않습니다. 이러한 결함은 ECU 소프트웨어 잠금, 설명되지 않는 에러 메시지, 지연 시간 스파이크, TC10과 같은 휴면/가동 모드 프로토콜의 실패로 나타날 수 있습니다.
안정성과 안전을 보장하기 위해, 엔지니어는 이러한 문제의 원인이 되는 MAC 계층에서 테스트할 수 있는 도구가 필요합니다. MitM 테스트는 실제 환경에서 시스템의 견고성을 평가하기 위해 손상된 프레임 체크 시퀀스 (FCS)와 같은 변형을 포함한 실시간 트래픽을 활성화하여 이 간격을 해결합니다. 이 기능은 이더넷이 시간에 민감하고 안전에 중요한 어플리케이션을 지원하는 현대 자동차에서 매우 중요합니다.
차량이 더욱 연결되고, 독립적으로, 소프트웨어로 정의되면 자동차 이더넷이 차량 내 통신의 기둥이 되게 됩니다. 첨단 운전자 지원 시스템 (ADAS)에서 인포테인먼트, 차량 대 모든 것 (V2X)에 이르기까지 자동차 이더넷은 점점 복잡해지는 전자 제어 장치 (ECU) 간 고속, 저지연 데이터 교환을 가능하게 합니다.
그러나 기존의 검증 방법은 소프트웨어 잠금, 타이밍 문제, 예기치 않은 동작으로 이어질 수 있는 하위 레벨 통신 결함을 무시하는 경우가 많습니다. 이 기술 백서에서는 자동차 이더넷 네트워크의 견고성을 검증하고 숨겨진 문제를 파악하는 강력한 기법인 Man-in-the-Middle (MitM) 테스트를 소개합니다.
모듈형 NI 하드웨어 플랫폼(특히 NI PXIe-6592(MitM 및 Personality/Sim-DUT 모두 사용)을 활용하면 엔지니어는 실제 오류를 시뮬레이션하고, 트래픽을 주입하고, ECU 응답을 정밀하게 모니터할 수 있습니다.
MitM 테스트는 두 통신 디바이스(일반적으로 ECU 또는 게이트웨이) 사이에 프로그램 가능한 테스트 시스템을 삽입하여 MAC 계층의 네트워크 트래픽을 절편하고, 조작하고, 분석합니다. 수동 모니터링과는 달리 MitM은 엔지니어가 실시간 트래픽을 조작할 수 있도록 해주며, 오류 허용오차 및 에러 핸들링 메커니즘을 검증하기 위해 컨트롤 중단 기능을 도입합니다.
그림 1: MitM 아키텍처 다이어그램
기존의 NIC는 유효하지 않은 프레임을 버리고, 결함 입력을 불가능하게 합니다. PXIe-6592 고속 시리얼 모듈은 운영 체제(OS) 및 네트워크 인터페이스 카드(NIC) 계층을 우회하여 유효한 또는 손상된 이더넷 프레임에 직접 액세스할 수 있습니다. 마이크로초 지연과 마이크로초 미만 타임스탬프 정확도를 제공합니다. 엔지니어는 FCS를 깨트리고, 파일 또는 라이브 소스로부터 트래픽을 주입하고, TC10 휴면/가동 준비 명령을 트리거하고, 트래픽을 PCAP (Packet Capture) 파일로 로그하고, Google gRPC (Remote Procedure Call) 어플리케이션 프로그래밍 인터페이스 (API)를 사용하여 테스트를 자동화할 수 있습니다.
그림 2: MitM 워크플로 다이어그램
NI 모듈형 플랫폼은 자동차 이더넷 트래픽을 높은 성능과 타이밍 결정성으로 컨트롤하도록 설계되어, 스케일에서 수동(man-in-the-middle) 테스트를 가능하게 합니다. 기존의 NIC 기반 솔루션과 달리, 이 플랫폼은 FPGA 레벨의 유연성을 PXI의 동기화 및 확장성과 결함 삽입, 타이밍 분석, 프로토콜 검증에 이상적입니다. 시스템의 핵심에는 리얼타임 프레임 조작을 위한 특수 하드웨어와 자동화, 원격 컨트롤, 딥 패킷 검사를 지원하는 소프트웨어 스택이 통합되어 있습니다.
하드웨어: 100/1000BASE-T1 및 기타 이더넷 배리언트를 지원하는 4개의 SFP 포트가 있는 PXIe-6592.
소프트웨어: 자동화 및 패킷 분석을 위한 PCAP 통합을 위한 NI LabVIEW 및 gRPC API.
자동차 이더넷을 위한 MitM 테스트에서는 엔지니어가 MAC 계층에서 네트워크 트래픽을 조작하고 분석하는 방법을 정의하는 두 가지 핵심 기능이 있습니다.
이러한 기능을 함께 사용하면 엔지니어가 기존의 NIC 또는 수동 모니터링을 사용할 수 없는 다양한 시나리오에서 현장 문제를 재현하고, 제어된 결함을 주입하고, 안정성을 검증할 수 있습니다.
각각의 기능을 분석해 봅시다.
다음 그림은 FCS 브레이크 기능(빨간색 사각형)이 적용되는 위치를 보여줍니다. 포트 0의 수집된 트래픽은 FCS 브레이크 기능에 전달되고, 수정된 트래픽은 믹서에 전달됩니다.
그림 3: MitM FCS 브레이크 기능 위치
MitM은 여러 FCS 조작 모드를 지원합니다. 이러한 모드는 Wireshark®*에 로드된 PCAP 파일로 설명되며 일부 스크린 캡처는 부록 A에서 확인할 수 있습니다.
그림 4는 FPGA가 들어오는 트래픽에 FCS 브레이크 셋팅을 적용하는 방법을 보여줍니다.
그림 4: FCS 브레이크 FPGA 알고리즘
MitM은 다음 두 가지 주입 방법을 지원합니다.
스트레스 테스트를 위해 프레임을 생성하는 프레임 생성기(DMA)와 Port 1의 실시간 트래픽과 생성된 프레임을 혼합하는 Port Injection을 사용합니다.
주입된 트래픽은 FCS 수정 프레임과 결합되어 현실적인 네트워크 조건을 시뮬레이션합니다. 그림 5의 빨간색 사각형은 주입 경로를 나타냅니다.
그림 5: 주사
프레임 생성기(DMA) 주입 방법에 대한 테스트 조건과 결과를 자세히 설명하는 부록 B.
두 번째 PXIe-6592를 사용하여 MitM을 테스트합니다. 이는 “Sim/DUT”이라는 다른 FPGA 기능을 실행합니다.
그림 6: 테스트 설정이 있는 MitM (Sim/DUT)
필드 문제를 특정 손상된 프레임 또는 타이밍 비정상으로 추적할 때, MitM 테스트는 결함 시나리오를 타이밍 결정성이 높은 형태로 나타냅니다. 따라서 엔지니어는 다음을 수행할 수 있습니다.
MitM 시스템은 실수 및 시뮬레이션 트래픽을 모두 혼합하는 많은 양의 트래픽을 주입하여 이더넷 버스에 컨트롤된 포화 기능을 제공하므로 엔지니어는 다음과 같은 기능을 수행할 수 있습니다.
전기 자동차의 경우, TC10 프로토콜은 활성 상태와 저전력 상태 사이의 전환을 지정합니다. MitM 테스트는 다음과 같이 규정 준수 및 안정성을 보장합니다.
이더넷 검증을 위해 MitM 시스템을 채택하면 자동차 네트워크의 테스트 및 보증이 크게 발전했습니다. 이러한 솔루션은 트래픽 입력, 오류 시뮬레이션, 프로토콜 검증을 정확하게 제어하여 엔지니어가 실제 네트워크 조건을 재생성하고, ECU 동작을 철저하게 평가하고, 엄격한 업계 요구사항을 준수하는지 확인할 수 있도록 지원합니다. 완전한 버스 부하에서 스트레스 테스트 및 엄격한 휴면/휴면 프로토콜 검증은 대역폭, 지연, 전력 관리와 같은 중요한 파라미터를 측정할 뿐만 아니라 안전성과 안정성을 최적화할 수 있도록 합니다. 병목 식별, 타이밍 위반 및 불완전한 조건에 대한 내구성 기능을 통해 차세대 전기 및 연결형 차량을 개발할 수 있습니다.
자동차 이더넷이 계속 발전함에 따라, FPGA 기반 하드웨어와 유연하고 자동화된 소프트웨어와 같은 고급 검증 도구의 통합은 OEM 및 Tier 1 공급업체에 필수적입니다. 이러한 기술은 개발 과정을 간소화할 뿐만 아니라 자동차 안전성, 연결성, 효율성에 대한 표준을 높입니다. 향후 현실적인 테스트에 근거한 포괄적인 검증 전략은 점점 복잡해지는 차량 아키텍처의 요구 사항을 충족하고 미래의 이동성 솔루션의 원활한 작동을 보장하는데 매우 중요합니다.
이 섹션에서는 MitM과 함께 사용할 수 있는 다양한 FCS 브레이크 모드를 설명합니다.
참고: 다음 스크린샷 예제에서 Wireshark®은 다음과 같이 사용됩니다.
모두 활성화 모드에서, 모든 프레임의 FCS가 깨집니다.
그림 7: 모든 활성화 FCS 브레이크 모드 모든 활성화 FCS 브레이크 모드 – 캡처된 모든 이더넷 프레임은 MitM 손상으로 인해 유효하지 않은 FCS를 표시합니다.
모두 비활성화 모드에서, 프레임의 FCS가 깨지지 않은 경우는 아무도 없습니다.
그림 8: 모든 비활성화 FCS 브레이크 모드 – 모든 프레임에서 정상적인 이더넷 트래픽을 표시하는 와이어슈크 캡처
이 예에서 블록 크기는 20 프레임입니다. 이는 블록(10 프레임)의 50%의 FCS가 깨지고 나머지 (10 프레임)의 FCS가 손상되지 않았음을 의미합니다.
그림 9: 사이클 50% FCS 브레이크 모드 – 각 블록의 프레임의 절반은 FCS가 깨졌고, 절반은 유효합니다.
이 예에서 다른 모든 프레임의 FCS가 깨져 있습니다.
그림 10: N-Cycle 50% FCS 브레이크 모드 – 다른 모든 이더넷 프레임에서 FCS가 의도적으로 깨집니다.
이 모드에서 블록 크기는 100 프레임이고 사용자가 전달하는 퍼센트는 80입니다. 이는 블록의 80 퍼센트(80 프레임)의 FCS가 깨지고 나머지 20 프레임의 FCS가 손상되지 않았음을 의미하며, 이를 반복합니다.
그림 11: % (%) FCS 브레이크 모드 – 프레임의 80%가 의도적으로 FCS를 깨고 20%가 유효한 100 프레임의 반복 블록.
이 예에서는 사용자가 블록 크기(최대 8,192)를 정의하고, 임의의 값(참 또는 거짓)이 합성되어 프레임 FCS가 깨졌을 때 사용됩니다. 그런 다음 반복됩니다.
그림 12: 난수 FCS 브레이크 모드 – 이더넷 프레임의 FCS는 사용자 정의 블록 크기 내에서 임의의 패턴에 따라 분리되고 주기적으로 반복됩니다.
이 섹션에서는 주입(프레임 생성기(DMA))의 사용을 설명합니다.
이는 1 Gb/s에서의 테스트 결과입니다.
MitM Rx만 있습니다. 그림 13은 스트림과 시간을 보여줍니다. 각 막대의 폭은 스트림 크기에 비례합니다.
그림 13: 테스트 결과 – 1단계(MitM Rx의 경우) – 스트림 작동 시간 경과에 따라 막대 폭이 상대 스트림 크기를 나타냅니다.
그림 14는 100 μs 주기에서 발생하는 20개 스트림의 각 블록을 보여줍니다. 동일한 결과입니다. 한 주기 동안 확대되었습니다.
그림 14: 테스트 결과 – 1단계(축소 보기) – 순차적으로 출력되는 20개의 수신 스트림 블록을 보여주는 100 μs 주기의 축소된 뷰.
두 개의 연속적인 스트림의 시작 시간 사이에 4 μs가 소요됩니다.
그림 15는 위상 1 동안의 데이터의 일부를 보여줍니다. 각 스트림의 주기의 평균, 주기의 표준편차(초) 및 분산(s2)을 계산합니다. 여기서는 MAC 소스의 00:2F:80:17:29:68 데이터만 보입니다. 프레임 생성기가 아직 실행 중이 아닙니다.
그림 15: 테스트 결과 1단계 부분: MAC의 스트림당 주기 통계(평균, σ, σ2) 00:2F:80:17:29:68; 프레임 생성기가 꺼져 있습니다.
또 다른 흥미로운 측정은 두 개의 연속적인 스트림 사이의 시간입니다. 그림 16은 결합된 주기의 그래프를 보여줍니다. 4 μs를 예상합니다.
그림 16: 테스트 결과 1단계: 주기가 결합된 스트림 간 시간, 연속 스트림 사이의 ~4 μs.
이 단계에서는 MitM Rx와 프레임 생성기의 트래픽이 모두 발생합니다. 그림 17에서는 서로 다른 트래픽 소스의 서로 다른 스트림을 볼 수 있습니다.
그림 17: 테스트 결과 – 2단계 – 시간 경과에 따른 스트림으로 여러 소스의 MitM Rx 트래픽과 프레임 생성기 트래픽을 동시에 표시합니다.
일반 막대의 플롯은 MitM Rx의 플롯입니다 (MAC 소스는 다음과 같습니다: 00:2F:80:17:29:68). 다른 것(일반적인 것은 아님)은 주입(프레임 생성기)의 것이며, MAC 소스는 다음과 같습니다: 00:2F:80:11:25:34.MitM Rx에서 오는 트래픽은 주입 트래픽보다 우선순위를 갖습니다. 따라서 MitM Rx와 Injection이 모두 프레임을 가지는 경우, MitM Rx의 프레임은 우선순위를 가집니다.
주입 트래픽은 다음과 같은 예제 상황에서 MitM Rx 트래픽 타이밍에 영향을 줄 수 있습니다: 혼합기에서, 주입된 MitM Rx의 프레임이 전송되지 않고 주입된 프레임이 전송되는 경우, 주입 프레임이 전송됩니다. MitM Rx를 주사할 때 사용할 수 있는 경우, 이 Rx의 방출은 시간에 따라 지연됩니다. 이 단계에서 스트림 사이의 시간을 확인할 수 있습니다. 이론적으로는 4 μs입니다.
그림 18: 테스트 결과 – Phase 2 Inter‐Stream Timing – MitM Rx가 우선순위를 갖는 반면, 주입 트래픽이 믹서를 차지할 때 지연된 MitM Rx 프레임을 보여주는 Inter‐Stream 시간.
테스트 중 스트림 통계를 살펴보고 평균이 100 μs에 남아있는 경우, 표준편차(위상 1)와 비교하여 타이밍에 미치는 영향도 볼 수 있습니다.
그림 19: 테스트 결과 – 2단계 스트림 통계 – 평균 스트림 주기는 100 μs로 유지되지만, 표준 편차가 증가하면 동시 주입 트래픽으로 인한 타이밍 변동이 강조됩니다.
이 단계에서는 프레임 생성기에서만 트래픽이 생성됩니다. MAC 소스는 00:2F:80:11:25:34.
그림 20: 테스트 결과 – 3단계 – MAC의 프레임 생성기 트래픽만 표시하는 스트림 동작 시간 경과. 00:2F:80:11:25:34.
위상 3 트래픽의 개요에 따라, 이제 더 작은 시간 윈도우를 확대하여 MitM Rx 트래픽이 없을 때 개별 프레임 생성기 스트림의 시간 분포를 하이라이트합니다.
그림 21: 테스트 결과 – Phase 3 (Zoomed View) – 시간 경과에 따라 프레임 생성기 스트림을 확대하여 MitM Rx 간섭 없이 일관된 스트림 간격을 보여줍니다.
시간 영역 시각화 외에, 프레임 간 통계는 프레임 생성기 트래픽만 존재할 때 타이밍 동작에 대한 더 자세한 정보를 제공하며, MitM Rx 간섭이 없을 때 안정적인 전송 간격과 낮은 지터를 확인합니다.
그림 22: 테스트 결과 – 3단계 프레임 간 통계 – 3단계 동안의 주입 전용 트래픽에 대한 스트림 간 프레임 간 타이밍 메트릭.
결론적으로, 모든 위상에서 통계를 집계하여 모든 스트림에서 전체 처리량과 타이밍 안정성을 평가합니다.
그림 23: 전체 테스트 통계 – 총 1,200,000개의 프레임이 수집되었으며, 스트림당 30,000개의 프레임에 해당합니다.
마지막으로, 전체 테스트에서 글로벌 스트림 사이의 타이밍을 살펴보고 활성화된 MitM 수신 트래픽(위상 1과 위상 2)의 위상과 주입 전용 트래픽의 위상의 시스템 동작을 비교하여 동시 소스가 전체 타이밍 특성에 어떤 영향을 미치는지 보여줍니다.
그림 24: 위상 1 동안 평평한 ~4 μs 간격과 위상 2 동안의 증가된 타이밍 변동을 보여주는 글로벌 스트림 간 시간 플롯으로, 주입 전용 위상 3에서는 스트림 간 데이터가 보이지 않습니다.
*Wireshark®은 Wireshark Foundation의 등록 상표입니다. 이 문서는 Wireshark Foundation과 연계되어 있지 않으며, Wireshark Foundation에 의해 승인되거나, 지원되지 않습니다. *Wireshark®에 대한 모든 참조는 정보용입니다. 공식 정보와 자료는 https://www.wireshark.org를 방문하십시오.