ES2358811T3 - USE OF A TEST CONSULTATION TO DETERMINE IF A NETWORK DEVICE HAS A SOFTWARE ERROR OR A DESIGN FAILURE. - Google Patents

USE OF A TEST CONSULTATION TO DETERMINE IF A NETWORK DEVICE HAS A SOFTWARE ERROR OR A DESIGN FAILURE. Download PDF

Info

Publication number
ES2358811T3
ES2358811T3 ES06740671T ES06740671T ES2358811T3 ES 2358811 T3 ES2358811 T3 ES 2358811T3 ES 06740671 T ES06740671 T ES 06740671T ES 06740671 T ES06740671 T ES 06740671T ES 2358811 T3 ES2358811 T3 ES 2358811T3
Authority
ES
Spain
Prior art keywords
address
arp
local link
candidate
addresses
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES06740671T
Other languages
Spanish (es)
Inventor
Joshua V. Graessley
Stuart D. Cheshire
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Application granted granted Critical
Publication of ES2358811T3 publication Critical patent/ES2358811T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

Un procedimiento para detectar un dispositivo (304) que responde incorrectamente a solicitudes del protocolo de resolución de direcciones, ARP, tal como un dispositivo (304) que responde incorrectamente a solicitudes ARP para direcciones IP de enlace local que no ha reivindicado correctamente para su propio uso legítimo, que comprende: seleccionar (402) una dirección IP candidata de enlace local; enviar (404) una primera sonda ARP para la dirección IP candidata de enlace local; sólo si se ha recibido una respuesta a la primera sonda ARP, enviar (408) una segunda sonda ARP al dispositivo respondedor (304) solicitando una dirección de Ethernet asociada con una dirección IP reservada, en el que la dirección IP reservada es una dirección de transmisión de enlace local IPv4 169.254.255.255 o una dirección de enlace local IPv4 169.254.0.0, que no debe estar asignada a ningún dispositivo; si se recibe una respuesta desde el dispositivo (304) a la segunda sonda ARP, poner (414) la dirección del dispositivo (304) en una lista negra asociada con un intervalo de direcciones IP de enlace local e ignorar respuestas ARP posteriores procedentes de las direcciones origen de la lista negra para el intervalo de direcciones de enlace local, de manera que se ignoren respuestas ARP posteriores del dispositivo (304) que pertenezcan a ese intervalo de direcciones.A procedure for detecting a device (304) that responds incorrectly to requests from the address resolution protocol, ARP, such as a device (304) that responds incorrectly to ARP requests for local link IP addresses that it has not properly claimed for its own legitimate use, comprising: selecting (402) a candidate IP address for local link; send (404) a first ARP probe for the local link candidate IP address; only if a response to the first ARP probe has been received, send (408) a second ARP probe to the responding device (304) requesting an Ethernet address associated with a reserved IP address, in which the reserved IP address is a IPv4 local link transmission 169.254.255.255 or an IPv4 local link address 169.254.0.0, which must not be assigned to any device; If a response is received from the device (304) to the second ARP probe, blacklist (414) the device address (304) associated with a range of local link IP addresses and ignore subsequent ARP responses from the Blacklist source addresses for the range of local link addresses, so that subsequent ARP responses from the device (304) belonging to that address range are ignored.

Description

ANTECEDENTES BACKGROUND

Técnica relacionada Related technique

Con el fin de participar en una red de protocolo de Internet (IP), un nodo de red, tal como un ordenador In order to participate in an Internet Protocol (IP) network, a network node, such as a computer

o una impresora, necesita configurarse con una dirección IP. Además, con el fin de comunicarse con otro dispositivo utilizando IP sobre Ethernet o un medio similar, el nodo de red necesita la capacidad de convertir una dirección IP para el dispositivo en la dirección de hardware correspondiente (por ejemplo, Ethernet) para el dispositivo. El protocolo de resolución de direcciones (ARP) soluciona este problema de conversión proporcionando un mecanismo de resolución de direcciones que determina la dirección de hardware para una dirección IP dada, permitiendo de ese modo que un nodo de red participe en una red IP. or a printer, it needs to be configured with an IP address. In addition, in order to communicate with another device using IP over Ethernet or a similar medium, the network node needs the ability to convert an IP address for the device to the corresponding hardware address (for example, Ethernet) for the device. The address resolution protocol (ARP) solves this conversion problem by providing an address resolution mechanism that determines the hardware address for a given IP address, thereby allowing a network node to participate in an IP network.

Las direcciones IP pueden configurarse o bien manualmente por el usuario, o automáticamente con la ayuda de otro nodo de red, tal como un servidor DHCP. Desafortunadamente, es posible que un servidor DHCP no esté siempre disponible. Además, para el usuario resulta engorroso configurar una dirección IP. Por lo tanto, existe una gran necesidad de un mecanismo de configuración mediante el cual un nodo de red pueda configurar automáticamente una red IP por sí mismo. The IP addresses can be configured either manually by the user, or automatically with the help of another network node, such as a DHCP server. Unfortunately, a DHCP server may not always be available. In addition, it is cumbersome for the user to configure an IP address. Therefore, there is a great need for a configuration mechanism whereby a network node can automatically configure an IP network by itself.

El direccionamiento de enlace local IPv4 (norma RFC 3927) proporciona un mecanismo de configuración de este tipo. En el direccionamiento de enlace local IPv4, un mecanismo de configuración en un nodo de red elige de manera aleatoria una dirección IP "candidata" en un intervalo especificado de direcciones de enlace local y envía una solicitud ARP para comprobar si la dirección IP candidata de enlace local es única dentro del alcance del enlace. Si la dirección IP candidata de enlace local ya está utilizándose por otro nodo de red, entonces el mecanismo de configuración elige otra dirección IP de enlace local y comprueba si es única. Una vez que el mecanismo de configuración encuentre una dirección IP de enlace local única, el nodo de red la utiliza para comunicarse con otros nodos de la red. IPv4 local link addressing (RFC 3927 standard) provides such a configuration mechanism. In IPv4 local link addressing, a configuration mechanism in a network node randomly chooses a "candidate" IP address in a specified range of local link addresses and sends an ARP request to verify whether the link candidate IP address Local is unique within the scope of the link. If the local link candidate IP address is already being used by another network node, then the configuration mechanism chooses another local link IP address and checks if it is unique. Once the configuration mechanism finds a unique local link IP address, the network node uses it to communicate with other nodes in the network.

Desafortunadamente, algunos enrutadores de red no están configurados correctamente para responder a todas las solicitudes ARP, incluyendo solicitudes ARP para cualquier dirección IP de enlace local. Si un enrutador de este tipo está acoplado a una red local, puede interferir en el mecanismo de configuración respondiendo a solicitudes ARP enviadas por el mecanismo de configuración, haciendo parecer que cada posible dirección única ya está utilizándose. Esto puede impedir que el mecanismo de configuración seleccione una dirección IP. Unfortunately, some network routers are not configured correctly to respond to all ARP requests, including ARP requests for any local link IP address. If such a router is coupled to a local network, it can interfere with the configuration mechanism by responding to ARP requests sent by the configuration mechanism, making it appear that each possible unique address is already being used. This may prevent the configuration mechanism from selecting an IP address.

Por ejemplo, la FIG. 1 ilustra cómo un enrutador puede interferir en el proceso de asignación de una dirección IP. Durante el funcionamiento, el nodo A selecciona una dirección IP candidata (etapa 102). A continuación, el nodo A sondea la dirección IP candidata llevando a cabo una solicitud ARP (etapa 104). Después, el enrutador que interfiere responde a la solicitud ARP (etapa 106). Esto hace al nodo A determinar que otro nodo ya tiene la dirección IP y seleccionar una dirección IP candidata diferente (etapa 108). Después, el sistema vuelve a la etapa 104 y el proceso se repite indefinidamente. Por consiguiente, el nodo A no puede asignar una dirección IP. For example, FIG. 1 illustrates how a router can interfere with the process of assigning an IP address. During operation, node A selects a candidate IP address (step 102). Next, node A polls the candidate IP address by performing an ARP request (step 104). Then, the interfering router responds to the ARP request (step 106). This makes node A determine that another node already has the IP address and select a different candidate IP address (step 108). Then, the system returns to step 104 and the process is repeated indefinitely. Therefore, node A cannot assign an IP address.

Debe observarse que si un enrutador de este tipo está configurado para ignorar las "sondas" ARP enviadas por un dispositivo que está intentando asignar una dirección IP de enlace local, el enrutador puede interferir aún en las solicitudes ARP normales (que no son de tipo sonda) que se envían para determinar una dirección de Ethernet asociada con una dirección IP. It should be noted that if such a router is configured to ignore ARP "probes" sent by a device that is trying to assign a local link IP address, the router may still interfere with normal ARP requests (which are not probe type). ) that are sent to determine an Ethernet address associated with an IP address.

Por ejemplo, la FIG. 2 ilustra cómo un enrutador puede interferir en solicitudes ARP normales. En primer lugar, un nodo A envía una solicitud ARP con la dirección IP de un dispositivo con el que el nodo A desea comunicarse (etapa 202). A continuación, un enrutador responde incorrectamente a la solicitud ARP, interfiriendo en la respuesta procedente del dispositivo real con el que el nodo A desea comunicarse (etapa 204). Esto hace que el nodo A obtenga una dirección de Ethernet errónea. Los paquetes IP se envían posteriormente al enrutador en lugar de al dispositivo deseado, donde se pierden ya que el enrutador o bien los reenvía incorrectamente o simplemente los descarta sin reenviarlos. For example, FIG. 2 illustrates how a router can interfere with normal ARP requests. First, a node A sends an ARP request with the IP address of a device with which node A wishes to communicate (step 202). Next, a router responds incorrectly to the ARP request, interfering with the response from the actual device with which node A wishes to communicate (step 204). This causes node A to obtain an erroneous Ethernet address. The IP packets are subsequently sent to the router instead of the desired device, where they are lost since the router either forwards them incorrectly or simply discards them without forwarding them.

Por lo tanto, lo que se necesita es un procedimiento y un aparato para tratar los problemas descritos anteriormente encontrados durante la ejecución de solicitudes ARP. Therefore, what is needed is a procedure and an apparatus to deal with the problems described above encountered during the execution of ARP requests.

En un problema relacionado, los proveedores de servicios de Internet (ISP) proporcionan normalmente una única dirección de protocolo de Internet (IP) por cuenta de conexión a Internet, lo que puede implicar convencionalmente que solo un dispositivo habilitado para Internet por cuenta pueda acoplarse a la red del ISP en un momento dado. Esto no es deseable, ya que actualmente muchos hogares tienen varios ordenadores y otros dispositivos habilitados para Internet que el consumidor puede desear tener conectados a la red del ISP simultáneamente. In a related problem, Internet service providers (ISPs) typically provide a single Internet Protocol (IP) address per Internet connection account, which may conventionally imply that only one Internet-enabled device per account can be coupled to the ISP network at any given time. This is not desirable, as many homes now have several computers and other Internet-enabled devices that the consumer may wish to have connected to the ISP network simultaneously.

Una solución común a este problema de compartición de conexiones a Internet es utilizar un dispositivo de conversión de direcciones de red (NAT) (denominado comúnmente como “pasarela doméstica”) para compartir una única dirección IP con múltiples dispositivos habilitados para Internet que están acoplados a la pasarela doméstica a través de una red de área local (LAN). El dispositivo de pasarela doméstica tiene normalmente al menos dos interfaces físicas y dos direcciones de Internet: una pública que se utiliza para comunicaciones con la red del ISP, y otra interna privada que se utiliza para comunicaciones con los dispositivos de la LAN. Desde el punto de vista de un observador externo, todos los ordenadores locales y otros dispositivos habilitados para Internet del consumidor adoptan la apariencia de un único dispositivo con una única dirección IP pública. A common solution to this Internet connection sharing problem is to use a network address conversion (NAT) device (commonly referred to as a "home gateway") to share a single IP address with multiple Internet-enabled devices that are attached to the domestic gateway through a local area network (LAN). The home gateway device normally has at least two physical interfaces and two Internet addresses: a public one that is used for communications with the ISP network, and another private internal one that is used for communications with LAN devices. From the point of view of an external observer, all local computers and other Internet-enabled devices of the consumer adopt the appearance of a single device with a single public IP address.

Si la pasarela doméstica está configurada para ofrecer un servicio de protocolo de configuración dinámica de anfitrión (DHCP) a los dispositivos del consumidor, la pasarela doméstica asigna normalmente una dirección IP privada a cada dispositivo habilitado para Internet acoplado a la pasarela doméstica. La pasarela doméstica también proporciona su propia dirección IP LAN a estos dispositivos habilitados para Internet como la pasarela por defecto a la que deben enviar paquetes IP salientes y como el servidor DNS por defecto al que deben enviar consultas DNS. Puesto que normalmente la pasarela doméstica no tiene, por sí misma, autorización para ningún dominio DNS, todo lo que hace con las consultas DNS recibidas es reenviarlas a un servidor DNS más reconocible situado en alguna otra ubicación, normalmente uno controlado por el ISP del cliente. If the home gateway is configured to offer a dynamic host configuration protocol (DHCP) service to consumer devices, the home gateway normally assigns a private IP address to each Internet-enabled device attached to the home gateway. The home gateway also provides its own LAN IP address to these Internet-enabled devices as the default gateway to which they must send outgoing IP packets and as the default DNS server to which they must send DNS queries. Since normally the domestic gateway does not, in itself, have authorization for any DNS domain, all it does with the received DNS queries is to forward them to a more recognizable DNS server located in some other location, usually one controlled by the client's ISP .

Cuando se comunica con servicios de Internet, un dispositivo cliente envía paquetes IP a través de la pasarela doméstica. La pasarela doméstica reescribe la dirección IP origen en cada paquete para que sea la dirección IP pública compartida común y después lo reenvía a través de la red del ISP a Internet. Durante este proceso, la pasarela doméstica lleva a cabo normalmente un seguimiento de qué paquete se envió por cuál dispositivo local habilitado para Internet, de manera que cuando el (los) paquete(s) de respuesta vuelvan de Internet a través de la red del ISP a la pasarela doméstica, la pasarela doméstica pueda enrutar estos paquetes de respuesta al dispositivo apropiado habilitado para Internet que originó el paquete de solicitud saliente correspondiente. When communicating with Internet services, a client device sends IP packets through the home gateway. The home gateway rewrites the source IP address in each packet to be the common shared public IP address and then forwards it through the ISP network to the Internet. During this process, the domestic gateway normally tracks which packet was sent by which local Internet-enabled device, so that when the response packet (s) return from the Internet through the ISP network to the home gateway, the home gateway can route these response packets to the appropriate Internet-enabled device that originated the corresponding outgoing request packet.

Por ejemplo, la FIG. 3 ilustra una pasarela doméstica 304 que está acoplada tanto a una red 302 como a una red local 306. La red local 306 acopla la pasarela doméstica 304 a ordenadores 308, 310 y 312 y al dispositivo de Ethernet 314. For example, FIG. 3 illustrates a domestic gateway 304 that is coupled to both a network 302 and a local network 306. Local network 306 couples domestic gateway 304 to computers 308, 310 and 312 and to the Ethernet device 314.

Una pasarela doméstica (o cualquier otro dispositivo de compartición de Internet) tal como la pasarela doméstica 304, incluye normalmente un mecanismo para reenviar consultas DNS a servidores DNS que puedan proporcionar respuestas a las consultas DNS. Este mecanismo permite a la pasarela doméstica 304 funcionar como el "servidor DNS configurado" por defecto para todos los dispositivos de la red local 306. A home gateway (or any other Internet sharing device), such as home gateway 304, typically includes a mechanism for forwarding DNS queries to DNS servers that can provide responses to DNS queries. This mechanism allows the domestic gateway 304 to function as the "configured DNS server" by default for all devices in the local network 306.

Debe observarse que un “servidor DNS configurado” puede incluir cualquier dispositivo habilitado para DNS que pueda devolver una respuesta a una consulta DNS, tal como (1) un servidor DNS con autoridad, (2) un servidor DNS recursivo, y (3) un servidor DNS de reenvío. Un servidor DNS con autoridad contesta consultas DNS dirigidas a un dominio o a un conjunto de dominios que han sido delegados al servidor DNS con autoridad. Al hacer esto, el servidor DNS con autoridad mantiene registros DNS para el dominio delegado o conjunto de dominios delegados, y es el único tipo de servidor DNS que puede responder con autoridad para el dominio delegado o conjunto de dominios delegados. It should be noted that a "configured DNS server" can include any DNS-enabled device that can return a response to a DNS query, such as (1) an authoritative DNS server, (2) a recursive DNS server, and (3) a DNS forwarding server. A DNS server with authority answers DNS queries directed to a domain or to a set of domains that have been delegated to the DNS server with authority. In doing so, the authoritative DNS server maintains DNS records for the delegated domain or set of delegated domains, and is the only type of DNS server that can respond with authority for the delegated domain or set of delegated domains.

Un servidor DNS recursivo (una caché DNS) recibe consultas DNS y lleva a cabo consultas para buscar el dominio solicitado. Cuando se recibe una respuesta desde un servidor DNS con autoridad o desde otro servidor DNS recursivo, el servidor DNS recursivo almacena la respuesta en su caché DNS local. Si se lleva a cabo una consulta para un registro DNS que ya estaba almacenado previamente en la caché DNS local, el servidor DNS recursivo utiliza la información almacenada para contestar a la consulta DNS en lugar de llevar a cabo otra consulta DNS. A recursive DNS server (a DNS cache) receives DNS queries and performs queries to search for the requested domain. When a response is received from an authoritative DNS server or from another recursive DNS server, the recursive DNS server stores the response in its local DNS cache. If a query is performed for a DNS record that was previously stored in the local DNS cache, the recursive DNS server uses the stored information to answer the DNS query instead of conducting another DNS query.

Un servidor DNS de reenvío (un retransmisor DNS) reenvía consultas DNS a un servidor DNS recursivo o a un servidor DNS con autoridad. Tal y como se ha mencionado anteriormente, las pasarelas domésticas contienen normalmente retransmisores DNS simples que funcionan como el "servidor DNS configurado" para dispositivos locales que se comunican a través de la pasarela doméstica. A forwarding DNS server (a DNS relay) forwards DNS queries to a recursive DNS server or to an authoritative DNS server. As mentioned earlier, home gateways normally contain simple DNS retransmitters that function as the "configured DNS server" for local devices that communicate through the home gateway.

Aunque algunas pasarelas domésticas son capaces normalmente de permitir que múltiples dispositivos habilitados para Internet compartan una única conexión a Internet de manera satisfactoria, algunas de estas pasarelas domésticas tienen errores de software o fallos de diseño similares. Uno de estos fallos provoca que la pasarela doméstica maneje incorrectamente el reenvío de consultas DNS válidas a servidores DNS. Además, tales pasarelas domésticas defectuosas pueden bloquearse y dejar de funcionar completamente durante el procesamiento de determinadas consultas DNS válidas, afectando por tanto a la capacidad de llevar a cabo su función prevista, en concreto proporcionar acceso a Internet a ordenadores locales y a dispositivos similares habilitados para Internet. Although some home gateways are normally capable of allowing multiple Internet-enabled devices to share a single Internet connection satisfactorily, some of these home gateways have similar software errors or design flaws. One of these failures causes the domestic gateway to incorrectly handle the forwarding of valid DNS queries to DNS servers. In addition, such defective domestic gateways can be blocked and cease to function completely during the processing of certain valid DNS queries, thereby affecting the ability to perform their intended function, in particular providing Internet access to local computers and similar devices enabled for Internet.

El documento US 5.708.654 divulga un procedimiento que utiliza un instrumento de prueba LAN para detectar agentes ARP proxy y enrutadores mal configurados en una LAN TCP/IP. El procedimiento permite en primer lugar la detección de enrutadores implementando ARP proxy para el enrutador por defecto emitiendo un único comando ARP para un único anfitrión remoto. Puesto que la dirección IP destino elegida como un dispositivo único no existente, el enrutador responderá a la solicitud ARP con una respuesta ARP proxy para su ruta por defecto si esta función está habilitada. El procedimiento permite además distinguir entre respuestas procedentes de dispositivos reales que tienen direcciones IP duplicadas y respuestas procedentes de enrutadores mal configurados que responden en ARP proxy para ordenadores centrales locales. Las direcciones IP duplicadas falsas debidas a respuestas ARP proxy pueden identificarse como entradas fantasma en una base de datos, pudiendo entonces etiquetarse o eliminarse de manera apropiada para mostrar al usuario del instrumento de prueba LAN solamente las entradas que corresponden a dispositivos físicos reales. US 5,708,654 discloses a procedure that uses a LAN test instrument to detect incorrectly configured proxy ARP agents and routers in a TCP / IP LAN. The procedure first allows the detection of routers by implementing ARP proxy for the default router by issuing a single ARP command for a single remote host. Since the destination IP address chosen as a single non-existent device, the router will respond to the ARP request with an ARP proxy response for its default route if this function is enabled. The procedure also makes it possible to distinguish between responses from real devices that have duplicate IP addresses and responses from poorly configured routers that respond in proxy ARP for local central computers. Fake duplicate IP addresses due to proxy ARP responses can be identified as phantom entries in a database, and can then be labeled or disposed of properly to show the user of the LAN test instrument only the entries corresponding to real physical devices.

Por lo tanto, lo que se necesita es un procedimiento y un aparato para que un cliente de la red local determine si su servidor DNS tiene este error de software conocido particular, de manera que el cliente pueda determinar cuándo debe evitar llevar a cabo aquéllas determinadas consultas DNS válidas que se sabe que tienen una alta probabilidad de bloquear ese dispositivo particular. Therefore, what is needed is a procedure and an apparatus for a local network client to determine if its DNS server has this particular known software error, so that the client can determine when to avoid carrying out those determined Valid DNS queries that are known to have a high probability of blocking that particular device.

RESUMEN SUMMARY

Una forma de realización de la presente invención proporciona un sistema que detecta un enrutador no compatible que responde incorrectamente a todas las solicitudes de protocolo de resolución de direcciones (ARP), incluyendo solicitudes ARP para direcciones IP de enlace local. Se permite a un enrutador responder a solicitudes ARP para una dirección de enlace local IPv4 única que haya reivindicado correctamente para su propio uso legítimo (por ejemplo, bajo el protocolo especificado en la norma RFC 2937 del Grupo de Trabajo de Redes), pero no es correcto que responda indiscriminadamente a solicitudes ARP para cada dirección de enlace local IPv4. An embodiment of the present invention provides a system that detects an unsupported router that incorrectly responds to all requests for address resolution protocol (ARP), including ARP requests for local link IP addresses. A router is allowed to respond to ARP requests for a unique IPv4 local link address that it has correctly claimed for its own legitimate use (for example, under the protocol specified in RFC 2937 of the Network Working Group), but it is not correct that you respond indiscriminately to ARP requests for each IPv4 local link address.

Según un primer aspecto de la invención, se proporciona un procedimiento como el definido en la reivindicación 1. According to a first aspect of the invention, a method as defined in claim 1 is provided.

En una variación de esta forma de realización, la sonda ARP se envía por un dispositivo solicitante que esté en el proceso de asignarse una dirección IP candidata de enlace local. In a variation of this embodiment, the ARP probe is sent by a requesting device that is in the process of assigning a candidate local link IP address.

En una variación de esta forma de realización, si la solicitud ARP con la dirección IP reservada de enlace local no se ha respondido, el dispositivo solicitante asigna la dirección IP candidata de enlace local. In a variation of this embodiment, if the ARP request with the reserved local link IP address has not been answered, the requesting device assigns the candidate local link IP address.

Según un segundo aspecto de la invención, se proporciona un medio de almacenamiento legible por ordenador como el definido en la reivindicación 4. According to a second aspect of the invention, a computer readable storage medium is provided as defined in claim 4.

Según un tercer aspecto de la invención, se proporciona un aparato como el definido en la reivindicación 7. According to a third aspect of the invention, an apparatus is provided as defined in claim 7.

BREVE DESCRIPCIÓN DE LAS FIGURAS La FIG. 1 presenta un diagrama de flujo que ilustra cómo un enrutador puede interferir en el proceso de asignación de una dirección IP. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 presents a flowchart that illustrates how a router can interfere with the process of assigning an IP address.

La FIG. 2 presenta un diagrama de flujo que ilustra cómo un enrutador puede interferir en una solicitud ARP normal. FIG. 2 presents a flowchart that illustrates how a router can interfere with a normal ARP request.

La FIG. 3 ilustra un sistema informático interconectado según una forma de realización de la presente invención. FIG. 3 illustrates an interconnected computer system according to an embodiment of the present invention.

La FIG. 4 presenta un diagrama de flujo que ilustra el proceso de asignar una dirección IP según una forma de realización de la presente invención. FIG. 4 presents a flow chart illustrating the process of assigning an IP address according to an embodiment of the present invention.

La FIG. 5 presenta un diagrama de flujo que ilustra el proceso de realizar una solicitud ARP según una forma de realización de la presente invención. FIG. 5 presents a flow chart illustrating the process of making an ARP application according to an embodiment of the present invention.

La FIG. 6 presenta un diagrama de flujo que ilustra el proceso de determinar si un servidor DNS tiene un error de software conocido particular o un fallo de diseño similar según una forma de realización de la presente invención. FIG. 6 presents a flow chart illustrating the process of determining whether a DNS server has a particular known software error or a similar design failure according to an embodiment of the present invention.

DESCRIPCIÓN DETALLADA DETAILED DESCRIPTION

La siguiente descripción se presenta para permitir que cualquier experto en la técnica haga y utilice la invención, y se proporciona en el contexto de una aplicación particular y de sus requisitos. The following description is presented to allow any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements.

Las estructuras de datos y el código descritos en esta descripción detallada están almacenados normalmente en un medio de almacenamiento legible por ordenador, que puede ser cualquier dispositivo o medio que puede almacenar código y/o datos para su utilización por parte de un sistema informático. Esto incluye, pero sin limitarse a, dispositivos de almacenamiento magnéticos y ópticos, tales como unidades de disco, cintas magnéticas, CD (discos compactos) y DVD (discos versátiles digitales o discos de vídeo digital), y señales de instrucciones informáticas contenidas en un medio de transmisión (con o sin una onda portadora según la cual se modulan las señales). Por ejemplo, el medio de transmisión puede incluir una red de comunicaciones, tal como una LAN, una WAN o Internet. The data structures and code described in this detailed description are normally stored in a computer readable storage medium, which can be any device or medium that can store code and / or data for use by a computer system. This includes, but is not limited to, magnetic and optical storage devices, such as disk drives, magnetic tapes, CDs (compact discs) and DVDs (digital versatile discs or digital video discs), and computer instruction signals contained in a transmission medium (with or without a carrier wave according to which the signals are modulated). For example, the transmission medium may include a communications network, such as a LAN, a WAN or the Internet.

Sistema informático interconectado Interconnected computer system

La FIG. 3 ilustra un sistema informático interconectado 300 según una forma de realización de la presente invención. El sistema informático interconectado 300 incluye una red local 306 que acopla entre sí ordenadores 308, 310 y 312, un enrutador 304 y un dispositivo de Ethernet 314. La red local 306 puede incluir cualquier tipo de red informática, tal como una Ethernet. Los ordenadores 308, 310 y 312 pueden incluir cualquier tipo de dispositivo de red que pueda llevar a cabo una solicitud ARP. El dispositivo de Ethernet 314 puede incluir cualquier tipo de dispositivo (tal como una impresora) con el que un nodo (tal como el ordenador 308) desee comunicarse. FIG. 3 illustrates an interconnected computer system 300 according to an embodiment of the present invention. The interconnected computer system 300 includes a local network 306 that couples computers 308, 310 and 312 together, a router 304 and an Ethernet device 314. Local network 306 can include any type of computer network, such as an Ethernet. Computers 308, 310 and 312 can include any type of network device that can carry out an ARP request. The Ethernet device 314 may include any type of device (such as a printer) with which a node (such as computer 308) wishes to communicate.

El enrutador 304 es un dispositivo que acopla la red local 306 a una red 302, tal como Internet. Sin embargo, en este sistema, el enrutador 304 es un enrutador “no compatible” que posiblemente puede interferir en las solicitudes ARP llevadas a cabo por un ordenador 308. Por ejemplo, el enrutador 304 puede interferir en las sondas ARP llevadas a cabo durante el proceso de asignación de una dirección IP de enlace local, o en solicitudes ARP llevadas a cabo para identificar una dirección de Ethernet asociada con una dirección IP, tal como una dirección IP para el dispositivo de Ethernet 314. Router 304 is a device that couples local network 306 to a network 302, such as the Internet. However, in this system, router 304 is an "unsupported" router that may possibly interfere with ARP requests made by a computer 308. For example, router 304 may interfere with ARP probes carried out during the process of assigning a local link IP address, or in ARP requests carried out to identify an Ethernet address associated with an IP address, such as an IP address for the 314 Ethernet device.

Esta interferencia puede tratarse tal y como se describe a continuación con referencia a las FIG. 4 y 5. This interference can be treated as described below with reference to FIG. 4 and 5.

Proceso de asignación de una dirección IP Process of assigning an IP address

La FIG. 4 presenta un diagrama de flujo que ilustra el proceso de asignación de una dirección IP según una forma de realización de la presente invención. El proceso comienza cuando un nodo A selecciona una dirección IP candidata para ser asignada (etapa 402). A continuación, el nodo A genera una sonda ARP inicial para la dirección IP candidata (etapa 404) y espera una respuesta (etapa 406). FIG. 4 presents a flow chart illustrating the process of assigning an IP address according to an embodiment of the present invention. The process begins when a node A selects a candidate IP address to be assigned (step 402). Next, node A generates an initial ARP probe for the candidate IP address (step 404) and awaits a response (step 406).

Si no hay respuesta a la sonda ARP inicial, la dirección IP candidata no está asignada a ningún dispositivo. En este caso, el sistema asigna la dirección IP candidata, normalmente a una de sus interfaces (etapa 416). En este momento finaliza el proceso de asignación de la dirección IP. If there is no response to the initial ARP probe, the candidate IP address is not assigned to any device. In this case, the system assigns the candidate IP address, usually to one of its interfaces (step 416). At this time the process of assigning the IP address ends.

Si hay una respuesta, el nodo A genera una segunda sonda ARP para una dirección IP reservada de enlace local, la cual no debe estar asignada a ningún dispositivo, tal como la dirección de transmisión If there is a response, node A generates a second ARP probe for a reserved local link IP address, which should not be assigned to any device, such as the transmission address

169.254.255.255 y/o 169.254.0.0 (etapa 408). Si no hay respuesta a esta segunda sonda ARP, el sistema deduce que ningún enrutador está respondiendo a las solicitudes ARP para direcciones IP de enlace local. Por lo tanto, la respuesta a la sonda ARP inicial indica de manera válida que la dirección IP candidata ya está asignada a otro dispositivo. En este caso, el sistema selecciona una nueva dirección IP candidata (etapa 412) y vuelve a la etapa 404 para sondear la nueva dirección IP candidata. 169.254.255.255 and / or 169.254.0.0 (step 408). If there is no response to this second ARP probe, the system deduces that no router is responding to ARP requests for local link IP addresses. Therefore, the response to the initial ARP probe validly indicates that the candidate IP address is already assigned to another device. In this case, the system selects a new candidate IP address (step 412) and returns to step 404 to poll the new candidate IP address.

Por otro lado, si hubo una respuesta a la segunda sonda ARP en la etapa 410, el sistema deduce que un enrutador está respondiendo incorrectamente a direcciones IP de enlace local. En este caso, el sistema pone la dirección origen de la respuesta en una lista negra para ignorar respuestas posteriores procedentes de la dirección origen (etapa 416). Después, el sistema vuelve a la etapa 404 para sondear de nuevo la dirección candidata. On the other hand, if there was a response to the second ARP probe in step 410, the system deduces that a router is responding incorrectly to local link IP addresses. In this case, the system puts the source address of the response in a blacklist to ignore subsequent responses from the source address (step 416). Then, the system returns to step 404 to poll the candidate address again.

Debe observarse que una sonda ARP (que se utiliza para probar una dirección IP candidata) puede diferenciarse de una solicitud ARP normal ya que la dirección origen de una sonda ARP es todo ceros. Por lo tanto, es posible que un enrutador pueda estar configurado correctamente para no responder a sondas ARP y, con todo, responder incorrectamente a solicitudes ARP normales. En este caso, el enrutador no interferirá en las sondas ARP durante el proceso de asignación de direcciones IP pero, en cambio, puede interferir en las solicitudes ARP normales, en las que un nodo busca determinar una dirección de Ethernet asociada con una dirección IP válida de enlace local. Este problema puede tratarse mediante el proceso descrito a continuación con referencia a la FIG. 5. It should be noted that an ARP probe (which is used to test a candidate IP address) can be distinguished from a normal ARP request since the source address of an ARP probe is all zeros. Therefore, it is possible that a router may be configured correctly to not respond to ARP probes and, however, respond incorrectly to normal ARP requests. In this case, the router will not interfere with ARP probes during the IP address assignment process, but instead may interfere with normal ARP requests, in which a node seeks to determine an Ethernet address associated with a valid IP address. of local link. This problem can be treated by the process described below with reference to FIG. 5.

Proceso de ejecución de una solicitud ARP Execution process of an ARP request

La FIG. 5 presenta un diagrama de flujo que ilustra el proceso de llevar a cabo una solicitud ARP según una forma de realización de la presente invención. El proceso comienza cuando el código IP de un nodo A solicita una dirección de Ethernet para una dirección IP deseada (etapa 502). A continuación, el sistema determina si (a) ésta será la primera solicitud ARP de enlace local en esta interfaz para la red ya que la interfaz se habilitó, o (b) ha pasado más de un periodo de tiempo desde que el sistema comprobó por última vez un enrutador no compatible en este enlace (etapa 504). Si no, el sistema lleva a cabo solicitudes ARP para la dirección de la manera habitual para determinar la dirección de Ethernet para la dirección IP deseada (etapa 512). FIG. 5 presents a flow chart illustrating the process of carrying out an ARP application according to an embodiment of the present invention. The process begins when the IP code of a node A requests an Ethernet address for a desired IP address (step 502). Next, the system determines whether (a) this will be the first ARP local link request on this network interface since the interface was enabled, or (b) it has been more than a period of time since the system checked for Last time an unsupported router on this link (step 504). If not, the system carries out ARP requests for the address in the usual way to determine the Ethernet address for the desired IP address (step 512).

Por otro lado, si en la etapa 504 el sistema determina que ésta será la primera solicitud ARP de enlace local en la interfaz, o que es momento de volver a comprobar esta interfaz, el sistema comprueba en primer lugar si hay un enrutador que esté respondiendo indiscriminadamente a solicitudes ARP en la red asociada a la interfaz. Esto implica enviar una solicitud ARP inicial en la red para una dirección que no debe estar asignada a ningún nodo (tal y como se ha descrito anteriormente) (etapa 506). Después, el sistema espera una respuesta (etapa 508). Si no hay ninguna respuesta, el sistema deduce que ningún enrutador está respondiendo indiscriminadamente a solicitudes ARP de enlace local en la red. En este caso, el sistema lleva a cabo solicitudes ARP para la dirección IP deseada de la manera habitual (etapa 512). On the other hand, if in step 504 the system determines that this will be the first local link ARP request on the interface, or that it is time to recheck this interface, the system first checks if there is a router that is responding indiscriminately to ARP requests in the network associated with the interface. This involves sending an initial ARP request on the network for an address that should not be assigned to any node (as described above) (step 506). Then, the system waits for a response (step 508). If there is no response, the system deduces that no router is responding indiscriminately to local link ARP requests on the network. In this case, the system carries out ARP requests for the desired IP address in the usual manner (step 512).

Por otro lado, si hay una respuesta a la solicitud ARP, el sistema deduce que un enrutador está respondiendo indiscriminadamente a direcciones IP de enlace local. En este caso, el sistema pone la dirección origen de la respuesta en una lista negra para ignorar respuestas posteriores procedentes de esa dirección origen (etapa 510) cuando pertenecen a direcciones IP de enlace local. Después, el sistema avanza hasta la etapa 512 y lleva a cabo solicitudes ARP para la dirección IP deseada de la manera habitual. On the other hand, if there is a response to the ARP request, the system deduces that a router is responding indiscriminately to local link IP addresses. In this case, the system puts the source address of the response in a blacklist to ignore subsequent responses from that source address (step 510) when they belong to local link IP addresses. Then, the system advances to step 512 and performs ARP requests for the desired IP address in the usual manner.

Servidor DNS defectuoso DNS server defective

Algunos servidores DNS que residen en pasarelas domésticas son defectuosos y pueden producir respuestas incorrectas o pueden provocar que la pasarela doméstica se bloquee. (Debe observarse que un servidor DNS puede incluir cualquier dispositivo habilitado para DNS, incluyendo un servidor DNS, un retransmisor DNS o una caché DNS). Tales servidores DNS defectuosos suponen que si un cliente lleva a cabo una consulta DNS de tipo PTR, la única solicitud posible que el cliente está haciendo es llevar a cabo una consulta DNS de “búsqueda inversa” IPv4, traduciendo desde una dirección IP a un nombre. Some DNS servers that reside on home gateways are defective and may produce incorrect responses or may cause the home gateway to crash. (It should be noted that a DNS server can include any DNS-enabled device, including a DNS server, a DNS relay or a DNS cache). Such defective DNS servers assume that if a client carries out a PTR-type DNS query, the only possible request that the client is making is to carry out an IPv4 "reverse lookup" DNS query, translating from an IP address to a name. .

Un ejemplo de una consulta de nombre de dominio de “búsqueda inversa” IPv4 formada correctamente es “2.1.168.192.in-addr.arpa”. Esta consulta y otras parecidas pueden llevarse a cabo mediante software o mediante el usuario con una utilidad DNS tal como “nslookup”. El comando nslookup y los argumentos para este ejemplo son: An example of a "reverse lookup" IPv4 domain name query formed correctly is "2.1.168.192.in-addr.arpa". This query and similar ones can be carried out by software or by the user with a DNS utility such as “nslookup”. The nslookup command and the arguments for this example are:

“nslookup -q=ptr 2.1.168.192.in-addr.arpa”. En este ejemplo, el tipo de consulta DNS es PTR y la consulta DNS es “2.1.168.192.in-addr.arpa”. Debe observarse que una consulta PTR es normalmente una consulta DNS de “búsqueda inversa” que lleva a cabo una correlación de una dirección IP con un nombre de dominio correspondiente. Sin embargo, otras consultas DNS formadas correctamente son posibles incluso aunque no tengan sentido. Por ejemplo, la consulta DNS de tipo PTR "2.1.168.192.nonsense" es una consulta DNS formada correctamente, pero no genera ningún registro de respuesta ya que el dominio de nivel superior "nonsense" no existe realmente. Debe observarse que el dominio “in-addr.arpa” es el sufijo de dominio adecuado a utilizar cuando se lleve a cabo una consulta DNS de “búsqueda inversa”. "Nslookup -q = ptr 2.1.168.192.in-addr.arpa". In this example, the type of DNS query is PTR and the DNS query is “2.1.168.192.in-addr.arpa”. It should be noted that a PTR query is normally a "reverse lookup" DNS query that correlates an IP address with a corresponding domain name. However, other properly formed DNS queries are possible even if they make no sense. For example, the DNS query of type PTR "2.1.168.192.nonsense" is a properly formed DNS query, but it does not generate any response records since the top-level domain "nonsense" does not really exist. It should be noted that the domain "inaddr.arpa" is the appropriate domain suffix to use when performing a "reverse lookup" DNS query.

Algunas pasarelas domésticas defectuosas examinan solamente las cuatro primeras etiquetas de la consulta DNS de tipo PTR ("etiquetas" en un nombre de dominio son los grupos de caracteres separados por puntos) e ignoran el resto del nombre. En "2.1.168.192.nonsense”, por ejemplo, las cuatro primeras etiquetas son "2.1.168.192.". Por lo tanto, para estas pasarelas domésticas defectuosas, la consulta DNS de tipo PTR “2.1.168.192.nonsense” no puede distinguirse de la consulta DNS de tipo PTR “2.1.168.192.in-addr.arpa”. Some defective home gateways examine only the first four tags of the DNS query of type PTR ("tags" in a domain name are the character groups separated by periods) and ignore the rest of the name. In "2.1.168.192.nonsense", for example, the first four labels are "2.1.168.192." Therefore, for these defective domestic gateways, the DNS query of type PTR "2.1.168.192.nonsense" cannot be distinguished of the DNS query of type PTR “2.1.168.192.in-addr.arpa”.

También debe observarse que estas mismas pasarelas domésticas defectuosas suponen que las cuatro primeras etiquetas son números decimales entre 0 y 255. Si las cuatro primeras etiquetas de la consulta DNS de tipo PTR no son números entre 0 y 255, estas pasarelas domésticas defectuosas se bloquean. It should also be noted that these same defective domestic gateways assume that the first four labels are decimal numbers between 0 and 255. If the first four labels of the PTR type DNS query are not numbers between 0 and 255, these defective domestic gateways are blocked.

Detectar un enrutador de Internet defectuoso Detect a defective Internet router

Una forma de realización de la presente invención detecta tales pasarelas domésticas defectuosas llevando a cabo una consulta DNS especial que se genera para detectar la existencia de un fallo en el servidor DNS sin bloquearlo. An embodiment of the present invention detects such defective domestic gateways by performing a special DNS query that is generated to detect the existence of a failure in the DNS server without blocking it.

Por ejemplo, la consulta especial que detecta un fallo en el servidor DNS de la pasarela doméstica es la consulta DNS de tipo PTR "2.1.168.192.nonsense", que produce una respuesta NXDOMAIN (es decir, el dominio no existe) en una pasarela doméstica que funciona correctamente sin el fallo. Sin embargo, pasarelas domésticas con servidores DNS defectuosos intentarán proporcionar un nombre de anfitrión como respuesta a la consulta 2.1.168.192.nonsense, incluso aunque la consulta no fuera en realidad una consulta de búsqueda de nombre "in-addr-arpa". For example, the special query that detects a failure in the DNS server of the domestic gateway is the DNS query of type PTR "2.1.168.192.nonsense", which produces an NXDOMAIN response (that is, the domain does not exist) on a gateway domestic that works properly without failure. However, home gateways with defective DNS servers will attempt to provide a host name in response to query 2.1.168.192.nonsense, even if the query was not actually a search query named "in-addr-harp".

Desafortunadamente, la consulta DNS de tipo PTR “2.1.168.192.nonsense”, cuando está dirigida a un servidor DNS sin el fallo mencionado anteriormente, provoca que se envíe una consulta DNS a uno de los servidores de nombre raíz DNS. Puesto que en general la única manera de que un servidor o un retransmisor DNS sepan si existe o no un dominio de nivel superior particular es interrogar a uno de los servidores de nombre raíz, cada consulta de prueba de este tipo da posiblemente como resultado el envío de una consulta de molestias a los servidores de nombre raíz. Unfortunately, the PTR DNS query “2.1.168.192.nonsense”, when addressed to a DNS server without the aforementioned failure, causes a DNS query to be sent to one of the DNS root name servers. Since in general the only way for a server or a DNS relay to know whether or not a particular top-level domain exists is to interrogate one of the root-name servers, each test query of this type possibly results in the sending from a nuisance query to the root name servers.

En una forma de realización de la presente invención, la consulta especial se genera de manera que el servidor DNS no se comunique con un servidor de nombre raíz DNS tanto exista el fallo como si no. In an embodiment of the present invention, the special query is generated so that the DNS server does not communicate with a DNS root name server whether the fault exists or not.

Por ejemplo, la consulta especial puede ser "1.0.0.127.dnsbugtest.1.0.0.127.in-addr-arpa”. En esta consulta a modo de ejemplo, la dirección "127.0.0.1" es la "dirección de bucle". La dirección de bucle es una dirección IP especial disponible para utilizarse cuando dos fragmentos de software de red de la misma máquina desean comunicarse entre sí utilizando mecanismos de interconexión IP e interfaces de programación, independientemente de si una interconexión IP (entre máquinas) convencional está disponible. For example, the special query can be "1.0.0.127.dnsbugtest.1.0.0.127.in-addr-harp." In this example query, the address "127.0.0.1" is the "loop address." Loop address is a special IP address available for use when two network software fragments of the same machine wish to communicate with each other using IP interconnection mechanisms and programming interfaces, regardless of whether a conventional IP inter-machine interconnection is available.

También debe observarse que cada servidor DNS debe contener un registro DNS fijo que correlacione "1.0.0.127.in-addr.arpa" con el nombre "localhost". Por lo tanto, cualquier nombre que sea subdominio del nombre “1.0.0.127.in-addr.arpa” está formado correctamente y es válido, pero son nombres que se sabe que no tienen registros DNS asociados. Dicho de otro modo, "1.0.0.127.dnsbugtest.1.0.0.127.inaddr.arpa" es un nombre legal, pero cualquier consulta para ese nombre no debe proporcionar ningún resultado. Por lo tanto, una pasarela doméstica con un servidor DNS que funciona correctamente devuelve una respuesta NXDOMAIN (es decir, el nombre del dominio no existe) sin tener que comunicarse con un servidor de nombre raíz DNS para hacer tal determinación. It should also be noted that each DNS server must contain a fixed DNS record that correlates "1.0.0.127.in-addr.arpa" with the name "localhost". Therefore, any name that is a subdomain of the name “1.0.0.127.in-addr.arpa” is correctly formed and valid, but they are names that are known to have no associated DNS records. In other words, "1.0.0.127.dnsbugtest.1.0.0.127.inaddr.arpa" is a legal name, but any query for that name should not provide any results. Therefore, a domestic gateway with a properly functioning DNS server returns an NXDOMAIN response (that is, the domain name does not exist) without having to communicate with a DNS root name server to make such a determination.

Debe observarse que puesto que las seis últimas etiquetas en esta consulta DNS de tipo PTR son “1.0.0.127.in-addr.arpa”, una pasarela doméstica con un servidor DNS que funciona correctamente no reenviará la consulta DNS al servidor de nombre raíz DNS ya que el servidor DNS de la pasarela doméstica sabe que la dirección IP es un subdominio de la dirección de bucle. Puesto que los subdominios de la dirección de bucle no se utilizan, el servidor DNS debe responder con una respuesta NXDOMAIN sin comunicarse con un servidor de nombre raíz DNS. It should be noted that since the last six tags in this PTR type DNS query are “1.0.0.127.in-addr.arpa”, a domestic gateway with a properly functioning DNS server will not forward the DNS query to the DNS root name server since the DNS server on the home gateway knows that the IP address is a subdomain of the loop address. Since the subdomains of the loop address are not used, the DNS server must respond with an NXDOMAIN response without communicating with a DNS root name server.

Asimismo, una pasarela doméstica con el fallo para cuya detección se genera la consulta especial, no se comunica con un servidor de nombre raíz DNS. Debe recordarse que una pasarela doméstica con un servidor DNS defectuoso solo utiliza las cuatro primeras etiquetas de la consulta DNS de tipo PTR y que interpreta esta consulta DNS de tipo PTR como la consulta DNS de tipo PTR "1.0.0.127.in-addrarpa". Puesto que el servidor DNS de la pasarela doméstica defectuosa sabe que la respuesta correcta para una consulta DNS de tipo PTR para “1.0.0.127.in-addr.arpa” debe ser “localhost”, la pasarela doméstica devuelve la respuesta “localhost” sin comunicarse con ningún servidor de nombre raíz DNS. Likewise, a domestic gateway with the fault for whose detection the special query is generated does not communicate with a DNS root name server. It should be remembered that a domestic gateway with a defective DNS server uses only the first four tags of the PTR type DNS query and interprets this PTR type DNS query as the PTR type "1.0.0.127.in-addrarpa" DNS query. Since the DNS server of the faulty domestic gateway knows that the correct response for a PTR type DNS query for “1.0.0.127.in-addr.arpa” must be “localhost”, the domestic gateway returns the response “localhost” without communicate with any DNS root name server.

La FIG. 6 presenta un diagrama de flujo que ilustra el proceso de determinar si un servidor DNS es defectuoso según una forma de realización de la presente invención. El proceso comienza cuando el sistema envía una consulta especial al servidor DNS (etapa 602). En una forma de realización de la presente invención, la consulta especial es la consulta DNS de tipo PTR "1.0.0.127.dnsbugtest.1.0.0.127.in-addr.arpa". FIG. 6 presents a flow chart illustrating the process of determining if a DNS server is defective according to an embodiment of the present invention. The process begins when the system sends a special query to the DNS server (step 602). In an embodiment of the present invention, the special query is the PTR DNS query "1.0.0.127.dnsbugtest.1.0.0.127.in-addr.arpa".

A continuación, el sistema recibe una respuesta del servidor DNS (etapa 604). Si la respuesta es la correcta (etapa 606 - SÍ), el sistema determina que el servidor DNS no está defectuoso (etapa 612). En una forma de realización de la presente invención, la respuesta correcta es un código de error NXDOMAIN que indica que un nombre de dominio no existe. Next, the system receives a response from the DNS server (step 604). If the answer is correct (step 606 - YES), the system determines that the DNS server is not defective (step 612). In one embodiment of the present invention, the correct answer is an NXDOMAIN error code indicating that a domain name does not exist.

Si la respuesta es incorrecta (etapa 606 - NO), el sistema determina que el servidor DNS está defectuoso (etapa 608) y lleva a cabo una acción correctiva (etapa 610). If the answer is incorrect (step 606 - NO), the system determines that the DNS server is defective (step 608) and takes corrective action (step 610).

En una forma de realización de la presente invención, la acción correctiva implica llevar a cabo etapas para evitar la ejecución de aquéllas determinadas consultas DNS válidas que se considera que tienen una alta probabilidad de bloquear ese dispositivo particular. In an embodiment of the present invention, corrective action involves carrying out steps to prevent the execution of certain valid DNS queries that are considered to have a high probability of blocking that particular device.

En una forma de realización de la presente invención, las consultas DNS válidas a evitar son aquéllas utilizadas por Wide-Area Bonjour, una tecnología de interconexión que permite a los clientes descubrir servicios de red en una red de área extensa. In one embodiment of the present invention, the valid DNS queries to avoid are those used by Wide-Area Bonjour, an interconnection technology that allows customers to discover network services in a wide area network.

Las anteriores descripciones de formas de realización de la presente invención se han presentado solamente para fines de ilustración y descripción. No pretenden ser exhaustivas o limitar la presente invención a las formas divulgadas. Por consiguiente, muchas modificaciones y variaciones resultarán evidentes a los expertos en la técnica. Además, la anterior descripción no pretende limitar la presente invención. El alcance de la presente invención está definido por las reivindicaciones adjuntas. The above descriptions of embodiments of the present invention have been presented only for purposes of illustration and description. They are not intended to be exhaustive or limit the present invention to the disclosed forms. Therefore, many modifications and variations will be apparent to those skilled in the art. In addition, the foregoing description is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.

Claims (9)

REIVINDICACIONES 1. Un procedimiento para detectar un dispositivo (304) que responde incorrectamente a solicitudes del protocolo de resolución de direcciones, ARP, tal como un dispositivo (304) que responde incorrectamente a solicitudes ARP para direcciones IP de enlace local que no ha reivindicado correctamente para su propio uso legítimo, que comprende: 1. A procedure for detecting a device (304) that responds incorrectly to requests for address resolution protocol, ARP, such as a device (304) that responds incorrectly to ARP requests for local link IP addresses that it has not properly claimed for its own legitimate use, which includes: seleccionar (402) una dirección IP candidata de enlace local; select (402) a local link candidate IP address; enviar (404) una primera sonda ARP para la dirección IP candidata de enlace local; send (404) a first ARP probe for the local link candidate IP address; sólo si se ha recibido una respuesta a la primera sonda ARP, enviar (408) una segunda sonda ARP al dispositivo respondedor (304) solicitando una dirección de Ethernet asociada con una dirección IP reservada, en el que la dirección IP reservada es una dirección de transmisión de enlace local IPv4 169.254.255.255 o una dirección de enlace local IPv4 169.254.0.0, que no debe estar asignada a ningún dispositivo; only if a response to the first ARP probe has been received, send (408) a second ARP probe to the responding device (304) requesting an Ethernet address associated with a reserved IP address, in which the reserved IP address is a IPv4 local link transmission 169.254.255.255 or an IPv4 local link address 169.254.0.0, which must not be assigned to any device; si se recibe una respuesta desde el dispositivo (304) a la segunda sonda ARP, poner (414) la dirección del dispositivo (304) en una lista negra asociada con un intervalo de direcciones IP de enlace local e ignorar respuestas ARP posteriores procedentes de las direcciones origen de la lista negra para el intervalo de direcciones de enlace local, de manera que se ignoren respuestas ARP posteriores del dispositivo (304) que pertenezcan a ese intervalo de direcciones. If a response is received from the device (304) to the second ARP probe, blacklist (414) the device address (304) associated with a range of local link IP addresses and ignore subsequent ARP responses from the Blacklist source addresses for the range of local link addresses, so that subsequent ARP responses from the device (304) belonging to that address range are ignored.
2. 2.
El procedimiento según la reivindicación 1, en el que la primera sonda ARP se envía por un dispositivo solicitante (308) que está en el proceso de asignar una dirección IP candidata de enlace local. The method according to claim 1, wherein the first ARP probe is sent by a requesting device (308) that is in the process of assigning a candidate IP link local address.
3. 3.
El procedimiento según la reivindicación 2, en el que si no se recibe respuesta a la primera sonda ARP, el dispositivo solicitante (308) asigna (416) la dirección IP candidata de enlace local. The method according to claim 2, wherein if no response is received to the first ARP probe, the requesting device (308) assigns (416) the candidate local link IP address.
4. Four.
Un medio de almacenamiento legible por ordenador que almacena instrucciones que cuando se ejecutan por un ordenador hacen que el ordenador lleve a cabo un procedimiento para detectar un dispositivo (304) que responde incorrectamente a solicitudes del protocolo de resolución de direcciones, ARP, tal como un dispositivo (304) que responde incorrectamente a solicitudes ARP para direcciones IP de enlace local que no ha reivindicado correctamente para su propio uso legítimo, comprendiendo el procedimiento: A computer readable storage medium that stores instructions that when executed by a computer causes the computer to perform a procedure to detect a device (304) that responds incorrectly to requests for the address resolution protocol, ARP, such as a device (304) that incorrectly responds to ARP requests for local link IP addresses that it has not properly claimed for its own legitimate use, the procedure comprising:
seleccionar (402) una dirección IP candidata de enlace local; select (402) a local link candidate IP address; enviar (404) una primera sonda ARP para la dirección IP candidata de enlace local; send (404) a first ARP probe for the local link candidate IP address; sólo si se ha recibido una respuesta a la primera sonda ARP, enviar (408) una segunda sonda ARP al dispositivo respondedor (304) solicitando una dirección de Ethernet asociada con una dirección IP reservada, en el que la dirección IP reservada es una dirección de transmisión de enlace local IPv4 169.254.255.255 o una dirección de enlace local IPv4 169.254.0.0, que no debe estar asignada a ningún dispositivo; only if a response to the first ARP probe has been received, send (408) a second ARP probe to the responding device (304) requesting an Ethernet address associated with a reserved IP address, in which the reserved IP address is a IPv4 local link transmission 169.254.255.255 or an IPv4 local link address 169.254.0.0, which must not be assigned to any device; si se recibe una respuesta desde el dispositivo (304) a la segunda sonda ARP, poner (414) la dirección del dispositivo (304) en una lista negra asociada con un intervalo de direcciones IP de enlace local e ignorar respuestas ARP posteriores procedentes de las direcciones origen de la lista negra para el intervalo de direcciones de enlace local, de manera que se ignoren respuestas ARP posteriores del dispositivo (304) que pertenezcan a ese intervalo de direcciones. If a response is received from the device (304) to the second ARP probe, blacklist (414) the device address (304) associated with a range of local link IP addresses and ignore subsequent ARP responses from the Blacklist source addresses for the range of local link addresses, so that subsequent ARP responses from the device (304) belonging to that address range are ignored.
5. 5.
El medio de almacenamiento legible por ordenador según la reivindicación 4, en el que la primera sonda ARP se envía por un dispositivo solicitante (308) que está en el proceso de asignar una dirección IP candidata de enlace local. The computer readable storage medium according to claim 4, wherein the first ARP probe is sent by a requesting device (308) that is in the process of assigning a candidate IP link local address.
6. 6.
El medio de almacenamiento legible por ordenador según la reivindicación 5, en el que si no se recibe respuesta a la primera sonda ARP, el dispositivo solicitante (308) asigna (416) la dirección IP candidata de enlace local. The computer readable storage medium according to claim 5, wherein if no response is received to the first ARP probe, the requesting device (308) assigns (416) the candidate local link IP address.
7. 7.
Un aparato que detecta un dispositivo (304) que responde incorrectamente a solicitudes del protocolo de resolución de direcciones, ARP, tal como un dispositivo (304) que responde incorrectamente a solicitudes ARP para direcciones IP de enlace local que no ha reivindicado correctamente para su propio uso legítimo, que comprende: An apparatus that detects a device (304) that responds incorrectly to requests for the address resolution protocol, ARP, such as a device (304) that responds incorrectly to ARP requests for local link IP addresses that it has not properly claimed for its own legitimate use, which includes:
un mecanismo de envío configurado para seleccionar una dirección IP candidata de enlace local y para enviar una primera sonda ARP para la dirección IP candidata de enlace local; a sending mechanism configured to select a local link candidate IP address and to send a first ARP probe for the local link candidate IP address; en el que, cuando se recibe una respuesta a la primera sonda ARP, el mecanismo de envío está configurado para enviar una segunda sonda ARP solicitando una dirección de Ethernet asociada con una dirección IP reservada, en el que la dirección IP reservada es una dirección de transmisión de enlace local IPv4 169.254.255.255 o una dirección de enlace local IPv4 169.254.0.0, que no debe estar asignada a ningún dispositivo; y wherein, when a response to the first ARP probe is received, the sending mechanism is configured to send a second ARP probe requesting an Ethernet address associated with a reserved IP address, in which the reserved IP address is a IPv4 local link transmission 169.254.255.255 or an IPv4 local link address 169.254.0.0, which must not be assigned to any device; Y un mecanismo de generación de lista negra, en el que si se recibe una respuesta del dispositivo a blacklist generation mechanism, in which if a response is received from the device (304) a la segunda sonda ARP, el mecanismo de generación de lista negra está configurado para: (304) to the second ARP probe, the blacklist generation mechanism is configured to: poner la dirección del dispositivo (304) en una lista negra asociada con un intervalo de direcciones IP de enlace local, e put the device address (304) on a blacklist associated with a range of local link IP addresses, and ignorar respuestas ARP posteriores procedentes de las direcciones origen de lista negra para el intervalo de direcciones de enlace local, de manera que se ignoren respuestas ARP posteriores del dispositivo (304) que pertenezcan a ese intervalo de direcciones. Ignore subsequent ARP responses from the blacklisted source addresses for the local link address range, so that subsequent ARP responses from the device (304) belonging to that address range are ignored.
8. 8.
El aparato según la reivindicación 7, en el que la primera sonda ARP se envía por un dispositivo solicitante (308) que está en el proceso de asignar una dirección IP candidata de enlace local.  The apparatus according to claim 7, wherein the first ARP probe is sent by an requesting device (308) that is in the process of assigning a candidate IP link local address.
9. 9.
El aparato según la reivindicación 8, que comprende además un mecanismo de asignación, en el que si no se recibe respuesta a la primera sonda ARP, el mecanismo de asignación está configurado para asignar la dirección IP candidata de enlace local. The apparatus according to claim 8, further comprising an allocation mechanism, in which if no response is received to the first ARP probe, the allocation mechanism is configured to assign the candidate local link IP address.
ES06740671T 2005-04-04 2006-04-04 USE OF A TEST CONSULTATION TO DETERMINE IF A NETWORK DEVICE HAS A SOFTWARE ERROR OR A DESIGN FAILURE. Active ES2358811T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98135 2005-04-04
US81350506A 2006-04-04 2006-04-04

Publications (1)

Publication Number Publication Date
ES2358811T3 true ES2358811T3 (en) 2011-05-13

Family

ID=43904556

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06740671T Active ES2358811T3 (en) 2005-04-04 2006-04-04 USE OF A TEST CONSULTATION TO DETERMINE IF A NETWORK DEVICE HAS A SOFTWARE ERROR OR A DESIGN FAILURE.

Country Status (1)

Country Link
ES (1) ES2358811T3 (en)

Similar Documents

Publication Publication Date Title
EP1867141B1 (en) Using a test query to determine whether a network device suffers from a software bug or design flaw
Cheshire et al. Dynamic configuration of IPv4 link-local addresses
Cheshire et al. Nat port mapping protocol (nat-pmp)
US7792995B2 (en) Accessing data processing systems behind a NAT enabled network
KR100838911B1 (en) Communication model, signal, method, and device for confirming reachability in network where host reachability is accomplisiied by relating static identifier to dynamic address
US7302496B1 (en) Arrangement for discovering a localized IP address realm between two endpoints
US7496685B2 (en) Method and system for managing a device within a private network using a management device external to the private network
EP1125421A1 (en) Dns relay module in a digital network modem
US20120144483A1 (en) Method and apparatus for preventing network attack
WO2016202059A1 (en) Ipv6 network access method and gateway
Cheshire et al. RFC 3927: Dynamic configuration of IPv4 link-local addresses
Howard Reverse dns in ipv6 for internet service providers
Savolainen et al. Improved recursive dns server selection for multi-interfaced nodes
ES2358811T3 (en) USE OF A TEST CONSULTATION TO DETERMINE IF A NETWORK DEVICE HAS A SOFTWARE ERROR OR A DESIGN FAILURE.
Cheshire et al. RFC 6886: Nat port mapping protocol (NAT-PMP)
Savolainen et al. Discovery of the IPv6 prefix used for IPv6 address synthesis
Howser et al. Domain Name Service
Savolainen et al. Rfc 7050: Discovery of the IPV6 prefix used for IPV6 address synthesis
Howard RFC 8501: Reverse DNS in IPv6 for Internet Service Providers
Elahi et al. Internet Protocols Part I
JP2005080146A (en) IPv6/IPv4 TRANSLATOR
Veytser et al. Autoconfiguration of network services in Airborne wireless networks
Aitchison et al. DNS Operations
KR100838912B1 (en) Communication model, signal, method, and device for confirming reachability in network where host reachability is accomplisihed by relating static identifier to dynamic address
Guttman Dynamic Configuration of IPv4 Link-Local Addresses Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the" Internet