miércoles, 26 de enero de 2011

Programación Orientada a Objetos

Sesión 1

Idea del proyecto...

Mi idea para el proyecto de Programación Orientada a Objetos es hacer un sistema de cuenta de ahorro.

La Parte inicial del sistema contendrá una área en la que se podrá capturar el usuario y la contraseña, para poder accesar a tu cuenta.

Después en la sección del usuario, tendrá distintas funciones como: revisar el estado de cuenta ($ el dinero que tenemos ahorrado), ahorrar, transferir dinero a otra cuenta (otro usuario), retirar dinero.

Obviamente al inicio del programa aparte de pedirte un usuario y contraseña, también habrá una opción de crear una cuenta, para empezar a usar el sistema.

Pienso usar la entrada y salida de archivos en Java, porque eso nunca lo he hecho en ese Lenguaje y quiero aprender más sobre eso, voy a guardar cada cuenta de ahorro en archivos de texto distintos.

También quiero que el sistema se maneje con una interfaz gráfica para hacerlo más amigable, y de paso aprender nuevas cosas de Java.

Espero con el tiempo encontrar qué más cosas ponerle al sistema o si se me ocurre algo más ambicioso chance y cambio de proyecto jeje...

Cualquier corrección pueden escribirla en los comentarios.

Saludos!

lunes, 24 de enero de 2011

Taller de Programación Orientada a Objetos

Taller de Programación Orientada a Objetos.
Sesión 1

Hola soy Carlos Triana, para la clase de Programación Orientada a Objetos y Taller (clase con la Dra. Sara Elena Garza) yo me decidí por utilizar el lenguaje Java.

Herramientas.

Las herramientas que yo tengo instaladas en Windows para trabajar con Java son las siguientes:

-JDK: JDK es el kit para desarrollador de Java, nos servirá para compilar nuestros programas hechos en Java.

Si están usando Windows, esta creo yo es la mejor manera para instalar JDK:
Primero vayan a este link para descargar el JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html

Dentro de la página les preguntarán para que sistema operativo quieren el JDK, eligen y dan continuar, después les aparecerá una liga para descargar un archivo .exe que contiene el JDK, pesa aproximadamente 70MB

Ya descargado, abren el ejecutable, y siguen los pasos de la instalación.

En caso de que usen ubuntu es mas facil la instalación, solo deben poner en terminal el siguiente comando:
sudo apt-get install sun-java6-jdk

O también pueden usar la herrmamienta Synaptic para descargarlo e instalarlo.

-Notepad ++ : Para escribir el código en Windows, yo utilizo el editor de textos Notepad ++, porque tiene resaltador de palabras para muchos lenguajes de programación.

Cuando estoy en Ubuntu utilizo el editor de textos que viene por default en Ubuntu "gedit".

Ahora les voy a mostrar el primer programa que nos encargó la Dra.

Clase Prepago.

El programa es muy simple, trata sobre la tarjeta de prepago en los camiones, llevará un saldo inicial de $16.50 y el costo de cada pasaje será de $5.50 en esta clase los atributos son:

-SaldoDefault -->La cantidad de dinero que trae la tarjeta por Default
-PASAJE --> El costo del pasaje

En esta clase los Métodos son:

- pago() --> Realiza el pago del pasaje
- SaldoActual() --> Devuelve el saldo actual

En este programa construí 3 objetos, que son tarjeta 1. tarjeta2 y tarjeta3, donde con la tarjeta 1 se paga un pasaje, con la tarjeta 2 compro 2 pasajes y con la tarjeta 3 compro tres pasajes, de manera que al imprimir el saldo actual de cada tarjeta, aparecerá el Saldo por default menos la cantidad pagada por cada pasaje. Quedando para la tarjeta 1 = $11.00, para la tarjeta 2 =$5.50 y para la tarjeta 3 = $0.0

El siguiente es el código de la clase Prepago:



/*
Taller de Programación Orientada a Objetos
Dra. Sara Elena Garza
Alumno: Carlos Eduardo Triana Sarmiento Matrícula: 1412573
Programa 1

La clase Prepago hace la función del método de pago actual de los camiones, la tarjeta cuenta con $16.50 pesos
y un pasaje tiene un costo de $5.50 pesos, de tal manera que cuando se compre un pasaje, a los $16.50 pesos
iniciales se les restará $5.50.

*Atributos:
- SaldoDefault -->La cantidad de dinero que trae la tarjeta por default
- PASAJE -->Precio del pasaje

*Métodos:
- pago() -->Realiza el pago del pasaje
- SaldoActual() -->Devuelve el saldo actual
*/

public class Prepago
{
private double SaldoDefault; //Cantidad de saldo por default
private static final double PASAJE=5.50; //Precio de un pasaje

public Prepago()
{
SaldoDefault=16.50;
}

public void pago()
{
if(SaldoDefault==0)
{
System.out.println("El saldo de la tarjeta se ha terminado!");
}
else
{
SaldoDefault=SaldoDefault-5.50;
}
}//Fin del método pago()

public double SaldoActual()
{
return SaldoDefault;
}

public static void main(String args[]) //Funcion principal
{
Prepago tarjeta1, tarjeta2, tarjeta3; //Objetos de la clase Prepago
tarjeta1=new Prepago();
tarjeta2=new Prepago();
tarjeta3=new Prepago();
//---------------------------
tarjeta1.pago(); //Un pago en la tarjeta 1, solo se le restará 5.50
tarjeta2.pago();
tarjeta2.pago();//Dos pagos en la tarjeta 2, se le restará 5.50+5.50=11
tarjeta3.pago();
tarjeta3.pago();
tarjeta3.pago();//Tres pagos en la tarjeta 3, el saldo de la tarjeta quedará en 0

System.out.printf("\n\n");

System.out.println("El saldo de la tarjeta 1 es: " + tarjeta1.SaldoActual()); //Para tarjeta 1
System.out.println("El saldo de la tarjeta 2 es: " + tarjeta2.SaldoActual()); //Para tarjeta 2
System.out.println("El saldo de la tarjeta 3 es: " + tarjeta3.SaldoActual()); //Para tarjeta 3
}//Fin de main
}//Fin de la clase Prepago










Acá les dejo la captura de pantalla del programa en la terminal:(Hacer click en la imagen para verla más grande) Cualquier corrección pueden ponerla en los comentarios. Saludos!

lunes, 22 de noviembre de 2010

LABORATORIO DE PROGRAMACIÓN WEB

Velocidades de banda ancha en el mundo.

Bueno, después de la entrada anterior que comenté que en México el ancho de banda es muy bajo, me dio curiosidad y busqué las velocidades de ancho de banda en el mundo, me encontré con la siguiente imágen, que es una gráfica en la cual se muestra el promedio de la velocidad de ancho de banda en distintos países del planeta.

(Para ver la imagen más grande, hacer click sobre ella)


Como se puede apreciar en la gráfica, Japón es el país que ostenta el record de velocidad de conexión a internet. Pero no se trata de un record obtenido en laboratorio, al que el usuario común no puede acceder. Todo lo contrario. Un estudio realizado recientemente muestra que el promedio de la velocidad de conexión de los usuarios hogareños de internet de ese país es de 61 Mbps.

El servicio de internet en Japón es, en promedio, de 8 a 31 veces más rápido que en Estados Unidos. Y además, es notoriamente más barato. A pesar de esta diferencia de velocidad, Japón apuesta fuerte a internet, y ya está pensando en una red de alta velocidad que la reemplace dentro de pocos años. Se podría decir que los norteamericanos inventaron la red, pero son los japoneses quienes más la disfrutan.

El ranking recientemente elaborado muestra que Corea Del Sur sigue de cerca a Japón, con un promedio nada despreciable de más de 45 Mbps. Corea está apostando fuerte a las nuevas tecnologías.

Finlandia, Suecia y Francia son los países que siguen en la lista, con velocidades de conexión de entre 15 y 20 Mbps. Estados Unidos, contra lo que la intuición puede sugerir, está en el lugar número 10, detrás de países como Holanda, Canadá, Alemania o Portugal. El usuario promedio de EE.UU. accede a la red a una velocidad promedio de 4.8 Mbps.

Los países como México, España o Argentina vienen bastante detrás, con velocidades promedio que no superan el Mbps, y con costos de conexión muy superiores a los primeros países de la lista.

La causa de que Japón, Corea del Sur, y buena parte de Europa alcancen semejantes velocidades de conexión es, entre otras, la apertura a las nuevas tecnologías. El hecho de que el publico reclame (y las empresas estén dispuestas a ofrecer) cada vez más servicios mediante internet es un factor determinante. Por ejemplo, en Japón cualquier usuario puede disfrutar de televisión de alta definición a pantalla completa, que llega a su hogar mediante la conexión de internet, mientras que sus pares de EE.UU. deben contentarse con menor definición e imágenes de un cuarto de ese tamaño.

El disponer de conexiones de buena velocidad permites aplicaciones que hoy parecen muy lejanas para muchos países. La teleconferencia, telemedicina, TV de alta definición y el alquiler de películas mediante internet solo son posibles si las conexiones de banda ancha son veloces y de calidad.


Esto es todo en esta entrada, espero les haya gustado y cualquier duda o corrección pueden ponerla en los comentarios.

Saludos!


domingo, 21 de noviembre de 2010

LABORATORIO DE PROGRAMACIÓN WEB

Comunicaciones Unificadas de Cisco.



Las comunicaciones unificadas de cisco ayudan a las personas a comunicarse en tiempo real y a colaborar para crear un valor comercial tangible.

Las Comunicaciones Unificadas de Cisco utilizan la red como plataforma de colaboración. Las aplicaciones pueden implementarse de manera flexible en las instalaciones, a demanda y en modelos de implementación mixtos. La colaboración entre empresas y dentro de una misma empresa se facilita por medio de una amplia gama de soluciones líderes en el mercado:

  • Conferencias: Ofrezca a sus trabajadores y profesionales experiencias de conferencia contundentes, productivas y económicas mediante herramientas de conferencias de voz, vídeo y en línea de calidad.
  • Atención al Cliente: Acérquese a sus clientes, mientras aumenta su nivel de satisfacción y su lealtad. Conecte a las personas de manera activa con la información, la experiencia y el apoyo que necesitan.
  • Comunicaciones IP: Mejore la productividad de sus empleados y profesionales llevando servicios de comunicaciones uniformes a los empleados de todos los espacios de trabajo por medio de un paquete completo de soluciones de comunicaciones IP y puntos terminales.
  • Mensajes: Comuníquese con eficacia y con un mayor nivel de seguridad dentro de la empresa y entre empresas. Vea información de presencia en tiempo real y comuníquese mediante el correo electrónico, mensajería instantánea y el correo de voz.
  • Aplicaciones móviles: Aumente la productividad de los empleados móviles y su capacidad de respuesta a los clientes mientras controla sus costes de movilidad creando extensiones de dispositivos móviles en la red empresarial.

Nuevas experiencias de comunicaciones.

Cadenas de valor mundiales, trabajadores móviles, redes sociales, vídeo ubicuo y sobrecarga de información: eso es lo habitual hoy en día. Para manejar esta complejidad empresarial, las Comunicaciones Unificadas de Cisco conectan personas, información y equipos, ayudando a todos a habilitar experiencias de colaboración completas y eficaces. Con las Comunicaciones Unificadas de Cisco, su empresa puede:

  • Conectar a compañeros de trabajo, partners, proveedores y clientes con la información que necesitan.
  • Acceder y compartir vídeo en el escritorio, cuando se está de viaje, y a demanda, de forma tan fácil como hacer una llamada de teléfono
  • Facilitar mejores interacciones entre los equipos, al reunir de forma dinámica a personas, grupos de trabajo virtuales y equipos
  • Crear extensiones de la red empresarial para dispositivos móviles de manera que los trabajadores móviles puedan ser productivos en cualquier lugar
  • Innovar en la cadena de valor al integrar la colaboración y las comunicaciones en las aplicaciones y los procesos comerciales.

Colaborar con confianza.

Las Comunicaciones Unificadas de Cisco ofrecen una experiencia altamente segura y de gran calidad en cualquier espacio de trabajo. Esto ayuda a su empresa a:

  • Acortar el ciclo de ventas y de servicio al cliente
  • Reducir el tiempo de comercialización de los productos
  • Adaptarse con mayor rapidez a los cambios del mercado
  • Alentar la innovación

Unas de las mejores aplicaciones que vi para estas tecnologías son , la de videoconferencias, para empresas donde se requieran conferencias en tiempo real, y a cualquier hora, y también me llamó mucho la atención de asistencia médica vía remota, así en caso de alguna emergencia, o en lugares donde no llegué medicina especializada, se pueden hacer diagnosticos, practicamente desde casa.

A continuación les dejo los videos donde se puede apreciar como explotar estas tecnologías con las aplicaciones que les comento:

























Bueno eso es todo, como conclusión y un obstáculo que veo, es que para poder hacer uso de estas aplicaciones, se necesita de un gran ancho de banda para poder hacer las conferencias en tiempo real, y en México todavía no hay servicio de internet con grandes anchos de banda.


Espero les haya gustado mi trabajo, cualquier corrección la pueden dejar en los comentarios. Saludos.


LABORATORIO DE PROGRAMACIÓN WEB

Computación en nube "Cloud Computing".




La computación en nube, es un paradigma que permite ofrecer servicios de computación a través de Internet. La "nube" es una metáfora de Internet.

En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet" sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan. Según el IEEE Computer Society, es un paradigma en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés temporales de cliente, lo que incluye equipos de escritorio, centros de ocio, portátiles, etc. Esto se debe a que, pese a que las capacidades de los PC han mejorado sustancialmente, gran parte de su potencia se desaprovecha, al ser máquinas de propósito general.

"Cloud computing" es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite al usuario acceder a un catálogo de servicios estandarizados y responder a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando únicamente por el consumo efectuado.

El cambio paradigmático que ofrece computación en nube es que permite aumentar el número de servicios basados en la red. Esto genera beneficios tanto para los proveedores, que pueden ofrecer, de forma más rápida y eficiente, un mayor número de servicios, como para los usuarios que tienen la posibilidad de acceder a ellos, disfrutando de la ‘transparencia’ e inmediatez del sistema y de un modelo de pago por consumo.

Computación en nube consigue aportar estas ventajas, apoyándose sobre una infraestructura tecnológica dinámica que se caracteriza, entre otros factores, por un alto grado de automatización, una rápida movilización de los recursos, una elevada capacidad de adaptación para atender a una demanda variable, así como virtualización avanzada y un precio flexible en función del consumo realizado.



Beneficios de "Cloud Computing"

  • Integración probada de servicios Red. Por su naturaleza, la tecnología de "Cloud Computing" se puede integrar con mucha mayor facilidad y rapidez con el resto de sus aplicaciones empresariales (tanto software tradicional como Cloud Computing basado en infraestructuras), ya sean desarrolladas de manera interna o externa.
  • Prestación de servicios a nivel mundial. Las infraestructuras de "Cloud Computing" proporcionan mayor capacidad de adaptación, recuperación de desastres completa y reducción al mínimo de los tiempos de inactividad.
  • Una infraestructura 100% de "Cloud Computing" no necesita instalar ningún tipo de hardware. La belleza de la tecnología de "Cloud Computing" es su simplicidad… y el hecho de que requiera mucha menor inversión para empezar a trabajar.
  • Implementación más rápida y con menos riesgos. Podrá empezar a trabajar muy rápidamente gracias a una infraestructura de "Cloud Computing". No tendrá que volver a esperar meses o años e invertir grandes cantidades de dinero antes de que un usuario inicie sesión en su nueva solución. Sus aplicaciones en tecnología de "Cloud Computing" estarán disponibles en cuestión de semanas o meses, incluso con un nivel considerable de personalización o integración.
  • Actualizaciones automáticas que no afectan negativamente a los recursos de TI. Si actualizamos a la última versión de la aplicación, nos veremos obligados a dedicar tiempo y recursos (que no tenemos) a volver a crear nuestras personalizaciones e integraciones. La tecnología de "Cloud Computing" no le obliga a decidir entre actualizar y conservar su trabajo, porque esas personalizaciones e integraciones se conservan automáticamente durante la actualización.
  • Contribuye al uso eficiente de la energía. En este caso, a la energía requerida para el funcionamiento de la infraestructura. En los datacenters tradicionales, los servidores consumen mucha más energía de la requerida realmente. En cambio, en las nubes, la energía consumida es sólo la necesaria, reduciendo notablemente el desperdicio.

Desventajas de "Cloud Computing"

  • La centralización de las aplicaciones y el almacenamiento de los datos origina una dependencia de los proveedores de servicios.
  • La disponibilidad de las aplicaciones está atadas a la disponibilidad de acceso a internet.
  • Los datos "sensibles" del negocio no residen en las instalaciones de las empresas por lo que podría generar un contexto de alta vulnerabilidad para la sustracción o robo de información.
  • La confiabilidad de los servicios depende de la "salud" tecnológica y financiera de los proveedores de servicios en nube. Empresas emergentes o alianzas entre empresas podrían crear un ambiente propicio para el monopolio y el crecimiento exagerado en los servicios.
  • La disponibilidad de servicios altamente especializados podría tardar meses o incluso años para que sean factibles de ser desplegados en la red.
  • La madurez funcional de las aplicaciones hace que continuamente estén modificando sus interfaces por lo cual la curva de aprendizaje en empresas de orientación no tecnológica tenga unas pendientes pequeñas.
  • Seguridad. La información de la empresa debe recorrer diferentes nodos para llegar a su destino, cada uno de ellos ( y sus canales) son un foco de inseguridad. Si se utilizan protocolos seguros, HTTPS por ejemplo, la velocidad total disminuye debido a la sobrecarga que requieren estos protocolos.
  • Escalabilidad a largo plazo. A medida que más usuarios empiecen a compartir la infraestructura de la nube, la sobrecarga en los servidores de los proveedores aumentará, si la empresa no posee un esquema de crecimiento óptimo puede llevar a degradaciones en el servicio o jitter altos.
Algunos ejemplos de "Cloud Computing"

Varias son las grandes empresas que se han dedicado a ofrecer estos servicios, promoviendo el fácil acceso a nuestra información, los bajos costos, la escalabilidad y muchas características que nos hace pensar en la comodidad que nos brindan, entre ellas podemos mencionar:

Google apps, brinda el servicio de aplicaciones para empresas como Gmail, Google Talk, Google Calendar y Google Docs, etc.

Amazon Web Services: los servicios que ofrece son el Amazon EC2™, Amazon S3™, SimpleDB™, Amazon SQS™.

Azure de Microsoft : ofrece servicios de sistema operativo, hosting, sistemas para desarrollo.

Rackspace :una famosa empresa de hosting, está detrás de Mosso una compañía la cual ofrece un paquete de básico de hosting y a partir de este se escala según se necesite (y sin migrar de servidores). Recientemente Rackspace adquirió a JungleDisk , un popular cliente para Amazon S3 y que a futuro estará integrándose con CloudFiles


Conclusiones:

Según estos conceptos, ya no será necesario instalar nuestros programas en nuestra máquina, ya que serán instalados en servidores externos a nosotros.
Lo único que almacenariamos nosotros sería nuestra información, nuestros archivos, péro los programas que usaremos estarán instalados en otro servidor.

Este me pareció un tema interesante, espero les haya gustado.

Cualquier correción pueden dejarla en los comentarios.

LABORATORIO DE PROGRAMACIÓN WEB

Hojas de estilo en cascada (CSS)



Las hojas de estilo en cascada es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores.

La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación.

Por ejemplo, el elemento de HTML indica que un bloque de texto es un encabezamiento y que es más importante que un bloque etiquetado como versiones más antiguas de HTML permitían atributos extra dentro de la etiqueta abierta para darle formato (como el color o el tamaño de fuente). No obstante, cada etiqueta debía disponer de la información si se deseaba un diseño consistente para una página y, además, una persona que lea esa página con un navegador pierde totalmente el control sobre la visualización del texto.

Cuando se utiliza CSS, la etiqueta no debería proporcionar información sobre como va a ser visualizado, solamente marca la estructura del documento. La información de estilo separada en una hoja de estilo, especifica cómo se ha de mostrar : color, fuente, alineación del texto, tamaño y otras características.

La información de estilo puede ser adjuntada tanto como un documento separado o en el mismo documento HTML. En este último caso podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "style".

Los tres tipos de estilos.

CSS proporciona tres caminos diferentes para aplicar las reglas de estilo a una página Web.

1-Una hoja de estilo externa, es una hoja de estilo que está almacenada en un archivo diferente al archivo donde se almacena el código HTML de la página Web. Esta es la manera de programar más potente, porque separa completamente las reglas de formateo para la página HTML de la estructura básica de la página.

2-Una hoja de estilo interna, que es una hoja de estilo que está incrustada dentro de un documento HTML. (Va a la derecha dentro del elemento ). De esta manera se obtiene el beneficio de separar la información del estilo, del código HTML propiamente dicho. Se puede optar por copiar la hoja de estilo incrustada de una página a otra, (esta posibilidad es difícil de ejecutar si se desea para guardar las copias sincronizadas). En general, la única vez que se usa una hoja de estilo interna, es cuando se quiere proporcionar alguna característica a una página Web en un simple fichero, por ejemplo, si se está enviando algo a la página web.

3-Un estilo en línea (inline), que es un método para insertar el lenguaje de estilo de página, directamente, dentro de una etiqueta HTML. Esta manera de proceder no es totalmente adecuada. El incrustar la descripción del formateo dentro del documento de la página Web, a nivel de código se convierte en una tarea larga, tediosa y poco elegante de resolver el problema de la programación de la página. Este modo de trabajo se podría usar de manera ocasional si se pretende aplicar un formateo con prisa, al vuelo. No es todo lo claro o estructurado que debería ser, pero funciona. Este es el método recomendado para maquetar correos electrónicos en HTML.

Las ventajas de utilizar CSS son:

-Control centralizado de la presentación de un sitio web completo con lo que se agiliza de forma considerable la actualización del mismo.

-Los navegadores permiten a los usuarios especificar su propia hoja de estilo local que será aplicada a un sitio web, con lo que aumenta considerablemente la accesibilidad. Por ejemplo, personas con deficiencias visuales pueden configurar su propia hoja de estilo para aumentar el tamaño del texto o remarcar más los enlaces.

-Una página puede disponer de diferentes hojas de estilo según el dispositivo que la muestre o incluso a elección del usuario. Por ejemplo, para ser impresa, mostrada en un dispositivo móvil, o ser "leída" por un sintetizador de voz.

-El documento HTML en sí mismo es más claro de entender y se consigue reducir considerablemente su tamaño (siempre y cuando no se utilice estilo en línea).

Eso es todo en esta entrada, espero les haya gustado.

LABORATORIO DE PROGRAMACIÓN WEB

Modelo de red OSI y Modelo TCP/IP.

¿Qué es el modelo OSI?

El modelo de referencia de Interconexión de Sistemas Abiertos (OSI, Open System Interconnection) es el modelo de red descriptivo creado por la Organización Internacional para la Estandarización lanzado en 1984. Es decir, es un marco de referencia para la definición de arquitecturas de interconexión de sistemas de comunicaciones.

El modelo OSI se compone de 7 capas, que son las siguientes:

1 - Capa Física

Es la que se encarga de las conexiones físicas de la computadora hacia la red, tanto en lo que se refiere al medio físico como a la forma en la que se transmite la información.

Sus principales funciones se pueden resumir como:

  • Definir el medio o medios físicos por los que va a viajar la comunicación: cable de pares trenzados (o no, como en RS232/EIA232), coaxial, guías de onda, aire, fibra óptica.
  • Definir las características materiales (componentes y conectores mecánicos) y eléctricas (niveles de tensión) que se van a usar en la transmisión de los datos por los medios físicos.
  • Definir las características funcionales de la interfaz (establecimiento, mantenimiento y liberación del enlace físico).
  • Transmitir el flujo de bits a través del medio.
  • Manejar las señales eléctricas del medio de transmisión, polos en un enchufe, etc.
  • Garantizar la conexión (aunque no la fiabilidad de dicha conexión).

2 - Capa de enlace de datos.

Esta capa se ocupa del direccionamiento físico, de la topología de la red, del acceso a la red, de la notificación de errores, de la distribución ordenada de tramas y del control del flujo.

Como objetivo o tarea principal, la capa de enlace de datos se encarga de tomar una transmisión de datos ” cruda ” y transformarla en una abstracción libre de errores de transmisión para la capa de red. Este proceso se lleva a cabo dividiendo los datos de entrada en marcos de datos (de unos cuantos cientos de bytes), transmite los marcos en forma secuencial, y procesa los marcos de estado que envía el nodo destino.

3- Capa de red.

El objetivo de la capa de red es hacer que los datos lleguen desde el origen al destino, aún cuando ambos no estén conectados directamente. Los dispositivos que facilitan tal tarea se denominan encaminadores o routera, aunque es más frecuente encontrar el nombre inglés routers y, en ocasiones enrutadores. Los routers trabajan en esta capa, aunque pueden actuar como switch de nivel 2 en determinados casos, dependiendo de la función que se le asigne. Los firewalls actúan sobre esta capa principalmente, para descartar direcciones de máquinas.

En este nivel se realiza el direccionamiento lógico y la determinación de la ruta de los datos hasta su receptor final.


4 - Capa de transporte.


Capa encargada de efectuar el transporte de los datos (que se encuentran dentro del paquete) de la máquina origen a la de destino, independizándolo del tipo de red física que se esté utilizando. La PDU de la capa 4

se llama Segmento o Datagrama, dependiendo de si corresponde a TCP o UDP. Sus protocolos son TCP y UDP; el primero orientado a conexión y el otro sin conexión.


5 - Capa de sesión.

Esta capa es la que se encarga de mantener y controlar el enlace establecido entre dos computadores que están transmitiendo datos de cualquier índole.

Por lo tanto, el servicio provisto por esta capa es la capacidad de asegurar que, dada una sesión establecida entre dos máquinas, la misma se pueda efectuar para las operaciones definidas de principio a fin, reanudándolas en caso de interrupción. En muchos casos, los servicios de la capa de sesión son parcial o totalmente prescindibles.


6 - Capa de presentación.

El objetivo es encargarse de la representación de la información, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres los datos lleguen de manera reconocible.

Esta capa es la primera en trabajar más el contenido de la comunicación que el cómo se establece la misma. En ella se tratan aspectos tales como la semántica y la sintaxis de los datos transmitidos, ya que distintas computadoras pueden tener diferentes formas de manejarlas.

Esta capa también permite cifrar los datos y comprimirlos. En pocas palabras es un traductor.


7 - Capa de Aplicación.


Ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (POP y SMTP), gestores de bases de datos y servidor de ficheros (FTP), por UDP pueden viajar (DNS y RIP). Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el número de protocolos crece sin parar.

Cabe aclarar que el usuario normalmente no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente.

MODELO TCP/IP

¿Qué es el modelo TCP/IP?

El modelo TCP/IP es un modelo de descripción de protocolos de red creado en la década de 1970 por DARPA, una agencia del Departamento de Defensa de los Estados Unidos. Evolucionó de ARPANET, el cual

fue la primera red de área amplia (WAN) y predecesora de Internet. EL modelo TCP/IP se denomina a veces como Internet Model, Modelo DoD o Modelo DARPA.

El modelo TCP/IP o DoD se compone de 4 capas, que son las siguientes:

1 - Capa de enlace.

Acceso al Medio, asimilable a la capa 1 (física) y 2 (enlace de datos) del modelo OSI.

2 - Capa de red.

Internet, asimilable a la capa 3 (red) del modelo OSI.

3 - Capa de transporte.

Transporte, asimilable a la capa 4 (transporte) del modelo OSI.

4 - Capa de aplicación.

Aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI.la capa de aplicación debía incluir los detalles de las capas de sesión y presentación OSI. Crearon una capa de aplicación que maneja aspectos de representación, codificación y control de diálogo.

La siguiente imagen es una comparación entre las capas del modeo OSI y el modelo TCP/IP:



Bueno esto es todo, espero les haya gustado mi trabajo.

Cualquier aclaración la pueden poner en los comentarios.