SlideShare a Scribd company logo
1 of 38
BONJOUR 
Prepared for 
Prof. Kaewon Choi 
By 
Salah Amean Ahmmed
INTRODUCTION 
 IP like electricity or water 
 Just plug and it work 
 Bonjour is truly revolutionary, 
 it is one of the things that is going to have the 
largest impact on application designing over the 
next couple of years.
BACKGROUND 
 Bonjour is Apple’s implementation of a suite of 
zero-configuration networking protocols. 
 Bonjour is designed to make network 
configuration easier for users. For example, 
Bonjour lets you connect a printer to your 
network without the need to assign it a specific 
IP address or manually enter that address 
into each computer 
 With zero-configuration networking, 
 Nearby computers can discover its (printers) 
existence and automatically determine the printer’s 
IP address 
 They can automatically discover the new address in 
the future even when changes happen
BACKGROUND 
 Apps can also leverage Bonjour to automatically 
detect other instances of the app (or other 
services) on the network. 
 For example, two users running an iOS photo 
sharing app could share photos over 
 Bluetooth personal area network without the need to 
manually configure IP addresses on either device
WHY BONJOUR? 
 The transition from platform-specific 
protocols(AppleTalk) to IP happened over the 
past two decades 
 Currently computers and other network devices 
all use TCP/IP for communication. 
 In that transition, however, one piece of 
functionality was lost 
 the ability to add devices to a local network 
and then connect to those devices from 
computers and other devices on the network, all 
with little or no configuration.
CONCEPT 
 For IP to work, devices need to be assigned addresses 
either manually or dynamically(DHCP). 
 A dynamically assigned address can change, 
 Without Bonjour, 
 Printers and other devices had to be manually 
configured with a static address so that computers on the 
network could reach them. 
DNS server has to be configured so that computer 
users didn’t have to connect to the printer by IP 
address. 
 Thus, a seemingly minor task required significant 
configuration. 
 Sometimes it isn’t practical to have complicated 
configuration for minor tasks such as printing a paper
CAPABILITY OF BONJOUR 
 Without wasting people time to get configuration 
done, people should be to be able to 
 plug in the printer, 
 plug two laptops together, or 
 look for a file server or game server on the local network 
 To support this, people need a simple and reliable 
way to configure and browse for services over IP 
networks. 
 User want to discover available services and 
 Choose one from a list, instead of having to know 
each service’s name or IP address in advance. 
 It is in everyone’s interest for IP to have this 
capability
ZERO CONFIGURATION: AN 
EXAMPLE 
 In step 1, you open up your laptop in your 
neighbor’s house, and the laptop either 
 Obtains an address from DHCP server in the router 
or, 
 In the absence of a DHCP server, assigns itself an 
available local address 
 In step 2, the network is queried for available 
printers so that 
 when you open the Print dialog, your neighbor’s 
printer is listed 
 In step 3, you turn on music sharing on your 
computer, and your neighbor’s computer sees it 
and connects.
ZERO CONFIGURATION: AN 
EXAMPLE
ZERO CONFIGURATION: AN 
EXAMPLE
WHAT IS ZEROCONF NETWORK? 
 No external supporting infrastructure 
 No manual configuration 
 No (conventional)DHCP Server 
 No conventional DNS server 
 Limited Network Scope 
 Not too many users 
 Not too many hosts; 
 Simply by connecting two laptops using 
Ethernet cable
THREE LEGS OF BONJOUR 
 Addressing : address is need to identify host on 
the network 
 Naming: using names instead of the IP address 
 Browsing: we need to discover what is in the 
network.
ADDRESSING 
 Self-Assigned Link-Local Addressing 
 Pick random address in 169.254/16 
 Claim this address by ARP 
 ARP to see if anyone else is using it 
 if someone else is using it, try again 
 ongoing conflict checking 
 Http://www.zeroconf.org/ 
 One of the important issues regarding this sort of 
addressing is that they are meant for local usage only 
typically a small LAN or a single LAN segment 
 For example when we print a document from host A 
to a host B on the local network, then this addressing 
scheme is sufficient
IPV4 LINK-LOCAL AVAILABILITY 
 Self-Assigned IPv4 Link-local Addressing 
 first appeared in 
 Mac OS8.5,1998 
 Windows 98, 1998 
 Mac OS X 10.0 
 IPv6 already has link-local addressing 
 This is not to compete with it but to encourage apps to 
support IPv6 
 But low cost devices that has no support for IPv6 
 Major operating systems supports local link 
addressing 
 Hardware manufacturers should implement link-local 
addressing on their devices to obtain the full benefit 
of Bonjour.
ADDRESSING WITH ZEROCONF 
 Device that supports link-local addressing 
benefits from this feature automatically. 
 When your host computer encounters a local 
network, 
 it finds an unused local address and 
 adopts it. 
 No action on your part is required.
NAMING 
 Multicast DNS is the proposed solution to the 
translation of name-to-address on local networks 
 Because these DNS queries are sent to a 
multicast address, 
 no single DNS server with global knowledge is 
required to answer the queries. 
 Each service or device can provide its own DNS 
capability 
 when it sees a query for its own name, 
 it provides a DNS response with its own address.
NAMING AND RESPONDER 
 Responder handles mDNS queries for any 
network service on the device 
 This daemon takes charge of interpreting mDNS 
queries and multicast messages 
 Automatically advertises the availability of your 
service 
 so that any queries for your name are directed to 
the correct IP address and port number 
automatically.
NAMING 
 Uniqueness of names is essential for name-to-address 
to work properly 
 Names in bonjour have local significance only 
 Pick desired name in ".local."subdomain 
 Issue Query to see if anyone else is using it 
 if someone is else already using it, pick another 
 ongoing conflict checking
NAMING EXAMPLE 
 A printer with the default name XYZ-LaserPrinter. 
local to Local network. 
 XYZ-LaserPrinter.local, then XYZ-LaserPrinter- 
2.local, 
 XYZ-LaserPrinter-3.local is unused,thus becomes 
the name 
 Bonjour renames automatically
BROWSING 
 “what we want to do?” is to just browse what is 
inside the network rather just type is in the 
browser some numbers or names 
 Long list of attempts allows automatic detection 
of devices/services on networks 
 RLP (resource location protocol) 
 SDP (Service discovery protocol) 
 SSDP (Simple service discovery protocol) 
 SDS Service discovery services
DEVICE-CENTRIC VS. SERVICE 
CENTRIC 
 In device centric 
 A client queries to the server, and checks what is 
available on the server 
 Server responds with list of running 
service( HTTP, ftp, etc.) 
 Digging inside the server for some relevant 
information 
 Decides what services to use 
 The Response: 
 May not be exactly what the user needs 
 Cause a lot of unneeded network traffic
DEVICE-CENTRIC VS. SERVICE 
CENTRIC 
 In service centric: 
 It makes more sense to query for “What print 
services are available?” than 
 “what services are you running” then go though 
list of available services 
 In this scheme, a single query produce only 
relevant replies 
 Services are not tied to specific IP addresses or 
even host names (e.g., load-balancing situation) 
 Queries are made according to the type of service 
needed, not the hosts providing them
SERVICE DISCOVERY 
 Service discovery in Bonjour is accomplished by 
“browsing.” 
 An mDNS query is sent out for a given service, 
type and domain 
 Any matching services reply with their names 
 The result is a list of available services to choose 
from.
BONJOUR SERVICE DISCOVERY 
 Bonjour takes the service-oriented approach. 
Queries are made according to the type of service 
needed, not the hosts providing them. 
 Applications store service instance names, not 
addresses, so if the IP address, port number, or 
even host name has changed, the application can 
still connect. 
 User’s browsing experience is made more useful 
and trouble-free.
SERVICE DISCOVERY ADVANTAGES 
 Allows applications to find all available instances 
of a particular type of service and 
 To maintain a list of named services and port 
numbers 
 So with changes, effect won’t hurt
SERVICE DISCOVERY EXAMPLE
PUBLISHING A SERVICE
PUBLISHING A SERVICE-CONT’
ADVERTISING SERVICES 
 Applications provide a service name and port 
 follows same DNS specific to general model 
 ServiceName._ServiceType._TransportProtocolN 
ame.Domain 
 ServiceName is human readable descriptive 
name 
 Maximum of 63byte 
 All characters are allowed 
 HP officeJet8500._ipp._tcp.local. 
 service name is HP officeJet8500 
 services type(internet printing protocol) is ipp 
 Transport Protocol is tcp 
 Domain is .local
CHALLENGES
SOLUTION 
 Caching 
 mDNSresponder takes charge of caching, 
 Some requests are kept to the time of need 
 Suppression of duplicate responses 
 Back-off
CHALLENGES
BONJOUR BONJOUR GATEWAY 
DEMO 
 http://www.youtube.com/watch?v=i8vNlqV67uA
DEMO LAB310
REFERENCES 
 https://developer.apple.com/library/mac/documentation/cocoa/conc 
eptual/NetServices/Articles/NetServicesArchitecture.html 
 http://www.zeroconf.org/QDIPv4LL.html 
 http://www.youtube.com/watch?v=pdbTyxYmF84 
 http://www.ietf.org/rfc/rfc3927.txt 
 http://www.aerohive.com/solutions/technology-behind-solution/ 
bonjour-gateway 
 http://blogs.enterasys.com/apple-bonjour-devices-in-the-enterprise- 
part-1/ 
 http://en.wikipedia.org/wiki/Zero-configuration_networking

More Related Content

What's hot

IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with AnsibleRayed Alrashed
 
Linux standard file system
Linux standard file systemLinux standard file system
Linux standard file systemTaaanu01
 
Introduction to Active Directory
Introduction to Active DirectoryIntroduction to Active Directory
Introduction to Active Directorythoms1i
 
Active directory ii
Active directory   iiActive directory   ii
Active directory iideshvikas
 
Linux basics part 1
Linux basics part 1Linux basics part 1
Linux basics part 1Lilesh Pathe
 
Active Directory Services
Active Directory ServicesActive Directory Services
Active Directory ServicesVarun Arora
 
z/OS Communications Server: z/OS Resolver
z/OS Communications Server: z/OS Resolverz/OS Communications Server: z/OS Resolver
z/OS Communications Server: z/OS ResolverzOSCommserver
 
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2cyberleon95
 
How to perform walktest from nemo outdoor
How to perform walktest from nemo outdoor How to perform walktest from nemo outdoor
How to perform walktest from nemo outdoor Telebeansolutions
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
Dns name resolution process
Dns name resolution processDns name resolution process
Dns name resolution processkannanragothaman
 
1 présentation de l'ad et groupes
1 présentation de l'ad et groupes1 présentation de l'ad et groupes
1 présentation de l'ad et groupesIMADKASMI
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceMaris Elsins
 
Presentation oracle super cluster t5-8 technical deep dive
Presentation   oracle super cluster t5-8 technical deep divePresentation   oracle super cluster t5-8 technical deep dive
Presentation oracle super cluster t5-8 technical deep divesolarisyougood
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 
DataOpsbarcelona 2019: Deep dive into MySQL Group Replication... the magic e...
DataOpsbarcelona 2019:  Deep dive into MySQL Group Replication... the magic e...DataOpsbarcelona 2019:  Deep dive into MySQL Group Replication... the magic e...
DataOpsbarcelona 2019: Deep dive into MySQL Group Replication... the magic e...Frederic Descamps
 

What's hot (20)

IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
Dns
DnsDns
Dns
 
Linux standard file system
Linux standard file systemLinux standard file system
Linux standard file system
 
Introduction to Active Directory
Introduction to Active DirectoryIntroduction to Active Directory
Introduction to Active Directory
 
Active directory ii
Active directory   iiActive directory   ii
Active directory ii
 
Linux basics part 1
Linux basics part 1Linux basics part 1
Linux basics part 1
 
Active Directory Services
Active Directory ServicesActive Directory Services
Active Directory Services
 
z/OS Communications Server: z/OS Resolver
z/OS Communications Server: z/OS Resolverz/OS Communications Server: z/OS Resolver
z/OS Communications Server: z/OS Resolver
 
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
 
How to perform walktest from nemo outdoor
How to perform walktest from nemo outdoor How to perform walktest from nemo outdoor
How to perform walktest from nemo outdoor
 
Active directory slides
Active directory slidesActive directory slides
Active directory slides
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
Dns name resolution process
Dns name resolution processDns name resolution process
Dns name resolution process
 
1 présentation de l'ad et groupes
1 présentation de l'ad et groupes1 présentation de l'ad et groupes
1 présentation de l'ad et groupes
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database Appliance
 
Presentation oracle super cluster t5-8 technical deep dive
Presentation   oracle super cluster t5-8 technical deep divePresentation   oracle super cluster t5-8 technical deep dive
Presentation oracle super cluster t5-8 technical deep dive
 
enm-oss-v1-.pdf
enm-oss-v1-.pdfenm-oss-v1-.pdf
enm-oss-v1-.pdf
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
DataOpsbarcelona 2019: Deep dive into MySQL Group Replication... the magic e...
DataOpsbarcelona 2019:  Deep dive into MySQL Group Replication... the magic e...DataOpsbarcelona 2019:  Deep dive into MySQL Group Replication... the magic e...
DataOpsbarcelona 2019: Deep dive into MySQL Group Replication... the magic e...
 
Linux file system
Linux file systemLinux file system
Linux file system
 

Viewers also liked

Bonjour Android, it's ZeroConf
Bonjour Android, it's ZeroConfBonjour Android, it's ZeroConf
Bonjour Android, it's ZeroConfRoberto Orgiu
 
Zeroconf - Zero Configuration Networking
Zeroconf - Zero Configuration NetworkingZeroconf - Zero Configuration Networking
Zeroconf - Zero Configuration NetworkingMurillo Grubler
 
DNS-SD
DNS-SDDNS-SD
DNS-SDnetvis
 
Ecommerce final ppt
Ecommerce final pptEcommerce final ppt
Ecommerce final pptreemalmarri
 
Endo Pat2000 Sales Presentation
Endo Pat2000 Sales PresentationEndo Pat2000 Sales Presentation
Endo Pat2000 Sales Presentationrllalpha
 
Simple english grammar
Simple english grammarSimple english grammar
Simple english grammarrestuputraku5
 
Joomla e seo reifison
Joomla e seo   reifisonJoomla e seo   reifison
Joomla e seo reifisonreifison
 
Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A ReviewEnhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A ReviewAbu Saleh Musa
 
Analyze what happens to the market for pizza, if the price of tomato rises an...
Analyze what happens to the market for pizza, if the price of tomato rises an...Analyze what happens to the market for pizza, if the price of tomato rises an...
Analyze what happens to the market for pizza, if the price of tomato rises an...Tanzila Islam
 
next to of course god america i by EE Cummings
next to of course god america i by EE Cummingsnext to of course god america i by EE Cummings
next to of course god america i by EE Cummingswww.MrSedani.co.uk
 
Using the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data ProductUsing the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data ProductEvans Ye
 
Blue star package units
Blue star package unitsBlue star package units
Blue star package unitsKumar Ramaiah
 
Project Management ORION Systems
Project Management ORION SystemsProject Management ORION Systems
Project Management ORION Systemsreeza fazily
 

Viewers also liked (20)

Bonjour for Java
Bonjour for JavaBonjour for Java
Bonjour for Java
 
Bonjour Android, it's ZeroConf
Bonjour Android, it's ZeroConfBonjour Android, it's ZeroConf
Bonjour Android, it's ZeroConf
 
Zeroconf - Zero Configuration Networking
Zeroconf - Zero Configuration NetworkingZeroconf - Zero Configuration Networking
Zeroconf - Zero Configuration Networking
 
DNS-SD
DNS-SDDNS-SD
DNS-SD
 
Evolving Enterprise Network Architecture
Evolving Enterprise Network ArchitectureEvolving Enterprise Network Architecture
Evolving Enterprise Network Architecture
 
Ecommerce final ppt
Ecommerce final pptEcommerce final ppt
Ecommerce final ppt
 
Changes in me
Changes in meChanges in me
Changes in me
 
Endo Pat2000 Sales Presentation
Endo Pat2000 Sales PresentationEndo Pat2000 Sales Presentation
Endo Pat2000 Sales Presentation
 
Simple english grammar
Simple english grammarSimple english grammar
Simple english grammar
 
Joomla e seo reifison
Joomla e seo   reifisonJoomla e seo   reifison
Joomla e seo reifison
 
Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A ReviewEnhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
 
Analyze what happens to the market for pizza, if the price of tomato rises an...
Analyze what happens to the market for pizza, if the price of tomato rises an...Analyze what happens to the market for pizza, if the price of tomato rises an...
Analyze what happens to the market for pizza, if the price of tomato rises an...
 
next to of course god america i by EE Cummings
next to of course god america i by EE Cummingsnext to of course god america i by EE Cummings
next to of course god america i by EE Cummings
 
At the Border by Choman Hardi
At the Border by Choman HardiAt the Border by Choman Hardi
At the Border by Choman Hardi
 
Gangguan belajar
Gangguan belajarGangguan belajar
Gangguan belajar
 
Using the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data ProductUsing the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data Product
 
Unit 2 powerpoint
Unit 2 powerpointUnit 2 powerpoint
Unit 2 powerpoint
 
Blue star package units
Blue star package unitsBlue star package units
Blue star package units
 
Makalah keluarga berencana
Makalah keluarga berencanaMakalah keluarga berencana
Makalah keluarga berencana
 
Project Management ORION Systems
Project Management ORION SystemsProject Management ORION Systems
Project Management ORION Systems
 

Similar to Bonjour protocol

DHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptx
DHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptxDHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptx
DHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptxMUHAMMADATTAURREHMAN7
 
Installation Of An Iso Image Dvd
Installation Of An Iso Image DvdInstallation Of An Iso Image Dvd
Installation Of An Iso Image DvdSusan Cox
 
CSS L17 - DOS COMMANDS IN COMPUTER NETWORKING
CSS L17 - DOS COMMANDS IN COMPUTER NETWORKINGCSS L17 - DOS COMMANDS IN COMPUTER NETWORKING
CSS L17 - DOS COMMANDS IN COMPUTER NETWORKINGMarvin Bronoso
 
How to configure dns server(2)
How to configure dns server(2)How to configure dns server(2)
How to configure dns server(2)Amandeep Kaur
 
Lecture 13 DNS_DHCP.pptx
Lecture 13 DNS_DHCP.pptxLecture 13 DNS_DHCP.pptx
Lecture 13 DNS_DHCP.pptxskknowledge
 
Paper id 21201446
Paper id 21201446Paper id 21201446
Paper id 21201446IJRAT
 
Networking DHCP server Setup Reports
Networking DHCP server Setup ReportsNetworking DHCP server Setup Reports
Networking DHCP server Setup ReportsJiaul Hasan Jony
 
Administration of DHCP Addressing
Administration of DHCP AddressingAdministration of DHCP Addressing
Administration of DHCP Addressingpaperpublications3
 
Network address translation
Network address translationNetwork address translation
Network address translationVarsha Honde
 
Guide to home networking
Guide to home networkingGuide to home networking
Guide to home networkingDilan Gilluly
 
networkaddresstranslation-160909142440.pptx
networkaddresstranslation-160909142440.pptxnetworkaddresstranslation-160909142440.pptx
networkaddresstranslation-160909142440.pptxzmulani8
 
Zero Configuration Networking
Zero Configuration NetworkingZero Configuration Networking
Zero Configuration NetworkingZafar Shahid, PhD
 
server notes for beginners
server notes for beginners server notes for beginners
server notes for beginners Abhishek Maurya
 
Network and security concepts
Network and security conceptsNetwork and security concepts
Network and security conceptssonuagain
 

Similar to Bonjour protocol (20)

DHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptx
DHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptxDHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptx
DHCP DNS P1 DHCP & Wireless Communication Methods Unicasting.pptx
 
Installation Of An Iso Image Dvd
Installation Of An Iso Image DvdInstallation Of An Iso Image Dvd
Installation Of An Iso Image Dvd
 
CSS L17 - DOS COMMANDS IN COMPUTER NETWORKING
CSS L17 - DOS COMMANDS IN COMPUTER NETWORKINGCSS L17 - DOS COMMANDS IN COMPUTER NETWORKING
CSS L17 - DOS COMMANDS IN COMPUTER NETWORKING
 
How to configure dns server(2)
How to configure dns server(2)How to configure dns server(2)
How to configure dns server(2)
 
Lecture 13 DNS_DHCP.pptx
Lecture 13 DNS_DHCP.pptxLecture 13 DNS_DHCP.pptx
Lecture 13 DNS_DHCP.pptx
 
Paper id 21201446
Paper id 21201446Paper id 21201446
Paper id 21201446
 
Network Testing ques
Network Testing quesNetwork Testing ques
Network Testing ques
 
Networking DHCP server Setup Reports
Networking DHCP server Setup ReportsNetworking DHCP server Setup Reports
Networking DHCP server Setup Reports
 
Applications.docx
Applications.docxApplications.docx
Applications.docx
 
Administration of DHCP Addressing
Administration of DHCP AddressingAdministration of DHCP Addressing
Administration of DHCP Addressing
 
Network address translation
Network address translationNetwork address translation
Network address translation
 
Guide to home networking
Guide to home networkingGuide to home networking
Guide to home networking
 
IP Layer.pptx
IP Layer.pptxIP Layer.pptx
IP Layer.pptx
 
networkaddresstranslation-160909142440.pptx
networkaddresstranslation-160909142440.pptxnetworkaddresstranslation-160909142440.pptx
networkaddresstranslation-160909142440.pptx
 
Apple bonjour
Apple bonjourApple bonjour
Apple bonjour
 
Zero Configuration Networking
Zero Configuration NetworkingZero Configuration Networking
Zero Configuration Networking
 
server notes for beginners
server notes for beginners server notes for beginners
server notes for beginners
 
Networking slide
Networking slideNetworking slide
Networking slide
 
Dns
DnsDns
Dns
 
Network and security concepts
Network and security conceptsNetwork and security concepts
Network and security concepts
 

More from Salah Amean

ICT role in Yemen
ICT role in Yemen ICT role in Yemen
ICT role in Yemen Salah Amean
 
Contiki os timer tutorial
Contiki os timer tutorialContiki os timer tutorial
Contiki os timer tutorialSalah Amean
 
WSN protocol 802.15.4 together with cc2420 seminars
WSN protocol 802.15.4 together with cc2420 seminars WSN protocol 802.15.4 together with cc2420 seminars
WSN protocol 802.15.4 together with cc2420 seminars Salah Amean
 
protothread and its usage in contiki OS
protothread and its usage in contiki OSprotothread and its usage in contiki OS
protothread and its usage in contiki OSSalah Amean
 
ContikiMAC : Radio Duty Cycling Protocol
ContikiMAC : Radio Duty Cycling ProtocolContikiMAC : Radio Duty Cycling Protocol
ContikiMAC : Radio Duty Cycling ProtocolSalah Amean
 
Location in ubiquitous computing, LOCATION SYSTEMS
Location in ubiquitous computing, LOCATION SYSTEMSLocation in ubiquitous computing, LOCATION SYSTEMS
Location in ubiquitous computing, LOCATION SYSTEMSSalah Amean
 
Optimization Analysis
Optimization AnalysisOptimization Analysis
Optimization AnalysisSalah Amean
 
Mobile apps-user interaction measurement & Apps ecosystem
Mobile apps-user interaction measurement & Apps ecosystemMobile apps-user interaction measurement & Apps ecosystem
Mobile apps-user interaction measurement & Apps ecosystemSalah Amean
 
ict culturing conference presentation _presented 2013_12_07
 ict culturing conference presentation _presented 2013_12_07 ict culturing conference presentation _presented 2013_12_07
ict culturing conference presentation _presented 2013_12_07Salah Amean
 
Data Mining: Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
Data Mining:  Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...Data Mining:  Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
Data Mining: Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...Salah Amean
 
Data mining :Concepts and Techniques Chapter 2, data
Data mining :Concepts and Techniques Chapter 2, dataData mining :Concepts and Techniques Chapter 2, data
Data mining :Concepts and Techniques Chapter 2, dataSalah Amean
 
Data Mining:Concepts and Techniques, Chapter 8. Classification: Basic Concepts
Data Mining:Concepts and Techniques, Chapter 8. Classification: Basic ConceptsData Mining:Concepts and Techniques, Chapter 8. Classification: Basic Concepts
Data Mining:Concepts and Techniques, Chapter 8. Classification: Basic ConceptsSalah Amean
 
Data mining: Concepts and Techniques, Chapter12 outlier Analysis
Data mining: Concepts and Techniques, Chapter12 outlier Analysis Data mining: Concepts and Techniques, Chapter12 outlier Analysis
Data mining: Concepts and Techniques, Chapter12 outlier Analysis Salah Amean
 
Data Mining: Concepts and techniques classification _chapter 9 :advanced methods
Data Mining: Concepts and techniques classification _chapter 9 :advanced methodsData Mining: Concepts and techniques classification _chapter 9 :advanced methods
Data Mining: Concepts and techniques classification _chapter 9 :advanced methodsSalah Amean
 
Data Mining: Concepts and techniques: Chapter 13 trend
Data Mining: Concepts and techniques: Chapter 13 trendData Mining: Concepts and techniques: Chapter 13 trend
Data Mining: Concepts and techniques: Chapter 13 trendSalah Amean
 
Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...
Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...
Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...Salah Amean
 
Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...
Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...
Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...Salah Amean
 
Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...
Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...
Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...Salah Amean
 
Data Mining: Concepts and Techniques (3rd ed.) — Chapter 5
Data Mining:  Concepts and Techniques (3rd ed.)— Chapter 5 Data Mining:  Concepts and Techniques (3rd ed.)— Chapter 5
Data Mining: Concepts and Techniques (3rd ed.) — Chapter 5 Salah Amean
 
Data Mining: Concepts and Techniques (3rd ed.) — Chapter _04 olap
Data Mining:  Concepts and Techniques (3rd ed.)— Chapter _04 olapData Mining:  Concepts and Techniques (3rd ed.)— Chapter _04 olap
Data Mining: Concepts and Techniques (3rd ed.) — Chapter _04 olapSalah Amean
 

More from Salah Amean (20)

ICT role in Yemen
ICT role in Yemen ICT role in Yemen
ICT role in Yemen
 
Contiki os timer tutorial
Contiki os timer tutorialContiki os timer tutorial
Contiki os timer tutorial
 
WSN protocol 802.15.4 together with cc2420 seminars
WSN protocol 802.15.4 together with cc2420 seminars WSN protocol 802.15.4 together with cc2420 seminars
WSN protocol 802.15.4 together with cc2420 seminars
 
protothread and its usage in contiki OS
protothread and its usage in contiki OSprotothread and its usage in contiki OS
protothread and its usage in contiki OS
 
ContikiMAC : Radio Duty Cycling Protocol
ContikiMAC : Radio Duty Cycling ProtocolContikiMAC : Radio Duty Cycling Protocol
ContikiMAC : Radio Duty Cycling Protocol
 
Location in ubiquitous computing, LOCATION SYSTEMS
Location in ubiquitous computing, LOCATION SYSTEMSLocation in ubiquitous computing, LOCATION SYSTEMS
Location in ubiquitous computing, LOCATION SYSTEMS
 
Optimization Analysis
Optimization AnalysisOptimization Analysis
Optimization Analysis
 
Mobile apps-user interaction measurement & Apps ecosystem
Mobile apps-user interaction measurement & Apps ecosystemMobile apps-user interaction measurement & Apps ecosystem
Mobile apps-user interaction measurement & Apps ecosystem
 
ict culturing conference presentation _presented 2013_12_07
 ict culturing conference presentation _presented 2013_12_07 ict culturing conference presentation _presented 2013_12_07
ict culturing conference presentation _presented 2013_12_07
 
Data Mining: Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
Data Mining:  Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...Data Mining:  Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
Data Mining: Concepts and Techniques_ Chapter 6: Mining Frequent Patterns, ...
 
Data mining :Concepts and Techniques Chapter 2, data
Data mining :Concepts and Techniques Chapter 2, dataData mining :Concepts and Techniques Chapter 2, data
Data mining :Concepts and Techniques Chapter 2, data
 
Data Mining:Concepts and Techniques, Chapter 8. Classification: Basic Concepts
Data Mining:Concepts and Techniques, Chapter 8. Classification: Basic ConceptsData Mining:Concepts and Techniques, Chapter 8. Classification: Basic Concepts
Data Mining:Concepts and Techniques, Chapter 8. Classification: Basic Concepts
 
Data mining: Concepts and Techniques, Chapter12 outlier Analysis
Data mining: Concepts and Techniques, Chapter12 outlier Analysis Data mining: Concepts and Techniques, Chapter12 outlier Analysis
Data mining: Concepts and Techniques, Chapter12 outlier Analysis
 
Data Mining: Concepts and techniques classification _chapter 9 :advanced methods
Data Mining: Concepts and techniques classification _chapter 9 :advanced methodsData Mining: Concepts and techniques classification _chapter 9 :advanced methods
Data Mining: Concepts and techniques classification _chapter 9 :advanced methods
 
Data Mining: Concepts and techniques: Chapter 13 trend
Data Mining: Concepts and techniques: Chapter 13 trendData Mining: Concepts and techniques: Chapter 13 trend
Data Mining: Concepts and techniques: Chapter 13 trend
 
Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...
Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...
Data Mining: Concepts and techniques: Chapter 11,Review: Basic Cluster Analys...
 
Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...
Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...
Data Mining Concepts and Techniques, Chapter 10. Cluster Analysis: Basic Conc...
 
Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...
Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...
Data Mining: Concepts and Techniques chapter 07 : Advanced Frequent Pattern M...
 
Data Mining: Concepts and Techniques (3rd ed.) — Chapter 5
Data Mining:  Concepts and Techniques (3rd ed.)— Chapter 5 Data Mining:  Concepts and Techniques (3rd ed.)— Chapter 5
Data Mining: Concepts and Techniques (3rd ed.) — Chapter 5
 
Data Mining: Concepts and Techniques (3rd ed.) — Chapter _04 olap
Data Mining:  Concepts and Techniques (3rd ed.)— Chapter _04 olapData Mining:  Concepts and Techniques (3rd ed.)— Chapter _04 olap
Data Mining: Concepts and Techniques (3rd ed.) — Chapter _04 olap
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Bonjour protocol

  • 1. BONJOUR Prepared for Prof. Kaewon Choi By Salah Amean Ahmmed
  • 2. INTRODUCTION  IP like electricity or water  Just plug and it work  Bonjour is truly revolutionary,  it is one of the things that is going to have the largest impact on application designing over the next couple of years.
  • 3. BACKGROUND  Bonjour is Apple’s implementation of a suite of zero-configuration networking protocols.  Bonjour is designed to make network configuration easier for users. For example, Bonjour lets you connect a printer to your network without the need to assign it a specific IP address or manually enter that address into each computer  With zero-configuration networking,  Nearby computers can discover its (printers) existence and automatically determine the printer’s IP address  They can automatically discover the new address in the future even when changes happen
  • 4. BACKGROUND  Apps can also leverage Bonjour to automatically detect other instances of the app (or other services) on the network.  For example, two users running an iOS photo sharing app could share photos over  Bluetooth personal area network without the need to manually configure IP addresses on either device
  • 5. WHY BONJOUR?  The transition from platform-specific protocols(AppleTalk) to IP happened over the past two decades  Currently computers and other network devices all use TCP/IP for communication.  In that transition, however, one piece of functionality was lost  the ability to add devices to a local network and then connect to those devices from computers and other devices on the network, all with little or no configuration.
  • 6. CONCEPT  For IP to work, devices need to be assigned addresses either manually or dynamically(DHCP).  A dynamically assigned address can change,  Without Bonjour,  Printers and other devices had to be manually configured with a static address so that computers on the network could reach them. DNS server has to be configured so that computer users didn’t have to connect to the printer by IP address.  Thus, a seemingly minor task required significant configuration.  Sometimes it isn’t practical to have complicated configuration for minor tasks such as printing a paper
  • 7. CAPABILITY OF BONJOUR  Without wasting people time to get configuration done, people should be to be able to  plug in the printer,  plug two laptops together, or  look for a file server or game server on the local network  To support this, people need a simple and reliable way to configure and browse for services over IP networks.  User want to discover available services and  Choose one from a list, instead of having to know each service’s name or IP address in advance.  It is in everyone’s interest for IP to have this capability
  • 8. ZERO CONFIGURATION: AN EXAMPLE  In step 1, you open up your laptop in your neighbor’s house, and the laptop either  Obtains an address from DHCP server in the router or,  In the absence of a DHCP server, assigns itself an available local address  In step 2, the network is queried for available printers so that  when you open the Print dialog, your neighbor’s printer is listed  In step 3, you turn on music sharing on your computer, and your neighbor’s computer sees it and connects.
  • 11. WHAT IS ZEROCONF NETWORK?  No external supporting infrastructure  No manual configuration  No (conventional)DHCP Server  No conventional DNS server  Limited Network Scope  Not too many users  Not too many hosts;  Simply by connecting two laptops using Ethernet cable
  • 12. THREE LEGS OF BONJOUR  Addressing : address is need to identify host on the network  Naming: using names instead of the IP address  Browsing: we need to discover what is in the network.
  • 13. ADDRESSING  Self-Assigned Link-Local Addressing  Pick random address in 169.254/16  Claim this address by ARP  ARP to see if anyone else is using it  if someone else is using it, try again  ongoing conflict checking  Http://www.zeroconf.org/  One of the important issues regarding this sort of addressing is that they are meant for local usage only typically a small LAN or a single LAN segment  For example when we print a document from host A to a host B on the local network, then this addressing scheme is sufficient
  • 14. IPV4 LINK-LOCAL AVAILABILITY  Self-Assigned IPv4 Link-local Addressing  first appeared in  Mac OS8.5,1998  Windows 98, 1998  Mac OS X 10.0  IPv6 already has link-local addressing  This is not to compete with it but to encourage apps to support IPv6  But low cost devices that has no support for IPv6  Major operating systems supports local link addressing  Hardware manufacturers should implement link-local addressing on their devices to obtain the full benefit of Bonjour.
  • 15. ADDRESSING WITH ZEROCONF  Device that supports link-local addressing benefits from this feature automatically.  When your host computer encounters a local network,  it finds an unused local address and  adopts it.  No action on your part is required.
  • 16. NAMING  Multicast DNS is the proposed solution to the translation of name-to-address on local networks  Because these DNS queries are sent to a multicast address,  no single DNS server with global knowledge is required to answer the queries.  Each service or device can provide its own DNS capability  when it sees a query for its own name,  it provides a DNS response with its own address.
  • 17. NAMING AND RESPONDER  Responder handles mDNS queries for any network service on the device  This daemon takes charge of interpreting mDNS queries and multicast messages  Automatically advertises the availability of your service  so that any queries for your name are directed to the correct IP address and port number automatically.
  • 18. NAMING  Uniqueness of names is essential for name-to-address to work properly  Names in bonjour have local significance only  Pick desired name in ".local."subdomain  Issue Query to see if anyone else is using it  if someone is else already using it, pick another  ongoing conflict checking
  • 19. NAMING EXAMPLE  A printer with the default name XYZ-LaserPrinter. local to Local network.  XYZ-LaserPrinter.local, then XYZ-LaserPrinter- 2.local,  XYZ-LaserPrinter-3.local is unused,thus becomes the name  Bonjour renames automatically
  • 20. BROWSING  “what we want to do?” is to just browse what is inside the network rather just type is in the browser some numbers or names  Long list of attempts allows automatic detection of devices/services on networks  RLP (resource location protocol)  SDP (Service discovery protocol)  SSDP (Simple service discovery protocol)  SDS Service discovery services
  • 21. DEVICE-CENTRIC VS. SERVICE CENTRIC  In device centric  A client queries to the server, and checks what is available on the server  Server responds with list of running service( HTTP, ftp, etc.)  Digging inside the server for some relevant information  Decides what services to use  The Response:  May not be exactly what the user needs  Cause a lot of unneeded network traffic
  • 22. DEVICE-CENTRIC VS. SERVICE CENTRIC  In service centric:  It makes more sense to query for “What print services are available?” than  “what services are you running” then go though list of available services  In this scheme, a single query produce only relevant replies  Services are not tied to specific IP addresses or even host names (e.g., load-balancing situation)  Queries are made according to the type of service needed, not the hosts providing them
  • 23. SERVICE DISCOVERY  Service discovery in Bonjour is accomplished by “browsing.”  An mDNS query is sent out for a given service, type and domain  Any matching services reply with their names  The result is a list of available services to choose from.
  • 24. BONJOUR SERVICE DISCOVERY  Bonjour takes the service-oriented approach. Queries are made according to the type of service needed, not the hosts providing them.  Applications store service instance names, not addresses, so if the IP address, port number, or even host name has changed, the application can still connect.  User’s browsing experience is made more useful and trouble-free.
  • 25. SERVICE DISCOVERY ADVANTAGES  Allows applications to find all available instances of a particular type of service and  To maintain a list of named services and port numbers  So with changes, effect won’t hurt
  • 27.
  • 30. ADVERTISING SERVICES  Applications provide a service name and port  follows same DNS specific to general model  ServiceName._ServiceType._TransportProtocolN ame.Domain  ServiceName is human readable descriptive name  Maximum of 63byte  All characters are allowed  HP officeJet8500._ipp._tcp.local.  service name is HP officeJet8500  services type(internet printing protocol) is ipp  Transport Protocol is tcp  Domain is .local
  • 32. SOLUTION  Caching  mDNSresponder takes charge of caching,  Some requests are kept to the time of need  Suppression of duplicate responses  Back-off
  • 34.
  • 35. BONJOUR BONJOUR GATEWAY DEMO  http://www.youtube.com/watch?v=i8vNlqV67uA
  • 37.
  • 38. REFERENCES  https://developer.apple.com/library/mac/documentation/cocoa/conc eptual/NetServices/Articles/NetServicesArchitecture.html  http://www.zeroconf.org/QDIPv4LL.html  http://www.youtube.com/watch?v=pdbTyxYmF84  http://www.ietf.org/rfc/rfc3927.txt  http://www.aerohive.com/solutions/technology-behind-solution/ bonjour-gateway  http://blogs.enterasys.com/apple-bonjour-devices-in-the-enterprise- part-1/  http://en.wikipedia.org/wiki/Zero-configuration_networking

Editor's Notes

  1. Zero-configuration IP networking holds a large amount of potential. Consider the everyday task of printing. Once a printer is configured on your computer or iOS device, it’s simply a matter of choosing an application’s Print command. Take your laptop to a client’s company, or a neighbor’s house, and try to print something. If they have a printer that supports Bonjour protocols, printing is just as easy as it was on your local network. To print, connect your laptop to your client’s Wi-Fi access point and start up your laptop. Or start up your laptop and it instantly finds your neighbor’s home wireless network. Either way, your laptop automatically discovers any available printers. You open the document, choose the Print command, and every available printer appears in the Print dialog. You select a printer, click Print, and the document prints. Or say you want to play a network game with a friend. You open the game, and your friend’s copy of the game instantly sees your copy over the network. Or if you have a music sharing application on two computers, the programs themselves can discover each other and instantly swap song lists. Similarly, if you have a shared folder or have personal Web sharing turned on, your shared files and Web pages are instantly available to others. This scenario is illustrated in Figure 1-1. In step 1, you open up your laptop in your neighbor’s house, and the laptop either obtains an address from the DHCP server in the router or, in the absence of a DHCP server, assigns itself an available local address. In step 2, the network is queried for available printers so that when you open the Print dialog, your neighbor’s printer is listed. Finally, in step 3, you turn on music sharing on your computer, and your neighbor’s computer sees it and connects. These are just a few of the existing applications that can benefit from zero-configuration IP networking. Zero-configuration IP networking has the potential to enhance mobile gaming, in-home networking, distributed computing, and many other network applications. Additionally, zero-configuration IP networking opens the door for a whole new class of IP-enabled digital devices