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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000013507 mapping Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000009466 transformation Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 208000000044 Amnesia Diseases 0.000 description 1
- 208000026139 Memory disease Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006984 memory degeneration Effects 0.000 description 1
- 208000023060 memory loss Diseases 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database 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,3cmcon
\hskip0,3cm1 \leq i \leq N
\hskip0,3cmy
\hskip0,3cm0 \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,3cmy
\hskip0,3cmh(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.
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)
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)
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 |
-
2000
- 2000-05-31 IT IT2000MI001202A patent/IT1319279B1/it active
-
2001
- 2001-05-22 DE DE60114299T patent/DE60114299T2/de not_active Expired - Fee Related
- 2001-05-22 AT AT01401337T patent/ATE308193T1/de not_active IP Right Cessation
- 2001-05-22 ES ES01401337T patent/ES2247036T3/es not_active Expired - Lifetime
- 2001-05-22 EP EP01401337A patent/EP1161059B1/en not_active Expired - Lifetime
- 2001-05-30 US US09/866,837 patent/US6795816B2/en not_active Expired - Fee Related
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) | 検索装置およびデータ処理装置 |