OVH Cloud OVH Cloud

Adressage IP

9 réponses
Avatar
Julien Arlandis
Bonjour,

J'ai une question concernant l'utilisation du protocole IP.
Pourquoi l'adresse ip se terminant par 0 ne peut être jamais utilisée
par un hôte? Je sais bien que cette adresse permet d'identifier le
réseau, mais je ne vois pas en quoi celà interdirait son attribution.
L'adresse de réseau n'est jamais utilisée dans les datagrammes IP, elle
est seulement utilisée dans les tables de routages, donc je ne vois pas
où est ce qu'il pourrait y avoir un conflit.

Quelqu'un pourrait m'expliquer la véritable raison?

9 réponses

Avatar
T0t0
"Julien Arlandis" wrote in message
news:419d0e8a$0$14310$
J'ai une question concernant l'utilisation du protocole IP.
Pourquoi l'adresse ip se terminant par 0 ne peut être jamais utilisée
par un hôte?


Si, elle peut.
Les adresses à ne pas utiliser sont la première et la dernière d'une
plage, cela n'implique pas qu'il n'y aura pas d'adresses qui finissent
par 0 ou 255. Par exemple:
192.168.1.0/255.255.254.0 est une adresse de machine, de même que
192.168.0.255/255.255.254.0.

Je sais bien que cette adresse permet d'identifier le
réseau, mais je ne vois pas en quoi celà interdirait son attribution.


C'est l'implémentation des piles IP qui veut cela. Tant que tes machines
l'interdisent, et que les routeurs intermédiaires aussi, cela ne sera
pas possible de les utiliser.

L'adresse de réseau n'est jamais utilisée dans les datagrammes IP, elle
est seulement utilisée dans les tables de routages, donc je ne vois pas
où est ce qu'il pourrait y avoir un conflit.
Quelqu'un pourrait m'expliquer la véritable raison?


Il semblerait que certains messages d'erreur ICMP utilisent cette
valeur pour identifier un réseau, donc si elle est utilisée par un hote,
on risque de ne plus faire la distinction.




--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Avatar
Patrick_91
Bonjour
T0t0 wrote:

"Julien Arlandis" wrote in message
news:419d0e8a$0$14310$
J'ai une question concernant l'utilisation du protocole IP.
Pourquoi l'adresse ip se terminant par 0 ne peut être jamais utilisée
par un hôte?


Si, elle peut.
Les adresses à ne pas utiliser sont la première et la dernière d'une
plage, cela n'implique pas qu'il n'y aura pas d'adresses qui finissent
par 0 ou 255. Par exemple:
192.168.1.0/255.255.254.0 est une adresse de machine, de même que
192.168.0.255/255.255.254.0.

Je sais bien que cette adresse permet d'identifier le
réseau, mais je ne vois pas en quoi celà interdirait son attribution.


C'est l'implémentation des piles IP qui veut cela. Tant que tes machines
l'interdisent, et que les routeurs intermédiaires aussi, cela ne sera
pas possible de les utiliser.


Non il n'ya pas d'impossibilite theorique, au hazard , le reseau :

ident : 10.1.2.0
plage : 10.1.2.1 a 10.1.3.254
broadcast : 10.1.3.255
masque : 255.255.254.0

A noter que l'adresse : 10.1.3.0 est parfaitement utilisable /

Ne pas confondre les defauts d'implementation et les rfc's ...

Amicalement


Avatar
PYT
Bonjour

"Julien Arlandis" a écrit dans le message news:
419d0e8a$0$14310$
Bonjour,

J'ai une question concernant l'utilisation du protocole IP.
Pourquoi l'adresse ip se terminant par 0 ne peut être jamais utilisée
par un hôte?


La valeur du dernier octet ne suffit pas à déterminer si c'est ou non le
début de plage, comme l'a fait remarquer T0t0.
Je précise donc que je fais la suite de la réponse en écrivant 0 ou 255 pour
désigner l'état à 0 ou à 1 de l'ensemble des bits de la partie adresse
machine (adresse machine).

J'ai posé une question similaire (dans un fil intitulé "adresses de sous
reseau
", début septembre 2004). Il est apparau que l'adresse 0 était initialement
utilisée pour la diffusion, comme la "255".
C'est ce qu'avait expliqué Angelot:
La réponse est dans RFC1812 page 49, de juin 1995 : "IP addresses are not
permitted to have the value 0 or -1 for the <Host-number>
or <Network-prefix> fields



PYT

Avatar
T0t0
"Patrick_91" wrote in message
news:419e118f$0$9106$
C'est l'implémentation des piles IP qui veut cela. Tant que tes machines
l'interdisent, et que les routeurs intermédiaires aussi, cela ne sera
pas possible de les utiliser.
Non il n'ya pas d'impossibilite theorique, au hazard , le reseau :


ident : 10.1.2.0
plage : 10.1.2.1 a 10.1.3.254
broadcast : 10.1.3.255
masque : 255.255.254.0

A noter que l'adresse : 10.1.3.0 est parfaitement utilisable /

Ne pas confondre les defauts d'implementation et les rfc's ...


J'veux pas être méchant, mais il faut lire les réponses avant de
répondre, ça peut aider.

T0t0 wrote:
"Si, elle peut.
Les adresses à ne pas utiliser sont la première et la dernière d'une
plage, cela n'implique pas qu'il n'y aura pas d'adresses qui finissent
par 0 ou 255. Par exemple:
192.168.1.0/255.255.254.0 est une adresse de machine, de même que
192.168.0.255/255.255.254.0."

Ce qui revient à peu de choses près à ton exemple.
RTFPost :-)




--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG


Avatar
Julien Arlandis
Bonjour,
je réponds à T0t0 ici, car étrangement son message n'apparait pas chez moi.


J'ai une question concernant l'utilisation du protocole IP.
Pourquoi l'adresse ip se terminant par 0 ne peut être jamais utilisée
par un hôte?


Si, elle peut.
Les adresses à ne pas utiliser sont la première et la dernière d'une
plage, cela n'implique pas qu'il n'y aura pas d'adresses qui finissent
par 0 ou 255. Par exemple:
192.168.1.0/255.255.254.0 est une adresse de machine, de même que
192.168.0.255/255.255.254.0.



Evidemment, quand je parlais des adresses ip se terminant par 0, je sous
entendais que les bits de la partie machine sont tous à 0 (HostID = 0).


Je sais bien que cette adresse permet d'identifier le
réseau, mais je ne vois pas en quoi celà interdirait son attribution.


C'est l'implémentation des piles IP qui veut cela. Tant que tes machines
l'interdisent, et que les routeurs intermédiaires aussi, cela ne sera
pas possible de les utiliser.



Il suffirait qu'elles ne soient plus interdites pour qu'on puisse les
attribuer, ce ne serait donc pas pour des raisons théoriques que ces
adresses ne sont pas utilisées mais plutôt pour des raisons historiques.
Je me trompe?



Avatar
Angelot
Bonsoir Pierre-Yves,

C'est ce qu'avait expliqué Angelot:
La réponse est dans RFC1812 page 49, de juin 1995 : "IP addresses are not
permitted to have the value 0 or -1 for the <Host-number>
or <Network-prefix> fields



Pour préciser un peu plus, il est préférable de discuter sur 3 cas :

(1) Dans le réseau "public"

Toujours RFC1812, qui indique dans le paragraphe 10.2.2 : "As was described
in Section [4.2.2.11], IP addresses are not permitted to have the value 0
or -1 in the <Host-number> or <Network-prefix> fields. Therefore, a router
SHOULD NOT allow an IP address or address mask to be set to a value that
would make any of these fields above have the value zero or -1."

On remarquera l'expression "should not" et non "must not". Mais, comme
personne ne voudra prendre de risques, ou supputer la bienveillance de
fonctionnement d'un routeur, on évite sûrement les 2 occurrences 0 et -1.

(2) Dans le réseau privé d'entreprise

La tendance est forte de s'aligner (dans ce cas d'adressage) sur le principe
du réseau public.

(3) Dans le réseau domestique

Rien n'empêche d'utiliser les valeurs 0 ou -1 pour les numéros de machines.
Sous Windows, à ma connaissance, le broadcast dirigé ne fonctionne plus. On
peut s'en convaincre en observant la table de routage qui doit renvoyer le
broadcast sur l'adresse de bouclage.

Si les valeurs sont évitées, ce n'est pas par impossibilité technique, ou à
cause d'un risque de blocage par un routeur de maison, mais par une pratique
consacrée par l'usage, ou par commodité : exprimer par exemple qu'une
machine 192.168.99.248/29 se trouve sur le réseau 192.168.99.248/29, cela
manquerait un peu de clarté, et donner encore à une machine l'adresse
192.168.99.255/29, cela heurte un peu le bon sens (qu'il faut peut être
conserver pour d'autres choses).

Cordialement,
Angelot


Avatar
Patrick_91
Bonjour,


Angelot wrote:

Bonsoir Pierre-Yves,

C'est ce qu'avait expliqué Angelot:
La réponse est dans RFC1812 page 49, de juin 1995 : "IP addresses are
not permitted to have the value 0 or -1 for the <Host-number>
or <Network-prefix> fields




Nous ne lisons pas la meme chose ou bien je n'ai pas compris ce dernier
post :


We now summarize the important special cases for general purpose
unicast IP addresses, using the following notation for an IP address:>


{ <Network-prefix>, <Host-number> }

and the notation -1 for a field that contains all 1 bits and the
notation 0 for a field that contains all 0 bits.


(a) { 0, 0 }

This host on this network. It MUST NOT be used as a source
address by routers, except the router MAY use this as a source
address as part of an initialization procedure (e.g., if the
router is using BOOTP to load its configuration information).


Si je comprend bien (et c'est une vieille regle toujours en vigueur)
les adresses de host interdites sont :
0.0.0.0 et 1.1.1.1 et aussi 127.x.x.x
c'est tout .... (all zeroes or all ones !!)


On remarquera l'expression "should not" et non "must not". Mais, comme
personne ne voudra prendre de risques, ou supputer la bienveillance de
fonctionnement d'un routeur, on évite sûrement les 2 occurrences 0 et -1.

Pas daccord, la forme "should not" ou "ne devrait pas " est la forme polie

de "must not" (ne doit pas) mais elel veut bien dire :

"Vous ne devez evidement pas" , les Anglo Saxons sont comme ca ....
Les rfc"s ne sont que des recommandations mais pour les Anglo Saxons
ce sont des obligations bien sur ... si non on vous boute hors du reseau ..

Amicalement


Cordialement,
Angelot




Avatar
Jacques Caron
On Sun, 21 Nov 2004 19:04:54 +0100, Patrick_91
wrote:

Si je comprend bien (et c'est une vieille regle toujours en vigueur)
les adresses de host interdites sont :
0.0.0.0 et 1.1.1.1 et aussi 127.x.x.x
c'est tout .... (all zeroes or all ones !!)


All ones c'est 255.255.255.255 plutôt. Mais toutes sortes de cas sont
détaillés, et en particulier, section 4.2.3.1, point (2):

SHOULD silently discard on receipt (i.e., do not even deliver to
applications in the router) any packet addressed to 0.0.0.0 or {
<Network-prefix>, 0 }. If these packets are not silently
discarded, they MUST be treated as IP broadcasts (see Section
[5.3.5]). There MAY be a configuration option to allow receipt
of these packets. This option SHOULD default to discarding
them.

On peut donc envoyer de tels paquets, mais ils doivent être ignorés ou
considérés comme des broadcasts. Donc une telle adresse n'est pas
utilisable pour une machine.

Il faut noter que comme ça aboutit à un gâchis non négligeable pour les
liaisons point-à-point qui ne fonctionnent pas en "IP unnumbered" (on
utilise un /30 pour deux adresses, et les deux autres ne servent à rien
puisqu'un link-local broadcast n'a aucune utilité sur un line point à
point), cisco a proposé il y a quelques temps une exception qui est le /31
dans lequel les adresses 0 et -1 sont bien les deux extrémités du lien.
J'avoue que je n'ai pas suivi ce qu'est devenue la RFC correspondante et
son niveau d'adoption.

Pas daccord, la forme "should not" ou "ne devrait pas " est la forme
polie de "must not" (ne doit pas) mais elel veut bien dire :

"Vous ne devez evidement pas" , les Anglo Saxons sont comme ca ....
Les rfc"s ne sont que des recommandations mais pour les Anglo Saxons
ce sont des obligations bien sur ... si non on vous boute hors du reseau
..


La signification de tous les "MUST", "SHOULD", "MUST NOT", "SHOULD NOT",
"MAY" et tous leurs copains est normalisée. Dans le cas de la RFC en
question, la définition se trouve au début, et nous dit bien:

o SHOULD NOT
This phrase means that there may exist valid reasons in particular
circumstances when the described behavior is acceptable or even
useful. Even so, the full implications should be understood and
the case carefully weighed before implementing any behavior
described with this label.

Et est différent de:

o MUST NOT
This phrase means that the item is an absolute prohibition of the
specification.

D'ailleurs le choix de l'un ou l'autre est souvent le prétexte
d'interminables discussions dans les listes des groupes de travail de
l'IETF.

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
Emmanuel Delahaye
Patrick_91 wrote on 21/11/04 :
Si je comprend bien (et c'est une vieille regle toujours en vigueur)
les adresses de host interdites sont :
0.0.0.0 et 1.1.1.1 et aussi 127.x.x.x
c'est tout .... (all zeroes or all ones !!)


All ones c'est 255.255.255.255

--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html

"Clearly your code does not meet the original spec."
"You are sentenced to 30 lashes with a wet noodle."
-- Jerry Coffin in a.l.c.c++