ES2247036T3 - Metodo y dispositivo para traducir direcciones de red de telecomunicaciones ip por una memoria de perdida controlada. - Google Patents

Metodo y dispositivo para traducir direcciones de red de telecomunicaciones ip por una memoria de perdida controlada.

Info

Publication number
ES2247036T3
ES2247036T3 ES01401337T ES01401337T ES2247036T3 ES 2247036 T3 ES2247036 T3 ES 2247036T3 ES 01401337 T ES01401337 T ES 01401337T ES 01401337 T ES01401337 T ES 01401337T ES 2247036 T3 ES2247036 T3 ES 2247036T3
Authority
ES
Spain
Prior art keywords
key
memory
address
date
mem
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.)
Expired - Lifetime
Application number
ES01401337T
Other languages
English (en)
Inventor
Carlo Constantini
Marco Modena
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.)
Alcatel CIT SA
Alcatel Lucent SAS
Original Assignee
Alcatel CIT SA
Alcatel 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 Alcatel CIT SA, Alcatel SA filed Critical Alcatel CIT SA
Application granted granted Critical
Publication of ES2247036T3 publication Critical patent/ES2247036T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

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

Abstract

Un método para convertir una clave, CLAVE, a una dirección de fuente que va a ser utilizada para transmitir datos a través de una red, incluyendo dicho método la etapa de someter dicha clave a una función de mapeo para derivar una pluralidad de direcciones de memoria a1, a2, ... an, caracterizado por las etapas de: - utilizar dicha pluralidad de direcciones de memoria a1, a2, ... an, como direcciones de una memoria MEM, comprendiendo dicha memoria MEM una pluralidad de posiciones para claves y para información de tiempo que se refieren a la última actualización de dichas posiciones: - actualizar dicha memoria, MEM, con dicha clave, CLAVE, que corresponde a una seleccionada, a(j), de dichas direcciones de memoria a1, a2, ... an, y con un tiempo actual y/o fecha; y - utilizar dicha dirección de memoria seleccionada a(j), como dirección fuente.

Description

Método y dispositivo para traducir direcciones de red de telecomunicaciones IP por una memoria de pérdida controlada.
La presente invención pertenece al campo de la telecomunicación y, en particular, se refiere a la conversión de direcciones IP (Protocolo de Internet) utilizadas dentro de una red privada en diferentes direcciones IP que son conocidas dentro de otra red (pública) utilizando una memoria de pérdida controlada.
El creciente desarrollo de las telecomunicaciones, y en particular de Internet, a menudo genera los problemas referidos a la conexión de redes privadas con redes públicas a través de aparatos o elementos de red. Tales aparatos de interconexión entre una primera red y otra red sustancialmente tienen la finalidad de transportar información (o paquetes) recibida desde un ordenador principal de la red de Internet y enviarla al ordenador principal de la red privada que la solicita. Por el contrario, el aparato de conexión tiene que dirigir los paquetes recibidos de la red privada a la red pública. La conversión de la dirección IP (Protocolo de Internet) de la Dirección de Red Local a la Dirección de Red Pública y viceversa juega un papel esencial en esta operación que se realiza mediante el aparato de interconexión.
La Conversión de Dirección de Red (NAT) se recibe en términos generales en RFC1631 que describe la relación entre NAT y CIDR (Encaminamiento de Interdominio de Sin Clase) como una forma posible de aliviar el problema de la salida de la dirección IP. Típicamente, una compañía con una red privada asocia la dirección de su red privada con una o más direcciones IP que son conocidas fuera. Esto también aumenta la seguridad dado que cada petición que entra o sale del nudo de interconexión debe ser sometida a un proceso de conversión que ofrece la oportunidad de cuantificar o certificar la petición o hacerla coincidente con una petición anterior.
Una evolución de la función de conversión NAT se representa por la función NAPT (Dirección de Red y Conversión de Puerto) que asigna también a la dirección IP una identificación de interfaz (o puerto) del cual procede el paquete.
La principal desventaja tanto de las funciones NAT como NAPT es que se llevan a cabo en software y por tanto no son capaces de tal conversión en tiempo real (no soportan la llamada "velocidad de cable"). Una desventaja más de tales soluciones conocidas es que el número de direcciones IP de redes públicas corresponde al número de direcciones simultáneas que van a ser proporcionadas a Internet y por tanto la reducción de direcciones IP de redes públicas puede ser no tan considerable como en su lugar sería conveniente. Aunque la situación mejora a través de la NAPT, el problema permanece.
En el documento US 5.414.704 se expone una observación de dirección en un enlace de comunicaciones de datos de paquete utilizando el mapeo ("hashing") y memoria direccionable al contenido. La observación de dirección hace uso de una combinación de algoritmos de mapeo programables, algoritmos de búsqueda binarios, y una pequeña memoria de direccionable al contenido. Un paquete de memoria RAM almacena un número de colas para los paquetes de datos de salen y que entran, así como las tablas de conversión y las tablas de mapeo.
En el Documento EP 0 854 608 A2 se expone un conmutador de red con sistema de memoria. Una memoria central almacena la información de identificación de dispositivo, información de control de número de puertos, y los datos de paquete recibidos en los puertos del conmutador. Cada entrada de identificación incluye una única dirección de red para identificar uno de los dispositivos de red y un número de puerto para identificar uno de los puertos de red. Una entrada de tabla de mapeo contiene un número de puerto binario que identifica el número de puerto asociado al que está conectado el dispositivo. Un byte de control e información de edad se utiliza incluyendo un bit válido que identifica si la entrada es válida o no, y que incluye un número de edad binario que representa el tiempo transcurrido desde el último acceso de fuente asociado con el dispositivo. El campo de EDAD de la memoria de mapeo se puede actualizar. Un dispositivo puede ser envejecido y retrasado desde la entrada de mapeo mediante una CPU.
En vista de las soluciones y problemas conocidos relevantes para el mismo, el principal objeto de la presente invención es desarrollar una arquitectura de hardware capaz de soportar la función de conversión NAPT con una mayor flexibilidad que la flexibilidad proporcionada por el protocolo de NAPT realizado con software.
Estos y otros objetos se consiguen mediante un método y un dispositivo que tienen las características mencionadas en las respectivas reivindicaciones independientes. Las reivindicaciones dependientes del método y dispositivo establecen características adicionales. Sin embargo, todas las reivindicaciones forman parte integral de la presente descripción.
La idea básica de la presente invención consiste en crear una función de conversión de dirección mediante la transformación adecuada de los parámetros característicos de los paquetes de entrada sometidos al vencimiento después de un periodo de tiempo establecido previamente. Los parámetros característicos del paquete incluyen una dirección de IP de fuente, el puerto de TCP de fuente y posiblemente el puerto físico ID del aparato de interconexión. La transformación que se realiza en los parámetros característicos se puede definir como una operación de mapeo que será explicada mejor después. La presente invención se lleva a cabo preferiblemente con un equipo apropiado, por lo tanto mediante hardware.
\vskip1.000000\baselineskip
La invención, por supuesto, se aclarará en vista a la siguiente descripción detallada, dada a modo de mero ejemplo y como ejemplo no limitativo para ser leída con referencia a las hojas de dibujos adjuntos, en las que:
- la Fig. 1 muestra los bloques de construcción básicos del dispositivo de conversión-almacenamiento-recuperación de acuerdo con la presente invención; y
- la Fig. 2 es un diagrama de bloque del asignador.
Antes de describir funcionalmente la presente invención, se considera útil hacer una breve mención al concepto de "mapeo" al que se hará a menudo referencia en la siguiente descripción. Para un mejor entendimiento de tal concepto, se ha de hacer referencia a "The Art Of Computer Programming-Sorting And Searching" por Donald E. Knuth, Vol 3. Segunda Edición, Capítulo 6.4.
"Mapeo" significa la transformación de una cadena de caracteres, llamada clave, en una cadena que tiene un valor de longitud fijo y generalmente más corto que el original. Generalmente la operación de mapeo se usa para indizar y recuperar objetos en una base de datos dado que, por supuesto, es más fácil encontrar el objeto usando la clave transformada más corta que buscándolo utilizando el valor original. El algoritmo de mapeo se llama "función de mapeo". Una función de mapeo valorable no debe producir el mismo valor de mapeo partiendo de dos datos de entrada diferentes. Si es así, se dice que se produce una colisión. En cualquier caso, una función de mapeo que proporciona un bajo riesgo de colisión se puede considerar aceptable.
La presente invención basada en un sistema de almacenamiento con olvido implícito será descrita a continuación. En primer lugar, se describirá el sistema de forma abstracta para después proseguir con la aplicación de la NAPT (conversión, almacenamiento y recuperación de direcciones de IP).
Un elemento que va a ser almacenado, llamado clave (K), tiene forma de una cadena de bits. Con referencia a la Fig. 1, el bloque HC (Ordenador de mapeo) calcula N valores
h(K,i),
\hskip0,3cm
con
\hskip0,3cm
1 \leq i \leq N
\hskip0,3cm
y
\hskip0,3cm
0 \leq h(K,i)< M
en donde M es el número de posiciones de almacenamiento disponibles, N es el número de pruebas, es decir, es un parámetro del sistema; cuanto mayor sea N, más complejo es el dispositivo y menor la probabilidad de que el elemento no se pueda almacenar. La h(.) son las funciones de mapeo anteriormente mencionadas. Se conocen diversas formas de construir un conjunto de funciones de mapeo en la técnica. A modo de ejemplo, sin embargo bien aplicable en este contexto, considérese la combinación del Mapeo Polinomial descrito en la página 520 con "Open Addressing with Double Hashing" descrito en la página 528 de la publicación citada anteriormente.
Situado aguas abajo del bloque HC se encuentra un Bloque Asignador (o almacenamiento) AL que utiliza los valores a(i) = h(k,i) como direcciones de memoria MEM. Cada posición de esta memoria MEM contiene una clave (K) y una fecha o una marca de tiempo T (fecha u hora del último acceso). La memoria MEM puede comprender dos memorias diferentes (una memoria KM para claves y una memoria TM para las fechas (u horas del último acceso) o sólo una memoria con dos campos diferentes para las claves y las fechas.
Si la clave K ya ha sido almacenada en una de las N posiciones de almacenamiento KM, el asignador AL actualiza la fecha y selecciona la dirección. Por el contrario, si ninguna clave K está presente en ninguna de las N asignaciones, el asignador AL examinará las N fechas (u horas) asociadas con la misma en la memoria TM.
Entre las fechas que son anteriores a la fecha actual por un intervalo de tiempo \Deltat mayor o igual que un valor preestablecido, elige uno de ellos. La clave K se escribe en la correspondiente posición entre la fecha actual.
Finalmente, como una opción más, si ninguna de las N posiciones contiene la clave K y todas las fechas son recientes, la solicitud de almacenamiento es desechada. Aunque en principio esta tercera alternativa es posible, el riesgo de que esta pueda suceder se podría reducir enormemente incrementando los valores de M y N.
Conectado con la memoria MEM hay un bloque recuperador RT. El recuperador RT lee la memoria en la dirección seleccionada; recupera la clave y toda la información asociada con el elemento y actualiza el campo de fecha con la fecha actual.
Brevemente, el dispositivo de acuerdo con la invención proporciona la etapa de almacenar loe elementos en la memoria y leer los elementos almacenados de manera simple y eficaz, además, el dispositivo descarta los elementos obsoletos (a saber, aquellos que no han sido solicitados durante cierro tiempo), reutilizando, de este modo, el área de memoria. Justo por esta razón la memoria se define como "memoria de pérdida controlada (o implícitamente controlada)".
La elección entre N posiciones con fechas no recientes se podría hacer claramente de diversas formas, consideradas equivalentes para los fines de la presente invención. Por ejemplo, la elección se podría hacer aleatoriamente o eligiendo la primera posición con fecha no reciente, etc. Dependiendo del criterio de elección que se use, los rendimientos y la complejidad del sistema pueden cambiar.
Como se ha mencionado anteriormente, puede suceder que la solicitud de almacenamiento sea rechazada. Si, por ejemplo, N = 1 es posible que dos claves diferentes K_{A} y K_{B} que solicitan ser almacenadas en la misma dirección de memoria, dado que puede suceder que h(K_{A}) = K_{B}. En este caso sólo uno de los dos elementos será capaz de ser almacenado, el otro será rechazado.
Este es un caso que ocurre con cierta probabilidad, cuanto menor sea el tamaño de memoria, menor la probabilidad. Además, esta probabilidad disminuye si N aumenta, por ejemplo, si N=2 es más difícil que
h(K_{A},1) = h(K_{B},1)
\hskip0,3cm
y
\hskip0,3cm
h(K_{A},2) = h(K_{B},2)
ocurra simultáneamente.
El número de bits utilizados para representar la fecha es obviamente finito. Como resultado, el tiempo transcurrido desde el último acceso de memoria se debe calcular como la diferencia entre la fecha actual y la fecha almacenada. Por tanto, un elemento es declarado obsoleto si el tiempo transcurrido es mayor que un tiempo preestablecido.
Se supone ahora que este dispositivo es parte de un equipo de interconexión, en el límite entre una red privada y una red pública, a saber, se considera la aplicación del protocolo NAPT.
Como se sabe, cada cuadro de señal que llega de una red privada, por ejemplo una red de Ethernet, proporcionado para viajar en una red pública ha de proporcionar un encabezador que comprenda varias piezas de información tales como la dirección de mapeo fuente y también el número de puerto de fuente del Protocolo de Control de Transmisión (TCP).
Por lo tanto, en cada paquete de IP destinado a la red pública y que proviene de una red privada, el dispositivo de acuerdo con la invención realiza la conversión desde la cadena
[Dirección de Fuente de IP privada, Número de Puerto de Fuente de TCP]
a la cadena
[Dirección de Fuente de IP (pública) de NAPT, Número de Puerto de TCP de NAPT]
es decir la dirección de Fuente de IP de la red privada, que no es conocida para la s redes públicas, se convierte en una dirección de fuente pública. El numero de direcciones públicas que se pueden convertir en direcciones privadas es variable y puede ser igual a uno, como mucho.
En este punto, el paquete se puede poner en la red pública, dado que tiene una dirección de remitente pública (SA). El paquete de retorno tendrá como remitente "NAPT SA".
Cuando el dispositivo recibe los paquetes en retorno, a saber, con "NAPT SA" como remitente, el dispositivo puede operar la conversión inversa, a saber, desde la cadena
[Dirección de IP (pública) de NAPT, Número de Puerto de TCP de NATP]
a la cadena
[Dirección de Fuente de IP privada Original, Número de Puerto de Fuente de TCP Original]
El proceso de conversión (directo e inverso) permanece activo mientras los paquetes transiten en ambas direcciones entre los dos extremos. Después de un tiempo igual al transcurrido desde el último paquete transmitido, la conexión se declara cerrada y el Número de Puerto de TCP de NATP puede volver a ser utilizado.
El dispositivo de acuerdo con la presente invención, del cual de ha hecho anteriormente una amplia descripción, considera los campos [Dirección de Fuente de IP Privada, Número de Puerto de Fuente de TCP] como una clave en el caso en el que converjan varias redes privadas en el mismo nudo antes de entrar en la red pública. Esta clave (CLAVE) es enviada al ordenador de mapeo HC que envía una serie de direcciones (a_{1}, a_{2},..a_{n}) que son introducidas en el bloque asignador, junto con la clave original y el tiempo actual (Tc). El tiempo Tc es sustancialmente un número entero que representa la posición actual del reloj del sistema del Contador de Tiempo TC. El asignador, para cada i = 1,2,3,...n, realiza una observación de memoria y lee los valores (K(i) = K[a(i)]) almacenados en las posiciones de memoria y los correspondientes tiempos (t(i) = T[a(i)]). Los tiempos asociados con cada valor almacenado corresponde al instante en el que la posición de almacenamiento ha sido actualizada.
El asignador, leyendo la memoria KM, verifica si existe un valor j tal que K(j) = CLAVE. Si este valor existe, el contenido de una posición de almacenamiento es actualiza de nuevo, así como el valor del correspondiente instante de tiempo se actualiza de nuevo. En la práctica se escribe K[a(j)] = CLAVE y T[a(j)] = Tc y el asignador AL da salida a la dirección seleccionada a(j) que se convertiré en la dirección de fuente que va a ser utilizada para transmitir los paquetes en la red pública.
Sin embargo, si el asignador, en la lectura de la memoria KM, no encuentra un valor j tal que K(j) = CLAVE, de todas formas busca una dirección asociada con un tiempo de actualización viejo. En otras palabras, verifica si existe un número j tal que (Tc-t(j)) mod P>\Deltat
en donde P es el periodo dl Contador de Tiempo TC que proporciona la base de tiempo e \Deltat es el intervalo de tiempo preestablecido (el Contador de Tiempo TC proporciona el valor de tiempo o el valor de fecha utilizando un número de bits). En otras palabras, si existe una posición de memoria que está ocupada pero no ha sido actualizada recientemente, el valor contenida en la misma será reemplazado por el nuevo valor, al igual que el tiempo correspondiente Tc será actualizado.
Por el contrario, si todos los tiempos son recientes, la conexión será rechazada. También es posible que exista más de un valor j que satisfaga la relación anterior y en este caso uno será elegido uno de ellos. Esta elección puede ocurrir en el campo de varias consideraciones, como se ha mencionado anteriormente, por ejemplo se puede considerar la posición de almacenamiento asociada con el tiempo menos reciente.
En cualquier caso, una vez que se ha elegido el valor de j, se escribe K[a(j)] = CLAVE y K[a(j)] = Tc y el asignador da salida a la dirección seleccionada [a(j)] que se convierte en la dirección de fuente (NATP, TCP) sea utilizada para enviar los paquetes a través de la red pública.
La conversión inversa se realiza por el bloque recuperador (RT) que recupera tanto la dirección privada como el número de puerto original (TCP) de la memoria. El bloque RT recupera la [Dirección IP (Pública) NATP, Número de Puerto TCP NATP] y las indicaciones del tiempo actual Tc, indicaciones que el Contador de Tiempo TC proporciona al mismo.
Cada vez que se realiza la conversión, la fecha correspondiente (tiempo) es actualizada.
Cuando termina el tráfico referido a la conexión, el correspondiente campo de la memoria ya no es actualizado. Después de un cierto tiempo (preestablecido), el contenido de la posición se vuelve obsoleto y el área puede ser reutilizada por el asignador para otra conexión.
Naturalmente, el asignador y el recuperador no trabajan simultáneamente (mientras un paquete entra en la red privada ningún paquete puede salir de ésta última). Por lo tanto el bus de datos bidireccional que accede a la memoria y el bus de dirección (mostrado con una flecha de cabeza doble) son compartidos por el asignador y por el recuperados y se ven separados sólo para fines de claridad de ilustración.
Se ha descrito un nuevo método y dispositivo para convertir direcciones de IP que consiguen todos los objetivos deseados. Muchos cambios, modificaciones, variaciones y diferentes usos de la presente invención, sin embargo, se harán evidentes para los expertos en la técnica que han considerado la presente descripción y los dibujos adjuntos que ilustran las realizaciones preferidas de la misma. Todos los cambios, modificaciones, variaciones y diferentes usos que no se salen del campo de la invención se consideran que están cubiertos por la invención que sólo está limitada por las siguientes reivindicaciones.

Claims (11)

1. Un método para convertir una clave, CLAVE, a una dirección de fuente que va a ser utilizada para transmitir datos a través de una red, incluyendo dicho método la etapa de someter dicha clave a una función de mapeo para derivar una pluralidad de direcciones de memoria a_{1}, a_{2},... a_{n}, caracterizado por las etapas de:
- utilizar dicha pluralidad de direcciones de memoria a_{1}, a_{2},... a_{n}, como direcciones de una memoria MEM, comprendiendo dicha memoria MEM una pluralidad de posiciones para claves y para información de tiempo que se refieren a la última actualización de dichas posiciones:
- actualizar dicha memoria, MEM, con dicha clave, CLAVE, que corresponde a una seleccionada, a(j), de dichas direcciones de memoria a_{1}, a_{2},... a_{n}, y con un tiempo actual y/o fecha; y
- utilizar dicha dirección de memoria seleccionada a(j), como dirección fuente.
2. El método de acuerdo con la reivindicación 1, caracterizado porque dicha dirección de memoria seleccionada a(j) es ese valor que corresponde a un número j, tal que K(j) = CLAVE en dicha memoria, MEM y porque comprende la etapa adicional de escribir K[a(j)] = CLAVE y T[a(j)] = Tc en dicha memoria, en donde Tc es un tiempo y/o fecha actual.
3. El método de acuerdo con la reivindicación 1, caracterizado porque dicha dirección de memoria seleccionada a(j), es ese valor que corresponde a un número j, tal que K(j) \neq CLAVE y (Tc-t(j)) mod. P> \Deltat en la memoria, MEM, y porque comprende la etapa de escribir K[a(j)] = CLAVE y T[a(j)] = Tc en dicha memoria, en donde Tc es el tiempo actual y/o fecha, P es el reloj del sistema e \Deltat es el intervalo de tiempo preestablecido.
4. El método de acuerdo con la reivindicación 1, 2 ó 3, caracterizado por la etapa de recibir dicha dirección de memoria seleccionada a(j), acceder a la posición almacenamiento referida MEM, extraer la clave, CLAVE, que corresponde a la misma y escribir CLAVE = K[a(j)] y Tc = T[a(j)] en la memoria, en donde Tc es el momento actual y/o fecha.
5. El método de acuerdo con la reivindicación 1, caracterizado porque dicha clave comprende información referida a la Dirección de Fuente de IP Privada y porque dicha dirección de fuente comprende información referida a una Dirección de Fuente de IP NAPT Pública.
6. El método de acuerdo con la reivindicación 5, caracterizado porque dicha clave, CLAVE, además comprende información referida a un Número de Puerto de Fuente TPC y un identificador de Puerto Físico y porque dicha dirección de fuente comprende información referida a un Número de Puerto NAPT TCP.
7. Un dispositivo para convertir una clave, CLAVE, en una dirección de fuente que va a ser utilizada para transmitir datos en una red, comprendiendo dicho dispositivo:
- un ordenador de mapeo, HC, adaptado para recibir en su entrada la clave, CLAVE, y dar salida a una pluralidad de direcciones de memoria a_{1},a_{2},.....a_{n} para una memoria que comprende posiciones de almacenamiento que corresponde a la última actualización/rescritura de la posición de clave;
- un bloque Asignador adaptado para recibir en su entrada dicha pluralidad de direcciones de memoria a_{1},a_{2},.....a_{n;} actualizando dicho bloque Asignador dicha memoria con dicha clave, CLAVE, que corresponde a una de las direcciones de memoria seleccionada y con un tiempo actual y/o fecha actual, y adaptado para dar salida a dicha dirección de memoria como dirección de fuente;
- un bloque Recuperador, RT, adaptado para recibir en su entrada una dirección de memoria seleccionada a(j);
- Un Contador de Tiempo, TC, adaptado para proporcionar la posición actual del reloj del sistema a dicho bloque Asignador, AL, y a dicho bloque Recuperador, RT;
en el que dicho bloque Recuperador, RT, está adaptado para dar salida a la clava, CLAVE, almacenada como dirección de memoria seleccionada a(j).
8. El dispositivo de acuerdo con la reivindicación 7, caracterizado porque dicha dirección de memoria seleccionada, a(j), es un valor que corresponde a un número, j, tal que K(j) = CLAVE en la memoria, MEM, y porque dicho Asignador AL está diseñado para actualizar la memoria escribiendo K[a(j)] = CLAVE y T[a(j)] = Tc, en donde Tc es el tiempo actual y/o fecha.
9. El dispositivo de acuerdo con la reivindicación 7, caracterizado porque dicha dirección de memoria seleccionada, a(j), es un valor que corresponde a un número, j, tal que K(j) \neq CLAVE y (Tc-t(j)) mod P> \Deltat, en donde Tc es el tiempo actual y/o fecha, P es el periodo del reloj del sistema e \Deltat es el intervalo de tiempo preestablecido, y porque dicho bloque de asignación, AL, está diseñado para actualizar la memoria escribiendo K[a(j)] = CLAVE y T[a(j)] = Tc es el tiempo actual y/o fecha.
10. El dispositivo de acuerdo con la reivindicación 7, 8 ó 9, caracterizado por que dicho Recuperador, RT, está diseñado para recibir dicha dirección de memoria, a(j), para acceder a la posición de almacenamiento pertinente, MEM, para extraer la clave, CLAVE, correspondiente a la misma y para escribir en la memoria, MEM, CLAVE = K[a(j)] y Tc = T[a(j)], en donde Tc es el tiempo actual y/o fecha.
11. El dispositivo de acuerdo con las reivindicaciones 7 a 10, caracterizado porque está insertado en un nodo de red que conecta una o más redes públicas con una o más redes privadas.
ES01401337T 2000-05-31 2001-05-22 Metodo y dispositivo para traducir direcciones de red de telecomunicaciones ip por una memoria de perdida controlada. Expired - Lifetime ES2247036T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ITMI001202 2000-05-31
IT2000MI001202A IT1319279B1 (it) 2000-05-31 2000-05-31 Metodo e dispositivo per tradurre indirizzi ip di reti pertelecomunicazioni usando una memoria con oblio controllato.

Publications (1)

Publication Number Publication Date
ES2247036T3 true ES2247036T3 (es) 2006-03-01

Family

ID=11445153

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01401337T Expired - Lifetime ES2247036T3 (es) 2000-05-31 2001-05-22 Metodo y dispositivo para traducir direcciones de red de telecomunicaciones ip por una memoria de perdida controlada.

Country Status (6)

Country Link
US (1) US6795816B2 (es)
EP (1) EP1161059B1 (es)
AT (1) ATE308193T1 (es)
DE (1) DE60114299T2 (es)
ES (1) ES2247036T3 (es)
IT (1) IT1319279B1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965945B2 (en) * 2001-03-07 2005-11-15 Broadcom Corporation System and method for slot based ARL table learning and concurrent table search using range address insertion blocking
TW588532B (en) * 2002-03-29 2004-05-21 Realtek Semiconductor Corp Management device and method of NAT/NAPT session
TWI222811B (en) * 2002-11-19 2004-10-21 Inst Information Industry NAPT gateway system and method to expand the number of connections
AU2002361080A1 (en) * 2002-12-05 2004-06-23 Allied Telesis K.K. User identification system, user identification apparatus, user identification method, and program
JP2005045409A (ja) * 2003-07-24 2005-02-17 Pioneer Electronic Corp 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
CN102611765A (zh) * 2005-10-26 2012-07-25 汤姆森许可贸易公司 用于选择组播ip地址的系统和方法
EP1941703A1 (en) * 2005-10-26 2008-07-09 Thomson Licensing A system and method for selecting a multicast ip address
US7912049B2 (en) 2007-06-26 2011-03-22 Gary Robert Gutknecht System and method for selecting a multicast IP address
DE102008019033A1 (de) * 2008-04-15 2009-10-22 T-Mobile International Ag Universelle Adressierung eines Kommunikationspartners über transparente statische Zuordnung einer Rufnummer
AU2013407433B2 (en) * 2013-12-11 2017-07-20 Sca Hygiene Products Ab Scheme for addressing protocol frames to target devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793634B2 (ja) * 1986-11-29 1995-10-09 株式会社東芝 アドレス変換機能付きバスアダプタ
US5027350A (en) * 1988-10-20 1991-06-25 Hewlett-Packard Method and apparatus for providing a local area network bridge
US5287499A (en) * 1989-03-22 1994-02-15 Bell Communications Research, Inc. Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table
US5136580A (en) * 1990-05-16 1992-08-04 Microcom Systems, Inc. Apparatus and method for learning and filtering destination and source addresses in a local area network system
DE69324204T2 (de) * 1992-10-22 1999-12-23 Cabletron Systems Inc Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5740171A (en) * 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
AU707905B2 (en) * 1996-04-24 1999-07-22 Nortel Networks Corporation Internet protocol filter
US6233242B1 (en) * 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with shared memory system
TW431094B (en) * 1999-07-16 2001-04-21 Via Tech Inc Memory access of Ethernet
US6581106B1 (en) * 2000-01-13 2003-06-17 Pierluigi Crescenzi Fast address lookup in routing tables

Also Published As

Publication number Publication date
ITMI20001202A0 (it) 2000-05-31
US20020048285A1 (en) 2002-04-25
IT1319279B1 (it) 2003-10-10
ATE308193T1 (de) 2005-11-15
EP1161059A2 (en) 2001-12-05
DE60114299D1 (de) 2005-12-01
EP1161059B1 (en) 2005-10-26
DE60114299T2 (de) 2006-07-20
ITMI20001202A1 (it) 2001-12-01
EP1161059A3 (en) 2003-06-18
US6795816B2 (en) 2004-09-21

Similar Documents

Publication Publication Date Title
ES2265971T3 (es) Conmutador y componentes de red y metodo de funcionamiento.
CN103248582B (zh) 用于在网络装置中执行包流查找的流缓存器机制
EP0993144B1 (en) Packet relaying apparatus and method and circuit thereof
ES2247036T3 (es) Metodo y dispositivo para traducir direcciones de red de telecomunicaciones ip por una memoria de perdida controlada.
US5027350A (en) Method and apparatus for providing a local area network bridge
CN100581129C (zh) 数据包传送装置
US6633565B1 (en) Apparatus for and method of flow switching in a data communications network
TW558880B (en) High speed MAC address search engine
US7286534B2 (en) SRAM based cache for DRAM routing table lookups
US20030182291A1 (en) Method and data structure for a low memory overhead database
ES2424630T3 (es) Un enrutador de rejilla
US20020146009A1 (en) High-speed message forwarding lookups for arbitrary length strings using pipelined memories
JP3149926B2 (ja) アドレス変換方法及び装置
US6804230B1 (en) Communication device with forwarding database having a trie search facility
US8331368B2 (en) Method of processing information packets and telecommunication apparatus using the same
JP3877883B2 (ja) ネットワーク中継装置及びネットワーク次転送先検索方法
JP2002026973A (ja) 経路検索システム及びその方法並びにそれに使用するルータ装置
WO2003102725A2 (en) Method for data storage in external and on-chip memory in a packet switch
JPH11234306A (ja) データ転送装置
US20050044261A1 (en) Method of operating a network switch
CN109525503A (zh) 一种压缩方法及装置、计算机可读存储介质
KR20020070314A (ko) 통신 네트워크에서의 메모리 액세스 관리 시스템 및 방법
SE9902175D0 (sv) Arrangement, system and method relating to datacommunication
JP2005333220A (ja) ネットワークノード装置
JP4879728B2 (ja) 検索装置およびデータ処理装置