sábado, 22 de enero de 2011

Arquitectura de Redes

-¿Qué es una arquitectura de red?

Una arquitectura de red es un conjunto de servicios y protocolos que, en conjunto, permiten a los usuarios conectarse a otros equipos y acceder a sus servicios.

-¿Por qué necesitamos una arquitectura de red?

Por que el cambio de información entre dos equipos supone demasiada carga para un sólo proceso, por ello se dividió en varias capas o servicios.

-¿Qué arquitecturas de redes existen?

TCP/IP o IPv4 es la arquietctura más extendida por el momento, pero actualmente las direcciones IPv4 se están agotando y está arquitectura está evolucionando a IPv6, cuyo funcionamiento es el mismo que el de su anterior versión pero ampliando significativamente el número de direcciones haciendo que sean prácticamente inagotables .

El modelo TCP/IP está basado en OSI, que es otra estructura de red que nunca llegó a implantarse, pero su planteamiento nos permite exlpicar el funcionamiento de la arquitectura TCP/IP.

-¿Qué es una capa o servicio?

Como ya hemos indicado anteriormente, la estructura de una arquitectura de red se divide en niveles. La función de estos nivles, capas o servicios, es la de liberar de funciones al nivel superior.

Pensemos en el éjercito, el soldado es el que va a combatir a la guerra, su nivel superior, el sargento, da las órdenes en el campo de batalla, pero rara vez va a dedicarse a pegar tiros, porque de eso se encarga ya el soldado del nivel inferior.

Como veís, es una jerarquía que trata de dividir los complejos entresijos de la red para que nadie tenga que desempeñar todas las tareas.

En OSI nos encontramos 7 niveles con los cuales, podemos explicar los tan sólo 4 niveles de TCP/IP.

  1. Nivel físico: Es el nivel que lleva la información de un extremos del cable a otro.
  2. Nivel de Enlace: Es un nivel capaz de identificar la información y dividirla en tramas. Puede enviarlas a su destino, pero no puede redireccionarlas.
  3. Nivel de Red: Es un nivel que identifica las tramas y las convierte en paquetes. Los paquetes se pueden redireccionar hacia otros lugares de la red y allí enviarlos a su lugar correspondiente.
  4. Nivel de Transporte: Es un nivel que se encarga de asegurarse que los paquetes lleguen bien a su destino. En este nivel los paquetes se conocen como segmentos, en caso de fallo puede solicitar que el segmento se envíe nuevamente.
  5. Nivel de sesión: Es el nivel que se encarga de establecer una conexión, además permite tener más de una conexión simultáneamente.
  6. Nivel de Presentación: Es el que se encarga de mostrarnos la información que el emisor nos ha mandado.
  7. Nivel de Aplicación: Se trata del programa capaz de comprender esa información y de presentarla.
Los niveles de TCP/IP:

  1. Nivel Físico: en este nivel se incluyen los niveles físico y de enlace del modelo OSI.
  2. Nivel de Red/Subred: En este nivel se incluye el nivel de red del modelo OSI.
  3. Nivel de Transporte: En este nivel se incluye el nivel de transporte del modelo OSI
  4. Nivel de Aplicación: En este nivel se incluye el nivel de sesión, presentación y aplicación del modelo OSI.
OSI era un modelo demasiado entusiasta como para llegar a aplicarse, pero como veís nos ayuda a entender mejor los entresijos de la red.

-¿Qué es un protocolo?

Un protocolo es como una especie de lenguaje que usan los distintos niveles de la red (Físico, red, transporte etc...).

Estos lenguajes son un estándar para el nivel que lo usa, por lo tanto los distintos niveles de la arquitectura siempre podrán entenderse entre ellos si usan el mismo protocolo. Un ejemplo de protocolo de nivél físico de TCP/IP puede ser el ARP, empleado por los switch para enlazar las tramas, IP para el nivel de red que emplea direcciones IP para redireccionar paquetes y es un protocolo indispensable para el funcionamiento de la red, el más importante de todos. Para transporte tenemos a TCP y UDP y en aplicación existen muchísimos protocolos, HTTP, FTP, DNS, SMPT, TELNET,...

Como podéis comprobar, la comunicación por internet sería imposible de no existir todos estos complejos mecanismos. Haceros a la idea de que internet es un mundo extremadamente complejo, y si no, pronto os daréis cuenta de ello.

Fuentes: Apuntes de 1º de SMR, aquitectura de redes, Luis Enamorado, Wikipedia, Redes de comunicaciones, Universidad de Navarra.

jueves, 13 de enero de 2011

Comandos Básicos en Linux

Ya hablé de Linux en anteriores entradas, hoy voy a hablaros sobre los comandos en la Shell de texto, algo muy útil si os decantáis por usar un sistema linux.

-Antes de comenzar...


Debéis saber que linux funciona de una manera muy distinta a la que nos tiene acostumbrado Windows.

Para empezar, una de las mayores diferencias es que en Windows el usuario que instala el sistema es también el administrador, con la opción de habilitar también el usuario administrador. Un administrador es un usuario especial que tiene poderes para cambiar cualquier cosa del sistema y su acceso no tiene límites, lo que puede ser una desventaja, porque esto significa que si se cuela alguien en nuestro sistema mientras somos administradores, puede acceder a todo.

Por eso en Linux, nada más instalar el sistema, nos exige crear un usuario Root, que es el administrador en Linux, generalmente, él es el único que tiene el poder para cambiar las cosas del sistema, una vez creado Root nos permitirá crear nuestro usuario normal, que por defecto estará muy limitado. Si queremos ejecutar aluna orden administrativa, deberemos entrar como root, o introducir su contraseña, como ejemplo, usaré Debian en su modo Texto, que sólo muestra la línea de comandos, para dejar más claro este concepto.




Esta es la pantalla de Login de debian, si deseamos entrar como root, deberemos poner como nombre de usuario root y la contraseña que hayamos definido al instalar nuestra máquina.


Como veís, la situación ha cambiado un poco.
En la línea vemos que pone "debian1", ese es el nombre de nuestra máquina, lo que le sigue es el promt y el directorio en el que estamos situados. La almohadilla señaliza que somos usuarios con poderes de administrador, es decir, que somos root, y sólo aparecerá cuando un usuario tenga todos los poderes para cambiar el sistema, como es el caso de root.

El Gusanillo ese tan raro que sale a continuación "~" es el directorio en el que estamos situados, en concreto este símbolo nos indica que estamos en el directorio madre de Root (/root por normal general) pero si cambiamos de directorio, nos mostrará el nombre completo del directorio en el que estamos situados.


pwd es un comando que nos muestra el directorio en el que estamos situados en ese instante, como vemos, es el directorio madre de root.

Cuando seamos un usuario normal, nuestro promt cambiará por el símbolo del dolar "$", lo cual nos indicará que somos usuarios sin poderes administrativos, vamos que somos unos cacas.


He cambiado de usuario con la ayuda del comando "su", además, antes del nombre de la máquina nos indica qué usuario somos.

Hecha esta explicación básica, procedo a otra explicación básica.

En la estructura de archivos de Linux, el directorio raíz o directorio madre es / no, no es una broma, es /.

Por ello todos los directorios cuelgan de este directorio y además, a diferencia de Windows que gestiona los dispositivos por letras como si fuesen otro árbol de directorios, en Linux los demás dispositivos forman parte de este único árbol que es la /

Sé que esto es un poco complicado de entender al principio, pero pronto os haréis a la idea. En el caso anterior, Root cuelga directamente de / por eso la dirección completa de ese directorio es /root y si colgase algún directorio de /root... por ejemplo imaginemos que hay una carpeta llamada documentos dentro de root, su dirección sería /root/documentos. Siempre que queramos indicar que hay un directorio colgando dentro de otro directorio pondremos la barra...

si en documentos tenemos el directorio 2011... /root/documentos/2011... asi mismo los archivos también se expresan como que está colgando dentro del directorio... /root/documentos/prueba.txt.

Los directorios también pueden expresarse con direcciones relativas además de las absolutas, aunque ese berenjenal vendrá en otra ocasión.

Y ya por último, los usuarios normales tienen su carpeta personal dentro de /home, que viene a ser exactamente lo mismo que el "Documents and settings" de windows, donde cuelgan nuestros directorios personales con todos nuestros documentos y demás.

-Comandos

- su [nombre de usuario] - Este comando sirve para cambiar de usuario, si no indicamos nombre de usuario, el sistema tratará de logearse como root y te pedirá su contraseña.

pwd - Muestra el directorio en el que estamos situados, en caso de que tengamos alguna duda.

- whoami - Nos muestra el usuario que somos en este momento, puede ser útil en caso de que no venga el nombre antes de la máquina o de que seamos root sin saberlo.

- ls [ruta del directorio] - Muestra el contenido del directorio en el que estamos situados, si añadimos la ruta, nos enseña el contenido del directorio especificado por la ruta. Si se usa con la opción -l (ls -l) nos muestra los permisos del contenido y tipo de archivos que hay en el directorio.

-cd [ruta del directorio] - Cambia de directorio, si especificamos ruta ira al directorio especificado, si no se pone nada, ira al directorio padre (en caso de root /root), si ponemos cd .. subirá un nivel de directorio (estamos en /root/documentos ejecutamos cd .. y subimos a /root)

-mkdir [Ruta del directorio] - Comando que sirve para crear un directorio, como siempre al poner la ruta el directorio se creará dentro de la ruta especificada [ruta del directorio/nombre del directorio a crear], si no se pone ruta el directorio se creara donde nos encontremos. Podemos usar varias opciones para hacer un arbol de directorios.

-clear - Limpia la pantalla y deja sólo la primera linea.

-nano - No es un comando propiamente dicho, es una aplicación especial para la Shell de comandos que nos permite crear ficheros de texto plano en los que podemos incluir instrucciones, scripts...

cat [ruta del archivo] - Muestra el contenido de un archivo de texto, aunque parezca una mierda, es altamente útil.

- ifconfig - Muestra el estado de nuestras tarjetas de red; direccion ip, máscara de red y puerta de enlace.

- cp [ruta del archivo a copiar Ruta de la copia del archivo] - Copia un archivo (se puede renombrar si lo deseas) en otra ubicación o en la misma. Como siempre depende de como indiques las rutas. Permite copiar directorios.

- mv [Ruta del archivo a mover Ruta del archivo que has movido] - También podemos renombrar el archivo y permite mover directorios.

Y por ultimo y más importante...

- man [nombre del comando] - Nos saca un manual completo del comando, con todas las opciones que podemos ejecutar en él y explicando para que sirven. La gran putada, es que a veces el contenido está en inglés, otras veces sólo parte del contenido y otra en español... es un poco caos... pero a poco que entiendas de inglés te sacará de muchos apuros.

Además, todos los comandos tienen la opción --help que nos saca una ayuda extra de lo que estamos haciendo con el comando en ese momento.

Otras cosas

La Shell de comandos de Linux se conoce como bash, podemos encontrarlo en /bin/bash.

Además, nos permite ejecutar más de una interfaz de terminal pulsando CTRL+ALT+Fn (n es un numero del 1 al 6 terminales que hay.)


Bueno, pues hasta aquí todo, podéis encontrar más información en www.ubuntu-es.org


Recordad también que algunos comandos pueden variar dependiendo de la distribución, así que informaros bien antes de nada, los comandos que he puesto son genéricos, por lo que no tendréis problemas, un saludo navegantes.

miércoles, 5 de enero de 2011

Historia de los Ordenadores e Internet

Bueno, considero que este no sería un buen blog de informática si no hubiese al menos un poco de la historia del ordenador, así que vamos a ello.


-¿Cómo Comenzó?

Aunque los primeros ordenadores se sitúan a partir de la segunda guerra mundial, tal y comos los conocemos aparecieron un poco despúes, además también explica la aparición de Internet.

Fue a mediados de los años 60 durante la guerra fría, el gobierno americano buscaba una forma de tener disponible siempre la información de sus enemigos, tropas aliadas, munición, posición de las bases, etc, etc...

Para hacer esto posible utilizaron una red que se dio a conocer como MILNET (Acrónimo de Military Network)

El objetivo de Milnet era que, en caso de ser atacados, la información pudiese trasladarse automáticamente y de forma rápida a otros lugares para evitar pérdidas de información.

Por lo tanto, no era más que una mera herramienta en la guerra fría para evitar posibles desastres como el de Hiroshima.

Unos años más tarde, las universidades americanas vieron el increíble potencial que esto tenía, podían tener datos de alumnos, notas, y librerías en una base de datos y distribuirlas a través de todas las universidades.

Esta red se dio a conocer como ARPANET, la cual se acercaba un poco más al uso cotidiano al que estamos acostumbrados del ordenador y de internet.

No tardó en aplicarse a las empresas, algunas de las más grandes usaban sus propias redes distribuidas para intercambiar documentos y también como base de datos.

En los años 70 muchas de las grandes empresas ya empleaban este método, y cada vez el mundo tan distante de los ordenadores se iba acercando más al público, aunque todavía estaba todo muy privatizado.

En aquellos años, la empresa dominante era IBM, por no decir que prácticamente tenía el monopolio de la informática, la cual estaba destinada únicamente a uso de oficina y universitario.

Sin embargo, fue también en esa época cuando uno programadores muy ambiciosos desearon crear ordenadores de uso personal, algo que parecía inverosímil...

¿Para qué quería un tío normal un ordenador? Ahora nos parece imposible vivir sin en ellos, pero en esa época la idea de tener un ordenador personal era totalmente ridícula.

El primer sistema operativo que apareció fue Unix, que en un principio iba a estar destinado para un uso personal, no obstante, fue un sistema base para los ordenadores de IBM que se implementaban en las empresas y tener un ejemplar personal, tanto de la tecnología IBM como del sistema operativo de Unix era un verdadero lujo.

Por ello los programadores tomaron como base el Kernell de Unix, los pioneros en este campo fueron los desarrolladores de Macintosh y su principal rival, Bill Gates de Microsoft.

Ambos consiguieron su objetivo, en los años 80 aparecieron los primeros ordenadores personales y poco a poco fueron desbancando a IBM del monopolio de la informática. En muy poco tiempo estos ordenadores personales también tenían interfaz gráfica.

Pero ya en la década de los 90, el uso de los ordenadores personales estaba avanzando de tal modo, que empezó a plantearse el uso de internet para los usuarios de computadoras personales, repentinamente lo que era imposible e inviable, ahora era necesario e imprescindible, pues la gente deseaba comunicarse con su ordenador, ya que la mayoría de ellos se dedicaban a poco más que los videojuegos y aplicaciones ofimáticas sencillas

Asi que la World Wide Web apareció justo a principios de los 90, y a pesar de que los expertos pensaban que sería un auténtico fracaso, en el año 1995 tenía ya más de 100 millones de usuarios en todo el mundo, y las cifras no paraban de crecer de forma desorbitada.

Y así ha continuado hasta la actualidad, incluso se han llegado a agotar en varias ocasiones las direcciones IP y en varias ocasiones se tuvieron que crear soluciones ante este problema.

Actualmente se esta trabajando en una nueva versión de IP, la IPv6 cuyas direcciones son prácticamente inagotables y ofrecerá un sin fin de posibilidades que hasta ahora sólo se podían soñar, en algunos servidores ya se emplean estas direcciones, aunque todavía no esta implantado del todo pues todavía requiere de muchas pruebas y comprobaciones antes de universalizarlo.

Y hasta aquí todo amigos!.

Fuentes: Apuntes de redes 1º SMR Luis Enamorado Sarmiento, http://www.ordenadores-y-portatiles.com/historia-del-ordenador.html, Wikipedia, Apuntes de redes de 2º de SMR Álvaro García Sánchez, apuntes de sistemas operativos 1º de SMR Juan Carlos Villalba.

El procesador

Buenas noches navegantes, hoy voy a hablaros de un elemento indispensable para un ordenador, el procesador.

El procesador es un elemento que no puede faltar en un ordenador, de hecho es uno de los más importantes, porque él se encarga de gestionar los procesos de un ordenador y guardarlos en memoria RAM para ir procesándolos.

-¿Cómo procesa la información el procesador?

Los procesadores usan algoritmos muy complejos para procesar la información. Antiguamente, el algoritmo era muy simple, tan simple como que el primer proceso que entraba, era el primero en salir, se conoce como FIFO.

Este algoritmo consistía en ir ejecutando los procesos en cola, el problema es que si los procesos eran muy pesados los demás debían esperar a que el anterior proceso terminase, por ello hoy por hoy existen algoritmos que permiten ejecutar varios procesos a la vez.

El ejemplo más popular y común es el de Round Robin, al contrario que FIFO permite ejecutar varios procesos a la vez.

Funciona como un círculo, establece una prioridad a los procesos y les da un tiempo de procesado que se llama QUANTUM, este tiempo varia dependiendo de la prioridad que tenga el proceso, cuando más prioridad tenga, más tiempo dedicará a procesar ese proceso.

Existen muchos niveles de prioridad, prefiero no dedicarle tiempo a ello para no liar, ya explicaré los distintos tipos de procesos que hay.


En conclusión, un procesador nos abre las puertas a todo, sin él no sería posible ni encender el ordenador, es el corazón de cualquier sistema informático dado que es el intérprete de todo ese amasijo de unos y ceros que sólo el ordenador entiende.

-Componentes del procesador.

El procesador se compone de dos elementos principales.

La unidad de control, la cual tiene los algoritmos que gestionan los procesos, el Kernell de un sistema operativo permanece en contacto con la unidad de control para darle prioridad a los procesos, la prioridad dependerá de que sistema estemos usando.

Unidad Algoritmeticológica, la que se encarga de realizar todas las operaciones matemáticas necesarias para el procesamiento de la información, ya sean físicas (sumas y restas), como lógicas (Sumas y restas lógicas, and y or, etc...)

-Interfaces.

Actualmente, los procesadores usan zócalos LGA o PGA, los cuales incluyen un determinado número de pines con el que usamos hasta cierta tecnología de procesadores.

En el caso de Intel, ya se está empezando a desbancar el LGA 775 con el que podíamos usar procesadores desde el Pentium 4 hasta el Core 2 Quad y Core Extreme.

El tipo de zócalo y pines se especifica en las características básicas de la placa base, por lo que es importante comprobar los pines que llevan estos zócalos e informarse que tipo de procesadores podemos poner en ellos.

-¿Cómo monto un procesador?

Es tan fácil como fijarse bien en como están distribuidos los pines y ver el dibujo que hay en una de las esquinas, generalmente, el zócalo también tiene este dibujo que se asemeja a un triángulo, si hacemos que coincidan nuestro chip se instalará sin problemas al pincharlo en los pines.

Además de esto, el procesador es la parte del ordenador que más trabajo, y por lo tanto no basta con poner tan sólo el chip, pues este soporta tal cantidad de trabajo que a menudo se sobre calienta siendo un peligro para nuestra placa base.

Para evitar esto, los chips del procesador incluyen un disipador de calor, deberemos usar una pasta especial para evitar los posibles huecos que tenga el disipador, para que la transferencia de calor entre chip y disipador sea óptima y no haya ninguna vía de escape. además de esto, el calor que sale del disipador debe refrescarse, por lo que se incluye encima de el disipador, un ventilador que expulsa el aire caliente de la caja para poner a salvo los demás componentes y la placa.

Cuando mas potente sea nuestro equipo, mejor refrigeración deberemos tener, aunque parezca una tontería, la refrigeración es muy importante en un ordenador, sobre todo si este es usado con aplicaciones potentes que suponen un esfuerzo extra al procesador.

Investigad bien que procesador deseáis usar, para que, y que medios de refrigeración necesita para llevar a cabo esa tarea, tened en cuenta que hay muchos métodos de refrigeración, algunos más caros que otros, más útiles o menos...

todo depende de que uso le demos al procesador y a nuestro ordenador en general.

Fuentes: Apuntes de 1º de SMR equipos y hardware, Juan Carlos Villalba, wikipedia, Intel, AMD y otros...