Toward Seamless Local Networking

Frame 12: A subsequent query for service discovery, with known answers....65 ..... use multicast DNS, it just has to blindly send its queries to the multicast ...
2MB taille 18 téléchargements 344 vues
SCHO OL OF TE CHNO L O G Y D EP A R T E M E N T O F C O M P U T I N G

Toward Seamless Local Networking An in-depth study of Zeroconf protocols, both from theoretical and practical points of view, along with an enhancement attempt.

Yoann Aubineau supervised by Hazel Y. Peperell

Oxford, September 2004

This dissertation is submitted in part-fulfillment of the requirements for the degree of Master of Science in Computer Science

Abstract

Unlike vendor-specific network protocols such as Windows' NetBIOS1 or MacOS' AppleTalk2, the standard TCP/IP3 stack provides almost no stateless automatic configuration capacity. Such automation would be useful, though, when are lacking knowledge (eg. home networks), money (eg. small business networks) or time (eg. ad-hoc networks). We could also imagine, in a close future, networks of domestic appliances, hard to configure by hand because of their number and their possible small size. Zeroconf4 is a three-protocol suite, designed both at IETF5 and at Apple Computer, Inc. It aims to provide stateless automatic configuration capacities to the standard TCP/IP stack. Zeroconf's authors achieved this goal simply by expanding the usage of existing protocols, so that the changes needed to implement Zeroconf should be minor. Throughout this research, the guideline was to investigate Zeroconf world, in order to answer these questions: • What is Zeroconf and what is it for? • How does Zeroconf work, both theoretically and practically? • How to use Zeroconf and support it into applications? 1 2 3 4 5

Network Basic Input/Output System – a peer to peer networking protocol A protocol for networking Macintosh computers and printers Transmission Control Protocol/Internet Protocol    

   See Internet Engineering Task Force – the body that defines standard Internet protocols such as TCP/IP

2

Yoann Aubineau

Toward Seamless Local Networking

Eventually, will be described an attempt to enhance Zeroconf with replicated services support. Briefly, it allows several Zeroconf-enabled services to appear as a single service on the network, thus providing basic load-balancing and fault-tolerance. This report is divided into two main parts: theory and practical. The first part provides an in-depth study of the three protocols which constitute Zeroconf: AutoIP6, for IP address allocation, mDNS7, for multicast name resolution, and DNS-SD8, for service discovery. The second and last part gathers together network traffic analyses, a Zeroconf programming example, as well as a description of the enhancement attempt, whose source code is available in the appendices. These different approaches of Zeroconf jointly point up its main strengths: efficiency, lightness and flexibility. They show how Zeroconf is a great example of a powerful and useful technology, simply built by re-using existing standard protocols, in an ingenious way and, even more important, without breaking compatibility. Finally, at the end of this exposé, the reader will be able to perceive the emerging tendencies in the field of domestic computing. He will especially understand how computers, after having been all-in-one multi-media sets, are breaking up into distinct specific appliances, each of them interacting with the others via an automatically configured ad-hoc networks.

6 7 8

Automatic IP allocation – see chapter 1 Multicast Domain Name Service – see chapter 2 Service Discovery over DNS – see chapter 3

3

Yoann Aubineau

Acknowledgment

First of all, I would like to thank my parents for their trust in me and for giving me the opportunity to continue my studies abroad, at Oxford Brookes University, as well as for their moral support and encouragements. I am thankful to my brother, Thomas, and my close friends who kindly and rightly advised me during this research and who also knew how to entertain me when I needed it most. My thanks also go to my supervisor Hazel Y. Peperell for the help, academical support and guidance she has given to me at different stages of this dissertation work. I would like to express my profound gratitude to Stuart Cheshire, Marc Krochmal, and Erik Guttman, the main authors of Zeroconf specifications, for their fabulous work in producing such an exciting technology, as well as for their patience in answering my numerous and boring questions. Finally, I am deeply indebted to the whole free software community which provided me with professional, high quality, free of charge softwares which I used intensively throughout this project.

4

Yoann Aubineau

Table of Contents

Abstract

2

Acknowledgment

4

Index of Network Extractions

9

Introduction

11

Motivations for Auto-configured Networks .......................................11 Zeroconf at home ......................................................................12 Zeroconf at work .......................................................................12 New kind of networks ...............................................................13 Other Auto-configuration Mechanisms ..............................................13 More about Zeroconf ..........................................................................15  2



 !3



!"$#&%('*) '*

4

1

5

!6

+

,"#.#7

Chapter 1 Link-Local IP Addressing

'*

/ +

0 8

1 -

%#9

17

1.1 Presentation ...................................................................................17 1.2 Address allocation ..........................................................................18 1.2.1 Selecting ............................................................................18 1.2.2 Probing ..............................................................................19 1.2.3 Announcing .......................................................................20 5

Yoann Aubineau

Toward Seamless Local Networking

1.3 Conflict detection & resolution .....................................................20 1.4 Various considerations ...................................................................22 1.4.1 Routing ..............................................................................22 1.4.2 Security ..............................................................................22

Chapter 2 Multicast Name Resolution

24

2.1 2.2 2.3 2.4

Two rival protocols ........................................................................24 Presentation ...................................................................................25 About names ..................................................................................26 Name resolution .............................................................................28 2.4.1 Querying ............................................................................28 2.4.2 Responding ........................................................................29 2.5 Cache Updating ..............................................................................30 2.5.1 Passive learning .................................................................30 2.5.2 Notification ........................................................................30 2.6 Conflict management .....................................................................31 2.6.1 Probing ..............................................................................31 2.6.2 Conflict resolution ............................................................32 2.7 Optimization techniques ................................................................33 2.7.1 Multiple questions/answers per packet ...........................33 2.7.2 Unicast responses ..............................................................33 2.7.3 Known answer advertisement ..........................................34 2.7.4 Duplicate question/answer suppression ..........................34

Chapter 3 Service Discovery

35

3.1 Introduction ...................................................................................35 3.2 Requirements .................................................................................36 3.2.1 Service names ....................................................................36 3.2.2 Service subdivision ............................................................37 3.2.3 Discovery by types ............................................................37 3.3 The solution ...................................................................................38 3.3.1 DNS SRV ............................................................................38 3.3.2 Service naming ..................................................................39 3.3.3 Process ...............................................................................39 3.4 Additional features ........................................................................41 3.4.1 Additional Record response .............................................41 3.5 Service Type Enumeration ...................................................41

6

Yoann Aubineau

Toward Seamless Local Networking 5 )

2



!6

!") '=

':#&%;'*) 4

1

>@?

+ A

8

#



2

/





Lÿýþ

û 

3

ù

ûù

3

-



7

7

'

:0

)

), 0

.

-







2 #





2 #

6

3

(,

3



/.



/

'

0

: 7

(





>

90

,

'



&

: 0







2 #

),

6







2 #

O

P

I

R

J B

F

R

(

(

&

%

O

7

7

7

7

7

7

P







#















ý





]

\





#

þ

ý





û

þ

#







ý

N

N

a





3 

P

4

104



þû

b







ý

3

6

ý

]

5 #













#

ý

\

 



 





;





7

7

a

P



ý



ý

ý



ý



b

ù

ù

]

\









#









#



#



ý

ý













þ

#

þ











ý

ý





#







þ











!

ý

ý



!

L

M







ý

(

(

&

%

h

]

\



H

W

L

7

7

7



ý



ý

ý









ý











T

\

]









 7





ý



 T



ù

ù

ù O

P







ý

I

R

J B

F

R



a

M

P



ý

b 







% .





ý







Toward Seamless Local Networking Appendices

Yoann Aubineau

7

P





d

d



;



7

7

N

M

M

j









ý





d

d







105 (

(

&

%

h

(, 

/.



/

'

0

:

(

0

),

]

]

]

\

\

\

F i

U

;



W M

P











7

M

P







;



 O

P

F

JI

I

`

S

B W

7

7

M

P

þ



û

!





0 



;

ý 

N

N

\

\







% .

s

s

/

]

M

M 

]

]

\

M

/

:0



0

-

M


g

f

ý

ý











7

]

g

p





ý



?g

f

f





;





;



ý

;

ý

ý





#

 

ù

ù



*





þ





ý

6



#





*



ù

ù



;



= 



7

7

N

M







þ





þ 









ý

ý













þ







þ

þ 



ý

 





7

P







ý











]

\

g

f









 





þ

ý









ý

ý

ù

ù

(,

/.



/

'

0

:

(

0

),

 p 









;



ý







þ

þ 



ý



;











#

 

ý

\











ý

















ý





þ

;







þ

ý

ý



;

ý







ý

7

 7







ý



þ







]



 #







#













 





 

ý



ù

ù

]









þ





ý













þ

P

?

þ

#



7

I

R

J B

F

R

a











!



ý

ù

ù



ý

þ









 #









þ

5

ý

; #



#

O

;



þ



ú







ù



















ú







þ

þ

ú

 #

!



þ

ý

þ



*

*

ý

ý



þ

û



 

ý

þ













ú

7

M

P

P

c 



\







d

]

de



;



`R

H

M

P













7

7

M

P

\

Q



þ

û

R

T

T ]

\





V U 

S



R



T

T ]



]



;



\

H

V U 

S

`

F

^ W _



ý

;





L

7

M



H



b

? ]



;



\

W

Toward Seamless Local Networking Appendices

Yoann Aubineau

a

M

P





ý







107



ù

ù

0 







#







ý

ý











þ





#















ý



ý

þ

=  



;



þ

ýû









b







ý







L QF

F i

O

7

7

P









ý

ý









\

]









a

M

P





= 



b









M

P















L

a

M

M

b



\







0  ]





ý







H

W

L

M

j



 

W

(

(

&

]

% 7

h

\

F i

U

M

P

ý







ý

















ú





ý





ý





ù

ú







ý





ù

7

7

7

7

P









û

þ



þ





]

\









#

#

#



ý



=







ú



(

(

&

%

 M

P











(

(

&

%

T

]

\

ù

ù

ù ù

ú 

ú



ý



ý



ý

þ 

#

;



þ

ýû





 

ý





ù

ú







ý

ý











þ





=  



#













ú



#









û





þ



þ









#

#

#





ý



ý

þ

Y 











;



þ

û

ý

ý





ú ý



þ

û















ú



P



T

 7







#

G

W





M











ý

þ



`





7



ý



m



ý













ý





!





þ

ù

L

*





#







ý









#







þ





3











ý



3







ýþ

Y 







ý



*

!











ý



þ



þ



 



ú











þ









þ







=





ú 















#

















ý

ý



























þ

ú

Toward Seamless Local Networking Appendices

Yoann Aubineau

!

*

%

t

,$

,

ú

ý

!

þ









108 

!

















þ

















û



ý

þ

 

ý





ý



þ















#















#

#



ý 

ý



#













ý

ý

þ

þ



þ

ý

ý





ý









þ



#







þ

ý











#







ý 









û

!





û



þ

þ ýû

*

!



5

!







#



ý

 





ý

þ

þ







 

þ



5

û 

ú





ú



5 

/

0

$



,

ú



ù





þ

ý

ý

þ

  

1

ù

ù







ù ú ûüú þ O

7

P

=





] P

7

7  ]

7

.

\

;



-



'

)

),









0

&

,

q

0\



P



ý



ý

ý



ý











]

\







 7







M

j

ý







ý



(

(

&

%

h

]

\

F i

U







W

L

7 =

I



B

\

]

 

ý



þ 

W

m ` G

W

ù

ù

ù ù

ú

*







þ







=





 





ý



þ 



#













#





û









ý



 

ý

ú

ú

7 =

þ

ú











ù O

O

O

a

M

P





= 



b









Toward Seamless Local Networking Appendices

Yoann Aubineau

O

P

P







!



þ





7

N



P

= 

þ

]





]



N

P

-



'

)

),

.



u



]

\







;

O

ÿ

P



þ





ù

ù

-



'

)

),

.

]

\

#

;



*

*



!


]

\

H

W 7

P





þ



þ

]

\

#

N

N

M

P





þ

þû



ý



þ



û





]

\





 



 

7

N

P





þ

þ



û







þ

ý

þ

]

\



P



I B 7

W

P



ý

þ



þ







L

7

N

N

w

w

w



T



R

þ



û 

T

]

V U 

S

þû



ý

(0

),

\

 



 



I B

W

ù

ù

ù

7



ý 



ý 















2 #

O

P



I

R

J B

F

R O

7

P

=



0

&/

(

,

)

,

q

0

\



] P















ý 

3

3

\





]





L

M

h 

]

\

H

W

M

P



I



ý 

B

]

\

#







W

L

7



ý 

(0

),

T

]

\





#



I B

W

ù

ù

ù

Toward Seamless Local Networking Appendices

111 Yoann Aubineau

M

P

m

m

ý



þ

û



 

T

T

]

\

\

G

G



]

\

7



















2 #

O

P



I

R

J B

F

R O

7

P

=





]

P



 ,

\

)

,

0

&/

]

q





ù

ù



ý







0



G

ù

ù

ù

x  y

ý



T

W



7

ý





x  y



þ

û

`

(

W

W

7

m



x  y

`

`

L













3

3





]

\



L

M

M



(

(

&

%

]

\

H

W

N

M

P

T

\









þû

`

S

R



þû

B

T

]

#



û

R



 

T

V U 

S

Q

]

B

\



V U 

S

Q

I

`

S

I

N





#

7



û









(0

),

L (0

),

T

ù

ù

ù

7



 



 



 



 







2 #

O

P



I

R

J B

F

R O

Toward Seamless Local Networking Appendices

112 Yoann Aubineau

ù

ù

ù

7



û 

û

P







;



I

R 





F

R

J B

O

#

;





2 #

O

7

P

=





] P

]



;

0

&/

( 





3

3





û

\

,







)

,

q

0

\







L

c 

]

\

H

W

N

M

P



\

;

7

N

þ

\

ù

ù

ù

7

þ

û

]

#



û



þû



þ 











þû

]

#



û 

#



û





 T

R

V U 



þ 











2 #

û

S







;

W

û



û B



B

7

I



I

W

L O

P





I

R



J B

F

R

N

N

M

P










3

3

M

P



ý

þ

ý 



3



3















3

ý

7

7

ý



O







QF





ý

 

þ





L

i



ý





7

ý

q



.

q

0

%

'/

O

F

M

P

 3

3







ý

þ



L

M





þû

7

M



ù

ù P

]











g

f









þû

W



\

H

L

7

7

7





2

þ

ý







û

ý







ý









2

k

2

JQ



O

7

P

QF

`

S





0

,

8

/

0

0

i

O

O

P

Q B

V i

7

7

ÿ

N

N

N

P



ý

7

ÿ

N

N

P

ý



~

3

U

3 N

þ

121

g





 g

 





3

>

3

3

f

 









ý







ý

7



?





þ

3

3



f





ý

Q

þû

U

JE



3

]



þû

~

p

p





ý





Q

JE

?

\



Toward Seamless Local Networking Appendices

Yoann Aubineau

~

2

\



]

#









U

7

P





7

7

P



6

ƒ

ù ù

G

G



@ #

B

 

2

:

',

'/

122



O





#







‰

#

‰ 



ý

ý









ý







ý

P



B

ƒ

ù

 

2













ý

ý

ý 



!




„

>

3







#

#













ý

ý



þ

þ









#

#

;









ý





 

B

H

W

M

P



2

3

3

#

þ 





 









þ









*

M

P









2

3

3



#



þû

ý

ý









þ 

 

:

,

; 



ý





þ

ý

þ







!



þû



M

P

u



#



; 



ý 

M

P

v

ÿ w

M

]

‚

\

F U

P

v

ÿ

ÿ

w

w

w

w

w



]

þ



]



 



2

> ]

\



€ 





#



F U

3

3



\

F U

3

3

?

\

 

v

v

v

]



F U

3

3



\

F U

ý

ý

#

#







þ



 



5

5







#



; 



ý

„



ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ 7

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ 7

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ

ƒ #

2

#

 #











ý

ý



þ

2

ÿ

ÿ

P

















v



?









[

X

þ

ý



IF

`R

@

@

B





ù

€

?





[

‚X





ý

ý

>





[

‚X

ù

5 

û

ÿý

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

ÿ

2

*



) 


7

 





þû



L

M

5











ù

p

p



n

]



o

#



















Š

Š 



ý









ûý

Š

þ

þ

ý

2

ù

6

Š 



ý

6

Š 



ý

û





þ





þ

\

H

W

M

P





I

V

F

R

ù

ù

3

\

l

i

G

2

3

ù

ù

]





‰

þ

û





#





#



#



 











þ

W

L

Toward Seamless Local Networking Appendices

Yoann Aubineau

O

7

7

P

G

i

:

:

0

%

,

q

0



R W

QF

`

S O

ÿ

=







ù

ù



ù #

#









7

7

7

7

*

ÿ

P

=

124



7







2

3

ù ]













þ









þ



7

,

q

0



#

# :

:

0 

\

G

G

O

L

U



]

R W



ù

ù

3

#

ù

6

ƒ

ù

h

%



\

V

S

V

F

`R











=





F

ÿ

R





E

F

†R











û

ý







ý





L

H

7

7

N

P

G

3

>

3

:

:

0

%

,

q

0





R W

I

EF

`

L

7

ÿ

ƒ

ù

p

p

ý

n

ù

ú ]







@ o

6

6



#

#

 



û

\

H



W O

O

7

7

7

N

N

P

þû



\

þ

O

3

3



O

L

]

O

P

ý







3





‡







L

M

þû



þû

þ

þ

\

O

3

3

‹

]

#



O

L

3

3 #



O

L



þû

3

3



O

L

 

þ



þû

 

þ



þû

  

3

L

 

3





þû

 

þ



þû

 

3

L





#

#

 3





ý



3

þû

þ





 





!







ý

þ

L

‰





þ



ý

þ

‰

þû

3

‰



#

þû

3

‰



#



ý

ý









2

3

3

…

F

3

]



ýþ

þ

p

p

O

L

O

L

 

3



ýþ

þ

s

s

O

L

 

3



þ

3



þû

 

\











H

W

O

ý

û

6

6

ù

>





o

n

H



O



L

W

ý

û



þû

þ

d

d

6

6

ù

>

ÿ

Y

P





ý

ý

ý









þû

þ 











ý

6 6

€  n

n

6

6

€ 



n





2

ù

@ o

@

@ o

6

6

@ o

@

P

ý

@

6

ù

6

€ 



o

n

o

n

H

O



L

 

ÿ ú ÿ ú

M



þû

þ

 

W

P







B

2

ù

ù











þ



‰



ý 



Q

H

[

V i

W

L

7

7

j U





 )

%.

:

0

%

,

q

 0

]

\

F i

W

M

P



ý





þû

þ

3

3

>





O

L

 

M

P



þû

þ 

4

]

\

L

7

ÿ







ý

û

@

ù

ƒ

ù

ú

p

p





]

\







H



W

Toward Seamless Local Networking Appendices

Yoann Aubineau

P

QF

`

S

)

),

.

i O

P

I

ER

P

B

3

6

#



ý 









U

~

]

\

#





S

V

F



.

W

L

 

3

)

I

3

.

ER

),

3

)

),

O

6

B

W

`R

H

O





L

L





ý

ý









ý

S

V

F

`R

~

]

\





U

H



P

B

2 

3

)

),

3

6

>



I

ER



.

W

"

)

),

û 



3

ù

ûù

 3

ÿLýþ

*

I

EF

`



.

2







ý













ÿ

P









ù

ù

3

\







3 ]



#

#





=

=





û 7

P







P

þ

ý







û



ù 3 ]

 #









7

7

ý







ý



ù

ù

3

\





7

















þ

ý







û

ý



7





ý

ý 



7











ý





7

7

7







2







ý













 . 

2













3

ù

ù

ù

3

\

]





2







ý











û

ý

ý 







û

ý











2 $ 

2

O

7

7

P

QF

`

S





)

%.

:

0

%

,

q

0

i O

Toward Seamless Local Networking Appendices

125 Yoann Aubineau

Appendix B Differential Source Code for Howl's Replicated Service Support

This appendix includes one file: •

ŒŽ

ðCø ô

’‘”“•‘—–™˜›šœŸž› ¡œ¢š¤£¥‘§¦©¨©ª«ª

: the patch which adds replicated service

support to Howl version 0.9.6. The lines beginning with the sign ¬

replace the lines beginning with the sign –.

126

Yoann Aubineau

 æ

ê

æë

æ

í



æ



å

ä



é

õ

õ

ç õ



Û

¼

´

Ä





Û



®

¼ Û

´ ³

Ã

þ

Ã

¾

ÅÚ ¾

ÅÚ è é

Å

® Å



¾ Ú

´ ­

¾ Ú

´ ­

è

ã

â

Û

¿À



º

´

ý



Û

ÛÂ

Û



É

û Á

¾

ż

´

½

­

Ô

Ô

Ñ

×

Ð

Ð

Ð

Ð





Ö

Õ



Ö

Õ

þ

Þ

¶®

»¼

·

Ú ¶

Ý­

Ú Ü

Ã

Û

Ú ­

Ä

þ

Þ

¶®



»¼

·

Ú ¶

Ý­

Ú Ü

Ã

¼

ÃÚ

Ã

Å Â



Û®

Û

Å

ºÚ

´

Û®

Û

¼

´

ºÚ

¼

» ®



» ®

ÂÁ

¿À

Ã



Ã

ÂÁ

¿À

þ

Þ

ÀÁ

Á

®

³



Û

¶®

»¼

·

Ú ¶

Ý­

Ù

Û®

Û

Ú Ü

Ã

ÃÚ

º

Å

´

ºÚ

¼

» ®

Ã

à Â

½

ƺ

Ã

½

û Á

´

¿À

127 Ô

ê

æ



æë

æ

í

 

ä



é

ø

õ

õ

Ô

æ

 õ  

õ 

ù

é

ó



é

èð

õ

ó







ð ï

æ

 

èð

ì

è å

î

í

ð ï



í é

èð

í

ë

æð

ø

åä

ã

âá

ç õ

î

æ

í

Ñ

æð

è å



î å æ

î

ì í é



ì í é

èð

èð

õ

í



í

ë

õ

ë

ç õ



ç õ

î

åä æ

åä

ã

ã

î

âá

âá

×

æ

×

Þ

ÂÁ

Š

Û

¶®

ÂÁ

¿À

Š

Û®

Û

º

´

ý



Ã

Ú

º¾

´

 ÛÂ

Û

Û

à Ý

º

»

à

­

­

Ú ¶

Å Ý

´

ºÚ

¼

» ®

Ã

»¼

Ú ¶

Ý­

Ù

Û®

Û

Ú Ü

Ã

ÃÚ

º

Å

´

ºÚ

¼

» ®

Ã

¿À

Ã

Â

Á

®

Å

´

ºÚ

¼

Û®

Û

» ®

Ã

Ã

½

ƺ

²

²

þ

Þ

ÂÁ

Š

¶®

»¼

·

Ú ¶

Ý­

Ú Ü

Ã

¼

ÃÚ

ü

¿À

Š

æç

âá

æç

âá

Þ

Â

þ Ã ÿ

¾

Ú

À

ýü

Ã

¼

ÃÚ

Ã

´Û

ûú

»



Ú ¶

ø

ôó

æ

ù

ö õ ÷

ð

ò

ñ é y

ðï

î

í é 

ì

æë

à º Ý

ê é y

è

åä

Æ ¶

´

ÂÁ

ã

è

ì

ø

ôó

æ

ù

ö õ ÷

ð

ò

ñ é y

ðï

î

í é 

æë

ê é y

åä

ã

Û

Š

Ù

¶®

ÂÁ

¿À

Š

Ð

Ð

ÕØ

Ó

ÒÓ

±

±

±

±

°

°

²

½

ü

½

ƺ

Ã

º

Ã

Å

Ä´

ü

·

Ç

Á

Á

·É

È·

¿À

²

ÂÁ

¿À

¾ ²

º½

¼ ²

´

¹

¸

·

Û

à

Î Ê

Ï

±

°

²

·

Ç

Á

Á

Ê

Ç

·

·É

È·

¿À

²

ÂÁ

Î Ê ·

· ·

· ·

·

·

· ·

·

· ·

·

·

· ·

· · ·

·

·

¹

Í

Ë Ç

Ç

Ì Ë ¸

½

ü

½

ƺ

Ã

º

Ã

Å

Ä´

ü

¿À

¾²

º½

¼²

»

·

°

°

¹



®

­

‰

¶®

º ®

° ´

¸

·

±

±

±

·

·

¹

Ì Ë ¸

Í

Ë Í

·

®

­

‰

¶®

¯

­®



´³

´ ³  µ

²

° ¾

°

µ

±

°

°

°

²

·

×

ÕÖ

±

Ç

Ô

Ô

Ó

ÒÓ

Î

Î

Î

Á

ß

º

Ã

Æ ¶

´

ü

Â

²

²

Ñ

Ð

Ð

´ ³

Ã

Å

»

Ú ¶

º Ý

Ã

Æ ¶

´

ü

»¼

Ú ¶

Ý­

Ú Ü

Ã

ÃÚ

º

º

Ã

Ã

ÂÁ

¿À

Æ ¶

´

ü

º Â

Ñ

Ã



Æ ¶

´

ü

¿À

×

¯

¯

­®

B.1



×

Toward Seamless Local Networking Appendices

howl-0.9.6-repserv.diff

Yoann Aubineau

2 Ã ¾

ûÅ

Ô

Ô

Ñ

×

Ð

Ð

Õ



Õ

1



ÒÓ



ÒÓ

±

±

±

±

±

µ

128 °

°

²

±

°

µ

°

Î Ê

Ô

·

·

· ·

·

·

·

·

· ·

·

·

-







é

-

.

á





 "

ë

æ

è



í

í

í

æ

·





õ

/

ê õ

ë

èð

í

ë

·

·

åä

ã

â

òâ

ç õ

î

æ

æ



í ó

æë



ð ò

·

Ê

Ô

×

ð õ

·

®

·

Î

Û

 



º

º



·

þ

Ã

º

º

Ã

Å´

Ã

º

®

·



¯

%

û

·

Ã

ÛÂ



Ã0

º

·

û

´

¯

®

·

³

®

­



¶®

¯

¯

­®

·

¹

Í

Ï ¹

Ç Ë Ç

Í Ë ¸ Ì

Ê Ë ¸ Ì

· ·

Ç

·

°

·É

Ç

·É

È· È·

Á

Á

·

±

±

ü

½

¿À

²

ÂÁ

¿À

¾²

²

¼²

Ç

³

®

ƺ

Ã

º

Ã

Å

Ä´

ü

º½

»

·

Á

Á

¹



º ®

° ´

Ç

¿À

²

­



¶®

¯

­®

±

¸

·

Ë Í

ü

½

ƺ

Ã

º

Ã

Å

Ä´

ü

ÂÁ

¿À

¾ ²

º½

¼ ²

´

¹

¸

·



² ´ ³ 

²

° ¾

°

±

°

°

°

´ ³ 

Î

Î

Î Ð

Ð

Ô

Ô

Ô

Ô

Õ

ã

â

ä

"

ä



ê

,

,

ãô

Ó

æ



æë

æ

í



æ



å

ä



é

õ

õ

ç õ

æ

* õ +

èë

æ



(

ð õ



ø



×

Ô

Ñ

åä





-

õ







é

-

.

á





 "

ë

æ

è



í

í

æ

í

/

ê õ

ë

èð

í

ë

ç õ

î

æ

ã

â

Ô

Ô

Ô

Ô

Ñ

Õ

ã

â

ä

"

ä



,

,

ãô

Ó



æ

 òâ

í ó

æë

ð ò

ð õ

æ

* õ +

èë

æ



(

ð õ



ø



¾ ¿À

þ

þ

þ

þ

þ

þ

þ

þ

°

±

Ã

Â

Û

Û

Û





®

¿À









Á



®

º

º

´

ý



º

Ä´

¼

Û

ÛÂ

Û

Û

Û

­

´ ³ 

Å

Ú

¾

´ ­

Ã

Ä

ý Û

Ã

¾

ÅÚ

Ã



º

ý

´

º

»

Ã

½

ƺ

Ã

Û

Û

®

³

¾

Û

¿À Á

³

µ ®

Ã

½

ƺ º Á

Ã

Û

Û

¼

Ã

º

Ã

¼

» ®

Ã

Ã

¼

» ®

º

% & Á

Þ

Â

²

² º

Ã

×

$



ë



æ



æë



ø

ê

æ

í



æ











ã

â

å

ä

ä



é

õ

õ

ç õ

×

×

#

ê

ó

õ





ì

æ



æë

æ

í



æ



î å

ä

"



é

í é 

èð

í

ë

õ

õ

õ

ç õ

î

æ

åä

ã

âá

!



ê



ã

â

å

ä

ä



é



ç é

í ó



æ



æë

æ

í

í é

æ



îç

×

õ

õ

ç õ

ì

ð õ

×

×

ø

ó

 

ó

õ

õ

èë

æ

í

é



æ

ö õ ÷



 õ 

æ

ë

ç õ

æ



æë

ç

æ

æ

øð

ê

â





ð õ

æ

×

×



þ



®

­

Û



 

Å

Ú

¾ ®

´ ­

¼

´ ³

Ã

¾

Ú

Å À

Ú

¾

´ ¿

Å

Ã

Ä

Ä

ú

þ



Û

Á

ÀÁ

¿À

®





Û

Û



 

¼

´

Å

¼

®

´ ³

»

Å

º ®

Ã

¾

Ú

¾

º´

à Ý

¾

Ú

Å À

Ú

¾

´ ¿

Ã

Ú

Ô

Ô

Ñ

×

Ð

Ð

Ð

Ð

Ò





ÒÓ

Ø



Õ

Õ



Õ

Þ



¾

º

ý

´

Û

Û





ÀÁ

¿À



Toward Seamless Local Networking Appendices

Yoann Aubineau

Ô

è

æç

í



é

åé

129





å

â







å

Õ

ç

èð



C

èë

æ

æ å



øë

è

æç

ç

èð



ë

ç

èð

C

èë

æ







æ å



øë

è

æç

ç

èð



í

í

èë

æ

æ å



øë

ø

ò



ã

â

 õ

æð

è

è



é

é

Ô ñ

Ô

Ô

ñ

ëæ



í

í

ë

ð

í

æ





,

(

(

òâ

"

ó

ó







í ó

æë



ð ò

ç

ç

í é



ð

õ

ø

×



ó

õ

Ç



Ô

×

Ð

Ð

Õ

Õ





1

Ò

%

Þ

ý

Û

Û®

Û

¿À

Å

Ú

¾



´ ¿

¾

ż

´

½

º

ê æ

í

ç

èë

æ

ë

æç



è

æç

ë

è

æ

øë

9

ø

ë







ü

¾

Ú

Á



AB

®

Ú ³

½

ż

´

½

½

à À ç



Ê





 

º

º

ÚÛ

Ú ¿

à Â

¾

Ú Á

Å

º

Ô

Ò

ð

þ

º Ã û Û

Õ

ÚÛ

¼

Ä





â





õ



Ñ

Ð

Ð

øë

æ

ë

í

í



åé

ò





æ å



øë

è

æç

í



æð

èë





æ









í

×

æ



æ



í

ð

æ



í

ç

ä æ

ã

â

í

×

è







=





ø

ë

×

õ

=





ñ

ë

×

å

=





ñ

æ

; ó



÷ ð õ

×

×

ø

; ó



ð õ ÷

æ

×

Ô

è



Û

¼Û

Ã

º

Ã

Ê ·

Ù

­®

Ú ­

Ä

Ú





âá

é

é

æ

í



æ

èë





å

,

(

(

"



é

ó

é

í ó

æ

í

õ

ð õ

î

èë

ë

ë

ñ

æ

ë

í

æ



èë

æ

æ



èë

æ

@

(

!

!

ä

åä

ã







âá

(



æ



ë

ë

ë

ë

èë

æ

æ

í

>?æ

ñ

å

é





"



ä

@




Ô

Ñ





â

ä



Ô

ñ

>

>

Ô

Ô

Ô

Ô

ñ

å

ø

ø

,

,

ãô

ã

â

(

([

å

ä

Ô

Ô

Ô

Ô

ñ

I

æë



!

,

,

ãô

ã

â




Ñ

å

æ å



øë

è

æç



ä

ä



á

.

é

é

õ

æ ø

ã

â

í ó



 "



ä

>



×

í ó

æë

ð ò



I

!



í

í

æ



æë

æ

ë

ë

ç

èë

æ

æ å



ê

ø

ç

á

.

é

é

õ

øë

è

æç

å

ä



ö õ

ð

ë



ä

æ ø

ã

( æ ô



ç



í

í

æ



æë

æ

ö õ

ð

æ ô



(

èë

åä æ

åä

 "

ê

ø

ñ

èë

æ

âá ã

×

ã

âá

×

#

æ

ç é

æ

×

×

$

Ô

Ô



ë

ç



í

í

æ



æë

æ



ä

á

.

é

é

õ

ö õ

ð

æ ô



(

åä

 "

ê

ø

ñ

èë

æ

ã

âá

>

>

>

Ô

Ô

Ô

Ô

Ô

Ñ

ø

ñ

 å

ã

â

I

,

,

ãô

ã

â

(

([

å

å

õ



 "

ë

ç



í

í

æ



æë

á

.

é

é





õ

>

>

>

Ô

Ô

Ô

Ñ

ñ

 å

ã

â

I

æë



!

ä

ä

,

,

ãô

ã

â




Ô

Ô

Ô

Ñ

æ

ñ

 å

,

,

ãô

ã

â


æ ?



(

ã

âá

òâ

æ

âá



-

(

ã

âá

òâ

æ



Ô

ê

 ç õ

æ



( >



í ó



Ô

ñ

ê

ñ

åä

×



ä

!

ä

ä

èë

æ

ã

âá

í ó

æë



ð ò



ë

ç

èë

æ

æ å



øë

è

æç

ø

æ



> æ ?

>

( >

åä

 "

ê

ñ

èë

æ

ã

âá

Ñ

Ô

Ô

ë

ç



í

í

æ



æë

æ



ä

á

.

é

é

õ

ö õ

ð

>

( > æ ô



Ô

æ



â

ñ

Ô

Ô

ø

ø

å

ã

I

,

,

ãô

ã

â

(

([

å

å

ä



Ô

ñ



ä

á

.

é

é

õ

>

Ô

Ô

Ô

Ñ

ñ

å

I

æë



!

,

,

ãô

ã

â


æ ?

>

( >

åä

 "

ê

ñ

èë

æ

ã

âá

Ô

Ô



ë

ç



í

í

æ



æë

èë



ä

á

.

é

é

õ

ç õ

æ



Ô

Ô

Ô

Ñ

Ñ

ñ

Ô

Ô

ø

 å

ã

â

I

,

,

ãô

ã

â


æ ?

>

( >

åä

 "

ê

ñ

ê

ñ

èë

æ

ã

âá

Ã

à Û

Ú

Ã

Å



­

³

ü

û ¶

Æ

Ú

¼

´Û

¼Û

ý

´

º

´

ý

Û

³

¶®

Û®

û ú 

Z

Ú

Å ®

L

²

²

Toward Seamless Local Networking Appendices

Yoann Aubineau

±

®

%

¾

Ã

½

Ã

º

Ã

¼ Û

Á







®

®

®

134

»

Á



­



¿

¿À

O

=

=

ñ

ê

ø

ø

æ

ç

ç

î

í

èí

æ

î

èë

æ



Ã

Ú

½

´

¼

¼

Ú

Û ­

®

¼ ­

³

Ã

¾

ÅÚ

Å

Ã

­

» ®

Ú

Û

ñ



.

é



%

±

õ

û







"





é

é



é

æ

í



æ

ë

Û

¿À

Û

­

¯

±

±

±

°

°

²

Û

°

· Ë Ê ˆ

Î Ê

Ï

·

· ·

·

·

Å´

Å

ûº

µ

·

·

·

·

·

·

·

·

·

· ·

·

·

Å

Ú

½ ·

´

¼

Ã

·

µ

Æ

´

Ú

º

Ã

Å

Ä´

¼

´

ýÄ

´

½

Ú

ü

Ã

Ê

Ã

º¼

·

Î



­





Û

Û



 

®

³®

¯

Æ ¶

û

´

Ã

ºÚ

»

·

þ

ÃÚ

º

Ú

Ã

ý ­

µ

·

¸

Í

³

¶®

­



¶®

Û

%

±

°

Ã

º

Ã

¼

Û

Û

Û

Û

´Û

¼

ºÚ





À

' P

º

¼

Ã

ü

º

¼

Ã

½

ƺ

û

Á

Á



 

®

» ®

Ã

Â

¿À

² ¾

² Ý

²

²

ý ¶

Ã

ÅÚ

û Û

º

´

·

¹

Ê Ë ¸ Ì

Í Ë ¸ Ì

·

¸

Ç ·

°

5· Ç

·É

È·

L

ú

Ù

Á

È·

Û

¿À

¾²

ÂÁ

¿À

¾²

²

¼²

·

Å

Ã

º

Ã

Å

Ä´

ü

º½

»

·

±

±



º ®

° ´

¹

¸

·

Ç

³

¶®

­



¶®

¯

­®

±

±

°

µ

² ´ ³ 

Ç

L

ú

Ù

Á

Ë Í

Å

Ã

¿À

¾²

º

Ã

Å

Ä´

ü

ÂÁ

¿À

¾ ²

º½

¼ ²

´

° ¾

¹

¸

·



±

èð

æ

ä





 õ 

I

  "



ê

æë

>

Ô

Ô

=

=

Ô

Ô

Ô

Ñ

Ñ

Ñ

Ñ

Ñ

ê

ñ

ø

ø

ñ

ø

I

I

ã

â

(

ã

(

ä

ä

ä

.

.



-

å





í

æ



æë

ë

ç

æ



I

òâ



ä

é

í ó

ëæ

ð ò

æ

ë

æç

ë

ë

ç

æ

ç é

í ó



æç





ë

ç

æç



ë

ç

×

¼ ­

º

ë

ç

á

.

Ð

Ð



Õ

°

µ

² ´ ³ 

¯

¯

­®

é

Û®

³

¶®

Ô

Ò

±

±

°

°

°



Å

´

ºÚ

Ú ¶

ý

Å

º ®

Ä

Å

¼

L

ú

Ù

Á

×Ö

Ò

Î

Î

Î

í

Æ

³

Û

¿À

Ô

Õ

Ñ Ö

Ð

Ð

´



¾

Ã

º

Å

Ã

¾

Ã

¯®

­

ý