I find the recent-ish net.app.protocol.name and net.app.protocol.version attributes confusing from the perspective of someone not deeply ingrained in 7-layer osi networking model.
I just want to make sure the extra complexity of these attributes is worth it, over the simpler net.protocol.name and net.protocol.version.
FWIW, ECS has network.protocol, which is defined as "Application Layer protocol":
In the OSI Model this would be the Application Layer protocol. For example, http, dns, or ssh.
The field value must be normalized to lowercase for querying.
type: keyword
example: http