web-dev-qa-db-fra.com

Compte de saut: bonne façon de compter houblon: le nombre de routeurs vs routeur compte +1

Je suis très perplexe et confus à propos de la définition du nombre de sauts, en particulier liée à la métrique RIP. Le nombre de sauts doit-il refléter le nombre de liaisons ou le nombre de routeurs? Voici deux possibilités:

Déclaration A:
. Le nombre de sauts = nombre de routeur croisé
. hop comptez sur un hôte sur le même sous-réseau = 0
. RIPV1 Metric = Hop Count + 1 (en supposant que le coût du réseau = 1)

Déclaration B:
. Le nombre de sauts = nombre de routeur croisé + 1
. hop comptez sur un hôte sur le même sous-réseau = 1
. RIPV1 Metric = Hop Count (en supposant que le coût du réseau = 1)

Quelle déclaration est vraie?

Voici ma topologie de réseau:

(192.168.2.0/24)--Router2 192.168.1.0/24)--Router1--(192.168.0.0/24)--Internetgateway--Z--

Il semble y avoir une ambiguïté sur le nombre de sauts: nombre de routeurs croisés vs nombre de liens utilisés.

wikipedia Quote: "En réseau informatique, un hop est une partie du chemin entre la source et la destination. Les paquets de données passent dans des routeurs et des passerelles sur le chemin. Chaque fois que les paquets sont passés à l'appareil suivant, un houblon se produit. Pour voir combien de sauts il faut pour obtenir d'un hôte à une autre commande de ping ou de traceroute/TracePath peut être utilisé. "

Le destinataire final est-il considéré comme un "périphérique suivant", impliquant ainsi un saut?

Voici une traceroute locale de l'hôte 192.168.2.30, à travers deux routeurs:

test@ubuntu:~$ Sudo traceroute -I 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 30 Hops max, 60 byte packets
1  192.168.2.1 (192.168.2.1)  0.868 ms  0.831 ms  2.565 ms
2  192.168.1.1 (192.168.1.1)  3.451 ms  3.450 ms  3.438 ms
3  Gateway (192.168.0.1)  5.213 ms  5.219 ms  5.945 ms
test@ubuntu:~$ 

1,2,3 .. est-ce que 3 hops? Le format Traceroute me perplexe.

plus, voici ma table de routage Subnet2 (y compris les entrées RIP):

test@ubuntu:~$ ip -4 route show
default via 192.168.2.1 dev eth0  proto zebra  metric 2 
192.168.0.0/24 via 192.168.2.1 dev eth0  proto zebra  metric 3 
192.168.0.1 via 192.168.2.1 dev eth0  proto zebra  metric 3 
192.168.1.0/24 via 192.168.2.1 dev eth0  proto zebra  metric 2 
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.201  metric 1 
192.168.3.0/24 dev eth2  proto kernel  scope link  src 192.168.3.201  metric 1 
test@ubuntu:~$ 

Nous avons une métrique 3 au sous-réseau 0 (c.-à-d. Traversant deux routeurs).

De ce côté, nous avons créé une notion de note de saut = nombre de liens

De l'autre côté, la page Wikipedia affiche une image de deux routeurs en ligne avec ce commentaire: "Une illustration de sauts d'un réseau. Le nombre de sauts entre les ordinateurs dans ce cas est 2."

Plus, il se lie vers une page qui indique clairement que nous devons compter sur les houblons sur les routeurs et ne saut pas sur les liens:

Ici, nous avons clairement une notion de note de saut = nombre de routeurs croisés.

Quelle est la bonne façon de calculer le nombre de sauts? Comment se rapporte-t-il à la métrique RIP?
sources :
[.____] --- (http://fr.wikipedia.org/wiki/hop (réseautage

[.____] http://www.infocellar.com/networks/ip/hop-count.htm

Notes: Quotes pertinents dans RFC 1058 (RIPV1 RFC):

Dans des réseaux simples, il est courant d'utiliser une métrique qui compte simplement le nombre de passerelles qu'un message doit passer par un message.
...

L'exigence principale est qu'elle doit être possible de représenter la métrique comme une somme de "coûts" pour les houblons individuels.

Formellement, s'il est possible d'obtenir de l'entité i à l'entité J directement (c'est-à-dire sans passer à travers une autre porte d'entrée), alors un coût, d (i, j), est associé au houblon entre I et J. Dans le cas normal où toutes les entités sur un réseau donné sont considérées comme les mêmes, D (i, j) est la même pour toutes les destinations sur un réseau donné et représente le coût de l'utilisation de ce réseau.

Pour obtenir la métrique d'une route complète, on ajoute simplement les coûts des sauts individuels qui composent l'itinéraire. Pour les besoins de ce mémo, nous supposons que les coûts sont des entiers positifs.

...

     A-----B
         \   / \
          \ /  |
           C  /    all networks have cost 1, except
           | /     for the direct link from C to D, which
           |/      has cost 10
           D
           |<=== target network

Chaque passerelle aura une table montrant un itinéraire vers chaque réseau.

Toutefois, à des fins de cette illustration, nous ne montrons que les itinéraires de chaque passerelle sur le réseau marqué au bas du diagramme.

        D:  directly connected, metric 1
        B:  route via D, metric 2
        C:  route via B, metric 3
        A:  route via B, metric 3    

...

La métrique d'un réseau est un entier compris entre 1 et 15 inclus. Il est défini d'une certaine manière non spécifiée dans ce protocole. La plupart des implémentations existantes utilisent toujours une métrique de 1. ...

Chaque hôte implémente RIP est supposé avoir une table de routage. Cette table a une entrée pour chaque destination accessible à travers le système décrit par RIP. Chaque entrée contient au moins les informations suivantes:

  - The IP address of the destination.

  - A metric, which represents the total cost of getting a
    datagram from the Host to that destination.  This metric is
    the sum of the costs associated with the networks that
    would be traversed in getting to the destination.    

...

La métrique pour un réseau directement connecté est définie sur le coût de ce réseau. Dans les implémentations de RIP existantes, 1 est toujours utilisé pour le coût. Dans ce cas, la métrique RIP réduit à un simple nombre de sauts.

2
networkIT

Comme vous citez Wikipedia, vous auriez dû remarquer cet indice:

Pour voir combien de sauts il faut pour obtenir d'un hôte à une autre commande de ping ou de traceroute/TracePath peut être utilisé.

Traceroute fonctionne en envoyant habituellement l'UDP, TCP ou ICMP (ce que comporte seulement est que le protocole utilisé est encapsulé dans un datagramme IP et qu'une réponse sur ce même protocole peut être livrée à la Adresse IP de destination) avec un fichier TTL sur l'en-tête IP est égal à 1, puis incrémenté par un après chaque essai jusqu'à ce que la réponse reçue soit différente de l'ICMP Type 11 Code 0 Paquet (type ICMP Type 11 = Temps dépassé, code 0 = TTL a expiré en transit).

Cela utilise cette partie de la RFC 1812:

Le champ Time-to-Live (TTL) de l'en-tête IP est défini comme un
Minuterie limitant la durée de vie d'un datagramme. C'est un champ 8 bits et
[.____] Les unités sont des secondes. Chaque routeur (ou autre module) qui gère un
Le paquet doit décrémenter le TTL par au moins un, même si le temps écoulé
Le temps était beaucoup moins qu'une seconde. Puisque c'est très souvent le cas,
[.____] le TTL est effectivement une limite de comptage de saut sur la mesure où un datagramme peut
Propagez via Internet.

[...]

Si le TTL est-il réduit à zéro (ou moins), le paquet doit être
Jeté, et si la destination n'est pas une adresse de multidiffusion la
Le routeur doit envoyer un message dépassé Time ICMP, code 0 (TTL dépassé
En transit) Message à la source

Presque toutes les implémentations interprètent Décrémentez le TTL par leat One AS décrémenter le TTL b par un et La mesure du hop est globalement considérée comme la quantité de paquets de routeurs que vous avez envoyés passera jusqu'à atteindre leur destination.

1
Xavier Lucas