Automotive Software

SOME/IP - SD (Service Discovery, 서비스 탐색 프로토콜) 본문

오토사 (AUTOSAR)

SOME/IP - SD (Service Discovery, 서비스 탐색 프로토콜)

AutoSW 2024. 2. 5. 20:15

원격지상의 서비스 호출 또는 이벤트 정보 수신을 위해 고안된 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는 어떻게 동작하는지?

상기 그림에서는 서버가 제공 가능한 이벤트 서비스를 공시하고 해당 서비스를 필요로 하는 클라이언트가 가입하는 절차를 예시로 나타내었다.

  1. Offer Service
    • Servivce Discovery 형식
    • 서버가 제공 가능한 서비스 공시
    • IP 주소 : 멀티캐스트, 주소 내 모든 클라이언트가 서비스 인지할 수 있도록
    • 포트 : 30490
    • 옵션 : 서비스가 실제 제공될 유니캐스트 주소(IP, 포트) 공시
  2. Subscribe Event Group
    • Servivce Discovery 형식
    • 클라이언트가 필요한 서비스 가입
    • IP 주소 : 유니캐스트, 서비스가 필요한 클라이언트만 가입
    • 포트 : 30490
    • 옵션 : 서비스를 수신하고자 하는 유니캐스트 주소(IP, 포트) 전달
  3. Subscribe Event Group Ack
    • Servivce Discovery 형식
    • 서버가 클라이언트 가입 확인
    • IP 주소 : 유니캐스트, 서비스가 필요한 클라이언트에만 확인
    • 포트 : 30490
  4. Event
    • SOME/IP 형식
    • 서버가 해당 서비스 제공
    • IP 주소 : 유니캐스트, Offer Service, Subscribe Event Group에서 교환한 주소
    • 포트 : Offer Service, Subscribe Event Group에서 교환한 주소

SOMEIP-SD_Example.pcap
0.06MB

 

'오토사 (AUTOSAR)' 카테고리의 다른 글

SOME/IP - SD 헤더 포맷  (1) 2024.02.13
나의 오토사 (AUTOSAR) 이야기  (0) 2020.09.17