Standards/Ethernet/Bonjour

(Difference between revisions)
Jump to: navigation, search
(Multicast frames)
(Host discovery)
Line 21: Line 21:
 
== Host discovery ==
 
== Host discovery ==
  
Typing in a terminal
+
Typing in a terminal:
 +
 
 
  ping fpga1.diploma.local
 
  ping fpga1.diploma.local
  
 +
causes the computer to send the following mDNS query:
 +
 +
01 00 5e 00 00 fb 00 23  32 b1 21 52 08 00 45 00
 +
00 41 e6 9d 00 00 ff 11  00 00 99 6d 05 a0 e0 00
 +
00 fb 14 e9 14 e9 00 2d  80 47 00 00 00 00 00 01
 +
00 00 00 00 00 00 05 66  70 67 61 31 07 64 69 70
 +
6c 6f 6d 61 05 6c 6f 63  61 6c 00 00 01 00 01
 +
 +
This frame contains Ethernet header:
 +
 +
01 00 5e 00 00 fb 00 23  32 b1 21 52 08 00
 +
 +
IP header:
 +
                                            45 00
 +
00 41 e6 9d 00 00 ff 11  00 00 99 6d 05 a0 e0 00
 +
00 fb
 +
 +
UDP header:
 +
      14 e9 14 e9 00 2d  80 47
 +
 +
and mDNS payload:
 +
                                00 00 00 00 00 01
 +
00 00 00 00 00 00 05 66  70 67 61 31 07 64 69 70
 +
6c 6f 6d 61 05 6c 6f 63  61 6c 00 00 01 00 01
  
 
[[Category:Standards]] [[Category:Ethernet]]
 
[[Category:Standards]] [[Category:Ethernet]]

Revision as of 14:34, 5 June 2012

Contents

Bonjour is Apple's protocol for service discovery. It is lightweight and works over UDP. Bonjour implements a Multicast Domain Name System (mDNS) service without requiring a conventional DNS server.

Bonjour comprises:

  • host discovery: finding the IP addresses of .local devices
  • service discovery: listing the capabilities of the devices

Bonjour is implemented in Linux systems under the name Avahi. There is also a Windows implementation of Bonjour.

Multicast frames

The mDNS frames are sent to the multicast address 01:00:5E:00:00:FB / 224.0.0.251, from and to port 5353.

Bonjour frames are filtered in Wireshark with the help of the expression:

ip.version==4 and udp.port==5353

Host discovery

Typing in a terminal:

ping fpga1.diploma.local

causes the computer to send the following mDNS query:

01 00 5e 00 00 fb 00 23  32 b1 21 52 08 00 45 00
00 41 e6 9d 00 00 ff 11  00 00 99 6d 05 a0 e0 00
00 fb 14 e9 14 e9 00 2d  80 47 00 00 00 00 00 01
00 00 00 00 00 00 05 66  70 67 61 31 07 64 69 70
6c 6f 6d 61 05 6c 6f 63  61 6c 00 00 01 00 01 

This frame contains Ethernet header:

01 00 5e 00 00 fb 00 23  32 b1 21 52 08 00

IP header:

                                           45 00
00 41 e6 9d 00 00 ff 11  00 00 99 6d 05 a0 e0 00
00 fb

UDP header:

      14 e9 14 e9 00 2d  80 47

and mDNS payload:

                               00 00 00 00 00 01
00 00 00 00 00 00 05 66  70 67 61 31 07 64 69 70
6c 6f 6d 61 05 6c 6f 63  61 6c 00 00 01 00 01
Personal tools
Namespaces
Variants
Actions
Navigation
Browse
Toolbox