sábado, 23 de enero de 2010

Conexión limitada o nula? en Debian!!??

cada vez se está pareciendo más MS...

De Linux



Con asginación IP automática/aleatoria del rango 169.X.X.X
De Linux

4 comentarios:

carles dijo...

Pues claro hombre. Todo sistema operativo que se precie y más siendo Debian tiene que hacerlo. En caso contrario no estaría respetando los estándares TCP/IP. El estándar de asignación de dichas IPs se encuentra perfectamente detallado en el RFC 3927 de la IETF (http://tools.ietf.org/html/rfc3927) del año 2005.

Se puede ver lo siguiente:

- En la Sección 2.1 se especifica cual es el rango de ips que se debe atribuir (169.254.1.0 to 169.254.254.255) de manera aleatoria. Fíjate que en el segundo párrafo dice que el rango 169.254.0.0/24 y el 169.254.255.0/24 NO DEBEN ser nunca asignados por el mecanismo de asignación que implemente el SO. Habría que darle un tironcillo de orejas :) a la persona que puso como privadas en Wikipedia tanto en la versión Inglesa (http://en.wikipedia.org/wiki/Private_network) como en la española (http://es.wikipedia.org/wiki/Direcciones_IP_privadas) diciéndole que no todo el rango de IPs 169.254.0.0/16 son privadas ya que poniendo eso esta incluyendo como privadas unas ips que están reservadas.

En el tercer párrafo nos dice que la elección de una IP para una máquina debe hacerse para que hosts diferentes no den la misma IP. Incluso dice que debe usarse la MAC de la tarjeta (ya que es única) para generar la semilla del numero aleatorio que finalmente configurará la IP que se asigne. Incluso dice que no debe usarse la hora del reloj del ordenador porque los equipos pueden estar perfectamente sincronizados y haber varios que tengan la misma hora, minutos, segundos, etc...

En el último párrafo de esta sección nos dice que en equipos que almacena la ultima ip asignada debe elegir esa como primera candidata para ser asignada al arrancar el sistema para dotar de mayor estabilidad a la red.



- En la Sección 2.2.1 se puede ver como se debe hacer uso del broadcast ARP para ver si la IP que ha elegido ya está asignada. En caso de que detecte que ya esa ip la tiene otra máquina, elegirá otra.



- En la Sección 2.4 explica que una vez asignada la IP habiendo estado seguros que ya no hay otra igual en la red, manda un broadcast para que los demás se enteren de que esa ip ya tiene dueño y actualicen sus tablas cache ARP.



- En la 2.5 Explica el protocolo a seguir si existiera un conflicto de direcciones despues de la fase de asignación de direcciones.



Espero que te quede claro.



Por cierto tienes razón de que se han copiado de Microsoft porque según esto, https://datatracker.ietf.org/ipr/164/ con fecha del año 2000 Microsoft advierte de su patente en este aspecto dando permiso a la IETF para que sea un estándar. Luego se ve que Apple le sigue con una implementación del protocolo. Imagino que en Linux hace tiempo que está pero sí que es algo que desarrolla Microsoft que se convierte luego en estándar de facto.



Al final del documento Apendix A podrás ver que ya Microsoft lo implementa en su windows 98 persistiendo esta implementación hasta la fecha en su Windows XP con algunos retoques. También verás como lo hace MAC OS que también dice en el año 2004 https://datatracker.ietf.org/ipr/420/ que según lo que dice este RFC ellos lo implementan perfectamente gracias a sus patentes.



Puedes ver también lo siguiente que esta recién salidito del horno Enero-2010 que va rectificando documentos anteriores sobre usos especiales de las IPS en IPV4.



Adiós y ánimo con el blog.

carles dijo...

Se me olvidaba. Esta página http://www.zeroconf.org/ te explica también un poco de historia de este RFC. Nos dice que la IETF comienza el estudio en 1999. Al mismo tiempo Apple y Microsoft comienzan a desarrollar un sistema para solventar el problema de que no haya servidor DHCP. También los fabricantes de impresoras de red lo hacen. Dice además que esto del zeroconf comunmente llamado IPv4LL está disponible en Linux perfectamente.

Enlaces interesantes de esta página hay muchos. Uno de ellos es este donde se ve el RFC 5227 de año 2008 http://www.ietf.org/rfc/rfc5227.txt de como resolver conflictos de IP con IPv4LL.

Para ver como lo harías en C tienes un listado de un programa cortito que lo implementa en este enlace http://www.zeroconf.org/AVH-IPv4LL.c.


Para saber más busca zeroconf linux para este sistema operativo combinándolo con la palabra clave Ipv4LL.


Un saludo y no molesto más.

carles dijo...

Cometí un error en lo de la Wikipedia Inglesa. http://en.wikipedia.org/wiki/Private_network. Esa está correcta. La Española mantiene el error en la tabla pero especifica debajo que las IPv4LL usan el rango que define correctamente el RFC. Aún así lo que pone en la Wikipedioa Inglesa está mejor que la española.

Adiós otra vez.

Sui dijo...

Perdoname por mi ignorancia, lo decía simplemente porque de los distros de GNU/Linux que manipulado (que son muy pocos) no se asignan esas IP teniendo servidor DHCP desactivado, y como es la primera vez que lo veo, me sorprendí, muchas gracias por la corrección y todas las informaciones tan interesantes que me has facilitado.

Según lo que acabo de leer/entender de RFC3927:
Exepciones:
(reservado: los primeros 256 direcciones)169.254.0.0-169.254.0.255/16

(reservado: los últimos 255 direcciones)169.254.255.0 - 169.254.0.254/16

A mi parecer el wiki en inglés está mal...

Ya veo que no sólo me queda mucho, sino un montones, por aprender...
Y ultimamente que he abandonado un "poco" este blog, además de por estudio y vagancia, tambien es porque no me veo capacitado para escribir "tuto original" [entre comillas], antes de copy&paste de otro, prefería postear mis estupideses o esperar un tiempo prolongado y postear algo "bueno" o "interesante" (según mi punto de vista), aunque los 2 últimos opciones haría perder más lectores, XD.

Bueno, y... si esos comentarios fueran molestias, desearía que me molestaras todos los días, XD.

Un Saludo, y gracias de nuevo.

Publicar un comentario

 
Powered by Blogger