일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 정보보안기사 위험분석 정리
- AWS 리전이란?
- openvpnconnect
- 정보보안기사
- tlu.dl
- ms트래픽문제
- AWS AZ
- iso http통신
- AWS 용어
- DVWA 환경구성
- AWS 가용 영역
- metasploit_series
- 정보보안
- windows트래픽
- 정보보안기사 데이터베이스
- 데이터베이스 보안 정리
- 정보보안기사 전자지불 시스템
- 위험분석 관리
- DVWA 설치
- 보안뉴스
- 게시글 복사 방법
- Risk Analysis
- 취약점
- javascript끄기
- 전자금융_취약점
- elasticsearch
- 티스토리 오류 수정
- AWS SA Series
- openvpn error
- xz-utils
- Today
- Total
ARTIFEX ;)
CAN Network에 대한 간단한 설명 (이동) 본문
CAN Network에 대한 간단한 설명 (이동)
Artifex_Ethan_ 2024. 4. 24. 13:02CAN Network
CAN
CAN(Controller Area Network)이란, 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격.
차량 내 *ECU(Electronic control unit)들은 CAN 프로토콜을 사용하여 통신한다. 초기에는 차량 네트워크용으로 개발되었으나 최근에는 차량뿐만 아니라 산업 전 분야에 폭넓게 적용되고 있으며, 기본적인 시스템 구성은 아래와 같다.
CAN 특징
메시지 프로토콜
CAN은 노드의 주소에 의해 데이터가 교환되는 것이 아니라 메시지의 우선순위에 따라 ID(IDentifier)를 할당하고, 이 ID를 이용해 메시지를 구별하는 방식을 사용한다. 즉, 임의의 한 노드 A가 메시지를 전송했다면, A를 제외한 나머지 노드들은 A가 전송한 메시지가 자신에게 필요한 메시지인지를 판단(ID기반 판단)한다. 자신에게 필요하다면 받아들이고, 아니라면 무시한다.
보완적인 에러 감지 메커니즘
CAN은 다양한 에러 감지 메커니즘이 상호 보완적으로 에러를 감지하기 때문에 높은 안정성을 보장하며, 메시지 전송 시, 에러가 감지되면 자동적으로 해당 메시지를 즉시 재전송하는 기능이 있기 때문에 다른 프로토콜에 비해 에러 회복 시간이 짧다.
1.2.3 멀티 마스터 능력
CAN을 기반으로 한 네트워크에는 BUS를 점유하기 위한 감독자 노드(Bus Master)의 필요가 없다. 즉 모든 노드가 버스 마스터가 되어 버스가 비어 있을 때(idle)라면 언제든지 메시지 전송이 가능.
모든 노드는 버스가 비워지는 즉시 메시지 전송을 시작한다. 만약 CAN 버스에서 두 개의 노드에서 메시지를 동시에 전송하려고 하더라도, 우선순위(식별자, ID)에 따라 각각 전송이 된다. 즉 우선순위가 높은 메시지(이 때, 더 낮은 ID 번호가 더 높은 우선순위를 가짐)가 먼저 전송이 된다.
결점 있는 노드의 감지와 비활성화
CAN은 버스의 상태를 항상 모니터링하기 때문에 실시간으로 결함이 있는 노드를 감지해 해당 노드를 비활성화함으로써 네트워크의 신뢰성을 보장.
전기적 노이즈에 강함
꼬인 2선(Twist Pair Wire, *CAN_H, CAN_L)을 이용하여 전기적으로 차별되는 통신을 하여 전기적 노이즈에 매우 강하다.
저렴한 가격 및 구성의 용이성
현재 수십 개의 반도체 제조업체가 다양한 CAN 컨트롤러와 트랜시버를 개발 및 판매하고 있어 가격이 저렴하고 조달이 용이한 장점이 있다.
CAN Network 동작 원리
CAN BUS 네트워크 동작원리
CAN은 다중통신망(Multi Master Network)이며, CSMA/CD+AMP(Carrier Sense Multiple Access/Collision Detection with Arbitration on Message Priority) 방식을 이용한다.
먼저 CAN 노드에 메시지를 보내기 전에 CAN 버스 라인이 사용 중인지를 파악한다. 또한 메시지 간 충돌 검출을 수행합니다. 이 때 어떠한 노드로부터 보내진 메시지는 송신 측이나 수신 측의 주소를 포함하지 않는다. 즉 주소지정방식으로 통신하지 않는다. 대신 메시지의 처음 부분에 CAN 네트워크 상에서 각각의 노드를 식별할 수 있도록 각 노드마다 유일한 식별자(ID-11bits 또는 29bits)를 가지고 있다.
네트워크 상에 연결된 모든 노드는 네트워크 상에 있는 메시지를 수신한 후 자신이 필요로 하는 식별자의 메시지인 경우에만 받아들이고, 그렇지 않은 경우의 메시지는 무시한다.
네트워크 상(CAN 통신 라인)에 흘러 다니는 여러 노드의 데이터들이 동시에 사용자가 필요로 하는 노드로 유입되는 경우에는 식별자의 숫자를 비교하여 먼저 받아들일 메시지의 우선순위를 정하는데, 식별자의 숫자가 낮을수록 우선순위가 높다.
우선순위가 높은 메시지가 CAN 버스의 사용 권한을 보장 받으며, 이때 낮은 순위의 메시지는 자동적으로 다음 버스 사이클에 재전송이 되도록 한다.
각 CAN 메시지는 11비트의 식별자(CAN 2.0A), 또는 29비트의 식별자(CAN 2.0B)를 가지며, CAN 메시지의 맨 처음 시작 부분에 위치(그림 3 참조)한다. 이러한 식별자는 메시지의 형태를 식별 시켜 주는 역할과 메시지에 우선순위를 부여하는 역할을 한다.
정리
배선의 증가로 인한 여러 문제점을 해결하기 위해 CAN 등장
하나의 CAN BUS 네트워크에 여러 ECU들이 연결되어 있음
CAN BUS 네트워크를 통해 각 노드(ECU)들은 서로 메시지를 주고받음
메시지의 우선순위에 따라 할당된 유일한 식별자(ID)를 이용해 메시지를 구별함
CAN BUS 네트워크에 두 개의 노드에서 메시지가 동시에 전송되려고 할 때, 더 높은 우선순위(더 낮은 ID번호)를 가진 노드의 메시지가 먼저 전송됨
'# Security > Vehicle | IACS | OT (Supply) Security' 카테고리의 다른 글
[ISO/SAE 21434] Distributed Cybersecurity Activities 7.4.3 (0) | 2024.04.24 |
---|---|
# About The ISO/SAE 21434 (0) | 2024.04.24 |