WO2004003587A2 - Procede de generation d’adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede - Google Patents

Procede de generation d’adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede Download PDF

Info

Publication number
WO2004003587A2
WO2004003587A2 PCT/EP2003/050259 EP0350259W WO2004003587A2 WO 2004003587 A2 WO2004003587 A2 WO 2004003587A2 EP 0350259 W EP0350259 W EP 0350259W WO 2004003587 A2 WO2004003587 A2 WO 2004003587A2
Authority
WO
WIPO (PCT)
Prior art keywords
value
address
network
terminal
address value
Prior art date
Application number
PCT/EP2003/050259
Other languages
English (en)
Other versions
WO2004003587A3 (fr
Inventor
Jean-François FLEURY
Mary-Luc Champel
Gilles Straub
Original Assignee
Thomson Licensing Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing Sa filed Critical Thomson Licensing Sa
Priority to US10/519,588 priority Critical patent/US20050251552A1/en
Priority to AU2003266407A priority patent/AU2003266407A1/en
Priority to EP03761590A priority patent/EP1540375B1/fr
Priority to DE60311113T priority patent/DE60311113T2/de
Publication of WO2004003587A2 publication Critical patent/WO2004003587A2/fr
Publication of WO2004003587A3 publication Critical patent/WO2004003587A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use

Definitions

  • the present invention relates to a method for generating addresses in a device connected to a network and to a device having this method.
  • networks There are many types of networks to date. Some are very large because they allow millions of terminals to communicate with each other, such as the INTERNET network. Others are much smaller and have only a few dozen devices, a few hundred at most. These latter networks equip homes, they are domestic networks, others equip vehicles. In order to be able to communicate, the terminals have an address which is specific to them and which is known to the other terminals of the network. Some networks are equipped with intelligent devices which fully control data transmission over the network (routers, etc.). When a message arrives within this network, this device, knowing the address of the destination terminal, sends the message directly to it. Other networks do not have such devices and each terminal receives all the messages exchanged and only takes into account messages whose recipient address corresponds to its own. These examples show the importance of the address because it allows each terminal to be identified, to send and receive messages.
  • IP Internet Protocol
  • each terminal On an ETHERNET type network (based on an ETHERNET II or IEEE802.3 layer 2 protocol), each terminal has a physical address, called MAC, which is defined by the manufacturer, and permanently entered in the electronic card. This address is located on the LIAISON level. In theory, it is not possible that two devices have the same identical MAC address. Indeed, each manufacturer has an address window to develop MAC addresses according to their needs. The solution if such a conflict exists is to change the electronic card in the device, there is no cure by program. When a new device is connected to a network, it is important to assign a specific address to the network, this is the IP address, it corresponds to the NETWORK level (layer 3).
  • This address has a field which identifies the network and so that this address does not already belong to another terminal, it has a second field which identifies the terminal in the network.
  • a configuration server for example a server called DHCP (from the English “Dynamic Host Configuration Protocol”)
  • DHCP from the English “Dynamic Host Configuration Protocol”
  • the configuration server ensures that a specific address value is assigned to each terminal.
  • the addresses are coded differently depending on the size of the network. There are three main network classes, identified A, B, and C.
  • the terminals belonging to class A networks have within this network an address coded on 3 bytes, the network identifier being coded on one byte .
  • the networks B and C are of increasingly smaller size, conversely, their numbers are more and more important. It is easy to imagine that in the near future each home will have its own network, therefore the identifiers of such class C networks are coded on 3 bytes and the terminal address coded on one byte.
  • a network can be divided into several subnets, this allows a small number of terminals to be gathered and their communications to be managed from a central server. If a terminal wants to communicate with another which is not on the same subnet, it sends the message to an intermediate server (called a gateway) which will retransmit the message to the recipient.
  • a gateway an intermediate server
  • the terminal address includes a field containing the identifier of the subnetwork concatenated with the address value of the terminal which occupies the least significant bits (or LSB). Before each communication, the terminal sending a message must check whether the recipient belongs to the subnet.
  • IP address value given by the manufacturer is often not suitable because the local network does not necessarily use the same address plan, or the address is already used.
  • Document EP 1 202 493 describes a method for configuring the address of an ⁇ on-configured terminal by a configured terminal. Following a request from the unconfigured terminal, the configured terminal sends its own address and the network mask. Receiving this data, the unconfigured terminal deduces another address value having the same network mask, tries if this address is available and if so, is configured with it. The non-configured terminal must therefore send a request to have a message sent to it comprising an address and a network mask. This solution obliges the user to launch a request on the network which already requires to configure it a minimum, in any case, this solution requires a prior intervention of the user.
  • the document US Pat. No. 5,854,901 describes a method for configuring the address of a terminal which is not configured by a configured terminal.
  • the unconfigured terminal scans the network and picks up communications containing an address value. It then tries by adding a unit to the value of address captured and by sending a communication request to the terminal having this address. If there is no response, the address is available and it is assigned. If there is no response, this can mean that the address captured is the last address on the network and therefore the following value corresponds to an address which is no longer in the network. Therefore, the terminal can consider that its address is correct when it does not correspond to the network. Therefore, the procedure described in this document does not work in all cases.
  • the object of the present invention overcomes the problems mentioned above and relates to a simple process for automatically assigning an address to a new device in a network.
  • the object of the present invention consists of a method of generating an address value for a communication terminal connected to a network, the method characterized in that it comprises the following steps, at the terminal: a) reception of a pair of first and second address values from at least one communication picked up on the network, b) determination of a value characteristic of the network, said value being contained in the first and the second address value c) calculation of a third address value containing the characteristic value of the network, d) assignment of the third address value to the terminal if this value is not already assigned to another terminal.
  • the terminal to be connected deduces from two address values received from the network, a characteristic value of the network and calculates a candidate address which contains this characteristic value. It is thus certain that the candidate address can belong to this network. Then, the terminal tests whether this candidate value is indeed available, that is to say if it is not already assigned to an already configured terminal. If this address value is not already assigned to a terminal on the network, it is automatically assigned to the terminal to be configured. Address generation is automatic and does not use a manual generation procedure or the services of a configuration server. By capturing a message comprising two address values, the terminal to be configured can deduce a part of the network mask and thus develop a third address value which is likely to be compatible with the network.
  • this terminal when the network contains for the moment only a single terminal configured with a first address value, this terminal sends a message containing its address and a second address value calculated by changing the value of a bit .
  • the terminal to be configured picks up the message and noting that no response is sent in return, which testifies that no terminal has the second address, this second address value is assigned as its address value.
  • the bit whose value is changed is for example the least significant.
  • the terminal to be configured receives two address values from two terminals already configured in the network, and deduces therefrom a value characteristic of the network.
  • the terminal to be configured then calculates a third address value by concatenating this characteristic value and an eigenvalue starting with the maximum value. If this third address value is not available, the terminal to be configured decreases the proper value by one while keeping the characteristic value of the network identical, and thus immediately, by decreasing value until the terminal finds an available address value.
  • the terminal if it does not find an available address value, it calculates a third address value by changing the value of the least significant bit of the characteristic value of the network previously calculated, the characteristic value of the network being therefore reduced by one bit. Then the terminal tests if at least one of the new third calculated values is available. This process is iterative: each time the last characteristic value of the network is reduced by the least significant bit.
  • the method comprises a step of sending an ARP communication request by specifying the third address and a step of waiting for reception of a response to said request. If a response is received, then the address contained in the request is already taken, a calculation of a new address is then carried out and its availability is tested. Thus, the user does not have to intervene, the terminal to be configured automatically tests whether the new address which it has calculated is available.
  • the object of the present invention also consists of an electronic device intended to be connected to a communication network comprising a two-way communication means with said network, characterized in that it comprises a means for receiving a message comprising first and second address values, means for determining a characteristic value of the network which forms part of the first and second address values, and for calculating a third address value containing the characteristic value of the network , and to assign this third address value to the device if following a communication request sent by the communication means to a device having the third address, it turns out that this third value d the address is not assigned to any terminal on the network.
  • the object of the present invention also consists of an electronic device intended to be connected to a communication network comprising a two-way communication means with said network, characterized in that it comprises a means for receiving a message comprising first and second address values, and means for assigning the second address value to the apparatus if it turns out that this second address value is not assigned to any terminal of the network.
  • FIG. 1 is a diagram of a network comprising several devices according to the embodiment
  • FIG. 2 is a diagram showing the various elements of a terminal using the address generation method according to the present exemplary embodiment
  • FIG. 3 shows a detailed flowchart of the address generation method according to the present embodiment
  • FIG. 4 shows a flowchart of the mask widening method in the event of an unsuccessful address search according to the exemplary embodiment.
  • FIG. 1 schematically represents a communication network allowing at least two terminals “Host A” and “Host B” to communicate using the IP protocol. Other devices can connect to this network, for example a digital set top box “Set Top Box C”.
  • the communication channel is produced by an ETHERNET 10 or 100 cable.
  • FIG. 2 shows a multimedia terminal 1 connected to a display device 2 such as a display screen.
  • the receiver 1 is for example a personal computer or an audiovisual terminal provided with means of communication 3 through a bidirectional network 4.
  • the receiver 1 comprises a central unit 5 connected inter alia to a memory 6 containing executable programs, a means of transmission of audiovisual signals to a screen.
  • the terminal is also connected to a keyboard 7.
  • the audiovisual signals are transmitted to the screen 2 via an audio / video interface 8.
  • the terminals have an IP address whose format depends on the type of network to which they are connected.
  • the IP address is coded on 4 bytes.
  • type A the terminal identifier is coded on 3 bytes (which makes it possible to connect more than 16 million terminals) and the network identifier is coded on a byte whose MSB is equal to 0.
  • type B the terminal identifier is coded on 2 bytes (which allows more than 64,000 terminals to be connected) and the network identifier is coded on two bytes, the two bits of which the most significant are "1" and "0".
  • the terminal identifier is coded on a single byte (which allows only 254 terminals to be connected, the values 00 and 255 being reserved for another use) and the network identifier is coded on three bytes, of which the three most significant MSB bits are "1", " 1 "and” 0 ".
  • the IP address generation means is typically a program written in memory 6, but it can also be produced in the form of specialized circuits (ASIC or DSP for example).
  • the means for calculating an address is produced in the form of a module which is preferably in the ROM memory of the device. This module can also be downloaded from a medium (diskette or CD ROM), or transmitted to the device via a broadcasting network.
  • the invention is used to calculate address values used in an IP protocol, which does not exclude that the invention is applicable to other types of protocols.
  • 2nd case search for an address within a network designed to have only two devices, only one of which is currently configured.
  • the user installs their new device and connects it to the ETHERNET network. Then he turns it on.
  • the device is by default in "SNOOPER" mode. If it is not, the user puts it in this state. In this operating mode, the new device scans. all communications that pass through the network.
  • ARP Address Resolution Protocol
  • ARP is the acronym in English of "Address Resolution Protocol”
  • the ARP request which is actually the request from the sender to get the MAC address of the target computer, has the IP addresses of the sender and the target.
  • the new device will receive the ARP request and extract the IP address of the sender ("sender") from the request and the IP address of the recipient device ("recipient"). In this way, the new device retrieves information from the network, its identifier and therefore its type A, B or C, and the address values of two terminals already configured.
  • the network is type C (configuration "1" "1" "0" of the MSB), the network identifier is coded on three bytes. Take for example the following address values of the device sending the request and the recipient device (in decimal and binary):
  • IP address of the transmitter only includes two fields, the address generator searches for an address available in the network where it is connected.
  • the new device compares the same rank bits of the two received address values and determines the highest rank bit whose value is different for the sending device and for the receiving device.
  • the field defined from this bit and up to LSB belongs to the terminal address field in the subnet.
  • the MSB bit whose value is different is the fifth, so the five LSBs belong to the address field.
  • the program first performs an exclusive NOT OR between the two address values received, the result according to this example is
  • This program finds the first bit from the most significant ones whose value is different for address 1 and for address 2. In this case, it is bit 5.
  • the program also calculates the mask to calculate the address by filtering all the bits that form a different value between the two addresses, in this case, these are the first five bits, the value for the first address being "01001" and that of the second address is " 11001 ".
  • the resulting mask is as follows:
  • the new device will first try to find an available address by decreasing the value of these five bits. For this, it will send an ARP request with a first address value and wait for a return. If a terminal responds to its ARP request, this means that this address value is already taken, it goes to another address.
  • a variant consists in varying this increasing way the value of the five bits.
  • Another variant consists in randomly generating the value of these five bits.
  • the evolution of the address values sent in the ARP requests in an attempt to find an available value is carried out by decreasing values, starting with the maximum value.
  • the first address tested is:
  • the new device may consider that the address value tested in the ARP request is available.
  • the address generation module plans to widen the mask.
  • This part of the module is described in the form of the pseudo code presented in Appendix 2 and represented in the form of a flowchart in Figure 4.
  • the part of the IP address generation module will increase the size of the field by one bit previously determined to contain the terminal address. In the example above, the module will consider that the address is on 6 bits, and again test the address values, by setting this sixth bit to 1 and starting with the maximum values. We will have the successive values tested:
  • Appendix 1 contains a program written in pseudo-code to code the address search module.
  • Figure 3 presents a detailed flowchart corresponding to the program in Annex 1.
  • ECHO Internet Control Message Protocol
  • An “ECHO” command is sent using the IP protocol with a certain amount of data.
  • the recipient receives the command, it sends the same data block back to the sender, like an echo. This command is therefore particularly suitable for ensuring that a new terminal can communicate using the address which has just been assigned to it.
  • Appendix 2 contains a program written in pseudo-code to code the mask extension module allowing the value of the terminal address to be varied within the subnetwork.
  • Figure 4 presents a detailed flowchart corresponding to the program in Annex 2.
  • each terminal has the subnet mask, this mask consists of the concatenation of the network identifier, the identifier of the subnet and the terminal identifier field with all the bits at " 0 ".
  • a type B network with the identifier "128", "168" associated with a sub-network identifier coded on 7 bits. These are then bits 10 to 16, bits 1 to 9 defining the address of the terminal in the subnet.
  • the subnet mask is then:
  • a logical AND between the mask and an IP address returns the full identifier of the network and the subnet (hereinafter called network identifier).
  • the sending terminal performs a logical AND between the recipient's IP address and the subnet mask. If this operation returns a network identifier identical to the same operation on its own address, then the recipient is on the same subnet as him and he sends the message directly to him. If the two network + subnet identifiers differ, then it should send the message to an intermediate server.
  • the new device wishing to configure itself must first calculate a minimum mask allowing the network identifier + subnet to be calculated.
  • the first bits define the type of network (A, B or C) and therefore the size of the network identifier.
  • the configuration "1", "0” indicates that the network is of type B - identifying "128", "168".
  • the size of the subnet identifier is unknown.
  • the new device knows that the two devices that communicated by an "ARP request" are from the same subnet, and therefore their IP addresses have the same value as the subnet identifier. This value occupies a number of MSB bits of b terminal address value.
  • the new device will first of all develop a minimum mask, by calculating the minimum size of the field containing the address value of the terminal in the subnetwork. For this, it determines the variant part between the two addresses received and calculates a mask which filters this part. Then, it tries all the values corresponding to this mask. If one of them is available, the new device takes it and is configured with it. If no address is available, the new device widens the mask, starting with the least significant bit at "1" of the mask, this bit changes to "0". The widening of the mask and the search for an address takes place in the same way as described previously for a network without subnetwork.
  • the advantage of this method is that it certainly makes it possible to test all the addresses of the subnet as a priority. If the mask exceeds the subnet following a new bit expansion, this is due to the fact that all the addresses of the subnet have been tested and none are available. Then, at the first try of an address with the new value of the enlarged mask, the terminal receiving no response will recover this address, but when it wants to verify that this address is indeed available by making an ICMP "ECHO" request, it is will realize that this address does not allow him not to communicate. It then sends a message to the display indicating that the address generator could not find an address.
  • the network is then limited to two devices. These devices using the standard IP protocol must, in the same way as for a type A, B or C network, have a specific address which allows them to communicate.
  • the solution according to this other exemplary embodiment consists in that the terminal in “Snooper” mode realizes that no terminal responds to the ARP request, it deduces therefrom that there is no terminal having this value d address and that therefore, it can appropriate it to configure itself, which saves it from having to calculate a third value.
  • a device (called “first") already has a configured address
  • the second is put into "snooper" mode according to the present embodiment.
  • the difference compared to the previous situation is the fact that the first device cannot send a connection request to another device because it is the only one to be configured.
  • the trick is to ask the user to send a connection request to the first device to a device that does not exist.
  • the device to configure receives this address, realizes that it is available because no device responds to this request, and decides to assign it. It is therefore the same process as before, by simplifying it as much as possible, the terminal no longer needs to calculate an address value, it retrieves the same value as an address of a terminal which in fact doesn ' does not exist.
  • the configured terminal sends a second which differs only from the value of a single bit.
  • the bit to be changed belongs to the least significant byte of the address and more particularly that of least significant (LSB).
  • LSB value if the address of the first device is even (LSB value equal to "0") then, it launches a connection request to a device whose address value is the same as its own except for the bit the least significant which is forced to "1" (the address immediately above).
  • the address is odd (LSB value equal to "1") then, it launches a connection request to a device whose address value is the same as its own except for the least significant bit which is forced to "0" (the address immediately below).
  • the rest of the procedure is the same.
  • the calculated mask can only give 2 addresses and one of the 2 is necessarily valid.
  • the invention is not limited to television decoders but can be applied to any device for receiving digital audiovisual broadcasts: computer, device connected to an IP network, etc.
  • IP_Auto_Find_Mask (INn: integer) var used: boolean var reached: boolean var icmp_rubs: boolean for i from 2 n -1 to 0
  • IPransmitter, ARP. recipient IP pare ⁇ l ap

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention consiste en un procédé de génération d'une valeur d'adresse au sein d'un terminal relié à un réseau de communication. Dans un premier temps, le terminal reçoit un couple de valeurs d'adresse émis par un terminal configuré. Puis, le terminal détermine une valeur caractéristique du réseau qui est contenue dans la première et dans la seconde valeur d'adresse. Le terminal calcule ensuite une troisième valeur d'adresse contenant la valeur caractéristique du réseau. Enfin, le terminal s'affecte la troisième valeur d'adresse au terminal si cette valeur n'est pas déjà affectée à un autre terminal. Selon un perfectionnement, le terminal envoie une requête à un terminal possédant cette troisième requête, en l'absence de réponse, cette troisième valeur d'adresse n'appartient pas à un autre terminal, elle peut donc être affectée au terminal à configurer. L'invention concerne également le terminal apte à mettre en oeuvre le procédé. L'invention concerne aussi un terminal qui reçoit un message comportant une première et une seconde valeur d'adresse. II s'affecte la seconde valeur d'adresse s'il s'avère que celle-ci n'est affectée à aucun autre terminal du réseau.

Description

Procédé de génération d'adresse dans un dispositif relié à un réseau et un dispositif disposant de ce procédé
La présente invention concerne un procédé de génération d'adresse dans un dispositif relié à un réseau et un dispositif disposant de ce procédé
Il existe à ce jour de nombreux types de réseaux. Certains sont très vastes car ils permettent à des millions de terminaux de communiquer entre eux, c'est le cas par exemple du réseau INTERNET. D'autres sont beaucoup plus petits et ne comportent que quelques dizaines d'appareils, quelques centaines tout au plus. Ces derniers réseaux équipent des habitations, ce sont les réseaux domestiques, d'autres équipent des véhicules. Pour pouvoir communiquer, les terminaux possèdent une adresse qui leur est propre et qui est connue des autres terminaux du réseau. Certains réseaux sont équipés de dispositifs intelligents qui contrôlent totalement les transmissions de données sur le réseau (routeurs, ...). Lorsqu'un message arrive au sein de ce réseau, ce dispositif, connaissant l'adresse du terminal destinataire, lui envoie directement le message. D'autres réseaux ne possèdent pas de tels dispositifs et chaque terminal reçoit tous les messages échangés et ne prend en compte que les messages dont l'adresse destinataire correspond à la sienne. Ces exemples montrent l'importance de l'adresse car elle permet à chaque terminal d'être identifié, d'émettre des messages et d'en recevoir.
La communication dans un réseau s'effectue à travers des couches spécifiées dans le modèle OSI (Open System Interconnection), les couches 1 et 2 concernent les niveaux PHYSIQUE et LIAISON, et les couches 3 à 7 les niveaux logiques. On peut citer deux exemples de standard de couches 2 : ETHERNET II et IEEE802.3. La couche 3 concerne le niveau RESEAU qui spécifie le type de protocole utilisé. Un protocole très répandu et bien adapté aux réseaux domestiques est le protocole IP (« Internet Protocol »).
Sur un réseau de type ETHERNET (basé sur un protocole de couche 2 ETHERNET II ou IEEE802.3), chaque terminal possède une adresse physique, dite MAC qui est définie par le fabriquant, et inscrite définitivement dans la carte électronique. Cette adresse se situe au niveau LIAISON. En théorie, il n'est pas possible que deux appareils possèdent la même adresse MAC identique. En effet, chaque fabricant dispose d'une fenêtre d'adresses pour élaborer les adresses MAC selon ses besoins. La solution si un tel conflit existe est de changer la carte électronique dans l'appareil, il n'existe pas de remède par programme. Lorsqu'un nouvel appareil est connecté à un réseau, il est important de lui attribuer une adresse propre au réseau, c'est l'adresse IP, elle correspond au niveau RESEAU (couche 3). Cette adresse dispose d'un champ qui identifie le réseau et pour que cette adresse n'appartienne pas déjà à un autre terminal, elle possède un second champ qui identifie le terminal dans le réseau. Si le réseau possède un serveur de configuration (par exemple un serveur appelé DHCP (de l'anglais « Dynamic Host Configuration Protocol ») ), celui-ci peut attribuer automatiquement des adresses pour tout nouvel appareil branché sur le réseau. Le serveur de configuration veille à attribuer une valeur d'adresse propre à chaque terminal. Pour des réseaux dont la taille est plus petite, comme typiquement les réseaux domestiques, c'est le propriétaire du réseau qui gère ses propres adresses, et affecte manuellement une nouvelle adresse à l'appareil qu'il veut installer. Les adresses sont codées différemment selon la taille du réseau. Il existe trois classes principales de réseau, identifiées A, B, et C. Les terminaux appartenant à des réseaux de classe A possèdent au sein de ce réseau d'une adresse codée sur 3 octets, l'identifiant du réseau étant codé sur un octet. Les réseaux B et C sont de taille de plus en plus petite, inversement, leurs nombres sont de plus en plus importants. Il est facile d'imaginer que dans un futur proche chaque habitation aura son propre réseau, de ce fait les identificateurs de tels réseaux de classe C sont codés sur 3 octets et l'adresse du terminal codée sur un octet.
Un réseau peut être découpé en plusieurs sous-réseaux, cela permet de rassembler un petit nombre de terminaux et de gérer leurs communications à partir d'un serveur central. Si un terminal veut communiquer avec un autre qui n'est pas sur le même sous-réseau, il envoie le message à un serveur intermédiaire (appelé Gateway ou passerelle) qui va retransmettre le message au destinataire. Dans le cas d'un réseau IP, l'adresse du terminal comprend un champ contenant l'identifiant du sous-réseau concaténé avec la valeur d'adresse du terminal qui occupe les bits les moins significatifs (ou LSB). Avant chaque communication, le terminal émetteur d'un message doit vérifier si le destinataire appartient au sous- réseau.
Les fabricants d'appareils connectables affectent souvent en usine une adresse IP aux appareils. Lorsque celui-ci est acheté et installé dans un réseau local, la valeur d'adresse IP donnée par le fabriquant ne convient souvent pas car le réseau local n'utilise pas forcément le même plan d'adressage, ou l'adresse est déjà utilisée. Suivant les méthodes de configuration de l'appareil, on peut être amené à connecter cet appareil à un second réseau utilisant le même plan d'adressage et où l'adresse est disponible, reconfigurer son adresse et remettre l'appareil sur le premier réseau. Une autre façon de faire consiste à reconfigurer manuellement l'adresse de l'appareil, mais cela nécessite de bien connaître l'appareil et la méthode pour le reprogrammer. Cette manière de faire est fastidieuse pour l'utilisateur.
Le document EP 1 202 493 décrit un procédé de configuration de l'adresse d'un terminal πon-configuré par un terminal configuré. Suite à une requête du terminal non configuré, le terminal configuré envoie sa propre adresse et le masque du réseau. Recevant ces données, le terminal non configuré en déduit une autre valeur d'adresse possédant le même masque de réseau, essaye si cette adresse est disponible et si oui, se configure avec celle-ci. Le terminal non-configuré doit donc envoyer une requête pour qu'on lui renvoie un message comportant une adresse et un masque de réseau. Cette solution oblige l'utilisateur a lancer une requête sur le réseau ce qui nécessite déjà de la configurer un minimum, en tout état de cause, cette solution nécessite une intervention préalable de l'utilisateur.
Le document US 5,854,901 décrit un procédé de configuration de l'adresse d'un terminal non-configuré par un terminal configuré. Le terminal non configuré scrute le réseau et capte des communications contenant une valeur d'adresse. Il essaye ensuite en rajoutant une unité à la valeur d'adresse captée et en envoyant une requête de communication au terminal possédant cette adresse. S'il n'y a pas de réponse, l'adresse est disponible et il se l'affecte. S'il n'y a pas de réponse, cela peut signifier que l'adresse captée est la dernière adresse du réseau et donc la valeur suivante correspond à une adresse qui n'est plus dans le réseau. De ce fait, le terminal peut considérer que son adresse est correcte alors qu'elle ne correspond pas au réseau. Donc, la procédure décrite dans ce document ne fonctionne pas dans tous les cas.
L'objet de la présente invention pallie les problèmes évoqués ci-dessus et concerne un processus simple pour attribuer automatiquement une adresse à un nouvel appareil dans un réseau.
L'objet de la présente invention consiste en un procédé de génération d'une valeur d'adresse pour un terminal de communication relié à un réseau, le procédé étant caractérisé en ce qu'il comporte les étapes suivantes, au niveau du terminal : a) réception d'un couple de première et seconde valeurs d'adresse à partir d'au moins une communication captée sur le réseau, b) détermination d'une valeur caractéristique du réseau, ladite valeur étant contenue dans la première et la seconde valeur d'adresse c) calcul d'une troisième valeur d'adresse contenant la valeur caractéristique du réseau, d) affectation de la troisième valeur d'adresse au terminal si cette valeur n'est pas déjà affectée à un autre terminal.
De cette façon, le terminal à connecter déduit de deux valeurs d'adresse reçues du réseau, une valeur caractéristique du réseau et calcule une adresse candidate qui contient cette valeur caractéristique. Il est sûr ainsi que l'adresse candidate peut appartenir à ce réseau. Puis, le terminal teste si cette valeur candidate est bien disponible, c'est à dire si elle n'est pas déjà affectée à un terminal déjà configuré. Si cette valeur d'adresse n'est pas déjà affectée à un terminal du réseau, elle est automatiquement affectée au terminal à configurer. La génération d'adresse est automatique et n'utilise pas ni un procédure manuelle de génération, ni les services d'un serveur de configuration. En captant un message comportant deux valeurs d'adresse, le terminal à configurer peut déduire une partie du masque de réseau et élaborer ainsi une troisième valeur d'adresse qui a toutes les chances d'être compatible avec le réseau.
Selon un perfectionnement, lorsque le réseau ne contient pour le moment qu'un seul terminal configuré avec une première valeur d'adresse, ce terminal émet un message contenant son adresse et une seconde valeur d'adresse calculée en changeant la valeur d'un bit. Le terminal à configurer capte le message et constatant qu'aucune réponse n'est émise en retour, ce qui témoigne qu'aucun terminal ne possède la seconde adresse, s'affecte cette seconde valeur d'adresse comme sa valeur d'adresse. Le bit dont la valeur est changée est par exemple le moins significatif.
Selon un autre perfectionnement, le terminal à configurer reçoit deux valeurs d'adresse de deux terminaux déjà configurés dans le réseau, et en déduit une valeur caractéristique du réseau. Le terminal à configurer calcule alors une troisième valeur d'adresse en concaténant cette valeur caractéristique et une valeur propre en commençant par la valeur maximale. Si cette troisième valeur d'adresse n'est pas disponible, le terminal à configurer diminue d'une unité la valeur propre tout en gardant identique la valeur caractéristique du réseau, et ainsi de suite, par valeur décroissante jusqu'à ce que le terminal trouve une valeur d'adresse disponible.
Selon un autre perfectionnement, si le terminal ne trouve pas de valeur d'adresse disponible, il calcule une troisième valeur d'adresse en changeant la valeur du bit de poids le plus faible de la valeur caractéristique du réseau précédemment calculée, la valeur caractéristique du réseau étant de ce fait diminuée d'un bit. Puis le terminal teste si au moins une des nouvelles troisième valeurs calculées est disponible. Ce processus est itératif : chaque fois la dernière valeur caractéristique du réseau est diminuée du bit de poids le plus faible. Selon un autre perfectionnement, le procédé comporte une étape d'émission d'une requête de communication ARP en spécifiant la troisième adresse et une étape d'attente de réception d'une réponse à ladite requête. Si une réponse est reçue, alors l'adresse contenue dans la requête est déjà prise, un calcul d'une nouvelle adresse est alors effectuée et sa disponibilité est testée. Ainsi, l'utilisateur n'a pas à intervenir, le terminal à configurer teste automatiquement si la nouvelle adresse qu'il a calculée est bien disponible.
L'objet de la présente invention consiste également en un appareil électronique destiné à être connecté à un réseau de communication comprenant un moyen de communication bi-directionnel avec ledit réseau, caractérisé en ce qu'il comporte un moyen de réception d'un message comportant une première et une seconde valeur d'adresse, un moyen pour déterminer une valeur caractéristique du réseau qui constitue une partie de la première et de la seconde valeur d'adresse, et pour calculer une troisième valeur d'adresse contenant la valeur caractéristique du réseau, et pour affecter cette troisième valeur d'adresse à l'appareil si à la suite d'une requête de communication émise par le moyen de communication à destination d'un appareil possédant la troisième adresse, il s'avère que cette troisième valeur d'adresse n'est affectée à aucun terminal du réseau.
L'objet de la présente invention consiste également en un appareil électronique destiné à être connecté à un réseau de communication comprenant un moyen de communication bi-directionnel avec ledit réseau, caractérisé en ce qu'il comporte un moyen de réception d'un message comportant une première et une seconde valeur d'adresse, et un moyen pour affecter la seconde valeur d'adresse à l'appareil s'il s'avère que cette seconde valeur d'adresse n'est affectée à aucun terminal du réseau. L'invention, avec ses caractéristiques et avantages, ressortira plus clairement à la lecture de la description d'un exemple de réalisation particulier non limitatif fait en référence aux dessins annexés dans lesquels :
- la figure 1 est un schéma d'un réseau comprenant plusieurs appareils selon l'exemple de réalisation ;
- la figure 2 est un schéma montrant les différents éléments d'un terminal utilisant le procédé de génération d'adresse selon le présent exemple de réalisation ;
- la figure 3 représente un organigramme détaillé du procédé de génération d'adresse selon le présent exemple de réalisation ;
- la figure 4 représente un organigramme du procédé d'élargissement du masque en cas de recherche infructueuse d'adresse selon l'exemple de réalisation.
La figure 1 représente schématiquement un réseau de communication permettant à au moins deux terminaux « Host A » et « Host B » de communiquer à l'aide du protocole IP. D'autres appareils peuvent se connecter à ce réseau, par exemple un décodeur de felévision numérique « Set Top Box C ». Le canal de communication est réalisé par un câble ETHERNET 10 ou 100.
Nous allons tout d'abord décrire un exemple d'appareil selon un premier exemple de réalisation de l'invention. La figure 2 présente un terminal multimédia 1 connecté à un dispositif d'affichage 2 tel qu'un écran de visualisation. Le récepteur 1 est par exemple un ordinateur personnel ou un terminal audiovisuel doté de moyens de communication 3 à travers un réseau bidirectionnel 4. Le récepteur 1 comprend une unité centrale 5 reliée entre autre à une mémoire 6 contenant des programmes exécutables, un moyen d'émission de signaux audiovisuels vers un écran. Le terminal est également relié à un clavier 7. Les signaux audiovisuels sont émis vers l'écran 2 via une interface audio/vidéo 8.
Les terminaux disposent d'une adresse IP dont le format dépend du type de réseau auxquels ils sont connectés. L'adresse IP est codée sur 4 octets. Pour les réseaux de très grande taille, de type A l'identifiant du terminal est codé sur 3 octets (ce qui permet de connecter plus de 16 millions de terminaux) et l'identifiant du réseau est codé sur un octet dont le MSB est égal à 0. Pour les réseaux de grande taille, de type B, l'identifiant du terminal est codé sur 2 octets (ce qui permet de connecter plus de 64000 terminaux) et l'identifiant du réseau est codé sur deux octets dont les deux bits les plus significatifs sont « 1 » et « 0 ». Quant aux réseaux de petite taille, de type C, l'identifiant du terminal est codé sur un seul octet (ce qui permet de ne connecter que 254 terminaux, les valeurs 00 et 255 étant réservées pour un autre usage) et l'identifiant du réseau est codé sur trois octets dont les trois bits les plus significatifs MSB sont respectivement « 1 », « 1 » et « 0 ». Le moyen de génération d'adresse IP est typiquement un programme écrit en mémoire 6, mais il peut aussi être réalisé sous forme de circuits spécialisés (ASIC ou DSP par exemple). Sous la forme d'un programme, le moyen permettant de calculer une adresse est réalisé sous la forme d'un module qui est de façon privilégiée dans la mémoire ROM de l'appareil. Ce module peut aussi être téléchargé à partir d'un support (disquette ou CD ROM), ou encore transmis à l'appareil via un réseau de diffusion.
De façon préférentielle, l'invention est utilisée pour calculer des valeurs d'adresses utilisées dans un protocole IP, ce qui n'exclut pas que l'invention est applicable à d'autres types de protocoles.
Après avoir décrit les différents éléments du terminal selon un exemple de réalisation de l'invention, nous allons maintenant expliquer les différents échanges entre celui-ci et le réseau, pour calculer l'adresse. Il faut tout d'abord distinguer deux cas : 1 ° cas : recherche d'une adresse au sein d'un réseau déjà configuré d'au moins deux appareils.
2°cas : recherche d'une adresse au sein d'un réseau conçu pour ne posséder que deux appareils dont un seul est actuellement configuré.
Etudions tout d'abord le premier cas.
Dans un premier temps, l'utilisateur installe son nouvel appareil et le connecte au réseau ETHERNET. Puis, il le met en marche. En règle générale, l'appareil est par défaut en mode « SNOOPER ». S'il ne l'est pas, l'utilisateur le met dans cet état. Dans ce mode de fonctionnement, le nouvel appareil scrute. toutes les communications qui transitent sur le réseau.
Dans un second temps, l'utilisateur demande à un second appareil déjà installé et configuré au sein du réseau, d'émettre une requête ARP. « ARP» est l'acronyme en langue anglaise de « Address Resolution Protocol », un protocole de niveau 2 qui permet de faire la traduction entre une adresse IP et une adresse MAC et qui possède l'avantage de diffuser sur le réseau des adresses IP existantes. Une façon simple pour effectuer cela consiste à lancer une requête de connexion vers un autre appareil du réseau à partir de ce second appareil. La requête ARP, qui est en fait la demande de la part de l'émetteur pour avoir l'adresse MAC de l'ordinateur cible, possède les adresses IP de l'émetteur et de la cible. Le nouvel appareil va capter la requête ARP et en extraire l'adresse IP de l'émetteur (« émetteur ») de la requête et l'adresse IP de l'appareil destinataire (« destinataire »). De cette manière, le nouvel appareil récupère des informations du réseau, son identificateur et donc son type A, B ou C, et les valeurs d'adresse de deux terminaux déjà configurés.
Supposons que le réseau est de type C (configuration « 1 » « 1 » « 0 » des MSB), l'identifiant du réseau est codé sur trois octets. Prenons par exemple les valeurs suivantes d'adresses de l'appareil émetteur de la requête et l'appareil destinataire (en décimal et en binaire) :
Adresse IP de l'émetteur
Figure imgf000010_0001
Dans le cas d'un réseau domestique (ordinairement de type C), il n'y a pas de sous-réseau, l'adresse IP de l'émetteur ne comprend que deux champs, le générateur d'adresse recherche une adresse disponible dans le réseau où il est connecté.
Pour cela, le nouvel appareil compare les bits de même rang des deux valeurs d'adresse reçues et détermine le bit de rang le plus fort dont la valeur est différente pour l'appareil émetteur et pour l'appareil récepteur. Le champ défini à partir de ce bit et jusqu'au LSB, appartient au champ d'adresse du terminal dans le sous-réseau. Dans l'exemple, le MSB bit dont la valeur est différente est le cinquième, donc les cinq LSB appartiennent au champ adresse. Le programme effectue d'abord un NON OU exclusif entre les deux valeurs d'adresse reçues, le résultat selon le présent exemple est
Figure imgf000010_0002
NOT XOR
192 168 000 025
11000000 10101000 00000000 00011001
255 255 255 16
11111111 11111 111 11111111 11101111
Puis le générateur d'adresse applique à ce résultat le programme dont le pseudo-code est le suivant : pouri allant de 30 à 0 si (bi == 1 AND bi+1 == 0) alors bi = 0 fin si fin pour où bi représente le ième bit de l'adresse dans l'ordre du LSB au MSB (b31 est le MSB et bO le LSB).
Ce programme a pour but de rechercher le premier bit à partir des poids fort dont la valeur est différente pour l'adresse 1 et pour l'adresse 2. En l'occurrence, c'est le bit 5. Le programme calcule aussi le masque pour calculer l'adresse en filtrant tous les bits qui forment entre les deux adresses une valeur différente, en l'occurrence, ce sont les cinq premiers bits, la valeur pour la première adresse étant "01001" et celle de la seconde adresse est "11001". Le masque résultant est le suivant :
Figure imgf000011_0001
Le nouvel appareil va tout d'abord essayer de trouver une adresse disponible en faisant varier de façon décroissante la valeur de ces cinq bits. Pour cela, il va envoyer une requête ARP avec une première valeur d'adresse et attendre un retour. Si un terminal répond à sa requête ARP, cela signifie que cette valeur d'adresse est déjà prise, il passe à une autre adresse. Une variante consiste à faire varier ce façon croissante la valeur des cinq bits. Une autre variante consiste à générer de façon aléatoire la valeur de ces cinq bits.
Avantageusement, l'évolution des valeurs d'adresse émises dans les requêtes ARP pour tenter de trouver une valeur disponible s'effectue par valeurs décroissantes, en commençant par la valeur maximale. En effet, traditionnellement les utilisateurs configurent manuellement les valeurs d'adresse en commençant par les petites valeurs et en les augmentant : 01 , 02, 03, etc. De telle sorte que si le nouvel appareil commence à tester les valeurs les plus fortes, il a plus de chances de trouver rapidement une valeur disponible, et de minimiser le nombre de requêtes pour la recherche d'une adresse disponible.
Dans l'exemple ci-dessus, la première adresse testée est :
192 - 168- 000 - 031
Supposons qu'une réponse est envoyée à la requête ARP, cette valeur d'adresse est donc déjà prise, la seconde valeur testée est : 192 - 168- 000 - 030
Et ainsi de suite, :
192 - 168 - 000 - 029
Si au bout d'un certain temps (ce temps est fixé par la norme au niveau d'une requête appelée RFC signifiant « Request For Comments », définissant le protocole ARP), aucune réponse à une requête ARP n'est émise, le nouvel appareil peut considérer que la valeur d'adresse testée dans la requête ARP est disponible.
Si toutes les adresses IP sont prises, le module de génération d'adresse prévoit d'élargir le masque. Cette partie du module est décrite sous la forme du pseudo code présenté en annexe 2 et représenté sous la forme d'un organigramme à la figure 4. La partie du module de génération d'adresse IP va augmenter d'un bit la taille du champ précédemment déterminé pour contenir l'adresse du terminal. Dans l'exemple ci-dessus, le module va considérer que l'adresse est sur 6 bits, et de nouveau tester les valeurs d'adresses, en mettant ce sixième bit à 1 et en commençant par les valeurs maximales. On aura les valeurs successives testées :
192 - 168 - 000 - 063.
192 - 168 - 000 - 062.
192 - 168 - 000 - 061 jusqu'à : 192 - 168 - 000 - 032 Si aucune valeur d'adresse n'est disponible, le module va élargir le masque au septième bit, et ainsi de suite jusqu'à ce qu'une valeur d'adresse disponible soit trouvée.
L'annexe 1 contient un programme écrit en pseudo-code pour coder le module de recherche d'adresse. La figure 3 présente un organigramme détaillé correspondant au programme de l'annexe 1.
Une fois qu'une valeur d'adresse a été retenue, il faut pouvoir s'assurer que l'appareil peut communiquer avec cette nouvelle adresse (que les élargissements successifs n'ont pas donné une adresse en dehors du réseau de la première adresse captée). Pour cela, on peut utiliser une commande du protocole ICMP (pour « Internet Control Message Protocole ») appelée « ECHO ». Une commande « ECHO » est envoyée en utilisant le protocole IP avec une certaine quantité de données. Lorsque le destinataire reçoit la commande, il renvoie à l'émetteur le même bloc de données, comme un écho. Cette commande est donc particulièrement bien adaptée pour s'assurer qu'un nouveau terminal peut communiquer en utilisant l'adresse qui vient de lui être affectée.
Si la commande « ECHO » émise par le terminal à configurer ne reçoit pas réponse dans le temps défini dans la RFC 792 (ICMP), alors on peut affirmer que l'adresse calculée ne peut être utilisée sur le réseau (probablement parce que l'élargissement du masque a fait que l'on est plus dans le même réseau ou sous- réseau que l'émetteur de la première requête). La procédure peut donc être abandonnée avec comme résultat qu'aucune adresse valide ne peut être trouvée. Une variante pour détecter la disponibilité d'une adresse consiste à recevoir un message « Destination non-joignable » (l'un des messages d'erreur d'ICMP). Ce message envoyé par un contrôleur ce réseau indique qu'il ne connaît pas de terminal possédant cette adresse.
L'annexe 2 contient un programme écrit en pseudo-code pour coder le module d'élargissement du masque permettant de faire varier la valeur de l'adresse du terminal au sein du sous-réseau. La figure 4 présente un organigramme détaillé correspondant au programme de l'annexe 2.
Supposons maintenant que le réseau possède des sous-réseaux. Comme il a été dit dans le préambule de la description, avant chaque communication, le terminal émetteur d'un message doit vérifier si le destinataire appartient au sous- réseau. Pour effectuer ce test, chaque terminal possède le masque de sous- réseau, ce masque est constitué de la concaténation de l'identifiant du réseau, de l'identifiant du sous réseau et du champ d'identifiant des terminaux avec tous les bits à « 0 ». Supposons un réseau de type B avec l'identifiant « 128 », « 168 » associé à un identifiant de sous-réseau codé sur 7 bits. Ce sont alors les bits 10 à 16, les bits 1 à 9 définissant l'adresse du terminal dans le sous-réseau. Le mas ue de sous-réseau est alors :
Figure imgf000013_0001
Pour un même sous-réseau, un ET logique entre le masque et une adresse IP renvoie l'identifiant complet du réseau et du sous-réseau (appelé dans la suite identifiant réseau). Afin de déterminer si le terminal destinataire appartient au même sous-réseau, le terminal émetteur réalise un ET logique entre l'adresse IP du destinataire et le masque de sous-réseau. Si cette opération renvoie un identifiant de réseau identique à la même opération sur sa propre adresse, alors le destinataire est sur le même sous-réseau que lui et il lui envoie directement le message. Si les deux identifiants de réseau + sous-réseau diffèrent, alors il doit envoyer le message à un serveur intermédiaire.
Le nouvel appareil désirant se configurer doit d'abord calculer un masque minimal permettant de calculer l'identifiant du réseau + sous-réseau. Les premiers bits définissent le type de réseau (A, B ou C) et de ce fait la taille de l'identifiant du réseau. Dans l'exemple, la configuration « 1 », « 0 » indique que le réseau est de type B - identifiant « 128 », « 168 ». La taille de l'identifiant de sous-réseau est inconnue. Le nouvel appareil sait que les deux appareils qui ont communiqué par une « ARP request » sont du même sous-réseau, et donc leurs adresses IP possèdent la même valeur d'identifiant de sous-réseau. Cette valeur occupe un certain nombre de MSB bits de b valeur d'adresse de terminal. De la même manière que précédemment, le nouvel appareil va tout d'abord élaborer un masque minimal, en calculant la taille minimale du champ contenant la valeur d'adresse du terminal dans le sous-réseau. Pour cela, il détermine la partie variante entre les deux adresses reçues et calcule un masque qui filtre cette partie. Puis, il essaye toutes les valeurs correspondant à ce masque. Si l'une d'entre elles est disponible, le nouvel appareil la prend et se configure avec elle. Si aucune adresse n'est disponible, le nouvel appareil élargit le masque en commençant par le bit à « 1 » le moins significatif du masque, ce bit passe à « 0 ». L'élargissement du masque et la recherche d'une adresse se déroule de la même façon que décrite précédemment pour un réseau sans sous-réseau. L'avantage de cette méthode consiste en ce qu'elle permet à coup sûr de tester en priorité toutes les adresses du sous-réseau. Si à la suite d'un nouvel élargissement d'un bit, le masque dépasse le sous-réseau, cela est consécutif au fait que toutes les adresses du sous-réseau ont été testées et aucune n'est disponible. Alors, au premier essai d'une adresse avec la nouvelle valeur du masque élargi, le terminal ne recevant aucune réponse récupérera cette adresse, mais lorsqu'il voudra vérifier que cette adresse est bien disponible en effectuant une requête « ECHO » ICMP, il se rendra compte que cette adresse ne lui permet pas de communiquer. Il émet alors à l'affichage un message indiquant que le générateur d'adresse n'a pas pu trouver une adresse.
Etudions maintenant la solution selon un autre exemple de réalisation concernant le second cas.
Le réseau est alors limité à deux appareils. Ces appareils utilisant le protocole IP standard doivent de la même façon que pour un réseau de type A, B ou C, avoir une adresse spécifique qui leur permet de dialoguer. La solution selon cet autre exemple de réalisation consiste en ce que le terminal en mode « Snooper » s'aperçoive qu'aucun terminal ne répond à la requête ARP, il en déduit qu'il n'y a pas de terminal ayant cette valeur d'adresse et que donc, il peut se l'approprier pour se configurer, ce qui lui évite de devoir calculer une troisième valeur.
Dans un premier temps, un appareil (dit « premier ») possède déjà une adresse configurée, le second est mis en mode « snooper » selon le présent exemple de réalisation. La différence par rapport à la précédente situation est le fait que le premier appareil ne peut envoyer de requête de connexion vers un autre appareil car il est le seul a être configuré. L'astuce consiste à demander à l'utilisateur d'émettre sur le premier appareil une requête de connexion vers un appareil qui n'existe pas. L'appareil à configurer reçoit cette adresse, s'aperçoit qu'elle est disponible car aucun appareil ne répond à cette requête, et décide de se l'affecter. C'est donc bien le même processus que précédemment, en le simplifiant au maximum, le terminal n'a plus besoin de calculer une valeur d'adresse, il récupère la même valeur qu'une adresse d'un terminal qui en fait n'existe pas. Pour calculer facilement une adresse compatible avec le réseau, le terminal configuré émet une seconde qui ne diffère que de la valeur d'un seul bit. Selon un perfectionnement particulièrement avantageux, le bit à changer appartient à l'octet de poids faible de l'adresse et plus particulièrement celui de poids le plus faible (LSB). De cette façon, si l'adresse du premier appareil est paire (valeur du LSB égale à « 0 ») alors, il lance une requête de connexion à un appareil dont la valeur d'adresse est la même que la sienne sauf pour le bit le moins significatif qui est forcé à « 1 » (l'adresse immédiatement supérieure). De même si l'adresse est impaire (valeur du LSB égale à « 1 » ) alors, il lance une requête de connexion à un appareil dont la valeur d'adresse est la même que la sienne sauf pour le bit le moins significatif qui est forcé à « 0 » (l'adresse immédiatement inférieure). Le reste de la procédure se déroule de la même façon. Le masque calculé ne peut donner que 2 adresses et l'une des 2 est forcément valide.
Les présents modes de réalisation doivent être considérés à titre d'illustration mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes. En particulier, l'invention ne se limite pas aux décodeurs de télévision mais peut s'appliquer à tout dispositif de réception d'émissions audiovisuelles numériques : ordinateur, appareil connecté à un réseau IP, ....
ANNEXE 1 IP_Auto_Find_Mask (INn :entier) var utilisé : booléen var atteint : booléen var icmp_émis : booléen pour i de 2n-1 à 0
IPappareil = (IPémetteur ? Masque) ? i utilisé = faux atteint = faux icmp_émis = faux si (n mod 8 == 0 AND (i==0 OR i==2n-1)) alors utilisé = vrai sinon pour j de 1 à 4
Send an ARP request (ARP.émetteur =
IPémetteur, ARP. destinataire = IP appareιl)
Attente de réponse ARP pendant durée fixée si (réponse ARP reçue AND (ARP.émetteur == IPappareil OU ARP.destinataîre == IP appareil )) alors utilisé = vrai j = 5 fin si fin pour fin si si (NOT utilisé) alors
Configuration de la pile IP sur l'appareil avec IPapPareιi Mode Snooper inactif Emission d'une requête d'écho ICMP à IPémetteur icmp_sent = vrai
Attente de la réponse ICMP pendant durée fixée ou réponse du message indiquant que «destinataire non atteint» si (requête Echo ICMP écho reçue) alors atteint = vrai fin si fin si si (icmp_émis) alors sortie fin si
Mode Snooper actif fin pour si (atteint) alors
Configuration IP OK sinon
Echec configuration IP fin si
ANNEXE 2 IP_Setup : var n : entier n = (nombre de "0" à la fin de Masque) faire
IP_Auto_Find_Mask (n) si (Echec configuration IP) alors n = (nombre de "0" à la fin de Masque)
Masque = Masque - 2n fin si tant que (Echec configuration IP ET n ? 16) si (Echec configuration IP) alors Echec initialisation sinon
Initialisation OK fin si

Claims

Revendications
1. Procédé de génération d'une valeur d'adresse pour un terminal de communication relié à un réseau, le procédé étant caractérisé en ce qu'il comporte les étapes suivantes, au niveau du terminal : a) réception d'un couple de première et seconde valeurs d'adresse à partir d'au moins une communication captée sur le réseau, b) détermination d'une valeur caractéristique du réseau, ladite valeur étant contenue dans la première et la seconde valeur d'adresse c) calcul d'une troisième valeur d'adresse contenant la valeur caractéristique du réseau, d) affectation de la troisième valeur d'adresse au terminal si cette valeur n'est pas déjà affectée à un autre terminal.
2. Procédé de génération d'une valeur d'adresse selon la revendication 1 , caractérisé en ce que si le terminal déduit de la communication captée sur le réseau de communication que la seconde adresse est disponible, alors l'étape de calcul consiste à donner à la troisième valeur la valeur de la seconde valeur.
3. Procédé de génération d'une valeur d'adresse selon la revendication 1 , caractérisé en ce que la troisième valeur est calculée en concaténant la valeur caractéristique du réseau avec une valeur propre, cette valeur propre étant maximale lors du premier calcul, cette valeur propre étant retranchée d'une unité chaque fois que la précédente troisième valeur calculée se trouve affectée à un autre terminal.
4. Procédé de génération d'une valeur d'adresse selon la revendication 3, caractérisé en ce qu'il comporte une étape consistant à changer la valeur du bit de poids le plus faible de la valeur caractéristique du réseau, la nouvelle valeur caractéristique étant diminuée de ce bit, ladite étape étant déclenchée lorsque toutes les troisièmes valeurs calculées à partir de la précédente valeur caractéristique du réseau sont déjà affectées à un terminal.
5. Procédé de génération d'une valeur d'adresse selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape d'affectation comprend une étape d'émission d'une requête de communication vers un terminal possédant la troisième valeur d'adresse, et une étape d'attente de réception d'une réponse, l'existence d'une réception signifiant que la troisième valeur d'adresse n'est pas disponible.
6. Procédé de génération d'une valeur d'adresse selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'étape d'affectation comprend une étape d'émission d'une requête de communication vers un terminal possédant la troisième valeur d'adresse, et une étape de réception d'un message émis par le réseau suite à ladite requête indiquant que la troisième valeur d'adresse n'est pas affectée à un terminal du réseau, l'étape de réception d'un tel message déclenchant l'affectation de la troisième valeur d'adresse au terminal.
7. Appareil électronique destiné à être connecté à un réseau de communication (4) comprenant un moyen de communication bi-directionnel (3) avec ledit réseau, caractérisé en ce qu'il comporte un moyen de réception (3, 5, 6) d'un message comportant une première et une seconde valeur d'adresse, un moyen (5,6) pour déterminer une valeur caractéristique du réseau qui constitue une partie de la première et de la seconde valeur d'adresse, et pour calculer une troisième valeur d'adresse contenant la valeur caractéristique du réseau, et pour affecter cette troisième valeur d'adresse à l'appareil si, la réaction à la suite d'une requête de communication émise par le moyen de communication (3) à destination d'un appareil possédant la troisième adresse indique que cette troisième valeur d'adresse n'est affectée à aucun terminal du réseau.
8. Appareil électronique selon la revendication 7, caractérisé en ce qu'il comporte un moyen d'émission (3,5,6) d'une requête de communication vers un appareil possédant la troisième valeur d'adresse, et un moyen de détection (3,5,6) d'une réponse à ladite requête, la détection d'une réponse signifiant que la troisième valeur d'adresse n'est pas affectée à un appareil du réseau.
9. Appareil électronique selon la revendication 7 ou 8, caractérisé en ce que le moyen (5,6) de calcul concatène la valeur caractéristique du réseau précédemment déterminée avec une valeur propre, cette valeur propre étant maximale lors d'un premier calcul, le moyen de calcul retranchant une unité à cette valeur propre pour calculer une nouvelle troisième valeur d'adresse lorsqu'il s'avère que la précédente valeur d'adresse calculée est déjà affectée à un terminal.
10. Appareil électronique selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comporte un moyen (5,6) pour changer la valeur du bit de poids le plus faible de la valeur caractéristique du réseau, la nouvelle valeur caractéristique étant diminuée de ce bit, ledit moyen étant déclenché lorsqu'il s'avère que toutes les troisièmes valeurs calculées à partir de la précédente valeur caractéristique du réseau sont déjà affectées à un terminal.
11. Appareil électronique destiné à être connecté à un réseau de communication (4) comprenant un moyen de communication bi-directionnel (3) avec ledit réseau, caractérisé en ce qu'il comporte un moyen de réception (3, 5, 6) d'un message comportant une première et une seconde valeur d'adresse, et un moyen (5,6) pour affecter la seconde valeur d'adresse à l'appareil s'il s'avère que cette seconde valeur d'adresse n'est affectée à aucun terminal du réseau.
12. Appareil électronique selon la revendication 11 , caractérisé en ce qu'il comporte un moyen de détection (3,5,6) d'une réponse au message comportant la première et la seconde valeurs d'adresse pendant un temps déterminé, l'absence de réponse signifiant que la seconde valeur d'adresse n'est pas affectée à un appareil du réseau, et peut être affectée à l'appareil.
PCT/EP2003/050259 2002-06-28 2003-06-25 Procede de generation d’adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede WO2004003587A2 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/519,588 US20050251552A1 (en) 2002-06-28 2003-06-25 Address generation method in a device connected to a network and device employing said method
AU2003266407A AU2003266407A1 (en) 2002-06-28 2003-06-25 Address generation method in a device connected to a network and device employing said method
EP03761590A EP1540375B1 (fr) 2002-06-28 2003-06-25 Procede de generation d'adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede
DE60311113T DE60311113T2 (de) 2002-06-28 2003-06-25 Adressenerzeugungsverfharen in einer mit einem netzwerk verbundenen einrichtung und das verfahren verwendende einrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0208087A FR2841715A1 (fr) 2002-06-28 2002-06-28 Procede de generation d'adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede
FR0208087 2002-06-28

Publications (2)

Publication Number Publication Date
WO2004003587A2 true WO2004003587A2 (fr) 2004-01-08
WO2004003587A3 WO2004003587A3 (fr) 2004-03-04

Family

ID=29724973

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/050259 WO2004003587A2 (fr) 2002-06-28 2003-06-25 Procede de generation d’adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede

Country Status (6)

Country Link
US (1) US20050251552A1 (fr)
EP (1) EP1540375B1 (fr)
AU (1) AU2003266407A1 (fr)
DE (1) DE60311113T2 (fr)
FR (1) FR2841715A1 (fr)
WO (1) WO2004003587A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1617627A1 (fr) * 2004-07-16 2006-01-18 Sagem SA Méthode d'attribution d'adresses

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073008B2 (en) 2006-04-28 2011-12-06 Medtronic Minimed, Inc. Subnetwork synchronization and variable transmit synchronization techniques for a wireless medical device network
US20070255125A1 (en) 2006-04-28 2007-11-01 Moberg Sheldon B Monitor devices for networked fluid infusion systems
US20070258395A1 (en) * 2006-04-28 2007-11-08 Medtronic Minimed, Inc. Wireless data communication protocols for a medical device network
US20070253021A1 (en) * 2006-04-28 2007-11-01 Medtronic Minimed, Inc. Identification of devices in a medical device network and wireless data communication techniques utilizing device identifiers
US8040820B2 (en) * 2007-03-06 2011-10-18 Cisco Technology, Inc. Modelling service flows in dynamic access domains
US8255497B2 (en) * 2008-11-03 2012-08-28 Lincoln Global, Inc. Method of discovery and communication with industrial equipment
JP5857519B2 (ja) * 2011-08-11 2016-02-10 富士通株式会社 試験プログラム、試験装置、および試験方法
US9270583B2 (en) * 2013-03-15 2016-02-23 Cisco Technology, Inc. Controlling distribution and routing from messaging protocol
US10432575B2 (en) * 2015-12-21 2019-10-01 Verizon Patent And Licensing Inc. Configuring a protocol address of a network device using an address resolution protocol request
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
US10911403B1 (en) * 2017-09-25 2021-02-02 Rockwell Collins, Inc. Systems and methods for secured maintenance gateway
CN115460173B (zh) * 2022-07-21 2023-09-26 浪潮通信技术有限公司 虚拟私有云网络子网网络地址生成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854901A (en) * 1996-07-23 1998-12-29 Cisco Systems, Inc. Method and apparatus for serverless internet protocol address discovery using source address of broadcast or unicast packet
EP1202493A2 (fr) * 2000-10-31 2002-05-02 Hewlett-Packard Company Configuration-ami et procédé correspondant pour des noeuds d' un réseau

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289414B1 (en) * 1998-10-08 2001-09-11 Music Semiconductors, Inc. Partially ordered cams used in ternary hierarchical address searching/sorting
US6657991B1 (en) * 1998-12-21 2003-12-02 3Com Corporation Method and system for provisioning network addresses in a data-over-cable system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854901A (en) * 1996-07-23 1998-12-29 Cisco Systems, Inc. Method and apparatus for serverless internet protocol address discovery using source address of broadcast or unicast packet
EP1202493A2 (fr) * 2000-10-31 2002-05-02 Hewlett-Packard Company Configuration-ami et procédé correspondant pour des noeuds d' un réseau

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DROMS R: "RFC 2131 - Dynamic Host Configuration Protocol (DHCP)" IETF RFC 2131, mars 1997 (1997-03), XP002193184 Extrait de l'Internet: <URL:http://www.ietf.org/rfc/rfc2131.txt> [extrait le 2002-03-14] *
ZUBAIR ALEXANDER: "Automatic Private IP Addressing" WINDOWS & .NET MAGAZINE, 25 octobre 1999 (1999-10-25), XP002217668 Extrait de l'Internet: <URL:http://www.winnetmag.com/Articles/Ind ex.cfm?ArticleID=7464> [extrait le 2002-10-18] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1617627A1 (fr) * 2004-07-16 2006-01-18 Sagem SA Méthode d'attribution d'adresses

Also Published As

Publication number Publication date
DE60311113D1 (de) 2007-02-22
AU2003266407A1 (en) 2004-01-19
US20050251552A1 (en) 2005-11-10
FR2841715A1 (fr) 2004-01-02
AU2003266407A8 (en) 2004-01-19
EP1540375A2 (fr) 2005-06-15
WO2004003587A3 (fr) 2004-03-04
DE60311113T2 (de) 2007-06-28
EP1540375B1 (fr) 2007-01-10

Similar Documents

Publication Publication Date Title
EP1540375B1 (fr) Procede de generation d&#39;adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede
WO2006035054A1 (fr) Procédé de mise à jour d&#39;une table de correspondance entre une adresse et un numéro d&#39;identification
US8213338B2 (en) Systems and methods for initializing cable modems
EP3987752A1 (fr) Procede et dispositif d&#39;obtention d&#39;une adresse ip
CA3087762A1 (fr) Procede de configuration d&#39;un systeme d&#39;extension de couverture de communication sans-fil et un systeme d&#39;extension de couverture de communication sans-fil mettant en oeuvre ledit procede
EP3934109B1 (fr) Procédé et dispositif de transmission d&#39;un message
WO2007010160A9 (fr) Procede de configuration d&#39;un terminal a travers un reseau d&#39;acces
EP3149920B1 (fr) Technique de médiation dans un réseau résidentiel
EP3373558A1 (fr) Procédé de communication pour assurer le maintien d&#39;une session applicative entre un terminal et un serveur d&#39;application
WO2008012471A2 (fr) Procede d&#39;acces par un client a un service au travers d&#39;un reseau, par utilisation combinee d&#39;un protocole de configuration dynamique et d&#39;un protocole point a point, equipement et programme d&#39;ordinateur correspondants
EP3357220B1 (fr) Technique de gestion d&#39;une adresse dans un reseau local
WO2004014047A2 (fr) Procede pour la numerotation automatique de reseau utilisant le protocole internet
EP3675463A1 (fr) Procédé d&#39;identification d&#39;un objet connecté dans une infrastructure réseau
EP3189652B1 (fr) Procédé d&#39;acheminement de données entre équipements ip
FR3029730A1 (fr) Technique d&#39;acces a au moins un serveur d&#39;administration
EP3718372A1 (fr) Procede de fabrication d&#39;un dispositif comprenant une membrane surplombant une cavite
FR3129797A1 (fr) Procede de configuration d’un reseau de communication et nœud implementant ledit procede de configuration
EP1872530B1 (fr) Procede de transfert d&#39;un code d&#39;information entre deux dispositifs de communication
EP4115579A1 (fr) Procédé de gestion d&#39;une requête d&#39;accès à un site internet depuis un dispositif d&#39;accès
EP4256753A1 (fr) Procédé de détection d&#39;un équipement malveillant dans un réseau de communication, équipement de communication et programme d&#39;ordinateur correspondants
FR3110802A1 (fr) Procédé de contrôle de l’attribution d’une adresse IP à un équipement client dans un réseau de communication local, procédé de traitement d’une requête d’attribution d’une adresse IP à un équipement client dans un réseau de communication local, dispositifs, équipement d’accès, équipement serveur et programmes d’ordinateur correspondants.
FR2985402A1 (fr) Procede de connexion a un reseau local d&#39;un terminal mettant en oeuvre un protocole de type eap et systeme de communication associe
FR3114470A1 (fr) Procede de basculement d’une station mobile entre deux points d’acces sans fil d’un reseau de communication et dispositif gestionnaire de connexions associe.
FR2803151A1 (fr) Procede et dispositif d&#39;apprentissage automatique d&#39;adresses dans un reseau de telecommunications, et systemes les mettant en oeuvre
WO2009071780A1 (fr) Procede de telecommunication pour la configuration d&#39;un equipement

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 10519588

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2003761590

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003761590

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

WWG Wipo information: grant in national office

Ref document number: 2003761590

Country of ref document: EP