Protocolo Tcp Ip
Upcoming SlideShare
Loading in...5
×
 

Protocolo Tcp Ip

on

  • 5,856 views

Es un protocolo Básico de Comunicaciones

Es un protocolo Básico de Comunicaciones

Statistics

Views

Total Views
5,856
Views on SlideShare
5,846
Embed Views
10

Actions

Likes
0
Downloads
113
Comments
0

1 Embed 10

http://www.slideshare.net 10

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Protocolo Tcp Ip Protocolo Tcp Ip Presentation Transcript

  • PROTOCOLO TCP IP
  • Introducción a TCP e IP
  • Funciones de TCP e IP
    • TCP
      • prové confiabilidad; implementa conexión de datos, recuperación de errores por repetición, control de flujo
    • UDP
      • transporte de datagramas, no orientado a conexión
    • IP
      • protocolo de enrutamiento
    • ICMP
      • gestión de errores de la capa IP (implementa, por ejemplo, Ping y Traceroute )
    • IGMP
      • gestión de grupo (para multicasting )
    • ARP ( Address Resolution Protocol ) e RARP ( Reverse ARP )
      • para conversión de direcciones IP en direcciones usadas por la interfaz de red y vice-versa
    TCP UDP ICMP IP IGMP ARP interfaz de hardware RARP proc. de usuario proc. de usuario proc. de usuario proc. de usuario medio físico aplicación transporte red enlace
  • Direcciones IP
    • Las direcciones de clases A e B generalmente son divididas en sub-redes
      • de los 24 o 16 bits del hostid , algunos son reservados para designar una sub-red
      • también posible para la clase C, pero los 8 bits de hostid son pocos...
    1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 byte 1 byte 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 byte 3 byte 4 0 1 1 0 1 1 7 bits: ident. da red ( netid) 14 bits: ident. da red ( netid) 24 bits: ident. del host ( hostid ) 1 1 0 16 bits: ident. del host ( hostid ) 0 28 bits: ident. del grupo de multicasting 1 1 1 1 27 bits: reservados para usos futuros 0 21 bits: ident. da red ( netid) 8 bits: ident. del host ( hostid ) A B C D E clase:
  • Multiplexación
    • Ya vimos que varias entidades solicitan los servicios del protocolo IP
      • este es el caso de UDP, TCP, ICMP e IGMP
      • el IP agrega un identificador de 1 byte que indica a cual capa pertenecen los datos (campo protocolo )
        • el valor 1 corresponde a ICMP, 2 a IGMP, 6 a TCP e 17 a UDP
    • De forma similar, varias aplicaciones pueden solicitar los servicios del UDP o del TCP
      • ambos utilizan un número de 16 bits llamado número de puerto para identificar la aplicación
        • los encabezados de TCP e UDP traen los números de los puertos de destino e de origen
    • La capa física envía y recibe datos de IP, ARP e RARP
      • el encabezado Ethernet contiene un campo de tipo de trama de 16 bits para identificar la capa de red correcta
  • Multiplexación (cont.) ARP driver Ethernet IP RARP ICMP IGMP TCP UDP aplicación aplicación aplicación aplicación demultiplexación basada en el tipo de quadro Ethernet demultiplexación basada en el protocol value del encabezado IP demultiplexación basada en el destination port number del encabezado TCP o UDP
  • Funciones de TCP e IP
    • TCP
      • prové confiabilidad; implementa conexión de datos, recuperación de errores por repetición, control de flujo
    • UDP
      • transporte de datagramas, no orientado a conexión
    • IP
      • protocolo de enrutamiento
    • ICMP
      • gestión de errores de la capa IP (implementa, por ejemplo, Ping y Traceroute )
    • IGMP
      • gestión de grupo (para multicasting )
    • ARP ( Address Resolution Protocol ) e RARP ( Reverse ARP )
      • para conversión de direcciones IP en direcciones usadas por la interfaz de red y vice-versa
    TCP UDP ICMP IP IGMP ARP interfaz de hardware RARP proc. de usuario proc. de usuario proc. de usuario proc. de usuario medio físico aplicación transporte red enlace
  • Direcciones IP
    • Las direcciones de clases A e B generalmente son divididas en sub-redes
      • de los 24 o 16 bits del hostid , algunos son reservados para designar una sub-red
      • también posible para la clase C, pero los 8 bits de hostid son pocos...
    1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 byte 1 byte 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 byte 3 byte 4 0 1 1 0 1 1 7 bits: ident. da red ( netid) 14 bits: ident. da red ( netid) 24 bits: ident. del host ( hostid ) 1 1 0 16 bits: ident. del host ( hostid ) 0 28 bits: ident. del grupo de multicasting 1 1 1 1 27 bits: reservados para usos futuros 0 21 bits: ident. da red ( netid) 8 bits: ident. del host ( hostid ) A B C D E clase:
  • Multiplexación
    • Ya vimos que varias entidades solicitan los servicios del protocolo IP
      • este es el caso de UDP, TCP, ICMP e IGMP
      • el IP agrega un identificador de 1 byte que indica a cual capa pertenecen los datos (campo protocolo )
        • el valor 1 corresponde a ICMP, 2 a IGMP, 6 a TCP e 17 a UDP
    • De forma similar, varias aplicaciones pueden solicitar los servicios del UDP o del TCP
      • ambos utilizan un número de 16 bits llamado número de puerto para identificar la aplicación
        • los encabezados de TCP e UDP traen los números de los puertos de destino e de origen
    • La capa física envía y recibe datos de IP, ARP e RARP
      • el encabezado Ethernet contiene un campo de tipo de trama de 16 bits para identificar la capa de red correcta
  • Multiplexación (cont.) ARP driver Ethernet IP RARP ICMP IGMP TCP UDP aplicación aplicación aplicación aplicación demultiplexación basada en el tipo de quadro Ethernet demultiplexación basada en el protocol value del encabezado IP demultiplexación basada en el destination port number del encabezado TCP o UDP
  • Números de Puertos TCP y UDP
    • Como se atribuyen los valores del port number ?
      • los servidores normalmente tienen un nº. de puerto well-known (ampliamente conocido)
        • p/ ej., toda implementación TCP/IP con un servidor FTP dá ese servicio en el puerto TCP de nº. 21; todo servidor Telnet sobre TCP está en el puerto 23; toda implementación TFTP está en el puerto 69 de UDP
          • esos números (de 1 a 1023) son atribuidos por la IANA ( Internet Assigned Numbers Authority )
      • los clientes no se importan con cual número de puerto se utiliza de su propio lado (puertos efímeros); apenas, esos números tienen que ser únicos de su lado
        • esos números efímeros varían, generalmente, de 1024 a 5000
  • Servicios Simples Estandarizados
    • Algunos servicios estandarizados son soportados por casi todas las implementaciones:
    nombre puerto TCP puerto UDP RFC descripción echo 7 7 862 el servidor devuelve todo lo que el cliente envía discard 9 9 863 el servidor descarta todo lo que el cliente envía daytime 13 13 867 el servidor devuelve la fecha y la hora en formato legible chargen 19 19 864 el servidor TCP envía una cadena continua de caracteres hasta que el cliente termine la conexión; el servidor UDP envía un datagrama conteniendo un número aleatorio de caracteres cada vez que el cliente le envía un datagrama time 37 37 868 el servidor devuelve el tiempo bajo la forma de un nº. binario de 32 bits; este nº. representa el número de segundos desde la cero hora de 1/1/1900, UTC
  • Interfaces de Programas de Aplicación (APIs)
    • Las dos APIs más comunes para aplicaciones corriendo sobre TCP/IP son “ sockets” y TLI ( Transport Layer Interface )
      • la primera también es llamada Berkeley sockets , pués fué desarrollada allí
      • la segunda fué originalmente desarrollada por la AT&T, siendo llamada XTI ( X/Open Transport Interface ), reconociendo el trabajo hecho por la X/Open
  • Encapsulación en la Capa de Enlace
    • La capa de enlace corre entre puntos adjacentes, por debajo de la capa IP (o ARP, o RARP)
      • la capa de enlace depende del medio utilizado (Ethernet, Token Ring, FDDI, interfaz serie RS-232, etc.)
      • además de las capas de enlace para ambientes Ethernet, hay dos capas de enlace especializadas para interfaces serie: SLIP y PPP, con el driver de loopback asociado
        • SLIP significa serial line IP
          • muy sencilla: el datagrama IP es enmarcado por el caracter especial end , hex c0
            • si ese caracter aparece entre los datos, es anulado por la secuencia SLIP ESC (hex db dc )
            • si esa secuencia aparece entre los datos, es modificada para hex db dd
        • PPP significa point to point protocol
  • Protocolo SLIP
    • O SLIP tiene algunas pequenas desventajas:
      • no permite que un extremo informe su dirección IP al otro (las direcciones tienen que ser conocidas de antemano)
      • no hay campo de tipo : la linea serie solo puede ser utilizada para un único protocolo
      • no hay CRC: no hay detección de errores de transmisión por parte del SLIP (sería una atribución de capas superiores)
        • algunos modems modernos pueden detectar y corrigir errores
        • de cualquier forma, es esencial que las capas superiores detecten errores
          • el encabezado IP es protegido por un CRC, y los encabezados y los datos TCP también son protegidos por un CRC; en el caso de UDP, el CRC es opcional
  • Protocolo CSLIP (SLIP Comprimido)
    • Una desventaja de lineas serie para tráfico interactivo es el tamaño del encabezado IP y TCP (20 más 20 bytes)
      • hay una versión nueva de SLIP, llamada CSLIP, que reduce el encabezado de 40 para 3 ó 5 bytes
        • mantiene el estado de hasta 16 conexiones TCP en cada extremo y sabe que algunos campos en los dos encabezados no cambian nunca
  • Protocolo PPP
    • PPP soluciona las deficiencias de SLIP
      • soporta enlaces asíncronos y orientados a bit
      • suministra un protocolo de control de enlace (LCP, link control protocol ) para establecer, configurar y probar el enlace de datos
      • soporta múltiples NCPs ( network control protocols ), tales como IP, para la capa de red OSI, para DECnet y AppleTalk
        • el NCP para IP, p/ ej., permite que cada extremo especifique si es capaz de comprimir los encabezados (similarmente a CSLIP)
    flag 7E dirección FF frame check sequence campo de información control 03 CRC protocolo: 0021 - IP C021 - LCP 8021 - NCP 2 bytes hasta 1500 bytes 2 bytes flag 7E 1 byte 1 byte 1 byte 1 byte
  • Detallamento del IP
  • El Encabezado IP desplazam. del fragmento (13 bits) identificación (16 bits) versión (4 bits) longitud del encabezado (4 bits) tipo de servicio (8 bits) longitud total (en bytes, 16 bits) flags de 3 bits tiempo de vida ( time to live ) (8 bits) protocolo (8 bits) secuencia de verificación: checksum del encabezado IP (16 bits) dirección IP de origen (32 bits) dirección IP de destino (32 bits) opciones (si es que las hay) datos 20 bytes
  • Campos del Encabezado IP (1)
    • Versión
      • la versión actual del IP es la 4 (IPv4)
        • la versión 6.0 ya se publicó y está en etapa de implantación
    • Longitud del encabezado
      • número de palabras de 32 bits que componen el encabezado
    • Tipo de servico (TOS)
      • l3 bits de precedencia , que no se utilizam
      • 1 bit fijo en cero
      • 4 bits de TOS:
        • minimizar retardo
        • maximizar caudal
        • maximizar confiabilidad
        • minimizar costo
          • de estos 4 bits, apenas uno puede estar seteado
  • Campos del Encabezado IP (2)
    • Longitud total
      • cantidad total de bytes del datagrama
        • en el caso de datagramas fragmentados, longitud (en bytes) del fragmento actual
    • Identificación
      • identificación unívoca de un datagrama (incrementado a cada nuevo datagrama)
        • en el caso de fragmentación, todos los fragmentos del datagrama ganan el mismo número de identificación
    • Banderas
      • uno de los bits indica haber más fragmentos (seteado para 0 en el último fragmento)
      • otro bit significa “no fragmentar”
        • si un host no logra transmitir sin fragmentar, el datagrama es descartado y el ICMP genera un mensaje de error
  • Campos del Encabezado IP (3)
    • Desplazamiento del segmento
      • indica el offset del inicio del fragmento actual en relación al inicio del datagrama
        • incluso, permite que el datagrama sea ensamblado corretamente aún cuando los fragmentos llegam fuera de orden
    • Tiempo de vida (TTL)
      • fija un límite superior para el número de enrutadores por los cuales el datagrama puede pasar
      • es inicializado por el transmisor (p. ej. en 32 ó 64) y decrementado al passar por un enrutador
        • cada enrutador lo decrementa en una unidade, o en el número de segundos que ha retenido el datagrama si la retención ha sido de más de un segundo
        • al llegar a cero este campo, el datagrama es descartado, y un mensaje de ICMP es generada para el transmisor
  • Campos del Encabezado IP (4)
    • Protocolo
      • ya comentado:
        • el valor 1 corresponde a ICMP, 2 a IGMP, 6 a TCP y 17 a UDP
    • Checksum del encabezado
      • calculado sobre el encabezado IP, apenas
        • los demás protocolos (ICMP, IGMP, UDP e TCP tienen sus propias checksums específicas
        • la checksum no pasa del complemento a 1 del encabezado, visto como palabras de 16 bits
        • un error acá no hace con que se genere un mensaje de error (el datagrama es sencillamente descartado)
        • como los enrutadores intermedios decrementan el valor del tiempo de vida, deben actualizar el valor de la checksum
          • generalmente lo hacen incrementando a checksum , pués dá lo mismo que volver a calcularla
  • Campos del Encabezado IP (5)
    • Opciones IP
      • raramente usadas, y ni siempre soportadas por los enrutadores e hosts
      • las opciones actualmente definidas son las siguientes:
        • restricciones de seguridad y manejo (p. ej. para aplicaciones militares)
        • registro de la ruta (cada enrutador debe registrar su dirección IP)
        • sello de hora (cada enrutador debe registrar su dirección IP y la hora actual)
        • enrutamiento tolerante por la fuente (especificando un listado de direcciones IP que deben ser recorridas por el datagrama)
        • enrutamiento estricto por la fuente (similar al anterior, especificando un listado de direcciones IP a ser recorridas por el datagrama, pero en este caso SOLAMENTE esas direcciones pueden ser recorridas)
  • Protocolos de Resolución de Direcciones ARP e RARP
  • Explanación del Problema
    • Las direcciones IP solo tienen sentido para el TCP/IP
      • en medios compartidos, como Ethernet o Token Ring, hay esquemas propios de direccionamiento (generalmente, 48 bits) que cualquier capa usuaria tienen que seguir
      • la resolución de direcciones permite un mutuo mapeo (asociación) entre dos tipos de direccionamiento: direcciones IP de 32 bits y direcciones utilizadas por el enlace de datos
    dirección Ethernet de 48 bits dirección IP de 32 bits ARP RARP
  • ARP
    • El ARP ofrece un mapeo dinámico de una dirección IP en la dirección de hardware correspondiente
      • el RARP es usado por sistemas sin disco rígido, pero requiere una configuración manual hecha por el administrador de la red
    • El problema consiste en resolver una dirección IP lógica en una dirección, por ejemplo, Ethernet física
      • para hacerlo, ARP envía una trama broadcast a la Ethernet llamada “ ARP request ” a todos los hosts a la red, conteniendo la dirección IP de destino buscada
        • la pregunta es, “Si usted tiene esta dirección IP, conteste a mi con su dirección física”
      • la estación que reconoce su dirección IP contesta con una trama Ethernet “ ARP reply ”
  • Caché de ARP y Otras Consideraciones
    • Una vez obtenida la correspondencia, el mapeo es almacenado en una memoria caché en cada host
      • esa caché mantiene los mapeaos recientes de direcciones IP en direcciones de hardware
      • el tiempo normal para que cada linea dure en memoria es de 20 minutos
    • Una trama ARP en la Ethernet tiene 28 bytes además del encabezado Ethernet de 14 bytes
      • el campo de “tipo de trama” 0806 indica tratarse de ARP
      • el “ ARP request / reply ” contiene las direcciones de Ethernet e IP de origen y de destino (en el request falta la dirección Ethernet de destino, está claro)