Está en la página 1de 42

REDES DE COMPUTADORES [Fundamentos de Redes]

[Seleccionar fecha]

[Ao]
Definiciones y Conceptos
i

Una red de computadoras, tambin llamada red de ordenadores o red informtica, es un conjunto de equipos informticos conectados entre s por medio de dispositivos fsicos que envan y reciben impulsos elctricos

Contenido
Red de computadoras .............................................................................................................................................................................................................................. 1 Clasificacin de las redes ..................................................................................................................................................................................................................... 1 Por alcance ....................................................................................................................................................................................................................................... 1 Por tipo de conexin ............................................................................................................................................................................................................................ 2 Medios guiados ................................................................................................................................................................................................................................ 2 Medios no guiados ........................................................................................................................................................................................................................... 2 Por relacin funcional .......................................................................................................................................................................................................................... 2 Por tecnologa ...................................................................................................................................................................................................................................... 3 Por topologa ........................................................................................................................................................................................................................................ 3 En una red mixta se da cualquier combinacin de las anteriores ................................................................................................................................ 3 Por la direccionalidad de los datos ................................................................................................................................................................................ 3

Por grado de autentificacin................................................................................................................................................................................................................ 4 Por grado de difusin ........................................................................................................................................................................................................................... 4 Por servicio o funcin........................................................................................................................................................................................................................... 4 Una red para el proceso de datos proporciona una interfaz para intercomunicar equipos que vayan a realizar una funcin de cmputo conjunta. ............................................................................................................................................................................................................................................. 4 rotocolos de redes .................................................................................................................................................................................................................. 4

Modelos generales ................................................................................................................................................................................................................................... 4 Modelo OSI....................................................................................................................................................................................................................................... 5 Modelo TCP/IP ................................................................................................................................................................................................................................. 5 Otros estndares .................................................................................................................................................................................................................................. 6

ii

Componentes bsicos de las redes ........................................................................................................................................................................................... 6 Computadora................................................................................................................................................................................................................................ 6 Tarjetas de red ..................................................................................................................................................................................................................................... 7 Tipos de sitios de trabajo ..................................................................................................................................................................................................................... 7 Tipos de servidores .............................................................................................................................................................................................................................. 7 Direccin MAC.......................................................................................................................................................................................................................................... 9 Obtencin de MAC en distintos sistemas operativos ........................................................................................................................................................................ 10 Windows 2000/XP/Vista/7 ............................................................................................................................................................................................................. 10 UNIX y GNU/Linux y Mac OS X ....................................................................................................................................................................................................... 10 Symbian .......................................................................................................................................................................................................................................... 11 Windows Mobile 6 ......................................................................................................................................................................................................................... 11 Detalles de la direccin MAC ............................................................................................................................................................................................................. 11 Cambiar la direccin MAC .................................................................................................................................................................................................................. 11 iproute2.......................................................................................................................................................................................................................................... 12 ifconfig............................................................................................................................................................................................................................................ 12 Microsoft Windows ........................................................................................................................................................................................................................ 12 IEEE......................................................................................................................................................................................................................................................... 13 VHDL....................................................................................................................................................................................................................................................... 14 Formas de describir un circuito ......................................................................................................................................................................................................... 14 Secuencia de diseo........................................................................................................................................................................................................................... 15 Procedimiento de diseo ................................................................................................................................................................................................................... 16 Estructura de programa ..................................................................................................................................................................................................................... 16 Ejemplos de programas ..................................................................................................................................................................................................................... 28 Hola Mundo ................................................................................................................................................................................................................................... 28 Multiplexor..................................................................................................................................................................................................................................... 29

iii

Contador ........................................................................................................................................................................................................................................ 30 IEEE 802.................................................................................................................................................................................................................................................. 33 Historia ............................................................................................................................................................................................................................................... 34 Grupos de Trabajo.............................................................................................................................................................................................................................. 34 Token Ring................................................................................................................................................................................................................................................ 2 El estndar IEEE 802.5 .......................................................................................................................................................................................................................... 2 Caractersticas principales ................................................................................................................................................................................................................... 2 MAC en Token Ring .............................................................................................................................................................................................................................. 2 Operacin ............................................................................................................................................................................................................................................. 4 Funciones de mantenimiento / supervisin ........................................................................................................................................................................................ 4

iv

Red de computadoras
Una red de computadoras, tambin llamada red de ordenadores o red informtica, es un conjunto de equipos informticos conectados entre s por medio de dispositivos fsicos que envan y reciben impulsos elctricos, ondas electromagnticas o cualquier otro medio para el transporte de datos, con la finalidad de compartir informacin y recursos y ofrecer servicios.1 Este trmino tambin engloba aquellos medios tcnicos que permiten compartir la informacin. La finalidad principal para la creacin de una red de computadoras es compartir los recursos y la informacin en la distancia, asegurar la confiabilidad y la disponibilidad de la informacin, aumentar la velocidad de transmisin de los datos y reducir el coste general de estas acciones. La estructura y el modo de funcionamiento de las redes informticas actuales estn definidos en varios estndares, siendo el ms importante y extendido de todos ellos el modelo TCP/IP basado en el modelo de referencia OSI. Este ltimo, estructura cada red en 7 capas con funciones concretas pero relacionadas entre s; en TCP/IP se reducen a 4 capas. Existen multitud de protocolos repartidos por cada capa, los cuales tambin estn regidos por sus respectivos estndares.

Clasificacin de las redes


Por alcance

Red de rea personal o PAN (personal area network) es una red de ordenadores usada para la comunicacin entre los dispositivos de la computadora cerca de una persona. Red de rea local o LAN (local area network) es una red que se limita a un rea especial relativamente pequea tal como un cuarto, un solo edificio, una nave, o un avin. Las redes de rea local a veces se llaman una sola red de localizacin. Una red de rea de campus o CAN (campus area network) es una red de computadoras que conecta redes de rea local a travs de un rea geogrfica limitada, como un campus universitario, o una base militar. Una red de rea metropolitana (metropolitan area network o MAN, en ingls) es una red de alta velocidad (banda ancha) que da cobertura en un rea geogrfica extensa.

Las redes de rea amplia (wide area network, WAN) son redes informticas que se extienden sobre un rea geogrfica extensa. Una red de rea de almacenamiento, en ingls SAN (storage area network), es una red concebida para conectar servidores, matrices (arrays) de discos y libreras de soporte. Una Red de rea local virtual (Virtual LAN, VLAN) es un grupo de computadoras con un conjunto comn de recursos a compartir y de requerimientos, que se comunican como si estuvieran adjuntos a una divisin lgica de redes de computadoras en la cul todos los nodos pueden alcanzar a los otros por medio de broadcast (dominio de broadcast) en la capa de enlace de datos, a pesar de su diversa localizacin fsica. Red irregular es un sistema de cables y buses que se conectan a travs de un mdem, y que da como resultado la conexin de una o ms computadoras. Esta red es parecida a la mixta, solo que no sigue los parmetros presentados en ella. Muchos de estos casos son muy usados en la mayora de las redes.

Por tipo de conexin


Medios guiados

El cable coaxial se utiliza para transportar seales elctricas de alta frecuencia que posee dos conductores concntricos, uno central, llamado vivo, encargado de llevar la informacin, y uno exterior, de aspecto tubular, llamado malla o blindaje, que sirve como referencia de tierra y retorno de las corrientes. El cable de par trenzado es una forma de conexin en la que dos conductores elctricos aislados son entrelazados para tener menores interferencias y aumentar la potencia y disminuir la diafona de los cables adyacentes. La fibra ptica es un medio de transmisin empleado habitualmente en redes de datos; un hilo muy fino de material transparente, vidrio o materiales plsticos, por el que se envan pulsos de luz que representan los datos a transmitir.

Medios no guiados

Red por radio Red por infrarrojos Red por microondas

Por relacin funcional


2

Cliente-servidor es una arquitectura que consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Peer-to-peer es aquella red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre s.

Por tecnologa

Red Point-To-Point es aquella en la que existe multitud de conexiones entre parejas individuales de mquinas. Este tipo de red requiere, en algunos casos, mquinas intermedias (routers) que establezcan rutas para que puedan transmitirse paquetes de datos. Red Broadcast se caracteriza por transmitir datos por un slo canal de comunicacin que comparten todas las mquinas de la red. En este caso, el paquete enviado es recibido por todas las mquinas de la red pero nicamente la destinataria puede procesarlo.

Por topologa

La red en bus se caracteriza por tener un nico canal de comunicaciones (denominado bus, troncal o backbone) al cual se conectan los diferentes dispositivos. En una red en anillo cada estacin est conectada a la siguiente y la ltima est conectada a la primera. En una red en estrella las estaciones estn conectadas directamente a un punto central y todas las comunicaciones se han de hacer necesariamente a travs de ste. En una red en malla cada nodo est conectado a todos los otros. En una red en rbol los nodos estn colocados en forma de rbol. Desde una visin topolgica, la conexin en rbol es parecida a una serie de redes en estrella interconectadas salvo en que no tiene un nodo central. En una red mixta se da cualquier combinacin de las anteriores Por la direccionalidad de los datos Simplex o Unidireccional: un Equipo Terminal de Datos transmite y otro recibe.

Half-Duplex o Bidireccional: slo un equipo transmite a la vez. Tambin se llama Semi-Duplex. Full-Duplex: ambos pueden transmitir y recibir a la vez una misma informacin.

Por grado de autentificacin

Red Privada: una red privada se definira como una red que puede usarla solo algunas personas y que estn configuradas con clave de acceso personal .Red de acceso pblico: una red pblica se define como una red que puede usar cualquier persona y no como las redes que estn configuradas con clave de acceso personal. Es una red de computadoras interconectados, capaz de compartir informacin y que permite comunicar a usuarios sin importar su ubicacin geogrfica.

Por grado de difusin


Una intranet es una red de computadoras que utiliza alguna tecnologa de red para usos comerciales, educativos o de otra ndole de forma privada, esto es, que no comparte sus recursos o su informacin con redes ilegtimas. Internet es un conjunto descentralizado de redes de comunicacin interconectadas que utilizan la familia de protocolos TCP/IP, garantizando que las redes fsicas heterogneas que la componen funcionen como una red lgica nica, de alcance mundial.

Por servicio o funcin


Una red comercial proporciona soporte e informacin para una empresa u organizacin con nimo de lucro. Una red educativa proporciona soporte e informacin para una organizacin educativa dentro del mbito del aprendizaje. Una red para el proceso de datos proporciona una interfaz para intercomunicar equipos que vayan a realizar una funcin de cmputo conjunta. rotocolos de redes

Modelos generales
Existen diversos protocolos, estndares y modelos que determinan el funcionamiento general de las redes. Destacan el modelo OSI y el TCP/IP. Cada modelo estructura el funcionamiento de una red de manera distinta: El modelo OSI cuenta con 7 capas muy definidas

y con funciones diferenciadas y el TCP/IP con 4 capas diferenciadas pero que combinan las funciones existentes en las 7 capas del modelo OSI. 4 Los protocolos estn repartidos por las diferentes capas pero no estn definidos como parte del modelo en s sino como entidades diferentes de normativas internacionales, de modo que el modelo OSI no puede ser considerado una arquitectura de red. 5

Capa

Unidad de intercambio

7.

Aplicacin

APDU

Modelo OSI
El modelo OSI (open systems interconnection) fue creado por la ISO y se encarga de la conexin entre sistemas abiertos, esto es, sistemas abiertos a la comunicacin con otros sistemas. Los principios en los que bas su creacin son, una mayor definicin de las funciones de cada capa, evitar agrupar funciones diferentes en la misma capa y una mayor simplificacin en el funcionamiento del modelo en general. 6 Este modelo divide las funciones de red en 7 capas diferenciadas.

6. Presentacin

PPDU

5.

Sesin

SPDU

4.

Transporte

TPDU

Capa

Unidad de intercambio

3.

Red

Paquete

4.

Aplicacin

no definido

2.

Enlace

Marco / Trama

3.

Transporte

Paquete

1.

Modelo TCP/IP
2. Red / Interred no definido (Datagrama) Artculo principal: TCP/IP Este modelo es el implantado actualmente a nivel mundial: Fue utilizado en ARPANET y es utilizado actualmente a nivel global en Internet y redes locales. Su nombre deriva de los dos principales protocolos que lo conforman: TCP en la Capa de transporte e IP en la Capa de red.7 Se compone de 4 capas.

1. Enlace / nodo a red

??

Otros estndares
Existen otros estndares, ms concretos, que definen el modo de funcionamiento de diversas tecnologas de transmisin de datos: Esta lista no es completa

Tecnologa

Estndar

Ao de primera publicacin

Otros detalles

Ethernet

IEEE 802.3

1983

Token Ring IEEE 802.5

1970s8

WLAN

IEEE 802.11

19979

Bluetooth IEEE 802.15

200210

FDDI

ISO 9314-x

1987

Rene un conjunto de estndares.

PPP

RFC 1661

199411

Componentes bsicos de las redes Computadora

La mayora de los componentes de una red media son las computadoras individuales, tambin denominados host; generalmente son sitios de trabajo (incluyendo computadoras personales) o servidores.

Tarjetas de red
Para lograr el enlace entre las computadoras y los medios de transmisin (cables de red o medios fsicos para redes almbricas e infrarrojos o radiofrecuencias para redes inalmbricas), es necesaria la intervencin de una tarjeta de red o NIC (Network Card Interface) con la cual se puedan enviar y recibir paquetes de datos desde y hacia otras computadoras, empleando un protocolo para su comunicacin y convirtiendo a esos datos a un formato que pueda ser transmitido por el medio (bits 0's/1's). Cabe sealar que a cada tarjeta de red le es asignado un identificador nico por su fabricante, conocido como direccin MAC (Media Access Control), que consta de 48 bits (6 bytes). Dicho identificador permite direccionar el trfico de datos de la red del emisor al receptor adecuado. El trabajo del adaptador de red es el de convertir las seales elctricas que viajan por el cable (ej: red Ethernet) o las ondas de radio (ej: red Wi-Fi) en una seal que pueda interpretar el ordenador. Estos adaptadores son unas tarjetas PCI que se conectan en las ranuras de expansin del ordenador. En el caso de ordenadores porttiles, estas tarjetas vienen en formato PCMCIA. En algunos ordenadores modernos, tanto de sobremesa como porttiles, estas tarjetas ya vienen integradas en la placa base. Adaptador de red es el nombre genrico que reciben los dispositivos encargados de realizar dicha conversin. Esto significa que estos adaptadores pueden ser tanto Ethernet, como Wireless, as como de otros tipos como fibra ptica, coaxial, etc. Tambin las velocidades disponibles varan segn el tipo de adaptador; stas pueden ser, en Ethernet, de 10, 100 1000 Mbps, y en los inalmbricos de 11 o 55 Mbps.

Tipos de sitios de trabajo


Hay muchos tipos de sitios de trabajo que se pueden incorporar en una red particular: sistemas con varias CPU, con grandes cantidades de RAM y grandes cantidades de espacio de almacenamiento en disco duro, u otros componentes requeridos para las tareas de proceso de datos especiales, los grficos, u otros usos intensivos del recurso. (Vase tambin la computadora de red).

Tipos de servidores
7

En la siguiente lista hay algunos tipos comunes de servidores y sus propsitos:


Servidor de archivos: almacena varios tipos de archivo y los distribuye a otros clientes en la red. Servidor de impresiones: controla una o ms impresoras y acepta trabajos de impresin de otros clientes de la red, poniendo en cola los trabajos de impresin (aunque tambin puede cambiar la prioridad de las diferentes impresiones), y realizando la mayora o todas las otras funciones que en un sitio de trabajo se realizara para lograr una tarea de impresin si la impresora fuera conectada directamente con el puerto de impresora del sitio de trabajo. Servidor de correo: almacena, enva, recibe, enruta y realiza otras operaciones relacionadas con e-mail para los clientes de la red. Servidor de fax: almacena, enva, recibe, enruta y realiza otras funciones necesarias para la transmisin, la recepcin y la distribucin apropiadas de los fax. Servidor de la telefona: realiza funciones relacionadas con la telefona, como es la de contestador automtico, realizando las funciones de un sistema interactivo para la respuesta de la voz, almacenando los mensajes de voz, encaminando las llamadas y controlando tambin la red o Internet; p. ej., la entrada excesiva del IP de la voz (VoIP), etc. Servidor proxy: realiza un cierto tipo de funciones a nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones (p. ej., prefetching y depositar documentos u otros datos que se soliciten muy frecuentemente). Tambin sirve seguridad; esto es, tiene un Firewall (cortafuegos). Permite administrar el acceso a Internet en una red de computadoras permitiendo o negando el acceso a diferentes sitios web. Servidor del acceso remoto (RAS): controla las lneas de mdem de los monitores u otros canales de comunicacin de la red para que las peticiones conecten con la red de una posicin remota, responden llamadas telefnicas entrantes o reconocen la peticin de la red y realizan los chequeos necesarios de seguridad y otros procedimientos necesarios para registrar a un usuario en la red. Servidor de uso: realiza la parte lgica de la informtica o del negocio de un uso del cliente, aceptando las instrucciones para que se realicen las operaciones de un sitio de trabajo y sirviendo los resultados a su vez al sitio de trabajo, mientras que el sitio de trabajo realiza la interfaz operadora o la porcin del GUI del proceso (es decir, la lgica de la presentacin) que se requiere para trabajar correctamente. Servidor web: almacena documentos HTML, imgenes, archivos de texto, escrituras, y dems material Web compuesto por datos (conocidos normalmente como contenido), y distribuye este contenido a clientes que la piden en la red. Servidor de reserva: tiene el software de reserva de la red instalado y tiene cantidades grandes de almacenamiento de la red en discos duros u otras formas del almacenamiento (cinta, etc.) disponibles para que se utilice con el fin de asegurarse de que la prdida de un servidor principal no afecte a la red. Esta tcnica tambin es denominada clustering.

Impresoras: muchas impresoras son capaces de actuar como parte de una red de ordenadores sin ningn otro dispositivo, tal como un "print server", actuando como intermediario entre la impresora y el dispositivo que est solicitando un trabajo de impresin de ser terminado, Los medios de conectividad de estos dispositivos pueden ser alambricos inalmbricos dentro de este ltimo puede ser mediante WiFi, Infrarrojo, Bluetooth algunos de ellos ya integrados a la impresora. Terminal: muchas redes utilizan este tipo de equipo en lugar de puestos de trabajo para la entrada de datos. En estos slo se exhiben datos o se introducen. Este tipo de terminales, trabajan unido a un servidor, que es quien realmente procesa los datos y enva pantallas de datos a los terminales. Otros dispositivos: hay muchos otros tipos de dispositivos que se puedan utilizar para construir una red, muchos de los cuales requieren una comprensin de conceptos ms avanzados del establecimiento de una red de la computadora antes de que puedan ser entendidos fcilmente (e.g., los cubos, las rebajadoras, los puentes, los interruptores, los cortafuegos del hardware, etc.). En las redes caseras y mviles, que conectan la electrnica de consumo, los dispositivos, tales como consolas vdeojuegos, estn llegando a ser cada vez ms comunes. Servidor de Autenticacin: Es el encargado de verificar que un usuario pueda conectarse a la red en cualquier punto de acceso, ya sea inalmbrico o por cable, basndose en el estndar 802.1x y puede ser un servidor de tipo RADIUS. Servidor DNS: Este tipo de servidores resuelven nombres de dominio sin necesidad de conocer su direccin IP.

Direccin MAC
En las redes de computadoras, la direccin MAC (siglas en ingls de media access control; en espaol "control de acceso al medio") es un identificador de 48 bits (3 bloques hexadecimales) que corresponde de forma nica a una tarjeta o dispositivo de red. Se conoce tambin como direccin fsica, y es nica para cada dispositivo. Est determinada y configurada por el IEEE (los ltimos 24 bits) y el fabricante (los primeros 24 bits) utilizando el organizationally unique identifier. La mayora de los protocolos que trabajan en la capa 2 del modelo OSI usan una de las tres numeraciones manejadas por el IEEE: MAC-48, EUI-48, y EUI-64, las cuales han sido diseadas para ser identificadores globalmente nicos. No todos los protocolos de comunicacin usan direcciones MAC, y no todos los protocolos requieren identificadores globalmente nicos. Las direcciones MAC son nicas a nivel mundial, puesto que son escritas directamente, en forma binaria, en el hardware en su momento de fabricacin. Debido a esto, las direcciones MAC son a veces llamadas burned-in addresses, en ingls. Si nos fijamos en la definicin como cada bloque hexadecimal son 8 dgitos binarios (bits), tendramos: 6 * 8 = 48 bits nicos

En la mayora de los casos no es necesario conocer la direccin MAC, ni para montar una red domstica, ni para configurar la conexin a internet, usndose esta slo a niveles internos de la red. Sin embargo, es posible aadir un control de hardware en un conmutador o un punto de acceso inalmbrico, para permitir slo a unas MAC concretas el acceso a la red. En este caso, deber saberse la MAC de los dispositivos para aadirlos a la lista. Dicho medio de seguridad se puede considerar un refuerzo de otros sistemas de seguridad, ya que tericamente se trata de una direccin nica y permanente, aunque en todos los sistemas operativos hay mtodos que permiten a las tarjetas de red identificarse con direcciones MAC distintas de la real. La direccin MAC es utilizada en varias tecnologas entre las que se incluyen:

Ethernet 802.3 CSMA/CD 802.5 o redes en anillo a 4 Mbps o 16 Mbps 802.11 redes inalmbricas (Wi-Fi). Asynchronous Transfer Mode

MAC opera en la capa 2 del modelo OSI, encargada de hacer fluir la informacin libre de errores entre dos mquinas conectadas directamente. Para ello se generan tramas, pequeos bloques de informacin que contienen en su cabecera las direcciones MAC correspondiente al emisor y receptor de la informacin.

Obtencin de MAC en distintos sistemas operativos


Windows 2000/XP/Vista/7
En el entorno Windows la Direccin MAC se conoce como Direccin Fsica. La manera ms sencilla es abrir una terminal de lnea de comandos ("cmd" desde Inicio>Ejecutar) y all usar la instruccin: ipconfig /all

UNIX y GNU/Linux y Mac OS X


En el entorno de familia *nix (Mac Os X est basado en UNIX), habr que abrir un terminal y ejecutar el comando: ifconfig -a. Esto nos muestra las interfaces seguidas de sus respectivas direcciones MAC en el epgrafe ether. (Nota: para ejecutar "ifconfig" algunas distribuciones requieren que se tengan privilegios de root: "sudo ifconfig -a"). Usando el paquete iproute2, es posible obtener las direcciones MAC de todas las tarjetas ethernet : "ip link list".

10

Tanto en Mac OS X 10.5, 10.6 o 10.7, para saber la direccin MAC basta con ir a Preferencias del Sistema > Red y dentro del apartado Wi-FI darle al botn Avanzado... En la ventana que saldr, abajo del todo vendr la direccin Wifi correspondiente a nuestro ordenador.

Symbian
Se puede obtener la direccin MAC de las interfaces WLan y Bluetooth: Para ello hay que teclear desde la pantalla de inicio los siguientes cdigos: *#62209526# (o sea las teclas que forman *#mac0wlan#) para Wlan y *#2820# (o sea *#bta0#) para bluetooth.

Windows Mobile 6
Se puede obtener la direccin MAC del dispositivo WiFi yendo al Gestor de conexiones => Wifi => Configuracin - Configuracin WLAN - Estado de Conexin. Aparece bajo el epgrafe "Direccin MAC".

Detalles de la direccin MAC


La direccin MAC original IEEE 802, ahora oficialmente llamada "MAC-48", viene con la especificacin Ethernet. Desde que los diseadores originales de Ethernet tuvieran la visin de usar una direccin de 48-bits de espacio, hay potencialmente 2^48 o 281.474.976.710.656 direcciones MAC posibles. Cada uno de los tres sistemas numricos usan el mismo formato y difieren slo en el tamao del identificador. Las direcciones pueden ser "direcciones universalmente administradas" o "localmente administradas". Una "direccin universalmente administrada" es nicamente asignada a un dispositivo por su fabricante, estas algunas veces son llamadas "burned-in addresses". Los tres primeros octetos (en orden de transmisin) identifican a la organizacin que public el identificador y son conocidas como "identificador de organizacin nico" (OUI). Los siguientes tres (MAC-48 y EUI-48) o cinco (EUI-64) octetos son asignados por esta organizacin a su discrecin, conforme al principio de la unicidad. La IEEE espera que el espacio de la MAC-48 se acabe no antes del ao 2100; De las EUI-64 no se espera se agoten en un futuro previsible. Con esto podemos determinar como si fuera una huella digital, desde que dispositivo de red se emiti el paquete de datos aunque este cambie de direccin IP, ya que este cdigo se ha acordado por cada fabricante de dispositivos.

Cambiar la direccin MAC


11

A pesar de que cada dispositivo de red tiene una direccin MAC nica globalmente que lo identifica, es la capa de sistema operativo la que gestiona y distribuye en la red, con lo que se puede modificar la direccin MAC que identifica la interfaz de red. Esta prctica es conocida como MAC spoofing.

iproute2
Asumiendo que la tarjeta a la que le queremos cambiar la MAC es la wlan0, estos comandos cambiarn la direccin MAC a 11:11:11:11:11:ab bajo Linux:
ip link set wlan0 down (desactiva la interfaz de red, no dejara cambiarla mientras est funcionando) ip link set wlan0 addr 11:11:11:11:11:ab ip link set wlan0 up (reactivarla)

ifconfig
En FreeBSD y Mac OS X:
ifconfig wlan0 down ifconfig wlan0 ether 11:11:11:11:11:ab ifconfig wlan0 up

En Linux:
ifconfig eth0 down ifconfig eth0 hw ether 11:11:11:11:11:ab ifconfig eth0 up

Microsoft Windows
En Windows, no puede cambiarse la MAC por comandos, pero puede cambiarse en la configuracin de la tarjeta de red en el Panel de control, o alterando el valor "NetworkAddress" en la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CEBFC1-08002BE10318}.

12

IEEE
IEEE (ledo i-e-cubo en Espaa e i-triple-e en latinoamrica) corresponde a las siglas de (Institute of Electrical and Electronics Engineers) en espaol Instituto de Ingenieros Elctricos y Electrnicos, una asociacin tcnico-profesional mundial dedicada a la estandarizacin, entre otras cosas. Con cerca de 400.000 miembros y voluntarios en 180 pases, [cita requerida] es la mayor asociacin internacional sin nimo de lucro formada por profesionales de las nuevas tecnologas, como ingenieros elctricos, ingenieros en electrnica, cientficos de la computacin, ingenieros en informtica, ingenieros en biomdica, ingenieros en telecomunicacin e ingenieros en Mecatrnica. Su creacin se remonta al ao 1884, contando entre sus fundadores a personalidades de la talla de Thomas Alva Edison, Alexander Graham Bell y Franklin Leonard Pope. En 1963 adopt el nombre de IEEE al fusionarse asociaciones como el AIEE (American Institute of Electrical Engineers) y el IRE (Institute of Radio Engineers). Segn el mismo IEEE, su trabajo es promover la creatividad, el desarrollo y la integracin, compartir y aplicar los avances en las tecnologas de la informacin, electrnica y ciencias en general para beneficio de la humanidad y de los mismos profesionales. Algunos de sus estndares son:

VHDL POSIX IEEE 1394 IEEE 488 IEEE 802 IEEE 802.11 IEEE 754

Mediante sus actividades de publicacin tcnica, conferencias y estndares basados en consenso, el IEEE produce ms del 30% de la literatura publicada en el mundo[cita requerida] sobre ingeniera elctrica, en computacin, telecomunicaciones y tecnologa de control, organiza ms de 1000 conferencias al ao en todo el mundo,[cita requerida] y posee cerca de 900 estndares activos, con otros 700 ms bajo desarrollo

13

VHDL
VHDL es el acrnimo que representa la combinacin de VHSIC y HDL, donde VHSIC es el acrnimo de Very High Speed Integrated Circuit y HDL es a su vez el acrnimo de Hardware Description Language. Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros mtodos para disear circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero stos no son prcticos en diseos complejos. Otros lenguajes para el mismo propsito son Verilog y ABEL. Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lgico Programable), FPGA (Field Programmable Gate Array), ASIC y similares

Formas de describir un circuito


Dentro del VHDL hay varias formas con las que podemos disear el mismo circuito y es tarea del diseador elegir la ms apropiada.

Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que ms se parece a los lenguajes de software ya que la descripcin es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre s, y en paralelo con asignaciones concurrentes de seales y con las instancias a otros componentes. Flujo de datos: describe asignaciones concurrentes (en paralelo) de seales. Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseo de jerarqua superior, al conectar los puertos de estas instancias con las seales internas del circuito, o con puertos del circuito de jerarqua superior. Mixta: combinacin de todas o algunas de las anteriores.

En VHDL tambin existen formas metdicas para el diseo de mquinas de estados, filtros digitales, bancos de pruebas etc.

14

Secuencia de diseo
El flujo de diseo de un sistema podra ser:

Divisin del diseo principal en mdulos separados. La modularidad es uno de los conceptos principales de todo diseo. Normalmente se diferencia entre dos metodologas de diseo: top-down y botton-up. La metodologa top-down consiste en que un diseo complejo se divide en diseos ms sencillos que se puedan disear (o describir) ms fcilmente. La metodologa botton-up consiste en construir un diseo complejo a partir de mdulos, ya diseados, ms simples. En la prctica, un diseo usa generalmente ambas metodologas. Entrada de diseos, pueden usarse diversos mtodos tal como VHDL como se vi anteriormente. Simulacin funcional, es decir, comprobaremos que lo escrito en el punto anterior realmente funciona como queremos, si no lo hace tendremos que modificarlo. En este tipo de simulacin se comprueba que el cdigo VHDL o Verilog (u otro tipo de lenguaje HDL) ejecuta correctamente lo que se pretende. Sntesis. En este paso se adapta el diseo anterior (que sabemos que funciona) a un hardware en concreto, ya sea una FPGA o un ASIC. Hay sentencias del lenguaje que no son sintetizables, como por ejemplo divisiones o exponenciaciones con nmeros no constantes. El hecho de que no todas las expresiones en VHDL sean sintetizables es que el VHDL es un lenguaje genrico para modelado de sistemas (no slo para diseo de circuitos digitales), por lo que hay expresiones que no pueden ser transformadas a circuitos digitales. Durante la sntesis se tiene en cuenta la estructura interna del dispositivo, y se definen restricciones, como la asignacin de pines. El sintetizador optimiza las expresiones lgicas con objeto de que ocupen menor rea, o bien son eliminadas las expresiones lgicas que no son usadas por el circuito. Simulacin post-sntesis. En este tipo de simulacin se comprueba que el sintetizador ha realizado correctamente la sntesis del circuito, al transformar el cdigo HDL en bloques lgicos conectados entre s. Este paso es necesario ya que, a veces, los sintetizadores producen resultados de sntesis incorrectos, o bien realiza simplificaciones del circuito al optimizarlo. Ubicacin y enrutamiento. El proceso de ubicacin consiste en situar los bloques digitales obtenidos en la sntesis de forma ptima, de forma que aquellos bloques que se encuentran muy interconectados entre s se siten prximamente. El proceso de enrutamiento consiste en interconectar adecuadamente los bloques entre s, intentando minimizar retardos de propagacin para maximizar la frecuencia mxima de funcionamiento del dispositivo. Anotacin final. Una vez ha sido completado el proceso de ubicacin y enrutamiento, se extraen los retardos de los bloques y sus interconexiones, con objeto de poder realizar una simulacin temporal (tambin llamada simulacin post-layout). Estos retardos son anotados en un fichero SDF (Standard Delay Format) que asocia a cada bloque o interconexin un retardo mnimo/tpico/mximo. Simulacin temporal. A pesar de la simulacin anterior puede que el diseo no funcione cuando se programa, una de las causas puede ser por los retardos internos del chip. Con esta simulacin se puede comprobar, y si hay errores se tiene que volver a uno de los anteriores pasos. Programacin en el dispositivo. Se implementa el diseo en el dispositivo final y se comprueba el resultado.

15

Procedimiento de diseo
El primer paso del diseo consiste en la construccin del diagrama en bloque del sistema. En diseos complejos como en software los programas son generalmente jerrquicos y VHDL ofrece un buen marco de trabajo para definir los mdulos que integran el sistema y sus interfaces, dejando los detalles para pasos posteriores. El segundo paso es la elaboracin del cdigo en VHDL para cada modulo, para sus interfaces y sus detalles internos. Como el VHDL es un lenguaje basado en texto, se puede utilizar cualquier editor para esta tarea, aunque el entorno de los programas de VHDL incluye su propio editor de texto. Despus que se ha escrito algn cdigo se hace necesario compilarlo. El compilador de VHDL analiza este cdigo y determina los errores de sintaxis y chequea la compatibilidad entre mdulos. Crea toda la informacin necesaria para la simulacin. El prximo paso es la simulacin, el cual le permite establecer los estmulos a cada modulo y observar su respuesta. El VHDL da la posibilidad de crear bancos de prueba que automticamente aplica entradas y compara las salidas con las respuestas deseadas. La simulacin es un paso dentro del proceso de verificacin. El propsito de la simulacin es verificar que el circuito trabaja como se desea, es decir es ms que comparar entradas y salidas. En proyectos complejos se hace necesario invertir un gran tiempo en generar pruebas que permitan evaluar el circuito en un amplio rango de operaciones de trabajo. Encontrar errores en este paso del diseo es mejor que al final, en donde hay que repetir entonces una gran cantidad de pasos del diseo. Hay dos dimensiones a verificar:

Su comportamiento funcional en donde se estudia su comportamiento lgico independiente de consideraciones de tiempo como las demoras en las compuertas. Su verificacin en el tiempo, en donde se incluye las demoras de las compuertas y otras consideraciones de tiempo como los tiempos de establecimiento (set-up time) y los tiempos de mantenimiento (hold time).

Despus de la verificacin s est listo para entrar en la fase final del diseo. La naturaleza y herramientas en esta fase dependen de la tecnologa, pero hay tres pasos bsicos. El primero es la sntesis que convierte la descripcin en VHDL en un conjunto de componentes que pueden ser realizados en la tecnologa seleccionada. Por ejemplo con PLD se generan las ecuaciones en suma de productos. En ASIC genera una lista de compuertas y un netlist que especifica como estas compuertas son interconectadas. El diseador puede ayudar a la herramienta de sntesis especificando requerimientos a la tecnologa empleada, como el mximo nmero de niveles lgicos o la capacidad de salida que se requiere. En el siguiente paso de ajuste (fiting) los componentes se ajustan a la capacidad del dispositivo que se utiliza. Para PLD esto significa que acopla las ecuaciones obtenidas con los elementos AND OR que dispone el circuito. Para el caso de ASIC se dibujaran las compuertas y se definira como conectarlas. En l ltimo paso se realiza la verificacin temporal ya que a esta altura es que se pueden calcular los elementos parsitos como las capacidades de las conexiones. Como en cualquier otro proceso creativo puede ser que ocasionalmente se avance dos pasos hacia delante y uno hacia atrs (o peor).

Estructura de programa
16

VHDL fue diseado en base a los principios de la programacin estructurada. La idea es definir la interfaz de un modulo de hardware mientras deja invisible sus detalles internos. La entidad (ENTITY) en VHDL es simplemente la declaracin de las entradas y salidas de un modulo mientras que la arquitectura (ARCHITECTURE) es la descripcin detallada de la estructura interna del modulo o de su comportamiento. En la siguiente figura se ilustra el concepto anterior. Muchos diseadores conciben la Entity como una funda de la arquitectura dejando invisible los detalles de lo que hay dentro (architecture). Esto forma la base de un sistema de diseo jerrquico, la arquitectura de la entidad de ms nivel (top level) puede usar otras entidades dejando invisible los detalles de la arquitectura de la identidad de menos nivel. En la figura las entidades B, E y F no utilizan a otras entidades. Mientras que la entidad A utiliza a todas las dems. A la pareja entidad - arquitectura se le llama modelo. En un fichero texto VHDL la entidad y la arquitectura se escriben separadas, por ejemplo a continuacin se muestra un programa muy simple en VHDL de una compuerta de 2 entradas. Como en otros programas VHDL ignora los espacios y saltos de lneas. Los comentarios se escriben con 2 guiones (--) y termina al final de la lnea. En la figura siguiente se muestra la estructura de un modelo en VHDL. SINTAXIS PARA LA DECLARACION DE LA ENTIDAD VHDL define muchos caracteres especiales llamados palabras reservadas. Aunque las palabras reservadas no son sensibles a las maysculas o minsculas, el ejemplo que sigue las utilizaremos en maysculas y negritas para identificarlas.
ENTITY Nombre_entidad IS PORT ( Nombre de seal: modo tipo de seal; . . . Nombre de seal: END nombre_entidad ; modo tipo de seal ) ;

Adems de darle nombre a la entidad el propsito de la declaracin es definir sus seales (o ports) de interfaz externa en su declaracin de ports. Adems de las palabras reservadas o claves ENTITY, IS, PORT and END, una ENTITY tiene los siguientes elementos.

Nombre_entidad; es un identificador seleccionado por el usuario para seleccionar la entidad. Nombre de seal; es una lista de uno o ms identificadores separados por una coma y seleccionados por el usuario para identificar las seales externas de la interfaz. MODO es una de las 4 siguientes palabras reservadas para indicar la direccin de la seal:

Modo

Descripcin

IN

En este modo las seales solo entran en la entidad

17

OUT

Las seales salen de la entidad

BUFFER Este modo se utiliza para las seales que adems de salir de la entidad pueden usarse como entradas realimentadas

INOUT

Este modo se utiliza para seales bidireccionales. Se emplea en salida con tres estados. Se puede asignar como sustituto de los tres modos anteriores, pero no se aconseja pues dificulta la comprensin del programa.

Cuando se omite el modo de una seal en la declaracin de la entidad se sobreentiende que es de entrada.

Tipo de seal; en VHDL, hay varios tipos de seales predefinidas por el lenguaje, tales como:

TIPO

Caractersticas

BIT

En este tipo las seales solo toman los valores de "1" y "0"

Booleana

En este tipo las seales solo toman los valores de True y False

Std_logic

En este tipo las seales toman 9 valores, entre ellos tenemos: "1", "0", "Z" (para el 3er estado), "-" (para los opcionales).

Integer

En este tipo las seales toman valores enteros. Los 1 y los 0 se escriben sin

18

Bit_Vector

En este tipo los valores de las seales son una cadena de unos y ceros. Ejemplo: 1000

Std_Logic_Vector En este tipo los valores de las seales son una cadena de los nueve valores permisibles para el tipo std_logic.

Character

Contiene todos los caracteres ISO de 8 bits, donde los primeros 128 son los caracteres ASCII.

Ejemplo: 1-0Z -231 + 1 231 - 1 Integer -2 147 483 647 2 147 483 647 Bit Character Severity_level Bit_vector Integer String Boolean Real time

Operadores

Tipo

Std_logic

Uninitialized

Forcing Unknown

Forcing 0

Forcing 1

19

High Impedance

Weak Unknown

Weak 0

Weak 1

Dont care

Este tipo es parte del paquete IEEE 1164 Adems el usuario puede definir otros tipos de seales, lo que resulta muy conveniente en algunos casos, como en el diseo de mquinas de estados. El lenguaje VHDL concede mxima importancia a los tipos de seales, no se admite realizar una asignacin mezclando tipos diferentes. Un PORT de una entidad y sus modos y tipos pueden ser vistos por otros mdulos que la utilicen. La operacin interna de la entidad est definida en la architecture cuya sintaxis general se muestra a continuacin. Ejemplo, escriba la declaracin de la entidad para un circuito digital con dos entradas a y b y una salida F segn se muestra en la siguiente figura.
ENTITY ejemplo1 IS PORT ( a, b : IN bit; F : OUT END ejemplo1 ; bit );

Sintaxis para la definicin de la arquitectura

20

La sintaxis para la declaracin de la arquitectura es la siguiente (aparecen en mayscula las palabras reservadas del lenguaje VHDL, pero esto no es necesario):
ARCHITECTURE nombre_arquitectura OF nombre_entidad IS Declaracin de tipos Declaracin de seales. Declaracin de constantes Declaracin de componentes Definicin de funciones Definicin de procedimientos

BEGIN Enunciado concurrente . . . Enunciado concurrente END nombre_arquitectura;

Las declaraciones y definiciones que preceden al BEGIN, pueden estar presentes todas, algunas o ninguna. Esto depende del tipo de diseo que se est realizando. No obstante la declaracin de seales se utiliza mucho, pues contribuye entre otras cosas a la claridad del diseo. Nombre_entidad es el nombre de su entidad. Nombre_arquitectura es el nombre dado por el usuario a la arquitectura. Las seales externas de la arquitectura son las declaradas en el port de la entidad, no obstante una arquitectura puede contener seales y otras declaraciones que solo existen localmente en esa arquitectura. Declaraciones comunes a varias entidades pueden ser puestas en un paquete separado utilizado por todas las entidades. Las declaraciones en la arquitectura pueden aparecer en diferente orden, pero lo ms usual es comenzar por la declaracin de las seales. Signal signal-name : signal-type Variables en VHDL son similares a las seales excepto que ellas no tienen significado fsico en el circuito. En el ejemplo anterior no se puso declaracin de variables, ellas son usadas en funciones, procedimientos y procesos. Todas las seales, variables y constantes en VHDL tienen asociadas un tipo, este especifica el conjunto de valores que el objeto puede tomar. Tambin hay un conjunto de operadores tales como add, and etc, asociados con un tipo dado.

21

] Operadores en VHDL En VHDL existen diferentes operadores entre los que tenemos: Operadores Definidos en VHDL para los tipos: Lgicos AND, OR, XOR, NOT, NAND, NOR, XNOR Bit y Booleanos De relacin =, /=, <, >, >=, <= Integer, Bit y Bit_Vector Concatenacin & Bit, Bit_Vector y para las cadenas Aritmticos +, -, *, /, Mod, Rem, Abs, ** Integer* Mod: Modulo de la divisin. Rem: Resto de la divisin Abs: valor absoluto.
o

exponentiation.

El WARP solo soporta multiplicar y dividir por 2. Ejemplo: Escriba la definicin de arquitectura para la entidad del ejemplo anterior.
ARCHITECTURE and_2ent OF ejemplo1 IS BEGIN F <= a AND b; END and_2ent;

Otra forma de escribir el mismo ejemplo anterior es:


ARCHITECTURE and_2ent OF ejemplo1 IS BEGIN F <= 1 WHEN a=1 0; END and_2ent; AND b=1 ELSE

Otra forma de escribir el mismo ejemplo anterior es:


ARCHITECTURE and_2ent OF ejemplo1 IS BEGIN

22

F <= 1 WHEN a=1 0 0 0 -; END and_2ent;

AND b=1 ELSE AND b=0 ELSE AND b=1 ELSE AND b=0 ELSE

WHEN a=0 WHEN a=0 WHEN a=1

Ejemplo; Realice el programa en VHDL de un circuito con dos entradas y una salida f. La entidad es la misma anterior, pero supongamos que la funcin que realiza el circuito es tal que la salida ser 0 solo si las entradas son iguales (operacin XOR).
ENTITY ejemp2_3 IS --Solo se cambia el nombre de la entidad PORT ( a, b: IN bit; F: OUT bit); END ejem2_3;

ARCHITECTURE dos_ent OF ejem2_3 IS BEGIN f <= 1 WHEN a /= b ELSE 0 ; END dos_ent;

En VHDL lo que se escribe despus de es un comentario. Asignaciones condicionales en VHDL. En VHDL hay varias asignaciones que se realizan en forma condicionada. Analizaremos dos de ellas. WITH ...... SELECT .... WHEN ..... OTHERS WHEN ..... ELSE

23

Ejemplo: Escriba en VHDL un fichero para obtener una compuerta NOR de dos entradas. Utilice seales tipo Boleana y asignaciones condicionales de la forma WHEN ... ELSE .....
ENTITY Boole_4 IS PORT ( a, b: IN Boolean; Y: END Boole_4; OUT Bolean);

ARCHITECTURE Boole4_a OF Boole_4 IS BEGIN Y <= true WHEN a = false and b = false ELSE False; END Bole4_a;

Ejemplo: repita el diseo anterior, pero utilice asignaciones condicionales de la forma WITH .. SELECT .. WHEN .. OTHERS
ENTITY Boole_5 IS PORT ( a, b: IN Boolean; Y: END Boole_5; OUT Bolean);

ARCHITECTURE Boole5_a OF Boole_5 IS BEGIN WITH a SELECT

24

Y <= false WHEN true, Not b WHEN END Bole5_a; OTHERS;

Sintaxis para el trabajo con vectores. Los vectores se describen como: a(3), a(2), a(1), a(0), siempre comenzando por 0.Cuando un vector se declara en orden descendente utilizando la palabra clave DOWNTO por ejemplo (3 DOWNTO 0), debemos interpretar que el MSB es a(3) y el LSB es a(0). Si se declara (0 to 3) , entonces el LSB es a(3) y el MSB es a(0). ] Bibliotecas Una biblioteca en VHDL es un lugar en donde se guarda la informacin relacionada con un diseo determinado. Al comienzo de cada diseo el compilador crea automticamente una biblioteca llamada WORK con este objetivo. Adems de esta biblioteca particular existen otras bibliotecas de tipo general que contienen un conjunto de definiciones que pueden utilizarse en cualquier diseo. Un ejemplo de biblioteca general es la llamada Library IEEE, que contiene definiciones estndar para VHDL. Para utilizar una biblioteca general es necesario escribir su nombre al inicio del programa, por eso es muy comn que en la primera lnea de un diseo en VHDL aparezca escrito "Library IEEE", de sta forma dicha biblioteca se hace visible para el diseo. [Paquetes En los paquetes se guardan definiciones de tipos y objetos que pueden ser utilizados en los diferentes diseos que invoquen su utilizacin. Un paquete muy utilizado es el paquete estndar IEEE_STD_LOGIC_1164.ALL; La utilizacin de un paquete en un diseo se realiza invocando su empleo mediante la clusula USE y el nombre del paquete. Por ejemplo USE IEEE_STD_LOGIC_1164.ALL; La terminacin ALL, permite utilizar todas las definiciones y objetos que contiene dicho paquete. Adems del estndar, existen otros paquetes de utilizacin general y tambin los diseadores que trabajan con VHDL pueden definir sus propios paquetes, lo que les permite reutilizar diseos realizados anteriormente como parte de nuevos diseos. Sintaxis para la definicin de paquetes. La sintaxis para la definicin de un paquete es la siguiente:
PACKAGE nombre_paquete IS Declaracin de tipos Declaracin de seales.

25

Declaracin de constantes Declaracin de componentes Definicin de funciones Definicin de procedimientos END nombre_paquete

PACKAGE BODY nombre_paquete IS Declaracin de tipos Declaracin de constantes Definicin de funciones Definicin de procedimientos END nombre_paquete

Esta ltima parte que aparece entre los dos END, la relacionada con el cuerpo del paquete puede o no existir y en el caso de existir las declaraciones y definiciones contenidos en la misma son locales, visibles solo dentro del paquete, mientras que las declaraciones y definiciones contenidas en la primera parte del paquete son visibles para todos los diseos que los utilicen. Sintaxis para la declaracin de una componente en VHDL
COMPONENT nombre_componente PORT ( Nombre de seal: modo tipo de seal; ... Nombre de seal: END COMPONENT; modo tipo de seal);

26

Extensin (Overload) de los operadores en VHDL La validez de los operadores dados anteriormente se ha extendido a otros tipos para los que no estaban originalmente definidos. Por ejemplo el paquete estndar IEEE.Std_Logic_1164 define la extensin de los operadores lgicos para los tipos std_logic y Std_logic_Vector. Sin embargo la extensin de los operadores de relacin y aritmticos para los tipos std_logic y std_logic_vector no estn definidos en el paquete standard sino en otro paquete llamado Work_Std_arith. DISEO JERARQUICO EN VHDL En VHDL un diseo puede utilizar componentes que son a su vez otros circuitos o sistemas ms sencillos previamente diseados. Esto constituye una gran ventaja pues facilita el trabajo en equipo y la distribucin de tareas entre distintos grupos de diseadores. A medida que se sube hacia el nivel de jerarqua mxima la arquitectura se hace ms general mientras que en los niveles inferiores el grado de detalles es mayor. En la siguiente figura se muestra un esquema que ilustra los diferentes niveles jerrquicos. Disee un CLC con tres entradas a, b y c y una salida T, que realice la funcin mostrada en la tabla siguiente:

Entradas Salida a b c T 0 0 - 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0
ENTITY T IS PORT (a,b,c: IN BIT; T: OUT BIT); END T;

ARCHITECTURE T OF T IS BEGIN T <= 1 WHEN a = 0 1 0; END T; AND b = 1 AND b = 0 AND c = 1 AND ELSE ELSE

WHEN a = 1

c = 0

Ahora lo empaquetamos para poder utilizarlo en otro diseo:


PACKAGE TPKG IS COMPONENT T -- El nombre del componente tiene que ser igual a la entidad que se empaqueta

27

PORT (a,b,c: IN BIT; T: OUT BIT); END COMPONENT; END TPKG;

Ejemplos de programas
En un diseo en VHDL tenemos dos partes principales: la entidad es como una caja negra en la que se definen entradas y salidas pero no se tiene acceso al interior, y es lo que usa cuanto se reutiliza un diseo dentro de otro; la arquitectura, que es donde se describe el diseo de la forma que se ha visto antes. Otros elementos del lenguaje son las libreras, paquetes, funciones...

Hola Mundo
Programa Hola Mundo (extrado de Wikipedia en ingls):
use std.textio.all; -- bibliotecas

entity hola is end entity hola;

architecture Wiki of hola is constant mensaje: string := "hola mundo"; begin process is variable L: line; begin -- proceso -> secuencial -- el mensaje

28

write(L, mensaje); writeline(output, L); wait; end process; end architecture Wiki; -- escribe todo lo anterior

Multiplexor
Este ejemplo simula un multiplexor de dos entradas. Es un ejemplo sencillo que muestra como describir un elemento a partir de su funcionamiento.
entity MUX2a1 is port( a: in std_logic; b: in std_logic; sel: in std_logic; z: out std_logic); end entity

architecture dataflow of MUX2a1 is begin z <= a when sel='0' else b; end dataflow;

Un ejemplo algo ms complejo es el de un multiplexor de cuatro entradas. Este ejemplo trabaja con vectores para controlar la entrada activa a travs de la entrada sel.
entity MUX4a1 is

29

port(

a: in std_logic; b: in std_logic; c: in std_logic; d: in std_logic; z: out std_logic; sel: in std_logic_vector(1 downto 0));

end entity; architecture dataflow of MUX4a1 is begin process(a,b,c,d,sel) begin case sel is when "00" => z <= a; when "01" => z <= b; when "10" => z <= c; when "11" => z <= d; end case; end process; end dataflow;

Contador
Este es un ejemplo de un sistema que contar pulsos de un reloj digital (CLK) hasta llegar a 1000 y entonces volver a empezar. La inicializacin se consigue con un reset (RST).
library IEEE; -- bibliotecas

30

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity CONTADOR is port(RST: in std_logic; CLK: in std_logic; salida: inout std_logic_vector(9 downto 0)); end entity; -- entradas -- salidas

architecture contador of contador is signal aux: std_logic_vector(9 downto 0); begin process (CLK,RST) begin if RST='1' then aux<=(others=>'0'); elsif(clk'event and clk='1') then if(salida="1111101000") then aux<=(others=>'0'); else aux<=aux+1; end if; end if; -- cuento uno ms -- flanco de reloj ascendente -- mxima cuenta -- vuelvo a comenzar -- reset -> inicializacin -- programacin secuencial -- seal auxiliar

31

salida<=aux; end process; end contador;

-- saco la salida

Despus de compilar este programa habra que indicar a la herramienta encargada del diseo las restricciones oportunas para asignar las seales de entrada y salida a las patillas del chip donde se programar o bien usar este diseo dentro de otro. Correccin Hamming Ejemplo del cdigo corrector de errores Hamming implementado en VHDL.
library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity hamcorr is port( DU: in STD_LOGIC_VECTOR(1 to 7); DC: out STD_LOGIC_VECTOR( 1 to 7); NOERROR: out STD_LOGIC ); end hamcorr; architecture hamcorr of hamcorr is function syndrome (D:STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is variable SYN: STD_LOGIC_VECTOR (2 downto 0); begin

32

SYN(0):= D(1) xor D(3) xor D(5) xor D(7); SYN(1):= D(2) xor D(3) xor D(6) xor D(7); SYN(2):= D(4) xor D(5) xor D(6) xor D(7); return(SYN); end syndrome; begin process(DU) variable i : INTEGER; begin DC<=DU; i:=CONV_INTEGER(syndrome(DU)); if i=0 then NOERROR <='1'; else NOERROR <='0'; DC(i) <=not DU(i); end if; end process; end hamcorr;

Con este cdigo obtenemos la correccin de los errores de una palabra mediante Hamming.

IEEE 802
IEEE 802 es un estudio de estndares elaborado por el Instituto de Ingenieros Elctricos y Electrnicos (IEEE) que acta sobre Redes de ordenadores. Concretamente y segn su propia definicin sobre redes de rea local (RAL, en ingls LAN) y redes de rea metropolitana (MAN en ingls). Tambin se usa el nombre IEEE 802 para referirse a los estndares que proponen, algunos de los cuales son muy conocidos: Ethernet (IEEE 802.3), o Wi-Fi (IEEE 802.11). Est, incluso, intentando estandarizar Bluetooth en el 802.15 (IEEE 802.15).

33

Se centra en definir los niveles ms bajos (segn el modelo de referencia OSI o sobre cualquier otro modelo). Concretamente subdivide el segundo nivel, el de enlace, en dos subniveles: El de Enlace Lgico (LLC), recogido en 802.2, y el de Control de Acceso al Medio (MAC), subcapa de la capa de Enlace Lgico. El resto de los estndares actan tanto en el Nivel Fsico, como en el subnivel de Control de Acceso al Medio.

Historia
En febrero de 1980 se form en el IEEE un comit de redes locales con la intencin de estandarizar un sistema de 1 o 2 Mbps que bsicamente era Ethernet (el de la poca). Le toc el nmero 802. Decidieron estandarizar el nivel fsico, el de enlace y superiores. Dividieron el nivel de enlace en dos subniveles: el de enlace lgico, encargado de la lgica de re-envos, control de flujo y comprobacin de errores, y el subnivel de acceso al medio, encargado de arbitrar los conflictos de acceso simultneo a la red por parte de las estaciones. Para final de ao ya se haba ampliado el estndar para incluir el Token Ring (Red en anillo con paso de testigo) de IBM y un ao despus, y por presiones de grupos industriales, se incluy Token Bus (Red en bus con paso de testigo), que inclua opciones de tiempo real y redundancia, y que se supona idneo para ambientes de fbrica. Cada uno de estos tres "estndares" tena un nivel fsico diferente, un subnivel de acceso al medio distinto pero con algn rasgo comn (espacio de direcciones y comprobacin de errores), y un nivel de enlace lgico nico para todos ellos. Despus se fueron ampliando los campos de trabajo, se incluyeron redes de rea metropolitana (alguna decena de kilmetros), personal (unos pocos metros) y regional (algn centenar de kilmetros), se incluyeron redes inalmbricas (WLAN), mtodos de seguridad, comodidad, etc.

Grupos de Trabajo

IEEE 802.1 Normalizacion de interfaz. IEEE 802.2 Control de enlace lgico. IEEE 802.3 CSMA / CD (ETHERNET) IEEE 802.4 Token bus. IEEE 802.5 Token ring. IEEE 802.6 MAN (ciudad) (fibra ptica) IEEE 802.7 Grupo Asesor en Banda ancha. IEEE 802.8 Grupo Asesor en Fibras pticas.

IEEE 802.9 Voz y datos en LAN. IEEE 802.10 Seguridad. IEEE 802.11 Redes inalmbricas WLAN. IEEE 802.12 Prioridad por demanda IEEE 802.13 Se ha evitado su uso por supersticin IEEE 802.14 Modems de cable. IEEE 802.15 WPAN (Bluetooth)

34

IEEE 802.16 - Redes de acceso metropolitanas sin hilos de banda ancha (WIMAX) IEEE 802.17 Anillo de paquete elastico. IEEE 802.18 Grupo de Asesoria Tcnica sobre Normativas de Radio.

IEEE 802.19 Grupo de Asesora Tcnica sobre Coexistencia. IEEE 802.20 Mobile Broadband Wireless Access. IEEE 802.21 Media Independent Handoff. IEEE 802.22 Wireless Regional Area Network.

Token Ring

IBM 8228 MAU.

Conector hermafrodita IBM con clip de bloqueo.

Token Ring es una arquitectura de red desarrollada por IBM en los aos 1970 con topologa fsica en anillo y tcnica de acceso de paso de testigo, usando un frame de 3 bytes llamado token que viaja alrededor del anillo. Token Ring se recoge en el estndar IEEE 802.5. En desuso por la popularizacin de Ethernet; actualmente no es empleada en diseos de redes.

El estndar IEEE 802.5


El IEEE 802.5 es un estndar por el Institute of Electrical and Electronics Engineers (IEEE), y define una red de rea local LAN en configuracin de anillo (Ring), con mtodo de paso de testigo (Token) como control de acceso al medio. La velocidad de su estndar es de 4 16 Mbps. El diseo de una red de Token Ring fue atribuido a E. E. Newhall en el ao 1969. IBM public por primera vez su topologa de Token Ring en marzo de 1982, cuando esta compaa present los papeles para el proyecto 802 del IEEE. IBM anunci un producto Token Ring en 1984, y en 1985 ste lleg a ser un estndar de ANSI/IEEE.

Es casi idntica y totalmente compatible con la red del token ring de IBM. De hecho, la especificacin de IEEE 802.5 fue modelada despus del token ring, y contina a la sombra sta. Adems, el token ring de la IBM especifica una estrella, con todas las estaciones del extremo unidas a un dispositivo al que se le llama "unidad del acceso multiestacin" (MSAU). En contraste, IEEE 802.5 no especifica una topologa, aunque virtualmente todo el IEEE 802.5 puesto en prctica se basa en una estrella, y tampoco especifica un tipo de medios, mientras que las redes del token ring de la IBM utilizan el tamao del campo de informacin de encaminamiento. El IEEE 802.5 soporta dos tipos de frames bsicos: tokens y frames de comandos y de datos. El Token es una trama que circula por el anillo en su nico sentido de circulacin. Cuando una estacin desea transmitir y el Token pasa por ella, lo toma. ste slo puede permanecer en su poder un tiempo determinado (10 ms). Tienen una longitud de 3 bytes y consiste en un delimitador de inicio, un byte de control de acceso y un delimitador de fin. En cuanto a los Frames de comandos y de datos pueden variar en tamao, dependiendo del tamao del campo de informacin. Los frames de datos tienen informacin para protocolos mayores, mientras que los frames de comandos contienen informacin de control.

Caractersticas principales

Utiliza una topologa lgica en anillo, aunque por medio de una unidad de acceso de estacin mltiple (MSAU), la red puede verse como si fuera una estrella. Tiene topologia fsica estrella y topologa lgica en anillo. Utiliza cable especial apantallado, aunque el cableado tambin puede ser par trenzado. La longitud total de la red no puede superar los 366 metros. La distancia entre una computadora y el MAU no puede ser mayor que 100 metros. A cada MAU se pueden conectar ocho computadoras. Estas redes alcanzan una velocidad mxima de transmisin que oscila entre los 4 y los 16 Mbps. Posteriormente el High Speed Token Ring (HSTR) elev la velocidad a 110 Mbps pero la mayora de redes no la soportan

MAC en Token Ring

Formato de trama:

1 byte 1 byte 1 byte 6 bytes

6 bytes

>= 0 4 bytes 1 byte 1 byte

SD

AC

FC

Dir. Destino Dir. Origen Info FCS

ED

FS

Formato del testigo:

SD AC ED

SD/ED (Start / Ending designator): Codificacin HH LL (No vlidos en Manchester Diferencial). AC: Access control.

PPP T M RRR

PPP: Prioridad. T: Testigo (Si/No). M: Monitorizacin. RRR: Reserva de prioridad.

FC: Frame Control (Tipo)


Datos (LLC-PDU). Control (Mantenimiento y operacin de la red).

FCS: CRC por errores. FS: Frame Status, sirve para confirmacin MAC.

A C rr A C rr

A: Se ha pasado por el destino. C: El destinatario la ha ledo.

Operacin

Hosts con datos de prioridad P (8 niveles). La estacin ve pasar el testigo, si nadie transmite datos, el testigo esta circulando continuamente. Captura del testigo: Aprovecha SD del testigo e introduce su trama slo si la prioridad del testigo es menor o igual que la de los datos a transmitir. Retiene el testigo durante el Token Holding Time (mximo tiempo que puede tener el token una estacin) - 10 ms - y transmite durante dicho tiempo (Va retirando tambin las tramas transmitidas). Pone en circulacin el testigo.

Funciones de mantenimiento / supervisin

Estacin supervisora:

Monitoriza la red. Enva periodicamente una trama de control (supervisor activo). Vigila la presencia del testigo: Si no lo encuentra tras cierto tiempo, lo pone de nuevo en circulacin. Vigila la longitud del anillo para que sea mayor o igual que 24 bits (un testigo completo) aadiendo ms si es necesario. Vigila la presencia de tramas hurfanas -> las retira: Marca el bit M de las tramas. Vigila la presencia de tramas mutiladas -> las retira.