Bonjour supports _nfs._tcp. Complete list here:
https://developer.apple.com/library/content/qa/qa1312/_index.html
I wrote a tiny SSDP library, but as you said upnp doesn't (normally) do nfs.
libmicrossdp :( $ ./a.out
Discovered 13 devices:
'urn:schemas-upnp-org:device:Printer:1' - 'http://192.168.1.144:5200/Printer.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
'239.255.255.250:1900' - 'http://192.168.1.136:80/description.xml'
Unfortunately everyone has their own "standard" and consensus of something so fundamental was never reached. Anything we do in terms of automatic location of local network resources will likely need to be an aggregation of multiple inputs.
- nfs - Bonjour / mDNS
- iscsi - iSCSI Discovery