tcp/ip - tyr.unlu.edu.ar · universidad nacional de luján - seminario de actualización i tema:...

48
Universidad Nacional de Luján - Seminario de Actualización I Tema: Juego de Protocolos TCP/IP Juego de Protocolos TCP/IP

Upload: dodung

Post on 17-Apr-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP

Juego de Protocolos

TCP/IP

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 2

Internetworking

“Conjunto de redes heterogéneas conectadas mediantesistemas intermedios (ruteadores/gateways)

Red 1 Red 2

Diferentes tecnologías: * medio

* método de acceso al medio

* direcciones físicas

* formatos de tramas

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 3

Interred ó internet•Oculta la heterogeneidad

•Crea una “red virtual“•Esquema de direcciones propio

•Esquema de nombres propio

•Utiliza una pila de protocolos

“El software de protocolo se implementatanto en hosts como en ruteadores”

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 4

Internet•Conjunto de redes mundiales interconectadas•Operan bajo la pila de protocolos TCP/IP•Los servicios se implementan de forma estandarizada, abierta y gratuitapara los usuarios, normalmente a través de los S.O.•¿Quíen controla Internet?

•Nadie especificamente•IETF aprueba los estándares•IRTF investiga sobre el futuro de la red•La industria y las universidades proponen nuevos protocolos•Las especificaciones constan en documentos abiertos: RFC, STD, FYI

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 5

Juego de Protocolos TCP/IP

•No es un solo protocolo, sino una familia•Ej.: IP, TCP, HTTP, SNMP

•No se ajustan al modelo OSI•Define solo 5 niveles conceptuales

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 6

Juego de Protocolos TCP/IP

ENLACE

RED

TRANSPORTE

APLICACION

ETHERNET

ARP RARP

IP

IGMP ICMP

TCP UDP

APLICACION APLICACION APLICACION

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 7

Protocolo IP•Protocolo de capa de red

•Define•Esquema de direccionamiento

•Formato de mensaje (datagrama)

•Mecanismo de encaminamiento entre redes (ruteo)

•Características•End-to-end argument

•Independiente del enlace subyacente

•No orientado a la conexión

•No fiable, no garantiza entrega

•Permite la fragmentación

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 8

Direccionamiento IP

•Abstracción de alto nivel

•Independiente de las direcciones de hardware

•Utilizada por las capas superiores

•Se maneja por software

•Permite identificar de manera única a cada participantede la red

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 9

Niveles de Direccionamiento

•Nombre de host (FQDN)www.unlu.edu.ar

pollito.tyr.unlu.edu.ar

•Dirección IP170.120. 44.12

168.10. 44.240

•Dirección física (de NIC)MAC Ethernet: 00:C4:06:13:4C:33

www.unlu.edu.ar

168.10.44.240

00:C4:06:13:4C:33

DNS

ARP

•Direcciones de 32 bits (4 bytes)notadas con decimales separados por puntos,

por ej. 198.107.2.25

•Dividida en dos partesidentificador (dirección) de red (Información usada para ruteo)

identificador (dirección) de host (nodo específico dentro de una red)

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 10

Direcciones IP (Versión 4)

Identificador de RED Identificador de HOST32 bits

198 107 2 25 8 bits . 8 bits . 8 bits . 8 bits

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 11

Clases de direcciones

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 12

Espacio de Direcciones

Clase Bits Iniciales Bits Red Bits HostsA 0 7 24 2 2̂4 16777216B 10 14 16 2 1̂6 65536C 110 21 8 2 8̂ 256D 1110 28 -E 11110 27 -

Espacio de Dir.

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 13

Direcciones Especiales

Este host de la red

Un host de esta red

Broadcast de red local

Broadcast red remota

Loopback (127.0.0.1)

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 14

Ejemplo de direccionamiento

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 15

Datagrama IP: Estructura de datos

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 16

Conceptos sobre IP

•IP permite que los datagramas seanDemorados

Entregados fuera de orden

Perdidos

•La red realiza su “Mejor esfuerzo”

•La entrega se realiza por “encaminamiento”ó “ruteo”

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 17

Ruteo IP

Ejemplo de tabla de ruteo

Destino Máscara Próximo salto40.0.0.0 255.0.0.0 entrega directa

128.1.0.0 255.255.0.0 entrega directa

30.0.0.0 255.0.0.0 40.0.0.7

192.4.10.0 255.255.255.0 128.1.0.9

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 18

Protocolos auxiliares: ARP•El hardware solo reconoce direcciones físicas (Por ej. MACs)

•IP solo reconoce direcciones IP

Se requiere una “traducción de direcciones”En TCP/IP se realiza mediante el protocolo auxiliar ARP

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 19

Ejemplo de operación ARP

w (10.10.1.1) tiene queenviar un mensaje a10.10.1.14 (y)

Broadcast de nivel 2

Solo contesta y(10.10.1.14) con su MAC

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 20

Protocolos auxiliares: ICMP

“Permite reportar errores óinformación de control sobre la red”

0 - Echo Reply 3 - Destination Unreachable 4 - Source Quench 5 - Redirect (cambio de ruta) 8 - Echo Request11 - TTL Exceded12 - Parameter Problem on a Datagram

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 21

Protocolos auxiliares: ICMP

“Los mensajes ICMP requierende dos niveles de encapsulamiento”

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 22

Ejemplo clásico: Comando PING

•Echo Request•Echo Reply•No es un error•Test de alcance de un destino

D:\>ping 170.210.102.10

Haciendo ping a 170.210.102.10 con 32 bytes de datos:

Respuesta desde 170.210.102.10: bytes=32 tiempo<10ms TDV=128Respuesta desde 170.210.102.10: bytes=32 tiempo<10ms TDV=128Respuesta desde 170.210.102.10: bytes=32 tiempo<10ms TDV=128Respuesta desde 170.210.102.10: bytes=32 tiempo<10ms TDV=128

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 23

TCP - Transmission Control Protocol

•RFC 793

•Protocolo de transporte de Internet

•Servicio orientado a la conexión

•Transferencia de datos full-duplex

•Transporte confiable: Control de transmisión, de flujo,de errores, de congestión de red

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 24

TCP - Transmission Control Protocol

•Servicio a la capa de aplicación

•Multiplexa/demultiplexa conexiones por aplicación

•Adaptable a LAN/WAN

•Transferencia de un stream de bytes entre sistemasfinales (end-to-end)

aplicaciónENVIO

RECEPCIÓN

aplicaciónRECEPCIÓN

ENVIO

Stream de datos simultáneos

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 25

TCP - Transmission Control ProtocolAplicación

Header TCP Datos de aplicación

Segmento TCP

Datagrama IP

Buffer de envío (n bytes) de TCP

Header IP

Encapsulamiento sobre IP

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 26

TCP - Transmission Control Protocol

TCP provee un Servicio de Transportecompletamente confiable sobre una red no

confiable (o de mejor esfuerzo)

¿Cómo es posible?

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 27

Puertos

•Entero de 16 bits definidos a nivel de aplicación

•Usados para poder identificar cada aplicación

•Los procesos “servidores” usan generalmente un“puerto bien conocido” (well known ports)

Ej. FTP 20, HTTP 80, TELNET 23

•Los asigna la IANA (Internet Assigned Number Authority)0 No usado

1-1023 Well Known Ports (servicios standard)

1024-65535 Usuarios (Clientes)

•En Unix se definen en /etc/services

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 28

SOCKETS•Cada host tiene al menos una dirección de red (IP)

•Cada aplicación en un host opera en un puerto

•El par <dirección IP>, <Nro.de puerto> brinda unaidentificación única para servicios de capa de aplicaciónen un host

•Se conoce como SOCKET.

Dirección IP Nro.de Puerto

<170.210.102.10>, <80>“La dirección IP en única a una interface de un hosts (ó ruteador),

el número de puerto es único (por protocolo) en un nodo”

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 29

Identificación de Conexiones TCP•Una conexión TCP está identificada por un par desockets (del cliente y del servidor) a ambos entremos

•En el servidor se define un puerto donde la aplicaciónespera la conexión

•En el cliente se define un “puerto efímero” para crear elsocket (>1024)

IP: 170.210.102.10

Puerto3000(Efímero)

IP: 200.45.75.11

Puerto80 (www)

Conexión TCP(170.210.102.10: 3000, 200.45.75.11: 80)

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 30

Estado de conexiones TCP•netstat

•Muestra estado de conexiones y estadísticas por protocolo (-a)

•Muestra información acerca de las Interfaces (-i)

netstat -a

Conexiones activas

Proto Dirección local Dirección remota EstadoTCP 0.0.0.0:21 *:21 LISTENINGTCP 127.0.0.1:1025 127.0.0.1:1026 ESTABLISHEDTCP 127.0.0.1:1026 127.0.0.1:1025 ESTABLISHEDTCP 170.210.102.10:80 0.0.0.0:* LISTENINGTCP 170.210.102.10:137 0.0.0.0:* LISTENINGTCP 170.210.102.10:138 0.0.0.0:* LISTENINGTCP 170.210.102.10:139 0.0.0.0:* LISTENING

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 31

Encabezamiento TCPNúmero de puerto origen - 16 bits

Datos (opcional)

Número de puerto destino - 16 bits

Número de secuencia - 32 bits

Número de acuse de recibo - 32 bits

Tamaño de ventana - 16 bits

TCP checksum - 16 bits Puntero a datos urgentes - 16 bits

Opciones (si corresponde)

20 bytes

ReservadohlenURG

ACK

PSH

RST

SYN

FIN

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 32

TCP - Establecimiento de la conexión

•El solicitante envía un segmento con la flag SYNactivada, dirigido a un puerto en destino, dando unnúmero de secuencia inicial.

•El destino contesta con un segmento con las flagSYN y ACK activadas, y el número de secuenciaincrementado en uno.

•El solicitante retorna un segmento con la flag de ACKactivada, y el número de secuencia incrementado enuno.

“ThreeThree--way handshakeway handshake””

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 33

TCP - Establecimiento de la conexión

ORIGEN

170.210.102.12

SYN, 2282737755, WIN: 32120, MSS: 1460

DESTINO

170.210.102.10

SYN, 85096551, ACK 2282737756 WIN: 44032

ACK 85096552, WIN: 32120

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 34

TCP - Cierre de la conexión

•El solicitante envía un segmento con la flag FINactivada

•El destino responde con un segmento confirmando elcierre (ACK) Half-Close

•Se repite la secuencia en el otro sentido

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 35

TCP - Cierre de la conexión

ORIGEN

170.210.102.12

FIN, 85099472

DESTINO

170.210.102.10ACK 85099473

ACK 2282737764

FIN, 2282737763

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 36

TCP - Transferencia

•Tranferencia Interactiva

Ej: Telnet/RLogin

•Transferencia Masiva

Ej: FTP/Correo electrónico

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 37

TCP - Transferencia Interactiva

Tecla Segmento con 1 byte

Server

EcoACK

ACK

Segmento eco

A pantalla

•Delayed ACK

•Algoritmo de NAGLE

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 38

TCP - Transferencia Masiva

•Control de flujo

•Control de congestión

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 39

Funciones de TCP•Establece conexiones (three-wayhandshake)

•Segmenta datos para transmitir

•Numera los bytes de cadasegmento

•Maneja segmentos entrantesduplicados

•Computa checksums

•Controla flujo (ventanas)

•Señaliza datos urgentes

•Confirma segmentos yretransmite

•Calcula tiempos deretransmisión

•Regula el tráfico enredes congestionadas

•Reordena segmentos

•Cierra conexiones

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 40

UDP - User Datagram Protocol

•RFC 768

•Protocolo de transporte de Internet

•Servicio no orientado a la conexión

•Transporte no confiable

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 41

Encabezamiento UDP

Número de puerto origen - 16 bits

Datos (opcional)

Número de puerto destino - 16 bits

8 bytesLongitud datagrama - 16 bits UDP checksum - 16 bits

•Mínimo overhead

•Menor tiempo de procesamiento que TCP

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP 42

Ejemplo de aplicación: TRACEROUTE“Permite determinar la ruta activa a una dirección IP destino”

¿COMO OPERA?* Se envía un mensaje UDP a un puerto no utilizado en destino, con TTL=1* El primer ruteador decrementa el TTL, descarta el datagrama, e informa alorigen mediante ICMP* El host retransmite el mensaje UDP con TTL=2* El segundo ruteador en la ruta opera de igual forma y avisa a origen

Se continúa hasta alcanzar al destino devuelve un mensaje ICMP al host origen,indicando que el puerto no existe.

De esta forma, donde se ejecuta el comando, se muestran cada uno de losruteadores intermedios para llegar al host destino.

Universidad Nacional de Luján - Seminario de Actualización I

Tema: Juego de Protocolos TCP/IP

Juego de Protocolos TCP/IP

Interfaz de Sockets

AplicaciónPresentación

Sesión

RedTransporte

EnlaceFísico

AplicaciónPresentación

Sesión

RedTransporte

EnlaceFísico

Universidad Nacional de Luján - Seminario de Actualización I

Tema: La Interfaz de sockets 44

Programación de Red

“Consiste en escribir programas que secomunican con otros programas a través de una

red de computadoras”W. Richard Stevens

Host A Host BRED

Universidad Nacional de Luján - Seminario de Actualización I

Tema: La Interfaz de sockets 45

El modelo cliente/servidor

Aplicación CLIENTE

•Solicita recursos a los servidores

•Generalmente inicia la comunicación

•Proceso de usuario final

Aplicación SERVIDOR

•Posee un recurso

•Provee servicio a los clientes

•No es un proceso de usuario final

•Puede ser iterativo ó concurrente

CLIENTE

Solicitud de servicio

Respuesta

SERVIDOR

Universidad Nacional de Luján - Seminario de Actualización I

Servidores concurrentes206.62.226.35

listening socket

Server

(*:21, *:*)

170.210.102.10

Cliente

(170.210.102.10:1500)

solicitud deconexión

206.62.226.35

listening socket

Server

(*:21, *:*)

170.210.102.10

Cliente

(170.210.102.10:1500,206.62.226.35:21)

conexión

Server (child)

(206.62.226.35:21,170.210.102.10:1500)

fork

Tema: La Interfaz de sockets 46

Universidad Nacional de Luján - Seminario de Actualización I

Tema: La Interfaz de sockets 47

La Interfaz de Sockets

•API para la programación de comunicaciones

•Nativa de Unix - 4.2 BSD System. Berkley, 1983

•Standard POSIX (Portable Operating SystemInterfaz) de la IEEE

•Se implementa como parte del kernel del SO (Unix)o como librería

•Soporta varias familias de protocolos

•Alternativa: TLI (SVR4)

Universidad Nacional de Luján - Seminario de Actualización I

Tema: La Interfaz de sockets 48

Sockets y la pila de protocolos tcp/ip

7 Aplicación

6 Presentación

5 Sesión

4 Transporte

3 Red

2 Enlace

1 Físico

IP

TCP - UDP

Device Driver

Hardware

Aplicación

Sockets

XTI

Detalles deaplicación

Detalles decomunicación

Kernel

Procesosde usuario