IP reference

Referencia Técnica de Redes, Protocolos, Modelo OSI, TCP/IP, y otras tecnologías.

Posts Tagged ‘pila de protocolos’

Cómo funciona una Red Privada Virtual (Virtual Private Network)

Posted by Luis R. en 2009/04/28

from:IPSec Negotiation/IKE Protocols/How Virtual Private Networks Work

El mundo ha cambiado últimamente y ya no sólo nos interesa tratar con asuntos locales o regionales, ahora muchas empresas tienen que lidiar con mercados y logística globales. Algunas empresas deciden hacerlo mediante presencia en todo su país, su continente, o incluso en todo el mundo; pero siempre hay algo que necesitan: comunicación segura, confiable y rápida, sin importar donde estén sus oficinas.

Hasta hace poco, comunicación confiable significaba tener enlaces dedicados para mantener redes WAN, que podían ir desde una línea ISDN (144Kbps) hasta un OC3 (Optical Carrier-3 a 155Mbp o también llamado STM1). Obviamente una red WAN tiene ventajas sobre una red pública, como Internet, en cuanto a confiabilidad, disponibilidad, performance, latencia, seguridad, etc.; pero mantener una red WAN, particularmente usando enlaces dedicados, se puede volver demasiado costoso, y dependiendo del tipo de servicio, puede que la distacia incremente ese costo aún más. Adicionalmente, las redes privadas no son la solución para una empresa que tiene usuarios con alta movilidad (como puede ser el personal de mercadeo), y que requiere conectarse a recursos corporativos para acceder a datos sensiblemente importantes o confidenciales.

Mientras crece la popularidad del internet, las empresas lo han utilizado como un medio para extender sus propias redes. Primero llegaron las intranets, sitios diseñados para el uso de los empleados únicamente. Ahora, muchas compañías tienen sus propias VPNs para dar solución a las necesidades de sus empleados y oficinas remotos.

Una red típica de VPN puede tener una red local (LAN) principal en el edificio corporativo, otras LANs en oficinas remotas y usuarios individuales que se conectan desde campo.
Una VPN es una red privada que usa una red pública (usualmente el internet) para conectar sitios remotos o usuarios. Y en lugar de usar enlaces dedicados, tales como una línea privada, usa conexiones “virtuales” enrutadas a través de internet desde la red privada de la compañía hasta el sitio remoto.

¿Qué hace una VPN?

Hay dos tipos comunes de VPN

  • Remote-Access: también llamada Virtual Private Dial-up Network (VPDN); es una conexión usuario-LAN usada por empresas que tienen empleados móviles que se conectan desde localidades remotas. Usualmente, las empresas que trabajan este esquema, también contratan un ISP que provea el servicio de Dial-up a sus empleados móviles, y podría incluso ser a través de un número gratuito para entrar a internet y comunicarse con la red corporativa a través de un cliente de VPN. Las redes VPN de Remote-Access permiten conexiones seguras y encriptadas entre la red privada de una empresa y los usuarios remotos a través de un proveedor de servicios.
  • Site-to-Site: A través del uso de equipo dedicado y encripción a gran escala, una empresa puede conectar múltiples sitios fijos sobre una red pública como Internet. Cada sitio requiere sólo una conexión local a la misma red pública; de ahí proviene el ahorro comparado con Líneas Privadas dedicadas. Las VPNs Site-to-Site se pueden clasificar como intranets(entre dos oficinas remotas de la  misma compañía) o extranets (si se construye la VPN entre oficinas de compañías distintas, ya sea un socio, cliente, proveedor, etc.)

Entre las ventajas de una Red Privada Virtual bien diseñada tenemos:

  • Conectividad extendida geográficamente
  • Costos de operación menores que en una WAN tradicional
  • Reduce los tiempos y costos de tránsito para usuarios remotos
  • Aumenta la productividad
  • Simplifica la topología de red
  • Provee oportunidades de trabajo en red globales
  • Hace posible el soporte a esos trabajadores remotos
  • Provee un retorno de inversión más rápido que una WAN tradicional

¿Qué características tiene una Red Privada Virtual bien diseñada? Debe incorporar al menos:

  • Seguridad (security)
  • Confiabilidad (reliability)
  • Escalabilidad (scalability)
  • Manejo de Red (network management)
  • Manejo de Políticas (policy management)

Analogía: cada LAN es una ISLA (each LAN is an isLANd)

Imagina que vive en una isla dentro de un enorme oceáno. Hay miles de islas alrededor, algunas muy cerca, otras muy lejos. La manera normal de viajar a ellas es tomar un ferry, y por tanto, significaría no tener casi ninguna privacidad; todo lo que haga puede ser visto por otros.

Pensemos en que cada isla es una LAN y el oceáno es la Internet. Cuando te conectas a un servidor web es similar a cuando viajas por ferry. No tienes control sobre los cables o routers que componen la internet, así como no tienes control de la gente en el ferry. Es así como tienes los detalles de seguridad por usar un medio público para conectar dos redes privadas.

Así que decides construir un puente entre tu isla y otra, para tener un medio más seguro y directo de viajar entre ellas. Claro que será más caro construir y mantener el puente, aún cuando sea un destino cercano; pero la necesidad de un medio confiable y seguro es grande, así que lo construyes. Quizás si quieres comunicarte a una isla más lejana será demasiado caro.

La situación es parecida a tener una línea privada. Los puentes (esas líneas privadas) están separadas del oceáno (Internet), aún pueden conectar las islas (LANs). Muchas compañiás han escogido esta ruta por la gran necesidad de seguridad y confiabilidad. Aún así, la gran distancia podría hacer prohibitivos los costos.

Así que, ¿cómo encaja una VPN en esta analogía?, le podríamos dar a cada habitante de nuestra isla un pequeño submarino con las siguientes propiedades:

  • Rápido
  • Fácil de llevar
  • Se puede esconder completamente de otros submarinos y barcos
  • Se puede depender de él
  • Es barato agregar submarinos a la flota que ya tienes

Aunque está viajando en el oceáno junto con otro tráfico, los habitantes de nuestras islas pueden viajar cuando quieran, con seguridad y privacía. Así funciona una VPN en esencia; cada miembro remoto de tu red puede comunicarse de manera segura a través de Internet hacia una LAN privada. Además, puede crecer la VPN para acomodar más usuarios o localidades de manera más sencilla que con enlaces dedicados. De hecho, la escalabilidad es una de las mayores ventajas de las VPNs sobre las líneas dedicadas, ya que la distancia geográfica no influye en los costos de la VPN.

Tecnologías VPN

Una VPN bien diseñada usa varios métodos para mantener el orden de la conexión y los datos seguros.

  • Confidencialidad de los datos: es quizás el servicio más importante que nos da cualquier implementación de VPN. Como tus datos privados viajan sobre un medio público, la confidencialidad es vital y puede ser obtenida por encriptación. En este proceso se codifican los datos de una manera que sólo la computadora de destino puede descifrar la información.

La mayoría de las VPN usan uno de estos protocolos de encriptación:

  1. IPsec– Internet Protocol security que nos da una seguridad mejorada con características tales como algoritmos de encriptación más fuertes y autenticación más comprensiva. IPsec tiene dos modos de encripción, túnel y transporte. El modo de túnel encripta el encabezado y la carga de cada paquete, mientras que el método de transporte sólo encripta la carga o contenido de los paquetes. Sólo sistemas que son compatibles con IPsec pueden usar este protocolo. También, todos los dispositivos deben usar una clave común o certificado y deben tener implementadas políticas de seguridad similares.
    Para usuarios de acceso remoto de VPN hay paquetes de software  que proveen encriptación y conexión en una PC. IPsec soporta encriptación de 56 bits (single DES) o 168 bits (triple-DES).
  2. PPTP/MPPE– PPTP fue creado en el foro PPTP, un consorcio que incluye a US Robotics, Microsoft, 3COM, Ascend y ECI Telematics. PPTP soporta VPNs multiprotocolo, con encriptación de 40 y 128 bits usando un protocolo llamado Microsoft Point-to-Point Encryption (MPPE). Es importante notar que PPTP por si mismos no provee encriptación.
  3. L2TP/IPsec– conocido como L2TP sobre IPsec, provee la seguridad del protocolo de IPsec sobre la solución de túnel de Layer 2 Tunneling Protocol. L2TP es el producto de la alianza entre miembros del foro PPTP, Cisco y la Internet Engineering Task Force (IETF). Usado principalmente para VPNs de acceso remoto con sistemas operativos Windows 2000, ya que Windows 2000 trae incorporado un cliente nativo de IPsec y L2TP. Los ISP (proveedores de servicio de Internet) también pueden ofrecer conexiones L2TP para usuarios de dial-up (conexión por módem analógico) y encriptar el tráfico con IPsec entre sus puntos de acceso y los servidores de red de las oficinas remotas.
  • Integridad de los datos– es imporante que tus datos estén encriptados sobre una red pública, y es igual de importante que no sean cambiados durante su tránsito. Por ejemplo, IPsec tiene un mecanismo para asegurar que la parte encriptada del paquete o el encabezado completo y los datos del paquete, no han sido alterados. Si se detecta alguna alteración, el paquete se descarta. La integridad de los datos también involucra autenticar el par remoto (remote peer).
  • Autenticación del origen de los datos– es extremadamente importante verificar la identidad de la fuente de los datos que se están enviando. Esto es para protegernos de una variedad de ataques que dependen de suplantar la identidad del transmisor (spoofing).
    Anti Replay- Es la habilidad de detectar y rechazar paquetes que son reproducidos o copiados, y sirve para evitar el spoofing.
  • Data Tunneling/Traffic Flow Confidentiality–  Tunneling es el proceso de encapsular un paquete completo dentro de otro paquete y enviarlo sobre una red. El tuneleo de datos es útil en casos donde es deseable esconder la identidad del dispositivo que origina el tráfico. Por ejemplo, un dispositivo único que encapsula tráfico que pertenece a un número de hosts detrás de él, y agrega su propio encabezado sobre los paquetes existentes. Encriptando el paquete original y su encabezado ( y ruteando el paquete basado en el encabezado capa 3 que se agregó encima), el dispositivo de tuneleo esconde efectivamente la fuente original del paquete. Sólo un par (peer) confiable es capaz de determinar la verdadera fuente, después desecha el encabezado adicional y desencripta el encabezado original. Como puede verse en el RFC 2401:

“…disclosure of the external characteristics of communication also can be a concern in some circumstances. Traffic flow confidentiality is the service that addresses this latter concern by concealing source and destination addresses, message length, or frequency of communication. In the IPsec context, using ESP in tunnel mode, especially at a security gateway, can provide some level of traffic flow confidentiality.”

“…La revelación de las características externas de comunicación también pueden ser una preocupación en ciertas circunstancias. La confidencialidad del flujo de tráfico es el servicio que resuelve esta preocupación ocultando las direcciones fuente y destino; longitud del mensaje, o la frecuencia de comunicación. En el contexto de IPsec, usar ESP en modo de túnel, especialmente en un gateway de seguridad, puede dar algún nivel de confidencialidad al flujo de tráfico.”

Todos los protocolos de encriptación listados aquí también usan tuneleo como un medio para transferir los datos encriptados a través de la red pública. Es importante notar que el tuneleo, por si mismo, no provee seguridad a los datos. El paquete original es encapsulado únicamente dentro de otro protocolo y podría aún ser visible con un dispositivo de captura de paquetes si no es encriptado. Sin embargo se menciona aquí porque es una parte integral de cómo funciona una VPN.

El tunneling requiere 3 protocolos diferentes:

  1. Passenger protocol– Datos originales a transportar (IPX, NetBeui, IP).
  2. Encapsulating protocol–  El protocolo que envolverá al paquete original.
  3. Carrier protocol– El protocolo usado por la red sobre el que la información viajará.

El paquete original (passenger protocol) es encapsulado dentro del protocolo de encapsulamiento, el cual es puesto dentro del encabezado del protocolo de carrier (usualmente IP) para mandarlo sobre la red pública. Debemos notar que el protocolo de encapsulamiento frecuentemente también lleva la encriptación de los datos. Protocolos como IPX y NetBeui, los cuales normalmente no serían transportados por la Internet, pueden ser transmitidos de manera segura.

Para VPNs site-to-site, el protocolo de encapsulamiento es usualmente IPsec o Generic Routing Encapsulation (GRE). GRE incluye información de que tipo de paquete estás encapsulando e información acerca de la conexión entre el servidor y el cliente.
Para VPNs de acceso remoto, el tunneling normalmente tiene lugar usando PPP (point to point protocol). Parte de la pila de TCP/IP, PPP es el transporte para otros protocolos de IP cuando se comunicam dos hosts sobre la red. PPP tunneling usará PPTP, L2TP o Layer 2 Forwarding (propietario de Cisco).

  • AAA– Authentication, authorization, and accounting; se usa para un acceso más seguro en una VPN de acceso remoto. Sin la autenticación de usuario cualquiera que tenga acceso a una computadora con un cliente de VPN preinstalado puede establecer una conexión segura a la red remota. Sin embargo, con la autenticación de usuario se le pedirán un nombre usuario y una contraseña válidos para completar la conexión. Los nomrbes de usuario y contraseñas peuden ser almacenados en el dispositivo terminador de VPNs, o en un servidor externo de AAA, el cual puede proveer autenticación a muchas otras bases de datos, tales como Windows NT, Novell, LDAP, y demás.

Cuando una petición para establecer un túnel viene de un cliente de dial-up, el dispositivo de VPN pregunta por un nombre de usuario y una contraseña. Éste puede ser autenticado localmente o enviado a un AAA server, el cual revisa:

  • Authentication ¿Quién eres?
  • Authorization ¿Qué te está permitido hacer?
  • Accounting ¿Qué es lo que estás haciendo?

La información de accounting es especialmente útil para seguir la actividad de un cliente para auditar la seguridad, cobrar los servicios usados o elaborar reportes.

  • Nonrepudiation– es una característica bastante deseable en ciertas transferencias de datos, especialmente las relacionadas con finanzas. Ayuda a prevenir situaciones donde un extremo niega haber tomado parte en una transacción. Así como un banco nos requiere la forma antes de pagar un cheque, nonrepudiation trabaja agregando una firma digital al mensaje enviado, así se adelanta a la posibilidad de que el transmisor niegue su participación en la transacción.

Hay varios protocolos que se pueden usar para contruir una solución deVPN y cada uno de ellos provee parte de los servicios que se listan en el documento. La elección de algún protocolo depende del juego de características deseado. Por ejemplo, una organización puede estar cómoda con la información transmitida en texto simple, pero extremadamente preocupada con la integridad de los datos, mientras que otra empresa podría encontrar que su confidencialidad es extremadamente esencial. Obviamente la elección de protocolos sería diferente. Para más información de los protocolos disponibles y sus fortalezas relativas puedes leer el documento de cisco: ¿Cuál solución de VPN es la correcta para ti? (inglés).

Productos de VPN (Cisco)

Basados en el tipo de VPN (remote-access o site-to-site) se necesitan ciertos componentes para construir tu red de VPN. Estos pueden incluir:

  • Software para cada host remoto que se requiera conectar
  • Hardware dedicado, como un concentrador de VPN o un Cisco Adaptive Security Appliance (ASA), un router con IOS features, un VPN router de Nortel (antes contivity), etc.
  • Servidor de VPN dedicado para los servicios de dial-in
  • Network Access Server (NAS) usado por los proveedores de servicios para el acceso de usuarios remotos de VPN.
  • Centro manejo de políticas y de red privada.

Muchas compañías han desarrollado soluciones llave en mano debido a que no hay un estándar ampliamente aceptado para implementar VPNs, por ejemplo, Cisco ofrece:

  • VPN Concentrator (fuera de ventas)
  • VPN enabled router (un 1841 security bundle por ejemplo)
  • Cisco ASA
  • Cisco VPN clients
Anuncios

Posted in Cisco docs, Security | Etiquetado: , , , , , , , , , , , , , , , , , , , , , , | 6 Comments »

Three-way handshake

Posted by Luis R. en 2009/03/30

del artículo de Microsoft:
Explanation of the Three-Way Handshake via TCP/IP

El nivel del protocolo de transporte comprendido en TCP (transport control protocol) es orientado a conexión; lo que significa que antes de poder transmitir datos, se debe obtener una conexión confiable y reconocida (con acknowledge). Las transmisiones de datos a nivel TCP, los establecimientos de conexión y terminación de conexión, mantienen parámetros específicos de control que gobiernan el proceso completo. Los bits de control son:

  • URG: Urgent Pointer field significant
  • ACK: Acknowledgement field significant
  • PSH: Push Function
  • RST: Reset the connection
  • SYN: Synchronize sequence numbers
  • FIN: No more data from sender

Hay dos escenarios donde un proceso de three-way handshake tendrá lugar:

  • Estableciendo una conexión (apertura activa)
  • Terminando una conexión (cierre activo)

La información de muestra fue obtenida de un captura de un Monitor de red (analizador de protocolos que puede obtenerse de un Microsoft Systems Management Server).

Estableciendo una conexión

La siguiente secuencia muestra el proceso de una conexión de TCP siendo establecida:

Frame1:

Como podemos ver en el primer frame, el cliente NTW3 envía un segmento SYN (TCP…S); esto es una petición al servidor para sincronizar los números de secuencia. Especifica el número de secuencia inicial (ISN) que se incrementa por 1 (8221821+1=8221822) y es enviado al servidor. Para iniciar una conexión, el cliente y el servidor deben sincronizar sus respectivos números de secuencia. También hay una opción para el tamaño máximo de segmento (MSS) que debe acordarse, y se define en la longitud (length, len: 4). Esta opción comunica el tamaño máximo de segmento que el transmisor quiere recibir. El campo de reconocimiento o acuse de recibo (acknowledge, ack: 0) se fija en cero porque es la primera parte del proceso de three-way handshake.

1    2.0785 NTW3 --> BDC3 TCP ....S., len: 4, seq: 8221822-8221825, ack: 0,
win: 8192, src: 1037  dst:  139 (NBT Session)  NTW3 -->  BDC3 IP

TCP: ....S., len: 4, seq: 8221822-8221825, ack: 0, win: 8192, src: 1037
dst:  139 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 8221822 (0x7D747E)
   TCP: Acknowledgement Number = 0 (0x0)
   TCP: Data Offset = 24 (0x18)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x02 : ....S.

      TCP: ..0..... = No urgent data
      TCP: ...0.... = Acknowledgement field not significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......1. = Synchronize sequence numbers
      TCP: .......0 = No Fin

   TCP: Window = 8192 (0x2000)
   TCP: Checksum = 0xF213
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Options

         TCP: Option Kind (Maximum Segment Size) = 2 (0x2)
         TCP: Option Length = 4 (0x4)
         TCP: Option Value = 1460 (0x5B4)

   TCP: Frame Padding

00000:  02 60 8C 9E 18 8B 02 60 8C 3B 85 C1 08 00 45 00   .`.....`.;....E.
00010:  00 2C 0D 01 40 00 80 06 E1 4B 83 6B 02 D6 83 6B   .,..@....K.k...k
00020:  02 D3 04 0D 00 8B 00 7D 74 7E 00 00 00 00 60 02   .......}t~....`.
00030:  20 00 F2 13 00 00 02 04 05 B4 20 20                .........


Frame 2:

En el segundo frame, el servidor BDC3 envía un ACK y un SYN en este segmento (TCP .A..S.) En este segmento el servidor está acusando de recibida la petición del cliente para sincronizar. Al mismo tiempo, el servidor también envía su petición al cliente para sincronizar sus números de secuencia. Hay una diferencia importante en este segmento. El servidor transmite un número de acuse (acknowledgement number 8221823) al cliente. El acknowledgement es sólo la prueba para que el cliente sepa que el ACK es la respuesta al SYN que el cliente inició. El proceso de acuse de recibo que el cliente requirió permite al servidor incrementar el número de secuencia del cliente por uno y lo usa como su número de acknowledgement.

2   2.0786 BDC3 --> NTW3  TCP .A..S., len: 4, seq: 1109645-1109648, ack:
8221823, win: 8760, src: 139 (NBT Session)  dst: 1037 BDC3 --> NTW3  IP

TCP: .A..S., len:    4, seq:   1109645-1109648, ack:   8221823, win: 8760,
src:  139 (NBT Session)  dst: 1037

   TCP: Source Port = NETBIOS Session Service
   TCP: Destination Port = 0x040D
   TCP: Sequence Number = 1109645 (0x10EE8D)
   TCP: Acknowledgement Number = 8221823 (0x7D747F)
   TCP: Data Offset = 24 (0x18)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x12 : .A..S.

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......1. = Synchronize sequence numbers
      TCP: .......0 = No Fin

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x012D
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Options

         TCP: Option Kind (Maximum Segment Size) = 2 (0x2)
         TCP: Option Length = 4 (0x4)
         TCP: Option Value = 1460 (0x5B4)

   TCP: Frame Padding

00000:  02 60 8C 3B 85 C1 02 60 8C 9E 18 8B 08 00 45 00   .`.;...`......E.
00010:  00 2C 5B 00 40 00 80 06 93 4C 83 6B 02 D3 83 6B   .,[.@....L.k...k
00020:  02 D6 00 8B 04 0D 00 10 EE 8D 00 7D 74 7F 60 12   ...........}t`.
00030:  22 38 01 2D 00 00 02 04 05 B4 20 20               "8.-......

Frame 3:
En el tercer frame, el cliente envía un ACK en el segmento (TCP .A….) y el cliente está confirmando la petición del servidor para sincronizar. El cliente usa el mismo algoritmo que el servidor implementó para dar un número de confirmación. La confirmación del cliente está completando el proceso de establecer una conexión confiable, a través del Three-Way Handshake.

3   2.787 NTW3 --> BDC3  TCP .A...., len: 0, seq: 8221823-8221823, ack:
1109646, win: 8760, src: 1037  dst:  139 (NBT Session)  NTW3 --> BDC3  IP

TCP: .A...., len:    0, seq:   8221823-8221823, ack:   1109646, win: 8760,
src: 1037  dst:  139 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 8221823 (0x7D747F)
   TCP: Acknowledgement Number = 1109646 (0x10EE8E)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x10 : .A....

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......0 = No Fin

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x18EA
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Frame Padding

00000:  02 60 8C 9E 18 8B 02 60 8C 3B 85 C1 08 00 45 00   .`.....`.;....E.
00010:  00 28 0E 01 40 00 80 06 E0 4F 83 6B 02 D6 83 6B   .(..@....O.k...k
00020:  02 D3 04 0D 00 8B 00 7D 74 7F 00 10 EE 8E 50 10   .......}t....P.
00030:  22 38 18 EA 00 00 20 20 20 20 20 20               "8....


Terminando una conexión

Aunque el proceso three-way handshake solo requiere 3 paquetes para ser transmitido sobre nuestro medio de red, la terminación de esta conexión confiable necesitará la transmisión de 4 paquetes. Debido a que una conexión TCP es Full Duplex (fluye información en cada dirección de manera independiente de la otra) cada dirección debe ser terminada de manera independiente.

Frame 4
En esta sesión de frames, podemos ver alcliente enviando un FIN que es acompañado por un ACK (TCP.A…F) Este segmento tiene dos funciones básicas; primero, cuando el parámetro FIN es fijado, informará al servidor que no hay más datos que enviar; segundo, el ACK es esencial para identificar la conexión específica que ellos establecieron.

4   16.0279 NTW3 --> BDC3 TCP .A...F, len: 0, seq: 8221823-8221823,
ack:3462835714, win: 8760, src: 2337  dst: 139 (NBT Session)  NTW3 --> BDC3
IP

TCP: .A...F, len:   0, seq: 8221823-8221823, ack:  1109646, win: 8760, src:
1037  dst:  139 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 8221823 (0x7D747F)
   TCP: Acknowledgement Number = 1109646 (0x10EE8E)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x11 : .A...F

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......1 = No more data from sender

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x236C
   TCP: Urgent Pointer = 0 (0x0)

00000:  00 20 AF 47 93 58 00 A0 C9 22 F5 39 08 00 45 00   . .G.X...".9..E.
00010:  00 28 9B F5 40 00 80 06 21 4A C0 5E DE 7B C0 5E   .(..@...!J.^.{.^
00020:  DE 57 09 21 05 48 0B 20 96 AC CE 66 AE 02 50 11   .W.!.H. ...f..P.
00030:  22 38 23 6C 00 00                                 "8#l..

Frame 5:
Aquí no se ve nada especial, excepto el servidor confirmando el FIN que envió el cliente.

5    16.0281 BDC3 --> NTW3 TCP .A...., len:    0, seq: 1109646-1109646,
ack: 8221824, win:28672, src: 139  dst: 2337 (NBT Session) BDC3 -->  NTW3
IP

TCP: .A...., len:    0, seq: 1109646-1109646, ack: 8221824, win:28672, src:
139  dst: 2337 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 1109646 (0x10EE8E)
   TCP: Acknowledgement Number = 8221824 (0x7D7480)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x10 : .A....

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......0 = No Fin

   TCP: Window = 28672 (0x7000)
   TCP: Checksum = 0xD5A3
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Frame Padding

00000:  00 A0 C9 22 F5 39 08 00 02 03 BA 84 08 00 45 00   ...".9........E.
00010:  00 28 D2 82 00 00 3F 06 6B BD C0 5E DE 57 C0 5E   .(....?.k..^.W.^
00020:  DE 7B 05 48 09 21 CE 66 AE 02 0B 20 96 AD 50 10   .{.H.!.f... ..P.
00030:  70 00 D5 A3 00 00 90 00 01 00 86 00               p...........

Frame 6
Después de recibir el paquete FIN desde el cliente, el servidor confirmará. Aún cuando TCP ha establecido conexiones entre esas dos computadoras, las conexiones son aún independientes una de otra; así que el servidor debe transmitir también un paquete FIN (TCP .A…F) al cliente.

6   17.0085 BDC3 --> NTW3 TCP .A...F, len: 0, seq: 1109646-1109646, ack:
8221824, win:28672, src: 139 dst: 2337 (NBT Session) BDC3 -->  NTW3   IP

TCP: .A...F, len:  0, seq: 1109646-1109646, ack: 8221824, win:28672, src:
139  dst: 2337 (NBT Session)

   TCP: Source Port = 0x0548
   TCP: Destination Port = 0x0921
   TCP: Sequence Number = 1109646 (0x10EE8E)
   TCP: Acknowledgement Number = 8221824 (0x7D7480)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x11 : .A...F

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......1 = No more data from sender

   TCP: Window = 28672 (0x7000)
   TCP: Checksum = 0xD5A2
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Frame Padding

00000:  00 A0 C9 22 F5 39 08 00 02 03 BA 84 08 00 45 00   ...".9........E.
00010:  00 28 D2 94 00 00 3F 06 6B AB C0 5E DE 57 C0 5E   .(....?.k..^.W.^
00020:  DE 7B 05 48 09 21 CE 66 AE 02 0B 20 96 AD 50 11   .{.H.!.f... ..P.
00030:  70 00 D5 A2 00 00 02 04 05 B4 86 00               p...........

Frame 7
El cliente responde en la misma manera que el servidor, confirmando el paquete de FIN que recibió e incrementando el número de secuencia por 1.

7   17.0085 NTW3 --> BDC3 TCP .A...., len: 0, seq: 8221824-8221824, ack:
1109647, win: 8760, src: 2337  dst: 139 (NBT Session) NTW3 --> BDC3 IP

TCP: .A...., len:    0, seq: 8221824-8221824, ack: 1109647, win: 8760, src:
2337  dst: 139   (NBT Session)

   TCP: Source Port = 0x0921
   TCP: Destination Port = 0x0548
   TCP: Sequence Number = 8221824 (0x7D7480)
   TCP: Acknowledgement Number = 1109647 (0x10EE8F)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x10 : .A....

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......0 = No Fin

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x236B
   TCP: Urgent Pointer = 0 (0x0)

00000:  00 20 AF 47 93 58 00 A0 C9 22 F5 39 08 00 45 00   . .G.X...".9..E.
00010:  00 28 BA F5 40 00 80 06 02 4A C0 5E DE 7B C0 5E   .(..@....J.^.{.^
00020:  DE 57 09 21 05 48 0B 20 96 AD CE 66 AE 03 50 10   .W.!.H. ...f..P.
00030:  22 38 23 6B 00 00                                 "8#k..

El cliente confirmando la notificación de FIN del servidor identifica el cierre de una conexión de TCP.

Para mayor información, referirse al RFC793, el cual describe a fondo el proceso estandarizado de establecimiento de conexión de TCP.

Posted in Cisco docs | Etiquetado: , , , , , , , , , , , , , , , | Leave a Comment »

Movilidad IPv6

Posted by Luis R. en 2009/03/18

del documento de cisco: IPv6 Mobility At-a-Glance

Los objetivos de la movilidad de IPv6 son:

  • no estar limitado a una ubicación
  • tener siempre conectividad IP
  • que sea independiente del transporte
  • conexiones en roaming robustas
  • movilidad de las aplicaciones
  • continuidad de las aplicaciones
  • que un server pueda ser un dispositivo móvil

Mobile IPv6 (MIPv6) se define en:

  • RFC 3775: Mobility Support in IPv6
  • RFC 3776: Using IPSec to Protect Mobile IPv6 Signalling between Mobile Nodes and Home Agents

Existen los mismos componentes básicos en MIPv6 como en MIPv4, excepto que no hay agentes externos en MIPv6.

figura 1 Lee el resto de esta entrada »

Posted in Cisco docs | Etiquetado: , , , , , , , , , , , , , , , , , , , | Leave a Comment »

VoIP

Posted by Luis R. en 2008/12/15

La Voz sobre IP se refiere a la transmisión de llamadas telefónicas sobre el protocolo IP, ésto sin importar que tipo de equipo tradicional, computadoras o equipo dedicado tome parte en el proceso, o incluso sin importar si la llamada es transportada en su totalidad por IP o no.

La VoIP es uno de los desarrollos tecnológicos que más rápido se han adoptado por las compañías. Una de las razones principales es que hace más fácil integrar todo tipo de comunicaciones, de medios de comunicación y de dispositivos y medios de transmisión. Así, un usuario puede estar en comunicación constante, sin importar su ubicación, en tiempo real; y es el primer paso hacia las comunicaciones unificadas. Esta disponibilidad reduce costos y aumenta la productividad de un empleado.

La VoIP comenzó en 1995, cuando Vocaltech lanzó su primer teléfono para internet; previo a ese hecho, todo lo que se refería a VoIP era hehco por investigadores, pero desde que se probó que no sólo es técnicamente factible, sino comercialmente viable, muchas compañías han entrado al mercado de la VoIP tratando de tomar la ventaja, lo cual ha fomentado el desarrollo y competencia necesarias para abaratar los costos.

Cómo trabaja la VoIP

La configuración más básica es cuando un usuario ya cuenta con una computadora que tiene capacidad de audio (sound card), así, el usuario puede iniciar y terminar llamadas a través de un software llamado Softphone. Hay una gran variedad de opciones disponibles, algunos incluso totalmente gratuitos.

Este escenario es de telefonía IP pura, y se beneficia de los demás servicios de internet, como el e-mail y la mensajería instantánea.

También existe el escenario donde mezclamos servicios de VoIP con la telefonía tradicional y conectamos a través de un Gateway de voz las líneas” normales”. El Gateway de voz hace la conversión de paquetes de IP (transportados en UDP generalmente) hacia la telefonía basada en TDM (time division multiplexing).

Es importante este punto, porque las redes IP trabajan con conmutación de paquetes, es decir, cada paquete es enviado a su destino a través de múltiples circuitos que se comparten entre paquetes de distintos orígenes y con distintos destinos, así como múltiples protocolos o aplicaciones. En el caso de los circuitos conmutados (TDM) el canal se establece físicamente y es usado mientras la llamada está activa, y sólo es ocupado por la aplicación que lo genera; es el caso de la transmisión de datos por ISDN por ejemplo, o de una simple llamada de voz.

VoIP to PSTN

VoIP to PSTN

Entendiendo ésto, tenemos que: se inicia la llamada por el softphone, que usando SIP o H.323 o algún otro protocolo de señalización, se comunicará con el gateway de voz (un router, un IP-PBX, un servidor SIP, etc) y le hará una petición de inicio de llamada; el gateway verificará que puede entregar el servicio hacia la PSTN, y responderá positivamente al IP-phone y se iniciará la comunicación; aquí, la voz se convierte en paquetes de IP con un protocolo (G.729 por ejemplo) que se transportan en datagramas de UDP (encapsulamiento), y se entregarán al gateway, que los decodificará y traducirá a una señal analógica o digital, según el acceso a la PSTN, para poder hacer uso de una línea TDM tradicional.

También tenemos el caso donde tenemos dos gateways de voz, y se inicia la llamada desde un teléfono normal hacia un gateway, y éste a su vez hace el transporte hacia el gateway remoto a través de internet; una vez que el gateway remoto tiene la llamada, la decodifica y la entrega a la PSTN nuevamente, con lo que tenemos un ahorro en las largas distancias. Este caso es muy común en ambientes corporativos donde el volumen de llamdas justifica el uso de enlaces privados o públicos para hacer el transporte de voz y datos.

Los beneficios de la VoIP son que se incrementa la movilidad y la flexibilidad; así como una integración de la voz y los datos, y una reducción de costos para el usuario final.

Posted in Internetworking | Etiquetado: , , , , , , , , , | Leave a Comment »

Ventajas de los Modelos de Referencia

Posted by Luis R. en 2008/07/27

El Modelo de Referencia OSI es jerárquico, y de cualquier otro modelo se pueden obtener las mismas ventajas, y su objetivo principal es que las redes de diferentes fabricantes puedan operar en conjunto. Algunas de las ventajas son:

  • Divide los procesos de comunicación de la red en pequñas porciones que son más simples de analizar, permitiendo desarrollar componentes, diseñar y resolver problemas para una capa específica de la red.
  • Evita que cambios en una capa afecten a otras capas, facilitando el desarrollo.
  • Permite que distintos tipos de hardware y software de red se comuniquen entre si.
  • Permite que los desarrollos de múltiples fabricantes se comuniquen entre si por medio de la estandarización de los componentes de red.

Posted in A-Bases, CCNA, Internetworking | Etiquetado: , , , , | 1 Comment »

Soportando las aplicaciones de TCP/IP

Posted by Luis R. en 2008/06/07

Además de incluir a TCP, IP, y UDP, la pila de protocolos TCP/IP incluye también aplicaciones que soportan otros servicios tales como transferencia de archivos, e-mail, ye ingreso remoto (remote login).

Algunas de las aplicaciones que TCP/IP soporta incluyen:

· Flow Control: si el transmisor está desbordando el buffer del receptor por transmitir demasiado rápido, el receptor descarta paquetes. Los acknowledgement fallidos alertan al transmisor para bajar la tasa de transferencia o dejar de transmitir.

· File Transport Protocol: FTP es un servicio confiable y orientado a la conexión que usa TCP para transferir archivos entre sistemas que soportan FTP. FTP también soporta la transferencia binaria bidireccional y transferencias de archivos ASCII.

· Trivial File Transfer Protocol: TFTP es un servicio no orientado a conexión que usa UDP. Los ruteadores usan TFTP para transferir archivos de configuración e imágenes de Cisco IOS, y para transferir archivos entre sistemas que soportamn TFTP.

· Terminar Emulation (Telnet): telnet provee la capacidad de acceder remotamente a otra computadora. Telnet permite a un usuario entrar en un host remotoy ejecutar comandos.

Los protocolos TCP/IP: soportan las aplicaciones y utilidades que abarcan el internet.

Application

File transfer: FTP*, TFTP*, NFS

E-mail: SMTP

Remote Login: Telnet*, rlogin*

Network Management: SNMP*

Name Management: DNS*

Transport

Network

Data Link

Physical

*usados por el ruteador

Posted in A-Bases, CCNA, Internetworking | Etiquetado: , , , , , , , , | 1 Comment »

UDP, sus funciones

Posted by Luis R. en 2008/06/07

El protocolo User Datagram Protocol, es una expansión de las primeras versiones de la suite de protocolos de IP. Antes consistía dicha suite en TCP e IP solamente, aunque IP no era diferenciado como un servicio separado. Sin embargo, algunas aplicaciones tenían una necesidad de puntualidad más que de precisión. En otras palabras, la velocidad era más importante que la recuperación de paquetes. En transferencias de video o audio en tiempo real, unos cuantos paquetes perdidos son tolerables. Recuperar paquetes crea una excesiva saturación que reduce el desempeño.

Para acomodar este tipo de tráfico, los arquitectos de TCP rediseñaron la suite de protocolos para incluir a UDP. El direccionamiento básico y el servicio de expedición de paquetes en la capa de red era IP. TCP y UDP están en la capa de transporte arriba de IP, y ambos usan los servicios de IP.

UDP ofrece sólo servicios mínimos, no garantizados de transporte, y da a las aplicaciones acceso directo a la capa de IP. UDP es usado por aplicaciones que no requieresn el nivel de servicio de TCP, o que quieren usar servicios de comunicación tales como entrega por multidifusión o difusión, no disponibles en TCP.

Posted in A-Bases, CCNA, Internetworking | Etiquetado: , , , , , , , , | Leave a Comment »

TCP, sus funciones

Posted by Luis R. en 2008/06/07

TCP es un protocolo orientado a conexión que provee control de flujo y servicios de entrega de datos confiables.

Los servicios provistos por TCP corren en el anfitrión (host) de cualquiera de los extremos de una conexión, no en la red. Por lo tanto, TCP es un protocolo para manejar conexiones de extremo a extremo, y como una serie de conexiones de extremo a extremo pueden existir a través de una serie de conexiones punto a punto, estas conexiones extremo-extremo son llamadas circuitos virtuales. Éstas son las características de TCP:
Lee el resto de esta entrada »

Posted in A-Bases, CCNA, Internetworking | Etiquetado: , , , , , , , , | 1 Comment »

Definiendo TCP/IP

Posted by Luis R. en 2008/06/07

TCP/IP se refiere a la familia completa de protocolos, de los cuales, TCP e IP son sólo dos.

TCP provee transferencias transparentes de datos entre sistemas finales usando los servicios de la capa de red inferior para mover los paquetes entre los dos sistemas comunicantes. TCP es un ejemplo de protocolo de la capa de transporte. IP es un ejemplo de la protocolo de la capa de red.

Application

 

FTP,

Telnet

SMTP

 

DNS, SNMP

Presentation

 

NetBIOS

Session

 

Transport

TCP

 

Network

IP

OSPF

IGRP

RIP

INT, IS-IS

ICMP

Data-Link

ARP, RARP, SNAP

Physycal

Many Physical Implementations

                 

Similar al modelo OSI/ISO, TCP/IP separa una suite completa de protocolosde red en un número de tareas. Cada capa corresponde a diferentes aspectos de la comunicación. Conceptualmente, es útil ver a TCP/IP como una pila de protocolos.

Una pila de protocolos está organizada de tal manera que el nivel más alto de comunicación reside en la capa de arriba. Por ejemplo, la capa más alta puede negociar con las aplicaciones para distribuir tramas de audio o video, mientras que la capa más baja puede lidiar con voltajes o señales de radio. Cada capa en la pila se construye sobre los servicios de la capa inmediata inferior.

Posted in A-Bases, CCNA, Internetworking | Etiquetado: , , , , , , , | 1 Comment »