  Service discovery is a crucial component in today's massively distributed
applications. In this paper, we propose NDNSD -- a fully distributed and
general-purpose service discovery protocol for Named Data Networking (NDN). By
leveraging NDN's data synchronization capability, NDNSD offers a high-level API
for service publishing and discovery. We present NDNSD's main design features
including hierarchical naming, service information specification, and service
accessibility. %and illustrate the design with a use case. We also implemented
two other discovery schemes, one reactive and one proactive, and compared them
with NDNSD. Our evaluation shows that NDNSD achieves (a) lower latency, lower
overhead, and same reliability compared to the reactive scheme, and (b)
comparable latency, lower overhead at larger scale, and higher reliability
compared to the proactive scheme.
