Communication Errors and Handling of Communication Errors

  • When considering the transport of RPC messages different reliability semantics exist:
    通信错误和通信错误的处理在考虑RPC消息的传输时,存在不同的可靠性语义:
    • Maybe — the message might reach the communication partner  
    也许 – 消息可能会传达给通信伙伴
    • At least once — the message reaches the communication partner at least once
    至少一次 – 消息至少到达通信伙伴一次
    • Exactly once — the message reaches the communication partner exactly once
    恰好一次 – 消息恰好一次到达通信伙伴
  • When using these terms in regard to Request/Response the term applies to both messages (i.e. request and response or error).
    在请求/响应方面使用这些术语时,该术语适用于两种消息(即请求和响应或错误)。
  • While different implementations may implement different approaches, SOME/IP currently achieves “maybe” reliability when using the UDP binding and “exactly once” reliability when using the TCP binding. Further error handling is left to the application.
    虽然不同的实现可以使用不同的方法,但是当使用UDP绑定时SOME / IP当前实现“可能”可靠性并且在使用TCP绑定时“完全一次”可靠性。 进一步的错误处理留给应用程序。
  • For “maybe” reliability, only a single timeout is needed, when using request/response communication in combination of UDP as transport protocol. Following figure shows the state machines for “maybe” reliability. The client’s SOME/IP implementation has to wait for the response for a specified timeout. If the timeout occurs SOME/IP shall signal E_TIMEOUT to the client application.
    对于“可能”的可靠性,当使用UDP作为传输协议的请求/响应通信时,仅需要单个超时。 下图显示了“可能”可靠性的状态机。客户端的SOME / IP实现必须等待指定超时的响应。 如果发生超时,SOME / IP将向客户端应用程序发送E_TIMEOUT信号。
  • For “exactly once” reliability the TCP binding may be used, since TCP was defined to allow for reliable communication.
    对于“恰好一次”可靠性,可以使用TCP绑定,因为TCP被定义为允许可靠的通信。
  • Additional mechanisms to reach higher reliability may be implemented in the application or in a SOME/IP implementation. Keep in mind that the communication does not have to implement these features. Following slide describes such optional reliability mechanisms.
    可以在应用程序或SOME / IP实现中实现达到更高可靠性的其他机制。 请记住,通信不必实现这些功能。 下一页描述了这种可选的可靠性机制。