apple bonjour
TRANSCRIPT
Bonjour
1
Zero Configuration Networking
Agenda
Why Bonjour?
What is Bonjour?
How it works?
How Bonjour reduce overhead?
Bonjour API Architecture
Bonjour Operation
Conclusion
2
Why Bonjour?
Majority of Devices works on TCP/IP
One functionality was lost
Add device – connect it with others with little configuration
IP to work
Unique address (statically or dynamically assigned)
Most devices has to manually configured – lazy task – don’t know (don’t want to waste time)
Need simple way to discover services over IP network
Choose from the list – instead of going through knowing IP address and services
3
What is Bonjour?
Apple’s Zero-Configuration networking IP – part of IETF
(Internet Engineering Task Force)
Allows a single network protocol for Service Providers –
application Programmers
No need of assign IP addresses, host names – simply
choose service which are available in the list
More Powerful for applications – automatic detect and
interect
4
How it Works?
Proposed Solution
Addressing – allocating IP to host
Self assigned link local addressing – pool of addresses
IPV6 – reliable then IPV4
Naming – use Names instead of IP
mDNS – multicast queries (IP Multicast)
Include responder – mDNSResponder Daemon
Name to Address – unique name require (h/w manufactures or s/w
services)
5
Cont…
Service Discovery – discover services over n/w – automatically
Discover service and list it out – named services + port numbers
Accomplished by ‘browsing’- mDNS query is sent out (type &
domain) – matching services replies – available to choose
Centric idea of network Services – n/w servers
Queries – according to the service needed – application holds service
instance names - concentrating on services rather then device
6
How Bonjour reduce overhead?
Server Free Tasks – avoid unnecessary ‘chattiness’
Caching
Maintain records for requested services
multicastDNS responsible for this – free app developer
Suppression of Duplicate Responses
Host is about to respond service which is already responded –
leave it – free app developer
Exponential Back-off and Service Announcement
Not continuously request – on increase periodic interval
New service starts on n/w – announce t presense
7
Bonjour API Architecture
8
NSNet Service , NSNet ServiceBrowser
Part of Foundation Framework
Object oriented abstraction for SD – Publication
CFNetServices (Provide Core Foundation )
Style types and Functions
for managing Services
DNS-SD
Intermediate layer between your s/w & multicast DNS
responder
Bonjour Operation
3 fundamental operation
Publication – advertising/register a service
3 DNS records are recorded
SRV (Service) Record – maps the name of the Service (Host Name, Port
Number)
PTR (Pointer) Records – maps type of service with instance of type of
service
TXT (Text) Records – additional information of Service Instance
Discovery – browsing for available services
Perform query for PTR records – match with DNS records
(Publication Operation)
9
Cont…
Resolution – translating service in detail in the following
sections
Take place only once in a while
Saves the Service instance name for future – eliminating precious two
operation
Perform DNS lookup for SRV Records with the name of the Service
10
Conclusion
11
Enhancing this kind of functionality in networking let you
discover the more services relay in the network and
increase the performance eliminating the overhead.
Thank You…
References
12
https://developer.apple.com/library/mac/documentation/c
ocoa/conceptual/NetServices/Articles/programming.html#
//apple_ref/doc/uid/TP40002459-SW1
https://developer.apple.com/library/mac/documentation/c
ocoa/conceptual/NetServices/Articles/NetServicesArchite
cture.html#//apple_ref/doc/uid/20001074-96838
http://www.citeworld.com/mobile/20563/apples-
bonjourairplay-poses-network-challenges-it