Software para particionar tu disco duro en Linux

Gparted Logo

En Linux existen diferentes maneras de realizar particiones en tu disco duro, aunque los programas estrella no sean más que interfaces de uno solo: parted.

Para los puristas de KDE hay que decir que existió un particionar específico para KDE, el llamado KParted, pero parece ser que éste cayó en el olvido.

Así que nos queda, que no es poco, qtparted, que como su propio nombre indica utiliza librerías qt. Qtparted es un particionar sencillo, fácil de manejar y que se instala desde repositorio. Tiene un grave problema: hace mucho tiempo que no se actualiza (2005) con lo que le auguro un futuro tan oscuro como Kparted.

QT-parted

La verdadera estrella entre los particionadores de Linux es GParted, que como su inicial indica es propia de Gnome pero que funciona perfectamente en KDE. Su aspecto es prácticamente igual a qtparted pero tiene muchas más funciones, manteniendo siempre la sencillez como bandera.

Gparted

Además, dispone de un LiveCD (y Live USB) utilísimo para poder utilizar Gparted como herramienta antes de instalar un Sistema operativo, como veremos en próximos artículos.

Algunas distribuciones, como Ubuntu, ofrecen GParted como utilidad dentro de su LiveCD con lo que si aprendemos a utilizar dicho programa podemos particionar correctamente nuestros discos para disponer de dos o más sistemas operativos en nuestros PC o a tener la información mejor organizada.

Fuente: http://www.kdeblog.com/software-para-particionar-tu-disco-duro-en-linux.html

Cómo configurar Squid: Restricción de acceso por horarios

Introducción.

Denegar el acceso a ciertos en ciertos horarios permite hacer un uso más racional del ancho de banda con el que se dispone. El funcionamiento es verdaderamente simple, y consiste en denegar el acceso en horarios y días de la semana.

Software requerido.

Para poder llevar la cabo los procedimientos descritos en este manual y documentos relacionados, usted necesitará tener instalado al menos squid-2.5STABLE1.

Procedimientos

La sintaxis para crear Listas de control de acceso que definan horarios es la siguiente:

acl [nombre del horario] time [días de la semana] hh:mm-hh:mm

Los días de la semana se definen con letras, las cuales corresponden a la primera letra del nombre en inglés, de modo que se utilizarán del siguiente modo:

  • S - Domingo
  • M - Lunes
  • T - Mastes
  • W - Miercoles
  • H - Jueves
  • F - Viernes
  • A - Sábado

Ejemplo:

acl semana time MTWHF 09:00-21:00

Esta regla define a la lista semana, la cual comprende un horario de 09:00 a 21:00 horas desde el Lunes hasta el Viernes.

Este tipo de listas se aplican en las Reglas de Control de Acceso con una mecánica similar a la siguiente: se permite o deniega el acceso en el horario definido en la Lista de Control de Acceso denominada X para las entidades definidas en la Lista de Control de Acceso denominada Y. Lo anterior expresado en una Regla de Control de Acceso, quedaís del siguiente modo:

http_access [allow | deny] [nombre del horario] [lista de entidades]

Ejemplo: Se quiere establecer que los miembros de la Lista de Control de Acceso denominada clasematutina tengan permitido acceder hacia Internet en un horario que denominaremos como matutino, y que comprende de lunes a viernes de 09:00 a 15:00 horas.

La definción para le horario correspondería a:

acl clasematutina src 192.168.1.0/255.255.255.0
acl matutino time MTWHF 09:00-15:00

La definición de la Regla de Control de Acceso sería:

http_access allow matutino clasematutina

Lo anterior, en resumen, significa que quienes conformen clasematutina podrán acceder a Internet de Lunes a Viernes de 09:00-15:00 horas.

Más ejemplos.

Restringiendo el tipo de contenido.

Como se explica en el documento "Cómo configurar Squid: Restricción de acceso a contenido por extensión", es posible denegar acceso a cierto tipo de contenido de acuerdo a su extensión. Igual que con otras funciones, se requiere una Lista de Control de Acceso y una Regla de Control de Acceso

Si se necesita una lista denominada musica que defina a todos los ficheros con extensión .mp3, utilizaríamos lo siguiente:

acl clasematutina src 192.168.1.0/255.255.255.0
acl musica urlpath_regex \.mp3$

Si queremos denegar el acceso al todo contenido con extensión .mp3, la regla quedaría del siguiente modo:

http_access allow clasematutina !musica

Combinando reglas de tiempo y contenido.

Si por ejemplo queremos restringir parcialmente el acceso a cierto tipo de contenido a ciertos horarios, pueden combinarse distintos tipos de reglas.

acl clasematutina src 192.168.1.0/255.255.255.0
acl matutino time MTWHF 09:00-15:00
acl musica urlpath_regex \.mp3$

http_access allow matutino clasematutina !musica

La Regla de Control de Acceso anterior especifica acceso permitido a en el horario definido como matutino a quienes integran la Lista de Control de Acceso denominada clasematutina a todo contenido [por omisión] excepto a los contenidos que coincidan con los definidos en la Lista de Control de Acceso denominada musica.

Finalizando procedimiento.

Finalmente, solo bastará reiniciar Squid para que tomen efecto los cambios y podamos hacer pruebas.

service squid restart

Autor: Joel Barrios Dueñas
Correo electrónico: jbarrios arroba linuxparatodos punto net
Sitio de Red: http://www.linuxparatodos.net/

Pfsense+Bridge

Bueno luego de una falla eléctrica en la oficina, el Firewall Transparente que tenia funcionado con freebsd se le daño uno de sus disco duros, ya desde hacia algún tiempo venia leyendo sobre pfsense y leido experiencias de otras personas, asi que me anime a probar encontrándome con la agradable sorpresa de que ocupa poco espacio en disco duro, asi que lo instale en un Pentium II, 810 de Disco Duro y 128 de Memoria Ram, ademas de dos tarjetas de red.


Lo primero es descargar de la pagina, la imagen a quemar de pfsense, esta viene comprimida "pfSense-1.0.1-LiveCD-Installer.iso.gz" asi que luego de bajarla deberas usar la aplicacion de tu gusto para descomprimirla (winrar u otros), una vez tenido el cd en la mano, puedes iniciar el pc que tienes dispuesto para instalar pfsense, como veras esta es una version LiveCD que puede ser usada desde una unidad CD-rom o DVD, al llegar a esta pantalla

(click para Agrandar la imagen)
aqui indicamos que no deseamos una vlan y luego identificas cuales va a ser la interface lan y wan
ya seleccionado quien va a ser la interfase lan y wan, presionamos enter para continuar, en este paso nos indicara si deseamos proceder con la seleccion, le indicamos que si,

luego de un proceso que tarda unos minutos (pocos) llegaras a esta menú donde escogerás la opción 99

esto iniciara la instalación, se iniciara un asistente, lo primero es el vídeo, mi recomendación es aceptar por defecto esta parte :-Pen la siguiente pantalla iniciaras la instalación de pfsense, ahora se iniciara un proceso para dar formato al disco duro, particionado, y copia de archivos.

presionamos enter sobre el disco duro y le damos un primer formato al disco (ojo esto borrara todo el contenido del disco)


Por lo general la geometría del disco duro es la correcta, así que selecciona "usar esta geometría"damos inicio a formato del disco.

luego nos solicitara particionar el disco, esto es para instalar el sistema operativo FreeBSD
Aunque por defecto esta marcado FreeBSD se puede seleccionar otros sistemas de archivos aunque no creo que sea necesario ya que estamos usando FreeBSD :-D
Ahora se va a instalar el sector de inicio en el disco duro, debemos presionar enter en aceptar e instalar Bootblock

Nos preguntara en que partición vamos a instalar

Como mi caso use un disco pequeño (811 MB) utilice la opción por defecto, es decir dos particiones una para el archivo de intercambio y otra para la raíz "/", el asterisco en Capacity solo indica que tomara todo el espacio disponible en el disco


Bueno luego de otras pantallas, si ves la siguiente es por que ya se están copiando los archivos al disco, esto tarda unos 7 minutos (pentium II con 128 de ram)luego de esto te pedirá reiniciar la maquina.
Por defecto la interfaces lan utiliza la dirección ip 192.168.1.1 ya que pfsense esta por defecto para dar servicio de NAT, así que debes cambiar la ip de ti maquina a 192.168.1.x para asi poder acceder y configurar vía interface lan.

La primera pantalla que veras vía web, es la solicitud de usuario y contraseña, esta por defecto para el user es admin y el password es pfsense, en la próxima pantalla ya estarás dentro den entorno web de pfsense, lo primero que vamos a hacer es irnos a interfaces > wan, allí veremos esta pantalla donde seleccionaremos static añadimos la ip y puerta de enlace(de nuestra red), moviendo la pagina hacia abajo también desmarcaremos Block private networks. Una vez aceptados los cambios deberemos conectarnos vía web por la interfaz wan(antes ya debemos cambiar la ip de nuestra estación de trabajo a la red con la que realmente estamos trabajando en este ejemplo seria una ip 192.168.10.xxx y no una ip 192.168.1.xxx

Lo segundo que vamos a hacer es irnos a interfaces > lan, encojemos en la opción Bridge with la interfaz wan, y colocamos la misma ip que añadimos a la interfaz wan, ademas de marcar la opcion FTP Helper (Disable the userland FTP-Proxy application),

Aceptando los cambios ahora nos vamos a system > Advanced
En Advanced buscaremos filtering bridge y la activaremos, también puedes activar otras opciones como Secure shell pasa accesar por ssh.

Ahora nos vamos a system > General Setup,

aquí podremos cambiar el hostname, domain, añadimos los Dns de nuestro ISP, y desmarcamos allow DNS server list to be overridden by dhcp/PPP on WAN. Guardamos los cambios.
Ahora nos iremos a Firewall > NAT, allí debemos seleccionar enable advanced outbound NAT
Allí deberemos borrar todas la reglas que aparecen en la lista, esto es importante porque si no se hace el Firewall Transparente que queremos no funcionara. recuerda aplicar los cambios en todo momento de la configuración, si ya tienes un servidor dhcp en tu red lan, debes desactivar el que trae pfsense, lo encontraras en Services > dhcp, así no entraran en conflictos las maquinas con ips duplicadas. Existen otros servicios como DNS, en Diagnostics tienes una opción para respaldar toda la configuración que acabas de realizar esto por si por algún motivo tienes que generar de nuevo el pfsense te ahorres mucho trabajo.
Buenos ahora nos vamos a Firewall > rules, como se ve en la pestaña WAN no tienes ninguna regla, allí solo configuraras reglas para DMZ y algunas conexiones entrantes.
Haciendo clic sobre la pestaña LAN veremos que la regla por defecto es permitir todo el trafico de la red lan, en este caso la editaremos y la desactivamos, pero primero añadiremos el trafico que queremos dejar pasar (por defecto todo el trafico estará bloqueado), servicios tales como HTTP, HTTPS, SMTP, POP3, IMAP entre otros.

Ya una vez añadido el conjunto de reglas que deseamos dejar pasar hacia internet, procedemos a editar la regla por defecto y la desactivamos, una vez aplicado los cambios esta se tornara atenuada con respecto a las otras.

En la interfaz WAN podremos configurar que desde afuera acceden a un servidor web en este caso, donde 190.0.0.0 es nuestro servidor web de ejemploComo punto final en System > Packages podremos añadir paquetes adicionales como ntop, entre otros.
Espero que sea útil este manual, aunque se ve un poco largo creo que suficiente como para configurar un Firewall Transparente.

Fuente: http://ricondefreebsd.blogspot.com/2007/04/pfsensebridge-y-no-morir-en-el-intento.html

FreeBSD 7.2 VFS/devfs race condition exploit

FreeBSD 7.2 and below (including 6.4) are vulnerable to race condition in VFS
and devfs code, resulting in NULL pointer dereference. In contrast to pipe race
condition, this vulnerability is actually much harder to exploit.

Due to uninitalised value in devfs_open(), following function is called with
fp->f_vnode = 0:

static int
devfs_fp_check(struct file *fp, struct cdev **devp, struct cdevsw **dswp)
{

*dswp = devvn_refthread(fp->f_vnode, devp);
if (*devp != fp->f_data) {
if (*dswp != NULL)
[6] dev_relthread(*devp);
return (ENXIO);
}
KASSERT((*devp)->si_refcount > 0,
("devfs: un-referenced struct cdev *(%s)", devtoname(*devp)));
if (*dswp == NULL)
return (ENXIO);
curthread->td_fpop = fp;
return (0);
}


struct cdevsw *
devvn_refthread(struct vnode *vp, struct cdev **devp)
{
struct cdevsw *csw;
struct cdev_priv *cdp;

mtx_assert(&devmtx, MA_NOTOWNED);
csw = NULL;
dev_lock();
[1] *devp = vp->v_rdev;
if (*devp != NULL) {
[2] cdp = (*devp)->si_priv;
[3] if ((cdp->cdp_flags & CDP_SCHED_DTR) == 0) {
[4] csw = (*devp)->si_devsw;
if (csw != NULL)
[5] (*devp)->si_threadcount++;
}
}
dev_unlock();
return (csw);
}

In [1] vp is dereferenced, resulting in user-controllable *devp pointer (loaded
from *0x1c). If values dereferenced in [2], [3] and [4] are reachable, at [5] we
have memory write at user-controllable address. Unfortunately, the value is
decremented in [6].

In my exploit, I use si_threadcount incrementation to modify kernel code in
devfs_fp_check(). Opcode at 0xc076c64b is "je" (0x74). After incrementation it
changes to 0x75, which is "jne". Such modification results in not calling
dev_relthread() at [6] and eventually leads to function pointer call in
devfs_kqfilter_f().

The following exploit code works only on default 7.2 kernel, due to hardcoded
addresses:

http://www.frasunek.com/devfs.txt

This bug was fixed a week ago and official advisory was issued:

http://security.freebsd.org/advisories/FreeBSD-SA-09:14.devfs.asc

PFSense multiwan con DMZ.

Basado en el turorial http://pfsense.iserv.nl/tutorials/policybased_multiwan/policybased_multiwan.pdf

Tener en tu empresa tus propios servidores de correo o tus propias webs/tiendas online resulta comodísmo para trabajar a gran velocidad en red local con tus datos. Evidentemente, si quieres que estas máquinas sean accesibles desde el exterior necesitas un entorno seguro y una conexión a Internet con el caudal adecuado a las necesidades de tus servicios.

El montaje inicial que tenía para mis servidores era un poco problemático porque no gestionaba desde el PFSense la conexión WAN de la DMZ. Tenía una ruta estática para que las dos redes se vieran, pero el rendimiento era bastante bajo. En este entorno el router de Jazztel era la puerta de enlace de los servidores donde estaba configurado todo el NAT (con port mappings) y la ruta hacia la LAN por la Interfaz DMZ del PFSense.

Vamos a ver como configurar el firewall PFSense, ya en su nueva versión 1.2 estable, para tener un entorno sencillo de LAN + WAN + DMZ + WAN de la DMZ. La idea principal es manejar desde PFSense todo lo relativo a NAT y controlar las reglas para el tráfico que se va a mover en nuestra red.

Pongamos que disponemos de 2 IPs públicas y queremos hostear un servidor de correo y otro web. Tenemos una conexión SHDSL de un proveedor (Jazztel) con una configuración NAT sencilla (Zyxel 792H) que será usado exclusivamente para estos servidores. Los usuarios saldrán a Internet a través de la interfaz WAN por defecto (Ono), que en este caso está conectada a un cablemódem.

Para que todo esto funciona necesitamos tener una máquina corriendo PFSense con cuatro tarjetas de red. Dos de ellas para las conexiones WAN, una para la LAN y otra para la DMZ. Si os queréis gastar algo de dinero para ver el potencial real de PFSense, lo ideal es montar una máquina dual core para usar el kernel de multiprocesador de FreeBSD y poner tarjetas Gigabit PCI-Express (preferiblemente Intel).

La configuración se basa en tener cuatro redes diferenciadas y realizar una serie de reglas para que se comuniquen óptimamente entre ellas, utilizando siempre como centro de operaciones para cualquier configuración el PFSense. Vamos a usar el sistema de IPs virtuales para que los servidores residan físicamente en una red (DMZ) pero “existan” también para el router en su propia red (Jazztel).

  • Habilitamos las cuatro tarjetas de red.

  • Configuramos la interfaz WAN por defecto (Ono) en DHCP. A esta tarjeta de red conectaremos directamente el cablemodem.
  • Asignamos IPs a las interfaces LAN y DMZ.
  • Asignamos IP a la interfaz JAZZTEL y especificamos la dirección del router por defecto para esta red.

  • En la sección Firewall->NAT activamos Manual Outbound NAT rule generation, dentro de la pestaña Outbound. De esta manera podremos elegir como queramos la manera en que cualquier equipo conectado a nuestra red sale a Internet.
  • Como probablemente hayamos dejado a nuestros equipos en la LAN sin Internet tras esta operación, tendremos que habilidar la salida LAN hacia la WAN. Esta sección de configuraciones es muy delicada, ya que al activar Advanced Outbound NAT el firewall solo hace caso a las reglas que aquí definamos para sacar tráfico de las diferente redes. Podemos tener también bajo este apartado una serie de reglas desactivadas para casos de failover que activemos cuando sea necesario. Un ejemplo sería crear una regla para direccionar el tráfico de nuestro servidor Asterisk en el puerto IAX2/SIP a través de otra WAN, así no perderíamos la conectividad con nuestro proveedor de voz IP si se cayera la conexión de Ono.
  • Suponiendo que hemos configurado el router de la WAN de la DMZ (Zyxel 792h) para que nuestras IPs públicas se comuniquen 1:1 con nuestras IPs privadas todo lo siguiente es pan comido.
  • Vamos a tomar como ejemplo el servidor de correo que reside en la LAN con la IP 172.16.15.100 pero está configurado en el router de Jazztel como 172.17.14.100. Esta IP virtual la tenemos que añadir en la sección Firewall->Virtual IPs de la siguiente manera:
  • Ahora volvemos a Firewall->NAT y entramos en la pestaña Outbound para añadir una regla que traduzca todo el tráfico saliente de 172.16.15.100 (servidor de correo físico en la DMZ) en 172.16.14.100 (servidor de correo virtual) usando la puerta de enlace predeterminada de la red de destino (172.17.14.0/24) que es 172.16.14.2 (router Jazztel).
  • Para finalizar solo nos queda crear una regla en Firewall->Rules para permitir el tráfico desde la DMZ hacia *any* a través de la puerta de enlace que definimos en la red JAZZTEL.
  • Ya tenemos configurado el sistema de enrutamiento, pero ahora para que nuestras máquinas se vean desde el exterior tenemos que definir mapeos de puertos. Definiremos la IP local física, la IP virtual y el puerto que queremos direccionar.

Fuente: http://www.homelesshosting.net/

Modelo OSI

| 0 comentarios

Pila-osi-es-2.svg


Durante los años 60 y 70 se crearon muchas tecnologías de redes, cada una basada en un diseño específico de hardware. Estos sistemas eran construidos de una sola pieza, una arquitectura monolítica. Esto significa que los diseñadores debían ocuparse de todos los elementos involucrados en el proceso, estos elementos forman una cadena de transmisión que tiene diversas partes: Los dispositivos físicos de conexión, los protocolos software y hardware usados en la comunicación.

Los programas de aplicación realizan la comunicación y la interfaz hombre-máquina que permite al humano utilizar la red. Este modelo, que considera la cadena como un todo monolítico, es poco práctico, pues el más pequeño cambio puede implicar alterar todos sus elementos.

El diseño original de Internet del Departamento de Defensa Americano disponía un esquema de cuatro capas, aunque data de los 70 es similar al que se continúa utilizando:

Capa Física o de Acceso de Red: Es la responsable del envío de la información sobre el sistema hardware utilizado en cada caso, se utiliza un protocolo distinto según el tipo de red física.

Capa de Red o Capa Internet: Es la encargada de enviar los datos a través de las distintas redes físicas que pueden conectar una máquina origen con la de destino de la información. Los protocolos de transmisión, como el IP están íntimamente asociados a esta capa.

Capa de Transporte: Controla el establecimiento y fin de la conexión, control de flujo de datos, retransmisión de datos perdidos y otros detalles de la transmisión entre dos sistemas. Los protocolos más importantes a este nivel son TCP y UDP (mutuamente excluyentes).

Capa de Aplicación: Conformada por los protocolos que sirven directamente a los programas de usuario, navegador, e-mail, FTP, TELNET, etc.

Respondiendo a la teoría general imperante el mundo de la computación, de diseñar el hardware por módulos y el software por capas, en 1978 la organización ISO (International Standards Organization), propuso un modelo de comunicaciones para redes al que titularon "The reference model of Open Systems Interconnection", generalmente conocido como MODELO OSI.

Su filosofía se basa en descomponer la funcionalidad de la cadena de transmisión en diversos módulos, cuya interfaz con los adyacentes esté estandarizada. Esta filosofía de diseño presenta una doble ventaja: El cambio de un módulo no afecta necesariamente a la totalidad de la cadena, además, puede existir una cierta inter-operabilidad entre diversos productos y fabricantes hardware/software, dado que los límites y las interfaces están perfectamente definidas.

Esto supone por ejemplo, que dos softwares de comunicación distintos puedan utilizar el mismo medio físico de comunicación.

El modelo OSI tiene dos componentes principales:

  • Un modelo de red, denominado modelo básico de referencia o capa de servicio.
  • Una serie de protocolos concretos.

El modelo de red, aunque inspirado en el de Internet no tiene más semejanzas con aquél. Está basado en un modelo de siete (7) capas, mientras que el primitivo de Internet estaba basado en cuatro (4). Actualmente todos los desarrollos se basan en este modelo de 7 niveles que son los siguientes: 1 Físico; 2 de Enlace; 3 de Red; 4 de Transporte; 5 de Sesión; 6 de Presentación y 7 de Aplicación. Cada nivel realiza una función concreta, y está separado de los adyacentes por interfaces conocidas, sin que le incumba ningún otro aspecto del total de la comunicación.

Generalmente los dispositivos utilizados en las redes circunscriben su operación a uno o varios de estos niveles. Por ejemplo, un hub (concentrador) que amplifica y retransmite la señal a través de todos sus puertos está operando exclusivamente en la capa 1, mientras que un conmutador (switch) opera en las capas 1 y 2; un router opera en las capas 1, 2 y 3. Finalmente una estación de trabajo de usuario generalmente maneja las capas 5, 6 y 7.

En lo que respecta al software, hay que señalar que cada capa utiliza un protocolo específico para comunicarse con las capas adyacentes, y que añade a la cabecera del paquete cierta información adicional.

Capas del modelo OSI

La descripción de las diversas capas que componen este modelo es la siguiente:

1. Capa física

Es la encargada de transmitir los bits de información por la línea o medio utilizado para la transmisión. Se ocupa de las propiedades físicas y características eléctricas de los diversos componentes, de la velocidad de transmisión, si esta es unidireccional o bidireccional (simplex, duplex o flull-duplex).

También de aspectos mecánicos de las conexiones y terminales, incluyendo la interpretación de las señales eléctricas.

Como resumen de los cometidos de esta capa, podemos decir que se encarga de transformar un paquete de información binaria en una sucesión de impulsos adecuados al medio físico utilizado en la transmisión. Estos impulsos pueden ser eléctricos (transmisión por cable), electromagnéticos (transmisión Wireless) o luminosos (transmisón óptica). Cuando actúa en modo recepción el trabajo es inverso, se encarga de transformar estos impulsos en paquetes de datos binarios que serán entregados a la capa de enlace.

2. Capa de enlace

Puede decirse que esta capa traslada los mensajes hacia y desde la capa física a la capa de red. Especifica como se organizan los datos cuando se transmiten en un medio particular. Esta capa define como son los cuadros, las direcciones y las sumas de control de los paquetes Ethernet.

Además del direccionamiento local, se ocupa de la detección y control de errores ocurridos en la capa física, del control del acceso a dicha capa y de la integridad de los datos y fiabilidad de la transmisión. Para esto agrupa la información a transmitir en bloques, e incluye a cada uno una suma de control que permitirá al receptor comprobar su integridad. Los datagramas recibidos son comprobados por el receptor. Si algún datagrama se ha corrompido se envía un mensaje de control al remitente solicitando su reenvío.

La capa de enlace puede considerarse dividida en dos subcapas:

  • Control lógico de enlace LLC: define la forma en que los datos son transferidos sobre el medio físico, proporcionando servicio a las capas superiores.

  • Control de acceso al medio MAC: Esta subcapa actúa como controladora del hardware subyacente (el adaptador de red). De hecho el controlador de la tarjeta de red es denominado a veces "MAC driver", y la dirección física contenida en el hardware de la tarjeta es conocida como dirección. Su principal consiste en arbitrar la utilización del medio físico para facilitar que varios equipos puedan competir simultáneamente por la utilización de un mismo medio de transporte. El mecanismo CSMA/CD ("Carrier Sense Multiple Access with Collision Detection") utilizado en Ethernet es un típico ejemplo de esta subcapa.


3. Capa de Red

Esta capa se ocupa de la transmisión de los datagramas (paquetes) y de encaminar cada uno en la dirección adecuada tarea esta que puede ser complicada en redes grandes como Internet, pero no se ocupa para nada de los errores o pérdidas de paquetes. Define la estructura de direcciones y rutas de Internet. A este nivel se utilizan dos tipos de paquetes: paquetes de datos y paquetes de actualización de ruta. Como consecuencia esta capa puede considerarse subdividida en dos:

  • Transporte: Encargada de encapsular los datos a transmitir (de usuario). Utiliza los paquetes de datos. En esta categoría se encuentra el protocolo IP.
  • Conmutación: Esta parte es la encargada de intercambiar información de conectividad específica de la red. Los routers son dispositivos que trabajan en este nivel y se benefician de estos paquetes de actualización de ruta. En esta categoría se encuentra el protocolo ICMP responsable de generar mensajes cuando ocurren errores en la transmisión y de un modo especial de eco que puede comprobarse mediante ping.

Los protocolos más frecuentemente utilizados en esta capa son dos: X.25 e IP.

4. Capa de Transporte

Esta capa se ocupa de garantizar la fiabilidad del servicio, describe la calidad y naturaleza del envío de datos. Esta capa define cuando y como debe utilizarse la retransmisión para asegurar su llegada. Para ello divide el mensaje recibido de la capa de sesión en trozos (datagramas), los numera correlativamente y los entrega a la capa de red para su envío.

Durante la recepción, si la capa de Red utiliza el protocolo IP, la capa de Transporte es responsable de reordenar los paquetes recibidos fuera de secuencia. También puede funcionar en sentido inverso multiplexando una conexión de transporte entre diversas conexiones de datos. Este permite que los datos provinientes de diversas aplicaciones compartan el mismo flujo hacia la capa de red.

Un ejemplo de protocolo usado en esta capa es TCP, que con su homólogo IP de la capa de Red, configuran la suite TCP/IP utilizada en Internet, aunque existen otros como UDP, que es una capa de transporte utilizada también en Internet por algunos programas de aplicación.

5. Capa de Sesión

Es una extensión de la capa de transporte que ofrece control de diálogo y sincronización, aunque en realidad son pocas las aplicaciones que hacen uso de ella.


6. Capa de Presentación

Esta capa se ocupa de garantizar la fiabilidad del servicio, describe la calidad y naturaleza del envío de datos. Esta capa define cuando y como debe utilizarse la retransmisión para asegurar su llegada. Para ello divide el mensaje recibido de la capa de sesión en trozos (datagramas), los numera correlativamente y los entrega a la capa de red para su envío.

Durante la recepción, si la capa de Red utiliza el protocolo IP, la capa de Transporte es responsable de reordenar los paquetes recibidos fuera de secuencia. También puede funcionar en sentido inverso multiplexando una conexión de transporte entre diversas conexiones de datos. Este permite que los datos provinientes de diversas aplicaciones compartan el mismo flujo hacia la capa de red.

Esta capa se ocupa de los aspectos semánticos de la comunicación, estableciendo los arreglos necesarios para que puedan comunicar máquinas que utilicen diversa representación interna para los datos. Describe como pueden transferirse números de coma flotante entre equipos que utilizan distintos formatos matemáticos.

En teoría esta capa presenta los datos a la capa de aplicación tomando los datos recibidos y transformándolos en formatos como texto imágenes y sonido. En realidad esta capa puede estar ausente, ya que son pocas las aplicaciones que hacen uso de ella.

7. Capa de Aplicación

Esta capa describe como hacen su trabajo los programas de aplicación (navegadores, clientes de correo, terminales remotos, transferencia de ficheros etc). Esta capa implementa la operación con ficheros del sistema. Por un lado interactúan con la capa de presentación y por otro representan la interfaz con el usuario, entregándole la información y recibiendo los comandos que dirigen la comunicación.

Algunos de los protocolos utilizados por los programas de esta capa son HTTP, SMTP, POP, IMAP etc.

En resumen, la función principal de cada capa es:

Aplicación

El nivel de aplicación es el destino final de los datos donde se proporcionan los servicios al usuario.

Presentación

Se convierten e interpretan los datos que se utilizarán en el nivel de aplicación.

Sesión

Encargado de ciertos aspectos de la comunicación como el control de los tiempos.

Transporte

Transporta la información de una manera fiable para que llegue correctamente a su destino.

Red

Nivel encargado de encaminar los datos hacia su destino eligiendo la ruta más efectiva.

Enlace

Enlace de datos. Controla el flujo de los mismos, la sincronización y los errores que puedan producirse.

Físico

Se encarga de los aspectos físicos de la conexión, tales como el medio de transmisión o el hardware.