ALLJoyn-NS - AllJoyn Name Service ===================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is AllJoyn-NS?** **AllJoyn-NS** stands for **AllJoyn Name Service**. It is a core component of the AllJoyn framework responsible for **device and service discovery** on a local network. It enables devices to **advertise their presence** and **discover other devices** using **human-readable names**, without requiring manual IP address configuration. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is AllJoyn-NS useful?** * **Service discovery** – Devices can automatically find each other without manual setup. * **Dynamic networking** – Supports environments where devices frequently join or leave the network. * **Interoperability** – Enables communication between devices from different vendors. * **Simplified addressing** – Uses friendly names instead of raw IP or MAC addresses. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** * **Device joins the network** – Registers a well-known name (e.g., `org.alljoyn.sample.chat`) with the AllJoyn Name Service. * **Name is advertised** – The name is broadcast on the local network. * **Other devices resolve the name** – Clients look up the service using its advertised name. * **Communication begins** – Devices establish a session and start interacting using the AllJoyn messaging system. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is AllJoyn-NS used?** * **Smart home ecosystems** – Lights, thermostats, appliances. * **IoT environments** – For peer discovery in dynamic device networks. * **Consumer electronics** – TVs, speakers, and mobile devices with AllJoyn support. * **Cross-platform applications** – Android, Windows, Linux, and more. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** * Operates at the **Application Layer (Layer 7)**. * Provides **naming and discovery services** to applications. * Abstracts lower-layer details (e.g., IP, transport) to simplify development. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is AllJoyn-NS Windows-specific?** * No, AllJoyn-NS is **not Windows-specific**. * It is a **cross-platform** protocol supported on Windows, Linux, Android, and other systems. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is AllJoyn-NS Linux-specific?** * No, AllJoyn-NS is **not Linux-specific**. * It supports **multiple operating systems**, including Linux, Windows, and Android. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by AllJoyn-NS?** AllJoyn-NS uses both: * **TCP** – For reliable communication. * **UDP** – For lightweight service discovery broadcasts. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by AllJoyn-NS?** * AllJoyn-NS typically uses **dynamically negotiated ports**. * It does **not rely on a fixed port**, allowing flexible deployment across networks. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is AllJoyn-NS using the client-server model?** * Yes, AllJoyn-NS follows a **client-server model**. * **Clients** register and resolve services, while **servers** advertise and respond to discovery requests. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`ALLJoyn_NS Version&RFC Details ` * :ref:`ALLJoyn_NS Basic Setup on Ubuntu using IPv4 ` * :ref:`ALLJoyn_NS Basic Setup on Ubuntu using IPv6 ` * :ref:`ALLJoyn_NS Protocol Packet Details ` * :ref:`ALLJoyn_NS Usecases ` * :ref:`ALLJoyn_NS Basic Features ` * :ref:`ALLJoyn_NS Feature : UDP-Based Discovery ` * :ref:`ALLJoyn_NS Feature : Name Advertisement ` * :ref:`ALLJoyn_NS Feature : Multicast and Unicast Support ` * :ref:`ALLJoyn_NS Feature : Platform Agnostic ` * :ref:`ALLJoyn_NS Feature : No Central Server Required ` * :ref:`ALLJoyn_NS Feature : Dynamic Service Resolution ` * :ref:`ALLJoyn_NS Feature : Integration with AllJoyn Router ` * :ref:`Reference links ` .. _ALLJoyn_NS_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _ALLJoyn_NS_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _ALLJoyn_NS_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _ALLJoyn_NS_step5: .. tab-set:: .. tab-item:: ALLJoyn_NS Version&RFC Details .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Version_RFC_details.csv :widths: 10,10,10,30 :header-rows: 1 .. _ALLJoyn_NS_step17: .. tab-set:: .. tab-item:: ALLJoyn_NS Basic Setup on Ubuntu using IPv4 * Setup .. _ALLJoyn_NS_step18: .. tab-set:: .. tab-item:: ALLJoyn_NS Basic Setup on Ubuntu using IPv6 * Setup .. _ALLJoyn_NS_step6: .. tab-set:: .. tab-item:: ALLJoyn_NS Protocol Packet Details **ALLJoyn_NS Is-At Packet** .. csv-table:: :file: ./ALLJoyn_NS/AllJoyn_NS_Packetdetails1.csv :widths: 10,20,30,10 :header-rows: 1 **ALLJoyn_NS Who-Has Packet** .. csv-table:: :file: ./ALLJoyn_NS/AllJoyn_NS_Packetdetails2.csv :widths: 10,20,30,10 :header-rows: 1 .. _ALLJoyn_NS_step7: .. tab-set:: .. tab-item:: ALLJoyn_NS Usecases .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Use_Cases.csv :widths: 10,20,30 :header-rows: 1 .. _ALLJoyn_NS_step8: .. tab-set:: .. tab-item:: ALLJoyn_NS Basic Features .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Basic_Features.csv :widths: 10,10,30 :header-rows: 1 .. _ALLJoyn_NS_step9: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : UDP-Based Discovery **UDP-Based Discovery - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature1_UDP_Based_Discovery_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step10: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : Name Advertisement **Name Advertisement - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature2_Name_Advertisement_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step11: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : Multicast and Unicast Support **Multicast and Unicast Support - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature3_Multicast_and_Unicast_Support_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step12: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : Platform Agnostic **Platform Agnostic - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature4_Platform_Agnostic_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step13: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : No Central Server Required **No Central Server Required - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature5_No_Central_Server_Required_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step14: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : Dynamic Service Resolution **Dynamic Service Resolution - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature6_Dynamic_Service_Resolution_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step15: .. tab-set:: .. tab-item:: ALLJoyn_NS Feature : Integration with AllJoyn Router **Integration with AllJoyn Router - Testcases** .. csv-table:: :file: ./ALLJoyn_NS/ALLJoyn_NS_Feature7_Integration_with_AllJoyn_Router_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _ALLJoyn_NS_step16: .. tab-set:: .. tab-item:: Reference links * Reference links