Translation

English
English French Actions
As a first step, let us assume that we only need to exchange a small amount of data. In this case, there is no issue with the maximum length of the frames. However, there are other more interesting problems that we need to tackle. To understand these problems, let us consider the network represented in the figure below. Pour commencer, considérons que nous avons besoin d'échanger seulement une petite quantité de données. Dans ce cas, il n'y a pas de problème avec la taille maximale de la frame. Cependant, il y a des problèmes plus intéressants auxquels nous allons devoir nous confronter. Pour comprendre ces problèmes, considérons le réseau représenté dans la figure ci-dessous.
This network contains two types of devices. The hosts, represented with circles and the routers, represented as boxes. A host is a device which is able to send and receive data for its own usage in contrast with routers that most of the time simply forward data towards their final destination. Routers have multiple links to neighboring routers or hosts. Hosts are usually attached via a single link to the network. Nowadays, with the growth of wireless networks, more and more hosts are equipped with several physical interfaces. These hosts are often called `multihomed`. Still, using several interfaces at the same time often leads to practical issues that are beyond the scope of this document. For this reason, we only consider `single-homed` hosts in this e-book. Ce réseau contient seulement deux types de périphériques. Les hôtes, représentés par des cercles, et les routeurs, représentés par des rectangles. Un hôte est un périphérique capable d'envoyer et recevoir des données pour son propre usage contrairement aux routeurs qui, la plupart du temps, ne se chargent que de relayer les données vers leur destination finale. Les routeurs ont plusieurs connexions à leurs voisins ou hôtes. Ces derniers sont habituellement connecté via une unique liaison au réseau. De nos jours, avec la croissance des réseaux sans fil, de plus en plus d'hôtes sont équipés de plusieurs interfaces de couche physique. Ces hôtes sont souvent appelés `multihomed`. Même si, utiliser plusieurs interfaces en même temps amène souvent en pratique des problèmes qui vont au-delà de ce qui est couvert dans ce document. Pour cette raison, nous ne considérons que des hôtes dits `single-homed` dans cet e-book.
To understand the key principles behind the operation of a network, let us analyze all the operations that need to be performed to allow host `A` in the above network to send one byte to host `B`. Thanks to the datalink layer used above the `A-R1` link, host `A` can easily send a byte to router `R1` inside a frame. However, upon reception of this frame, router `R1` needs to understand that this byte is destined to host `B` and not to itself. This is the objective of the network layer. Pour comprendre les principes clés derrière la gestion d'un réseau, analysons toutes les opérations à effectuer pour permettre à l'hôte `A` dans le réseau ci-dessus d'envoyer un byte à l'hôte `B`. Grâce à la couche de liaison de données utilisée par-dessus la liaison `A-R1`, l'hôte `A` peut aisément envoyer un byte au routeur `R1` à l'intérieur d'une frame. Cependant, lors de la réception de cette frame, le routeur `R1` doit comprendre que ce byte est destiné à l'hôte `B` et non à lui-même. L'objectif de la couche réseau consiste à gérer cette situation.
To send one byte of information to host `B`, host `A` needs to place this information inside a `packet`. In addition to the data being transmitted, the packet also contains either the addresses of the source and the destination nodes or information that indicates the path that needs to be followed to reach the destination. Pour envoyer un byte d'information vers l'hôte `B`, l'hôte `A` doit placer cette information à l'intérieur d'un `paquet`. En plus des données transmises, le paquet contient également soit l'adresse de la source et celle du noeud destinataire, soit des informations qui indiquent le chemin à prendre pour atteindre la destination.
There are two possible organizations for the network layer : Il y a deux organisations possibles pour la couche réseau :
`datagram` les `datagram`
`virtual circuits` les `circuits virtuels`
The datagram organization L'organisation `datagram`
The first and most popular organization of the network layer is the datagram organization. This organization is inspired by the organization of the postal service. Each host is identified by a `network layer address`. To send information to a remote host, a host creates a packet that contains: La première organisation, et la plus populaire, de la couche réseau est l'organisation par `datagram`. Cette organisation s'inspire de l'organisation du service postal. Chaque hôte est identifié par une `adresse sur la couche réseau`. Afin d'envoyer de l'information à un hôte distant, un hôte crée un paquet qui contient :
the network layer address of the destination host l'adresse de l'hôte de destination sur la couche réseau
its own network layer address sa propre adresse sur la couche réseau
the information to be sent l'information à envoyer
To understand the datagram organization, let us consider the figure below. A network layer address, represented by a letter, has been assigned to each host and router. To send some information to host `J`, host `A` creates a packet containing its own address, the destination address and the information to be exchanged. Pour comprendre l'organisation par datagram, considérons la figure ci-dessous. Une adresse sur la couche réseau, représentée par une lettre, a été assignée à chaque hôte et routeur. Pour envoyer de l'information à l'hôte `J`, l'hôte `A` crée un paquet contenant sa propre adresse, l'adresse de destination et l'information à échanger.
With the datagram organization, routers use `hop-by-hop forwarding`. This means that when a router receives a packet that is not destined to itself, it looks up the destination address of the packet in its `forwarding table`. A `forwarding table` is a data structure that maps each destination address (or set of destination addresses) to the outgoing interface over which a packet destined to this address must be forwarded to reach its final destination. The router consults its forwarding table to forward each packet that it handles. Avec l'organisation datagram, les routeurs utilisent le `hop-by-hop forwarding`. Cela signifie que lorsqu'un routeur reçoit un paquet qui ne lui est pas destiné, il va chercher l'adresse de destination du paquet dans sa `table de forwarding`. Une `table de forwarding` (forwarding table) est une structure de données qui associe à chaque adresse de destination une interface de sortie qu'un paquet destiné à cette adresse doit suivre pour atteindre sa destination finale. Le retoueur consulte sa forwarding table pour transférer chaque paquet à traiter.
The figure illustrates some possible forwarding tables in this network. By inspecting the forwarding tables of the different routers, one can find the path followed by packets sent from a source to a particular destination. In the example above, host `A` sends its packet to router `R1`. `R1` consults its forwarding table and forwards the packet towards `R2`. Based on its own table, `R2` decides to forward the packet to `R5` that can deliver it to its destination. Thus, the path from `A` to `J` is `A -> R1 -> R2 -> R5 -> J`. La figure illustre quelques forwarding tables possibles dans ce réseau. En inspectant les forwarding tables des différents routeurs, on peut trouver le chemin suivi par les paquets envoyés depuis une source vers une destination particulière. Dans l'exemple ci-dessus, l'hôte `A` envoie son paquet au routeur `R1`. `R1` consulte sa forwarding tables et transmet le paquet vers `R2`. En se basant sur sa propre table, `R2` décide de transmettre le paquet à `R5` qui peut le livrer à sa destination. Ainsi, le chemin de `A` à `J` est `A -> R1 -> R2 -> R5 -> J`.
In a network, a path can be defined as the list of all intermediate routers for a given source destination pair. For a given source/destination pair, the path can be derived by first consulting the forwarding table of the router attached to the source to determine the next router on the path towards the chosen destination. Then, the forwarding table of this router is queried for the same destination... The queries continue until the destination is reached. In a network that has valid forwarding tables, all the paths between all source/destination pairs contain a finite number of intermediate routers. However, if forwarding tables have not been correctly computed, two types of invalid paths can occur.
A path may lead to a `black hole`. In a network, a black hole is a router that receives packets for at least one given source/destination pair but does not have an entry inside its forwarding table for this destination. Since it does not know how to reach the destination, the router cannot forward the received packets and must discard them. Any centralized or distributed algorithm that computes forwarding tables must ensure that there are not black holes inside the network.
A second type of problem may exist in networks using the datagram organization. Consider a path that contains a cycle. For example, router `R1` sends all packets towards destination `D` via router `R2`. Router `R2` forwards these packets to router `R3` and finally router `R3`'s forwarding table uses router `R1` as its nexthop to reach destination `D`. In this case, if a packet destined to `D` is received by router `R1`, it will loop on the `R1 -> R2 -> R3 -> R1` cycle and will never reach its final destination. As in the black hole case, the destination is not reachable from all sources in the network. In practice the loop problem is more annoying than the black hole problem because when a packet is caught in a forwarding loop, it unnecessarily consumes bandwidth. In the black hole case, the problematic packet is quickly discarded. We will see later that network layer protocols include techniques to minimize the impact of such forwarding loops.
Any solution which is used to compute the forwarding tables of a network must ensure that all destinations are reachable from any source. This implies that it must guarantee the absence of black holes and forwarding loops.
The `forwarding tables` and the precise format of the packets that are exchanged inside the network are part of the `data plane` of the network. This `data plane` contains all the protocols and algorithms that are used by hosts and routers to create and process the packets that contain user data. On high-end routers, the data plane is often implemented in hardware for performance reasons.
Besides the `data plane`, a network is also characterized by its `control plane`. The control plane includes all the protocols and algorithms (often distributed) that compute the forwarding tables that are installed on all routers inside the network. While there is only one possible `data plane` for a given networking technology, different networks using the same technology may use different control planes.
The simplest `control plane` for a network is to manually compute the forwarding tables of all routers inside the network. This simple control plane is sufficient when the network is (very) small, usually up to a few routers.
An alternative to manually computed forwarding tables is to use a network management platform that tracks the network status and can push new forwarding tables on the routers when it detects any modification to the network topology. This solution gives some flexibility to the network managers in computing the paths inside their network. However, this solution only works if the network management platform is always capable of reaching all routers even when the network topology changes. This may require a dedicated network that allows the management platform to push information on the forwarding tables. Openflow is a modern example of such solutions [MAB2008]_. In a nutshell, Openflow is a protocol that enables a network controller to install specific entries in the forwarding tables of remote routers and much more.
Another interesting point that is worth being discussed is when the forwarding tables are computed. A widely used solution is to compute the entries of the forwarding tables for all destinations on all routers. This ensures that each router has a valid route towards each destination. These entries can be updated when an event occurs and the network topology changes. A drawback of this approach is that the forwarding tables can become large in large networks since each router must always maintain one entry for each destination inside its forwarding table.
Some networks use the arrival of packets as the trigger to compute the corresponding entries in the forwarding tables. Several technologies have been built upon this principle. When a packet arrives, the router consults its forwarding table to find a path towards the destination. If the destination is present in the forwarding table, the packet is forwarded. Otherwise, the router needs to find a way to forward the packet and update its forwarding table.
Computing forwarding tables Le calcul des tables de forwarding

Loading…

User avatar pdan1

New translation

cnp3-ebook / principles/networkFrench

3 years ago
Browse all component changes

Things to check

Consecutive duplicated words

Text contains the same word twice in a row: forwarding

Reset

Glossary

English French
No related strings found in the glossary.

String information

Source string location
../../principles/network.rst:102
String age
4 years ago
Source string age
4 years ago
Translation file
locale/fr/LC_MESSAGES/principles/network.po, string 25