TC8:SOMEIP_ETS_130测试用例解析
单独把TC8 SOME/IP一致性测试用例中SOMEIP_ETS_130拿出来讨论是因为它涉及SOME/IP协议中Find Service报文和Offer Service报文的传播方式,SD报头中Unicast flag标志位含义,鲁棒性等。
SOMEIP_ETS_130测试用例的名称为:SD_Multicast_FindService_with_unicast_Flag_to_0。测试目的为:DUT接收到一条组播FindService请求,其单播标志位设为0;预期DUT应忽略该标志,并以单播OfferService消息作为响应。
如果要理解测试目的,首先就需要了解单播标志位unicast flag字段的作用是什么?
在以SOME/IP为中间件的SOA服务中,客户端与服务器之间的服务发现是动态的。客户端有两种方式/机制来发现服务器能提供的服务有哪些。
- 服务器里的服务准备好后,SD将通过发送多播OfferService报文通知局域网内的所有客户端它所支持的服务和服务实例有哪些。
- 客户端主动发送多播或单播FindService报文给局域网内的服务器寻找已准备好的服务和服务实例。
服务器发送OfferService报文时如果是主动的,那么通常采用多播且循环的方式告知子网内的所有主机节点。客户端收到服务已准备好的信息后,就不会再发送这些服务的FindService报文。
如果客户端没有收到服务已准备好的信息,就会发送FindService报文主动询问,发送的次数是可设定的。当服务器收到FindService报文后,就把客户端询问的的服务通过OfferService报文进行回复