What does mDNS stand for and what is its main purpose?
mDNS stands for Multicast Domain Name System. It helps devices on the same local network find each other without needing a central DNS server.
Click to reveal answer
intermediate
How does mDNS differ from traditional DNS?
Traditional DNS uses a central server to resolve names to IP addresses globally. mDNS works locally by sending queries to all devices on the local network using multicast.
Click to reveal answer
beginner
What is a common use case for mDNS in IoT devices?
IoT devices use mDNS to announce their presence and services on a local network, allowing apps or other devices to discover and connect to them easily without manual IP entry.
Click to reveal answer
intermediate
What network protocol does mDNS use to send queries and responses?
mDNS uses UDP (User Datagram Protocol) over multicast IP address 224.0.0.251 on port 5353 to send queries and responses.
Click to reveal answer
beginner
Why is mDNS considered zero-configuration networking?
Because devices using mDNS can automatically find and communicate with each other on a local network without needing manual setup like IP addresses or DNS servers.
Click to reveal answer
What IP address does mDNS use for multicast queries?
A224.0.0.251
B255.255.255.255
C192.168.1.1
D127.0.0.1
✗ Incorrect
mDNS uses the multicast IP 224.0.0.251 to send queries to all devices on the local network.
Which protocol does mDNS use to send messages?
ATCP
BHTTP
CUDP
DFTP
✗ Incorrect
mDNS uses UDP because it is faster and suitable for multicast communication.
What is the main benefit of using mDNS in IoT devices?
AGlobal internet access
BReducing power consumption
CEncrypting data
DAutomatic local device discovery
✗ Incorrect
mDNS allows devices to find each other automatically on the same local network.
mDNS is part of which larger networking concept?
AZero-configuration networking
BVirtual Private Network
CCloud computing
DFirewall configuration
✗ Incorrect
mDNS enables zero-configuration networking by removing the need for manual setup.
Which port number does mDNS use?
A443
B5353
C80
D22
✗ Incorrect
mDNS uses UDP port 5353 for sending and receiving multicast DNS messages.
Explain how mDNS helps devices discover each other on a local network.
Think about how devices talk to all others at once to find names.
You got /4 concepts.
Describe the role of UDP and multicast IP in mDNS communication.
Focus on how messages reach multiple devices quickly.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of mDNS in device discovery?
easy
A. To assign IP addresses to devices on the internet
B. To allow devices to find each other automatically on the same local network
C. To encrypt communication between devices
D. To connect devices over long distances using satellites
Solution
Step 1: Understand mDNS function
mDNS stands for multicast DNS and is used for local network device discovery without a central DNS server.
Step 2: Identify the correct purpose
It helps devices find each other automatically on the same local network using multicast messages and .local names.
Final Answer:
To allow devices to find each other automatically on the same local network -> Option B
Quick Check:
mDNS = local device discovery [OK]
Hint: mDNS is for local network device discovery only [OK]
Common Mistakes:
Confusing mDNS with DHCP for IP assignment
Thinking mDNS encrypts data
Assuming mDNS works over the internet
2. Which of the following is the correct syntax to query a device named printer.local using mDNS on a Linux terminal?
easy
A. mdns-query printer.local
B. mdns-scan printer.local
C. dnslookup printer.local
D. ping printer.local
Solution
Step 1: Identify common mDNS query commands
On Linux, mDNS names like printer.local can be resolved using standard commands like ping or avahi-resolve, but ping is simplest.
Step 2: Check command validity
Only ping printer.local is a valid and common way to test mDNS name resolution; others are not standard commands.
Final Answer:
ping printer.local -> Option D
Quick Check:
Use ping with .local names for mDNS queries [OK]
Hint: Use ping with .local names to test mDNS resolution [OK]
Common Mistakes:
Using non-existent commands like mdns-query
Confusing DNS lookup tools with mDNS
Forgetting the .local suffix
3. Given this Python snippet using zeroconf library to discover mDNS services, what will be printed if a device named 'lamp.local' is found?
from zeroconf import Zeroconf
zeroconf = Zeroconf()
services = zeroconf.get_service_info('_http._tcp.local.', 'lamp._http._tcp.local.')
if services:
print(services.server)
else:
print('No device found')
The get_service_info method returns a ServiceInfo object with a 'server' attribute that ends with a dot, e.g., 'lamp.local.'
Step 2: Analyze the print statement
If the device is found, services.server prints the full hostname with trailing dot, so output is 'lamp.local.'
Final Answer:
lamp.local. -> Option C
Quick Check:
zeroconf server attribute ends with dot [OK]
Hint: zeroconf server names end with a dot '.' [OK]
Common Mistakes:
Omitting the trailing dot in hostname
Confusing service type with hostname
Assuming no device found when device exists
4. You tried to discover devices using mDNS but got no results. Which of these is the most likely cause?
medium
A. The devices are on a different subnet without multicast routing
B. The devices have static IP addresses
C. The devices use HTTPS instead of HTTP
D. The devices have firewalls disabled
Solution
Step 1: Understand mDNS network scope
mDNS works only within the same local network segment (subnet) because multicast packets are not routed across subnets by default.
Step 2: Identify why no devices found
If devices are on a different subnet, mDNS queries won't reach them, causing no discovery results.
Final Answer:
The devices are on a different subnet without multicast routing -> Option A
Quick Check:
mDNS limited to local subnet without routing [OK]
Hint: mDNS only works within the same subnet [OK]
Common Mistakes:
Thinking static IPs block mDNS
Confusing protocol type with discovery issues
Assuming firewalls off always helps discovery
5. You want to set up a smart home device to be discoverable via mDNS with the name smartlight.local. Which configuration step is essential to ensure correct mDNS discovery?
hard
A. Configure the device to advertise its service using the mDNS protocol with the hostname smartlight.local
B. Assign a public IP address to the device
C. Disable multicast on the device's network interface
D. Set the device's DNS server to 8.8.8.8
Solution
Step 1: Understand mDNS advertisement
For a device to be discoverable via mDNS, it must broadcast its hostname and service on the local network using mDNS protocol.
Step 2: Identify correct configuration
Setting the device to advertise as smartlight.local via mDNS is essential; public IP or external DNS settings do not affect local mDNS discovery.
Final Answer:
Configure the device to advertise its service using the mDNS protocol with the hostname smartlight.local -> Option A
Quick Check:
mDNS requires local service advertisement [OK]
Hint: Device must advertise its mDNS hostname locally [OK]
Common Mistakes:
Assigning public IP instead of local mDNS name
Disabling multicast which breaks mDNS
Using external DNS servers for local discovery
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.