lunes, 30 de noviembre de 2009
Código ASCII
El código ASCII (acrónimo inglés de American Standard Code for Information Interchange — (Código Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente [áski], es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII.
ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 33 caracteres no imprimibles, de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre como se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio).
Historia
Yezla Dayana y Mariana dicen que El código ASCII se desarrolló en el ámbito de la telegrafía y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell. Bell había planeado usar un código de seis bits, derivado de Fieldata, que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión Baudot, pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA), que habían empezado a desarrollar el código ASCII. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos, y tomó muchas características del código Morse; sin embargo, a diferencia del código Morse, Baudot usó códigos de longitud constante. Comparado con los primeros códigos telegráficos, el código propuesto por Bell y ASA resultó en una reorganización más conveniente para ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características como la 'secuencia de escape'.
Los caracteres de control ASCII
El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos (como impresoras) que usaban ASCII. Por ejemplo, el carácter 10 representa la función "nueva línea" (line feed), que hace que una impresora avance el papel, y el carácter 27 representa la tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes.
Caracteres imprimibles ASCII
El código del carácter espacio, designa al espacio entre palabras, y se produce normalmente por la barra espaciadora de un teclado. Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan letras, dígitos, signos de puntuación y varios símbolos.
El ASCII de siete bits proporciona siete caracteres "nacionales" y, si la combinación concreta de hardware y software lo permite, puede utilizar combinaciones de teclas para simular otros caracteres internacionales: en estos casos un backspace puede preceder a un acento abierto o grave (en los estándares británico y americano, pero sólo en estos estándares, se llama también "opening single quotation mark"), una tilde o una "marca de respiración".
Rasgos estructurales
Los dígitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario (esto significa que la conversión BCD-ASCII es una simple cuestión de tomar cada unidad bcd y prefijarla con 0011).
Las cadenas de bits de las letras minúsculas y mayúsculas sólo difieren en un bit, simplificando de esta forma la conversión de uno a otro grupo.
Vista general
Las computadoras solamente entienden números. El código ASCII es una representación numérica de un carácter como ‘a’ o ‘@’.[1]
Como otros códigos de formato de representación de caracteres, el ASCII es un método para una correspondencia entre cadenas de bits y una serie de símbolos (alfanuméricos y otros), permitiendo de esta forma la comunicación entre dispositivos digitales así como su procesado y almacenamiento. El código de caracteres ASCII[2] — o una extensión compatible (ver más abajo) se usa casi en todos los ordenadores, especialmente con ordenadores personales y estaciones de trabajo. El nombre más apropiado para este código de caracteres es "US-ASCII".
viernes, 27 de noviembre de 2009
Características de IPv6
Características de la IPv6
Quizás las principales características de la IPv6 se síntetizan en el mayor espacio de direccionamiento, seguridad, autoconfiguración y movilidad. Pero también hay otras que son importantes mencionar:
- Infraestructura de direcciones y enrutamiento eficaz y jerárquica.
- Mejora de compatiblidad para Calidad de Servicio (QoS) y Clase de Servicio (CoS).
- Multicast: envío de un mismo paquete a un grupo de receptores.
- Anycast: envío de un paquete a un receptor dentro de un grupo.
- Movilidad: una de las características obligatorias de IPv6 es la posibilidad de conexión y desconexión de nuestro ordenador de redes IPv6 y, por tanto, el poder viajar con él sin necesitar otra aplicación que nos permita que ese enchufe/desenchufe se pueda hacer directamente.
- Seguridad Integrada (IPsec): IPv6 incluye IPsec, que permite autenticación y encriptación del propio protocolo base, de forma que todas las aplicaciones se pueden beneficiar de ello.
- Capacidad de ampliación.
- Calidad del servicio.
- Velocidad.
Los cambios de IPv4 a IPv6 se clasifican en las siguientes categorías:
Capacidad extendida de direccionamiento
IPv6 incrementa el tamaño de dirección IP de 32 bits a 128 bits, para dar soporte a más niveles de direccionamiento jerárquico, un número mucho mayor de nodos direccionables, y una autoconfiguración más simple de direcciones. La escalabilidad del enrutamiento multicast se mejora agregando un campo "ámbito" a estas direcciones. Y se define un nuevo tipo de dirección llamada "dirección envío a uno de", usado para enviar un paquete a cualquiera de un grupo de nodos.
Simplificación del formato de cabecera
Algunos campos de la cabecera IPv4 se han suprimido o se han hecho opcionales, para reducir el costo del procesamiento de los paquetes y para ahorrar ancho de banda.
Soporte mejorado para las extensiones y opciones
Los cambios en la manera en que se codifican las opciones de la cabecera IP permiten un reenvío más eficiente, límites menos rigurosos en la longitud de opciones, y mayor flexibilidad para introducir nuevas opciones en el futuro.
Capacidad etiquetada de flujos
Una nueva capacidad se agrega para permitir el etiquetado de paquetes que pertenecen a "flujos" de tráfico particulares para lo cuál el remitente solicita tratamiento especial, como la calidad de servicio no estándar o el servicio en "tiempo real".
Capacidades de Autenticación y Privacidad
IPv6 incluye la especificación de extensiones que proveen autenticación, integridad, y (opcionalmente) confidencialidad de los datos.
Desventajas
- La necesidad de extender un soporte permanente para IPv6 a través de todo Internet y de los dispositivos conectados a ella.
- Para estar enlazada al universo IPv6 durante la fase de transición, todavía se necesita una dirección IPv4 o algún tipo de NAT (compartición de direcciones IP) en los routers pasarela (IPv6<-->IPv4) que añaden complejidad y que significa que el gran espacio de direcciones prometido por la especificación no podrá ser inmediatamente usado.
- Problemas restantes de arquitectura, como la falta de acuerdo para un soporte adecuado de IPv6 multihoming.
- Las direcciones IPv6 son mucho más largas que las direcciones IPv4 y, por lo tanto, más difíciles de memorizar.
Ventajas
- Convivencia con IPv4, que hará posible una migración suave.
- Gran cantidad de direcciones, que hará virtualmente imposible que queden agotadas. Se estima que si se repartiesen en toda la superficie de la Tierra habría 6,67x1023 IPs por m2.
- Direcciones unicast, multicast y anycast.
- Formato de cabecera más flexible que en IPv4 para agilizar el encaminamiento.
- Nueva etiqueta de flujo para identificar paquetes de un mismo flujo.
- No se usa ninguna comprobación de integridad(CHECKSUM).
- La fragmentación se realiza en el nodo origen y el reensamblado se realiza en los nodos finales, y no en los routers como en IPv4.
- Nuevas características de seguridad.IPSEC formará parte del estándar.
- Nueva versión deICMP , que incluye aMLD, el equivalente delIGMP de IPv4.
- Auto-configuración de los nodos finales, que permite a un equipo aprender automáticamente una dirección IPv6 al conectarse a la red.
- Movilidad incluida en el estándar, que permitirá cambiar de red sin perder la conectividad.
Versión IPv6
Paquetes IPv6
Un paquete en IPv6 está compuesto principalmente por dos partes: la cabecera y los datos La cabecera esta compuesta por los primeros 40 bits del paquete y contiene las direcciones de origen y de destino (128 bits cada una), la version de IP (4 bits), la clase de trafico (8 bits, prioridad de el paquete), etiqueta de flujo (20 bits, manejo de la calidad del servicio), longitud del campo de datos (16 bits), cabecera siguiente (8 bits), y limite de saltos (8 bits, tiempo de vida), despues viene el campo de datos con los datos que transporta el paquete que puede llegar a 64k de tamaño en el modo normal.El uso de un formato flexible de cabeceras de extensión opcionales es una idea innovadora que permite ir añadiendo funcionalidades de forma paulatina. Este diseño aporta gran eficacia y flexibilidad ya que se pueden definir en cualquier momento a medida que se vayan necesitando entre la cabecera fija y la carga útil.
Hasta el momento, existen 8 tipos de cabeceras de extensión, donde la cabecera fija y las de extensión opcionales incluyen el campo de cabecera siguiente que identifica el tipo de cabeceras de extensión que viene a continuación o el identificador del protocolo de nivel superior. Luego las cabeceras de extensión se van encadenando utilizando el campo de cabecera siguiente que aparece tanto en la cabecera fija como en cada una de las citadas cabeceras de extensión. Como resultado de la secuencia anterior, dichas cabeceras de extensión se tienen que procesar en el mismo orden en el que aparecen en el datagrama. La Cabecera principal, tiene al contrario que la cabecera de la versión IPv4 un tamaño fijo de 40 octetos.
Todas o parte de estas cabeceras de extensión tienen que ubicarse en el datagrama en el orden especificado:
- Cabecera de opciones de salto a salto (Hop-by-Hop): transporta información opcional, contiene los datos que deben ser examinados por cada nodo (cualquier sistema con IPv6) a través de la ruta de envío de un paquete. Su código es 0.
- Cabecera de encaminamiento (Routing): se utiliza para que un origen IPv6 indique uno o más nodos intermedios que se han de visitar en el camino del paquete hacia el destino. El código que utiliza es 43.
- Encaminamiento desde la fuente.
- Cabecera de fragmentación (Fragment): hace posible que el origen envíe un paquete más grande de lo que cabría en la MTU de la ruta (unidad máxima de transferencia). Hay que tener en cuenta que al contrario que en IPv4, en IPv6 la fragmentación de un paquete solo se puede realizar en los nodos de origen. El código empleado en esta cabecera es 44.
- Cabecera de autenticación (Authentication Header): nos sirve para proveer servicios de integridad de datos, autenticación del origen de los datos, antireplay para IP. El código de esta cabecera es 51.
- Cabecera de encapsulado de seguridad de la carga útil (Encapsulating Security Payload): permiten proveer servicios de integridad de datos. El código al que hace referencia esta cabecera es el 50.
- Cabecera de opciones para el destino (Destination Options): se usa para llevar información opcional que necesita ser examinada solamente por los nodos destino del paquete. Esta cabecera utiliza el código 60.
- No Next Header: Indica que no hay más cabeceras Utiliza el código 59
Direccionamiento IPv6
El cambio más grande de IPv4 a IPv6 es la longitud de las direcciones de red. Las direcciones IPv6, definidas en el RFC 2373 RFC 2374, son de 128 bits; esto corresponde a 32 dígitos "Sistema hexadecimal">hexadecimales, que se utilizan normalmente para escribir las direcciones IPv6, como se describe en la siguiente sección.
El número de direcciones IPv6 posibles es de 2128 ≈ 3.4 x 1038. Este número puede también representarse como 1632, con 32 dígitos hexadecimales, cada uno de los cuales puede tomar 16 valores (véase title="Combinatoria">combinatoria).
En muchas ocasiones las direcciones IPv6 están compuestas por dos partes lógicas: un prefijo de 64 bits y otra parte de 64 bits que corresponde al identificador de interfaz, que casi siempre se genera automáticamente a partir de la dirección "MAC">MAC de la interfaz a la que está asignada la dirección.
Direccionamiento IPv4
Creación de sub-red
jueves, 26 de noviembre de 2009
IP Fija
Pública Dinámica o Fija.
Una IP Pública se utiliza generalmente para montar servidores en internet y necesariamente se desea que la IP no cambie por eso siempre la IP Pública se la configura de manera Fija y no Dinámica, aunque si se podría.
Las IP Públicas fijas actualmente en el mercado de acceso a Internet tienen un coste adicional mensual. Estas IP son asignadas por el usuario después de haber recibido la información del proveedor o bien asignadas por el proveedor en el momento de la primera conexión.
Desventajas
miércoles, 25 de noviembre de 2009
Direccionamiento IP
Para poder comunicarse en una red, cada equipo debe tener una dirección IP exclusiva. En el direccionamiento IP en clases, existen tres clases de dirección que se utilizan para asignar direcciones IP a los equipos. El tamaño y tipo de la red determinará la clase de dirección IP que aplicaremos cuando proporcionemos direcciones IP a los equipos y otros hosts de nuestra red.
Al igual que la dirección de una casa tiene dos partes (una calle y un código postal), una dirección IP también está formada por dos partes: el ID de host y el ID de red. ID de red La primera parte de una dirección IP es el ID de red, que identifica el segmento de red en el que está ubicado el equipo.
Todos los equipos del mismo segmento deben tener el mismo ID de red, al igual que las casas de una zona determinada tienen el mismo código postal. ID de host La segunda parte de una dirección IP es el ID de host, que identifica un equipo, un router u otro dispositivo de un segmento.
El ID de cada host debe ser exclusivo en el ID de red, al igual que la dirección de una casa es exclusiva dentro de la zona del código postal.
Es importante observar que al igual que dos zonas de código postal distinto pueden tener direcciones iguales, dos equipos con diferentes IDs de red pueden tener el mismo ID de host. Sin embargo, la combinación del ID de red y el ID de host debe ser exclusivo para todos los equipos que se comuniquen entre sí.
CLASES DE IP
Las clases de direcciones se utilizan para asignar IDs de red a organizaciones para que los equipos de sus redes puedan comunicarse en Internet. Las clases de direcciones también se utilizan para definir el punto de división entre el ID de red y el ID de host.
Se asigna a una organización un bloque de direcciones IP, que tienen como referencia el ID de red de las direcciones y que dependen del tamaño de la organización. Por ejemplo, se asignará un ID de red de clase C a una organización con 200 hosts, y un ID de red de clase B a una organización con 20.000 hosts.
Clase A
Las direcciones de clase A se asignan a redes con un número muy grande de hosts. Esta clase permite 126 redes, utilizando el primer número para el ID de red. Los tres números restantes se utilizan para el ID de host, permitiendo 16.777.214 hosts por red.
Clase B
Las direcciones de clase B se asignan a redes de tamaño mediano a grande. Esta clase permite 16.384 redes, utilizando los dos primeros números para el ID de red. Los dos números restantes se utilizan para el ID de host, permitiendo 65.534 hosts por red.
Clase C
Las direcciones de clase C se utilizan para redes de área local (LANs) pequeñas. Esta clase permite aproximadamente 2.097.152 redes utilizando los tres primeros números para el ID de red. El número restante se utiliza para el ID de host, permitiendo 254 hosts por red.
Clases D y E
Las clases D y E no se asignan a hosts. Las direcciones de clase D se utilizan para la multidifusión, y las direcciones de clase E se reservan para uso futuro.
lunes, 23 de noviembre de 2009
IP dinamica
DHCP apareció como protocolo estándar en octubre de 1993. El estándar RFC 2131 especifica la última definición de DHCP (marzo de 1997). DHCP sustituye al protocolo BOOTP, que es más antiguo. Debido a la compatibilidad retroactiva de DHCP, muy pocas redes continúan usando BOOTP puro.
Las IP dinámicas son las que actualmente ofrecen la mayoría de operadores. Éstas suelen cambiar cada vez que el usuario reconecta por cualquier causa.
*Reduce los costos de operación a los proveedores de servicios internet (ISP).
*Reduce la cantidad de IP´s asignadas (de forma fija) inactivas.
Dependiendo de la implementación concreta, el servidor DHCP tiene tres métodos para asignar las direcciones IP: manualmente, cuando el servidor tiene a su disposición una tabla que empareja direcciones MAC con direcciones IP, creada manualmente por el administrador de la red. Sólo clientes con una dirección MAC válida recibirán una dirección IP del servidor.
automáticamente, donde el servidor DHCP asigna permanentemente una dirección IP libre, tomada de un rango prefijado por el administrador, a cualquier cliente que solicite una.
dinámicamente, el único método que permite la reutilización de direcciones IP.
El administrador de la red asigna un rango de direcciones IP para el DHCP y cada ordenador cliente de la LAN tiene su software de comunicación TCP/IP configurado para solicitar una dirección IP del servidor DHCP cuando su tarjeta de interfaz de red se inicie. El proceso es transparente para el usuario y tiene un periodo de validez limitado.
domingo, 22 de noviembre de 2009
Sistema Hexadecimal
Sistema Hexadecimal
El sistema hexadecimal, a veces abreviado como hex, es el sistema de numeración posicional de base 16 —empleando por tanto 16 símbolos—. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto puede representarse como , que, según el teorema general de la numeración posicional, equivale al número en base 16 10016, dos dígitos hexadecimales corresponden exactamente —permiten representar la misma línea de enteros— a un byte.
En principio dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:
Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0A16 = 3×162 + E×161 + 0×160 + A×16-1 = 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625.
El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 0–9 y u–z, fue usada en 1956 por la computadora Bendix G-15.
Sistema Binarios
Historia del Sistema Binario
Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bit) y números binarios de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos, como el Ifá, así como en la geomancia medieval occidental.
En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, las cuales podrían ser codificadas como variaciones apenas visibles en la fuente de cualquier texto arbitrario.
En 1854, el matemático británico George Boole, publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole.
Aplicaciones
En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construyó un ordenador basado en relés - al cual apodó "Modelo K" (porque lo construyó en una cocina, en inglés "kitchen")- que utilizaba la suma binaria para realizar los cálculos. Los
Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, con Stibitz al mando. El 8 de enero de 1940 terminaron el diseño de una Calculadora de Números Complejos, la cual era capaz de realizar cálculos con números complejos. En una demostración en la conferencia de la Sociedad Americana de Matemáticas, el 11 de septiembre de 1940, Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann, John Mauchly y Norbert Wiener, el cual escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó diferentes logros.
Representación
El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En un ordenador, los valores numéricos pueden ser representados por dos voltajes diferentes y también se pueden usar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la arquitectura usada.
100101 binario (declaración explícita de formato)
100101b (un sufijo que indica formato binario)
100101B (un sufijo que indica formato binario)
bin 100101 (un prefijo que indica formato binario)
1001012 (un subíndice que indica base 2 (binaria) notación)
%100101 (un prefijo que indica formato binario)
0b100101 (un prefijo que indica formato binario, común en lenguajes de programación).
Código Binario
En un código binario de ancho fijo, cada letra, dígito, u otros símbolos, están representados por una cadena de bits de la misma longitud, como un número binario que, por lo general, aparece en las tablas en notación octal, decimal o hexadecimal.
Características
Ponderación
La mayoría de los sistemas de numeración actuales son ponderados, es decir, cada posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de hecho, un sistema de numeración posicional ponderado. Sin embargo, algunos códigos binarios, como el código Gray, no son ponderados, es decir, no tienen un peso asociado a cada posición. Otros, como el mismo código binario natural o el BCD natural sí lo son.
La distancia es una característica sólo aplicable a las combinaciones binarias. La distancia entre dos combinaciones es el número de bits que cambian de una a otra. Por ejemplo, si se tienen las combinaciones de cuatro bits 0010 y 0111, correspondientes al 2 y al 7 en binario natural, se dirá que la distancia entre ellas es igual a dos (ya que de una a otra cambian dos bits).
La adyacencia es una característica que consiste en que de una combinación binaria a la siguiente, sólo varía un bit (distancia igual a uno). Esta propiedad es aplicable únicamente a las combinaciones binarias de un código, no al código en sí mismo.
Continuidad
La continuidad es una característica de los códigos binarios que cumplen que todas las posibles combinaciones del código son adyacentes, es decir, que de cualquier combinación del código a la siguiente cambia un sólo bit. En este caso se dice que el código es continuo. Cuando la última combinación del código es, a su vez, adyacente a la primera, se trata de un código cíclico.