Download - Apple bonjour
![Page 1: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/1.jpg)
Bonjour
1
Zero Configuration Networking
![Page 2: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/2.jpg)
Agenda
Why Bonjour?
What is Bonjour?
How it works?
How Bonjour reduce overhead?
Bonjour API Architecture
Bonjour Operation
Conclusion
2
![Page 3: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/3.jpg)
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
![Page 4: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/4.jpg)
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
![Page 5: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/5.jpg)
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
![Page 6: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/6.jpg)
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
![Page 7: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/7.jpg)
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
![Page 8: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/8.jpg)
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
![Page 9: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/9.jpg)
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
![Page 10: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/10.jpg)
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
![Page 11: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/11.jpg)
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…
![Page 12: Apple bonjour](https://reader038.vdocuments.net/reader038/viewer/2022100518/558bd130d8b42abc448b4695/html5/thumbnails/12.jpg)
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