Automotive Software
SOME/IP - SD (Service Discovery, 서비스 탐색 프로토콜) 본문
원격지상의 서비스 호출 또는 이벤트 정보 수신을 위해 고안된 SOME/IP 프로토콜은 유니캐스트 어드레싱(Unicast Addressing)을 통해 효율적인 네트워크 대역관리가 지원되는 이더넷 환경에서 구현되지만, 데이터 송신 시 스위치가 유니캐스트를 통해 전달될 경로(송신자와 수신자의 연결 경로)를 알지 못한다면 이는 통신 데이터의 손실 및 추가 부하를 야기하게 된다.
이를 보완하기 위해 2012년 오토사 버전 4.1 이후에서는 SOME/IP 기반에서 필요/제공 서비스를 탐색할 수 있는 프로토콜 (Service Discovery)을 지원하고 있는데 이는 크게,
- 서비스 탐색 : 서비스 인스턴스별 주소와 포트넘버를 정의하여 서비스의 존재여부 공시
- 서비스 발행/구독 : 서비스 상세 내역 발행 및 구독 관리
의 기능을 제공하기 위한 요구사항을 기술하고 있으며, SOME/IP - SD 메시지는 기본적으로 SoAd (SocketAdaptor)과 SD (Service Discovery) 모듈에서 관련 메세지 여부를 나누어 확인한다.
- SoAd : SoAd PDU Header ID & Length를 통해 SOME/IP 포맷의 Message ID & Length 처리
- SD : Request ID 이후 처리
서비스 탐색 프로토콜에서는 서버가 제공가능 (또는 클라이언트가 필요로 하는) 서비스의 리스트를 우선 멀티캐스트 메시지로 공시 (Offer / Find Serivce) 한 후, 서비스를 희망하는 클라이언트(또는 서버)와 유니캐스트로 발행/구독 (Serivce Subscription) 그리고 서비스 관련 메시지를 교환함으로써, 불필요한 네트워크 메시지 수신으로 인한 제어기(ECU) 내의 부하를 줄이고 차량 내 전체 네트워크 대역폭의 효율성을 높이는 효과를 기대할 수 있게 된다.
Service Discovery는 어떻게 동작하는지?
상기 그림에서는 서버가 제공 가능한 이벤트 서비스를 공시하고 해당 서비스를 필요로 하는 클라이언트가 가입하는 절차를 예시로 나타내었다.
- Offer Service
- Servivce Discovery 형식
- 서버가 제공 가능한 서비스 공시
- IP 주소 : 멀티캐스트, 주소 내 모든 클라이언트가 서비스 인지할 수 있도록
- 포트 : 30490
- 옵션 : 서비스가 실제 제공될 유니캐스트 주소(IP, 포트) 공시
- Subscribe Event Group
- Servivce Discovery 형식
- 클라이언트가 필요한 서비스 가입
- IP 주소 : 유니캐스트, 서비스가 필요한 클라이언트만 가입
- 포트 : 30490
- 옵션 : 서비스를 수신하고자 하는 유니캐스트 주소(IP, 포트) 전달
- Servivce Discovery 형식
- Subscribe Event Group Ack
- Servivce Discovery 형식
- 서버가 클라이언트 가입 확인
- IP 주소 : 유니캐스트, 서비스가 필요한 클라이언트에만 확인
- 포트 : 30490
- Event
- SOME/IP 형식
- 서버가 해당 서비스 제공
- IP 주소 : 유니캐스트, Offer Service, Subscribe Event Group에서 교환한 주소
- 포트 : Offer Service, Subscribe Event Group에서 교환한 주소
'오토사 (AUTOSAR)' 카테고리의 다른 글
SOME/IP - SD 헤더 포맷 (1) | 2024.02.13 |
---|---|
나의 오토사 (AUTOSAR) 이야기 (0) | 2020.09.17 |