[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[HS] Cours socket ;-) (fut: Re: ntpdate et bind)



Philippe Monroux <ph.monroux@wanadoo.fr> a écrit :

| Le sam 01 fév 2003, à 11 h 31 min 32 s  (UTC +0100),
| Pierre Machard a écrit :
| 
| > Ce n'est pas  un problème. Il suffit que tu  sois derrière un
| > firewall pour  que ça  ne fonctionne  pas. Le  -u c'est  pour
| > utiliser  un port d'entrée/sortie utilisateur.
|  
| > pour le bind, rien à voir avec  un dns. Voir man 2 bind bind -
| > Fournir un nom à une socket.
| 
| Donc ça  met un nom à  un n°...comme avec un  dns. Et à quoi  ça sert
| de donner un nom (surtout que ça marche sans, apparemment) ?

Un fil réfroidi, mais si une (gigantesque) confusion peut être évitée,
je me sens le devoir de prendre ma plume électronique (alongée et avec
des touches) et d'agiter mes doigts dessus.

Pour commencer, une traduction de "to bind" est "associer" ou "lier".

BIND est d'une part le nom d'une implémentation du protocole DNS,
protocole qui permet de faire le lien entre adresses IP et noms.
Une URL : http://www.isc.org/products/BIND/ et c'est réglé.

Le bind qui t'intéresse est le celui indiqué par Pierre Machard. La page
man n'est compréhensible que si l'on a déjà compris le mécanisme socket
+ bind. « Fournir un nom » revient en fait à associer la socket à un
numéro de port local. Parce qu'en C, tu commences par créer une socket
qui « flotte en l'air » et ensuite tu la lies à un port si ça
t'intéresse. Typiquement, ça t'intéresse lorsque la socket va servir à
un serveur pour écouter des réquêtes. La socket de ton serveur web doit
être liée à ton port 80, en tout cas à un port que les clients doivent
connaître à l'avance. Et le bind ne t'intéresse pas lorsque tu vas te
connecter à un serveur. Ton navigateur veut se connecter sur le port 80
du serveur web, et se fout pas mal du port auquel la socket est liée en
local.

Dans le cas de ntpdate, ton serveur ntpdate veut faire un bind pour que
d'autres serveurs ntpdate, sûrement, puissent le contacter. Problème, il
n'y arrive pas, ou bien parce qu'il n'est pas lancé par root, ou bien à
cause du parre-feu.

Tu (Philippe) dis « donc ntpdate -u -s fonctionne ». Je ne vois pas
pourquoi « donc ». Ton problème est résolu par le -u, et tu voulais
savoir pourquoi ?

(vu que c'est HS, je t'incite à me répondre plutôt en privé).

-- Dan



Reply to: