Tópicos. Diseño de Protocolos en Capas o Niveles. Servicios ofrecidos por protocolos 3. Modelo de Protocolos de Redes OSI 4. Protocolos de Transporte (TCP y UDP) 5. Definición de TCP/IP CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-
Diseño de Protocolos en Capas o Niveles Layers Cada capa o nivel layer encapsula el mensaje de la capa de mas arriba, llevándolo como carga o payload sin conocer su contenido, y tiene su propio protocolo. Por ejemplo: En el nivel 4, a una persona solamente le interesa como escribir la carta, y al destinatario como leerla. En el nivel 3, este protocolo exige que la carta se ponga en un sobre, y que se escriba el remitente y destinatario. En el nivel, este protocolo exige que se ponga en buzones, instalados en sitios públicos. Nivel 4 Nivel 3 Nivel Nivel El nivel, se cuenta con el cartero, oficinas, y camioneros, para llevar las cartas a su destino final. CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-
El remitente actúa como si se estuviera comunicando directamente con el destinatario, hacia la derecha, cuando en realidad el mensaje se pasa hacia abajo al nivel inferior! El objetivo es que un nivel se pueda reemplazar sin afectar los demás niveles! Ej. En nivel o podríamos intercambiar Fedex, UPS, o DHL sin afectar al remitente o destinatario, quienes operan en el nivel 4. Nivel 4 Level 4 Nivel 3 Level 3 Nivel Level Nivel Level CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-3
Cada nivel o capa agrega la cabecera header de su protocolo Cada capa o nivel agrega una cabecera header, y en su carga lleva el mensaje. Imagínese una persona, en una motocicleta, la cual es llevada en una camioneta, la cual es llevada en una grúa. Hdr Hdr Carga Hdr 3 Carga Hdr 4 Carga 4 Carga 3 Los protocolos de comunicación de redes toman la carga de mas arriba, en este caso la carga 4, y agregan la cabecera de cada nivel. Hdr Hdr Hdr 3 Hdr 4 Carga 4 CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-4
TCP/IP Vs. OSI TCP/IP tiene 5 capas o niveles. Este nombre viene de Transfer Control Protocol (TCP) en nivel 4, e Internetwork Protocol (IP) del nivel 3. El modelo OSI Open System Interconnection Reference Model tiene 7 capas; y es un patrón para crear redes de comunicación sin comprometerse con una tecnología en particular. 5 4 3 7 6 5 4 3 CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-5
Internet Explorer 5 Aplicación GET /index.html /HTTP. host www.mariontech.com Cliente / Servidor <html><body>welcome page</html></body> Servidor Web 4 Transporte (TCP) Segmento 3 Inter-Network (IP) Paquete Link (Ethernet) Físico Frame Señal CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-6
Servicios de Entrega Garantizada Servicio con confirmación de recibido Acknowledged Service (ACK) Cuando se envía dinero o documentos legales, estaríamos dispuestos a pagar extra por el servicio con tal de recibir confirmación de que el mensaje ha sido recibido por el destinatario. Servicios sin confirmación de recibido Unacknowledged Service (NAK) Cuando se envía un periódico gratis o panfleto, no es necesario saber si ha sido recibido o no, y por ello se puede usar un servicio sin confirmación, mas barato. Es posible usar un protocolo a sabiendas de que no ofrece ACK, y entonces compensar con algoritmos adicionales para proveer ACK Ej. Enviar invitación de boda por correo regular, pero exigiendo que el destinatario retorne una postal confirmando que va a asistir a la boda. Se mantiene una lista de quien ha confirmado y quien no. Header ACK Dinero Header El nivel 4 de TCP/IP ofrece los dos tipos de servicios: Servicios ACK, usados por email y paginas de Internet para garantizar que los mensajes lleguen intactos. Servicios NAK, usados por video ya que es mas rápido y barato. Video es una secuencia de fotos presentadas a cierta frecuencia por segundo (Ej. 30 fps). Si se pierde la foto numero 8, todavía el video se puede ver. CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-7
Servicios de Segmentación Segmentación Segmentation es un servicio que divide el mensaje en pedazos manejables por el network: a) Divide mensaje en mensajitos que no excedan el tamaño máximo Maximun Transmission Unit - MTU b) Asigna una secuencia u orden a cada mensajito. c) Reensambla el mensaje, verificando que todos los mensajitos han llegado, y los pone en orden. Ej. Los barcos solamente permiten furgones de un tamaño fijo. Una mudanza tiene que ser dividida en varios furgones. Al llegar su destino, la mudanza es reensamblada al llegar al nuevo hogar. Mensaje, Ej. Pagina de internet Header Mensajito Header Mensajito Header Mensajito 3 Mensajito se perdió, y es retransmitido. Header Mensajito El nivel 4 de TCP/IP ofrece servicios de segmentación. CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-8
Servicio de Control de Flujo Control de Flujo Flow Control es un servicio que baja la velocidad de un transmisor mas potente, para que el receptor tenga tiempo de procesar los mensajes que ya ha recibido. Ej. Durante practicas, el lanzador tiene una lata de pelotas. Pero, el catcher recibe la pelota, y tiene que pararse para ponerla en otra lata. El pitcher observa si el lanzador (y el bateador) están listos antes de hacer el próximo lanzamiento. RAM Buffer del transmisor, empezó con 4 mensajes! Header Mensaje 4 Header Mensaje 3 Amigo baje la velocidad, soy un PC chiquito y lento! Las computadoras se intercambian el tamaño de RAM disponible para mensajes ( buffer ), lo cual indica al transmisor que continúe enviando o haga una pausa, controlando el flujo. El nivel 4 de TCP/IP ofrece servicios de control de flujo. Header Mensaje RAM Buffer del receptor, tiene espacio para otro mensaje Header Mensaje CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-9
Protocolos de Transporte Transport Protocol Nivel 4 El protocolo de transporte lleva y trae mensajes entre dos programas. Tiene dos sub-protocolos: Programa_C Programa_S a) Transfer Control Protocol (TCP), el cual da confirmación de recibido ACK, garantizando así la entrega. b) User Datagram Protocol (UDP), el cual no provee confirmación de recibido NAK, o sea que no garantiza la entrega. El protocolo de transporte le asigna un numero de 6 bits a cada programa, llamado Puerto Port. La cantida de puertos posibles son 6 = 65535. Los primeros 03 puertos esta reservados para uso de servidores y son asignados por un comité; aunque hay otros puertos que se han dado a conocer por uso común. Windows Linux 4560 80 Port Origen Port Destino TCP Mensaje 4650 80 UDP FTP Server 3 Telnet Server 80 Servidor paginas Web (HTTP Server) 443 Servidor Web encryptado (HTTPS) 433 Servidor base de datos Microsoft SQL 5 Servidor base de datos Oracle CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-0
Transfer Control Protocol (TCP) El sub-protocolo de transporte TCP es el mas confiable, ya que garantiza que el mensaje va a llegar a su destino. Es el mas rico en funciones. Pero, también es el mas caro. Su formato de mensaje tiene mas datos, los algoritmos son mas complejos, y los mensajes ACK consumen la velocidad contratada con el ISP. Buffer RAM Handshake en 3 pasos SYN Header SYN+ACK Header Buffer RAM Además, al iniciar la comunicación, el transmisor y receptor, se dan la mano handshake para la cual intercambian 3 mensajes. En este momento se seleccionan los puertos, y se reserva memoria RAM para los buffers. Header ACK CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-
TCP Header Para entender un protocolo a fondo, hay que analizar los datos de su cabecera. Por ejemplo, entre los datos de la cabecera de TCP, estan: Puerto de Origen, Puerto de Destino, bit ACK, bit SYN, y Window Size (buffer). Bit offset 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 3 0 3 0 Source port Destination port 3 Sequence number 64 Acknowledgment number 96 Data offset Reserve C W E C U R A C P S R S S Y F I Window Size R E G K H T N N 8 Checksum Urgent pointer 60... Options (if Data Offset > 5)... CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-
User Datagram Protocol (UDP) El protocolo UDP es mas simple, y su cabecera solamente tiene dos o tres datos, entre ellos: Puerto de Origen, y Puerto de Destino. UDP es muy útil en aplicaciones que transmiten en una sola vía, tales como video. Una aplicación lo puede usar para enviar y recibir, pero tendría que proveer su propio algoritmo para saber cuando el mensaje no ha sido recibido. Ej. Internet Explorer, envía mensaje UDP, preguntando la dirección IP de www.mariontech.com, y arranca el reloj. Si no se recibe respuesta en un par de segundos, entonces aborta, y presenta un error. bits 0-5 6-3 0 Source Port Destination Port 3 Length Checksum 64 Data CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-3
Puertos, Sockets, y Modelo Cliente/Servidor El Cliente elige un puerto por encima de 03, que no este siendo usado, y crea un canal de comunicación de punto a punto, llamado Socket, el cual esta representado por la tupla (protocolo, puerto de origen, dirección IP de origen, puerto de destino, dirección IP de destino). Cliente Internet Explorer TCP Servidor Web de Paginas de Internet Port 4650 TCP Port 80 Los canales TCP son abiertos durante el handshake, y permanecen abiertos. El comando netstat presenta una lista de todos los Sockets abiertos. El protocolo UDP no tiene handshake, asi que el canal de comunicación, no es de punto a punto y no se mantiene abierto. El Servidor entrega los mensajes que llegan por ese Socket al programa que escucha listen en ese puerto; y luego intercambia las direcciones y puertos para responder. 9.68.0.3 ` 06..48.34 CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-4
Relación entre los 5 niveles o capas layers de TCP/IP 5 Aplicación Mensaje (Ej. pagina de Internet) 4 Transporte TCP/UDP Segment Port Origen 4650 Port Destino 80 TCP UDP Carga 3 Internetwork IP Packet Direccion IP Destino Direccion IP Origen Carga 06..48.34 9.68.0.3 Link Ethernet Frame 80.3 Preambulo 7 bytes 0000 Inicio del Frame byte 0000 MAC de Destino 6 bytes BB-BB MAC de Origen 6 bytes AA-AA Tipo de Frame bytes Carga 500 Bytes FSC CRC3 4 bytes 80.3 Wired Ethernet 80.g Wireless Ethernet Físico CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-5
Tarea - Lab. Leer el capitulo 6 del libro de referencia.. Usar el comando netstat para ver los Sockets abiertos en un PC. CS07 Networking Para La Pequeña Empresa, La Senda, Luis Marion. August 6, 00. 7-6