INTERNET - UD2 - Modelo Internet - …personals.ac.upc.edu/elara/documentacion/INTERNET - UD2 -...

87
1 Modelo TCP/IP Eduard Lara

Transcript of INTERNET - UD2 - Modelo Internet - …personals.ac.upc.edu/elara/documentacion/INTERNET - UD2 -...

1

Modelo TCP/IP

Eduard Lara

2

INDICE

1. Modelo Internet de redes. Niveles

2. Relación con las capas del modelo OSI.

3. Encapsulación en el modelo Internet.

4. Los protocolos de Internet (IP, ICMP, ARP)

5. Ethernet

6. Comandos básicos en redes IP

7. Practicas

3

1. MODELO INTERNET

Aspectos en el diseño original del modelo Internet:Descentralización: Funcionamiento de la red en

caso de caída de diversos nodosSistema no orientado a la conexión: no es necesario

establecer conexión previa (modo datagrama)Definición de un esquema de @ jerárquico (IP)Uso de comunicaciones fiables y no fiables a nivel

de transporte: Protocolos TCP y UDPMultiplexación/demultiplexación de aplicaciones en

transporte (concepto de puertos como identificador de las aplicaciones)

4

1. PROTOCOLOS COMERCIALES DEL MODELO DE INTERNET

Define un protocolo de Interconexión: IP (Internet Protocol), el cual proporciona un espacio de direcciones lógicas para el encaminamiento

Define dos protocolos de transporte: TCP (fiable, control de flujo y de la congestión) y UDP (no fiable, no retransmite la información)

Define protocolos asociados:- Encaminamiento (RIP, OSPF ...)- Mapeo @ lógicas en físicas (ARP) - Control de errores (ICMP)

5

2. MODELO INTERNET vsMODELO OSI

Física

Enlace de datos

Red

Transporte

Sesión

Presentación

Aplicación

UDP

DHCP

TFTP

RIP

DNS

HTTP

FTP

Ethernet, Token RingF.R., FDDI

IP

TCP

TELNET

Aplicación

Transporte

Internet

Interfazde Red

OSI TCP/IP

Física

Enlace de datos

Red

Transporte

Sesión

Presentación

Aplicación

UDP

DHCP

TFTP

RIP

DNS

HTTP

FTP

Ethernet, Token RingF.R., FDDI

IP

TCP

TELNET

Aplicación

Transporte

Internet

Interfazde Red

OSI TCP/IP

ICMPARP

Internet define sólo 4 nivelesLos principales son Transporte e Internet

6

2. MODELO INTERNET vsMODELO OSI

7

3. ENCAPSULACIÓN TCP/IP

Tarjeta ethernet

TCP/UPDIP

Driver

SistemaOperativo

Aplicación (FTP, Telnet, etc.)

APIs (e.g. Socket)

Usuario

Red ethernet

Cabez.Ether.

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.TCP

Datosaplicación

BufferRx

read()

BufferTx

write()

TCP

aplicación

IP

driverTarjeta ethernet

TCP/UPDIP

Driver

SistemaOperativo

Aplicación (FTP, Telnet, etc.)

APIs (e.g. Socket)

Usuario

Red ethernet

Cabez.Ether.

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.TCP

Datosaplicación

BufferRx

read()

BufferTx

write()

TCP

aplicación

IP

driverTarjeta ethernet

TCP/UPDIP

Driver

SistemaOperativo

Aplicación (FTP, Telnet, etc.)

APIs (e.g. Socket)

Usuario

Red ethernetRed ethernet

Cabez.Ether.

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.Ether.

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.IP

Cabez.TCP

Datosaplicación

Cabez.TCP

Datosaplicación

BufferRx

read()

BufferTx

write()

TCP

aplicación

IP

driver

Puertos

@ IP

@ MAC

8

4. PROTOCOLOS INTERNET

9

4. PROTOCOLO IP

Protocolo de nivel de red base para la transferencia de datos en Internet, y en la mayoría de las redes actuales.

Unidad de información: datagrama o paquete IP.IP es totalmente independiente de la tecnología de

red, debajo puede haber cualquier nivel de enlace (ATM, PPP, Ethernet, Token Ring, Frame Relay, ...)

Protocolo preparado para ser encaminado entre diferentes subredes que componen una red global.

10

4. PROTOCOLO IP

Protocolo no-orientado a la conexión. No realiza ninguna fase de establecimiento, mantenimiento o cierre de la conexión, previo al envío de datagramas.

Protocolo no fiable: Carece de seguridad en la entrega de paquetes.

IP sólo realiza detección de errores: Si un paquete está mal, lo descarta y envía un aviso ICMP al origen.

IP no realiza la retransmisión (corrección) del paquete: De esta función se encarga TCP

11

4. PROTOCOLO IP

Sin estado (stateless): No guarda información de estado de las conexiones en curso. Cada datagramaIP es tratado independientemente respecto a otros datagramas (de la misma/distinta conexión).

Cada paquete puede seguir caminos diferentes a través de la red hasta su destino. Los paquetes IP pueden ser entregados sin un orden determinado.

Los routers trabajan “best effort”, es decir, hacen lo mejor que pueden para encaminar el datagrama, y si no pueden encaminarlo, lo descartan (por ejemplo si el buffer por donde debe encaminarlo esta lleno)

12

4. FORMATO PAQUETE IP

20-60 bytes

1 2 3 4

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|version|hdr len| TOS | Total length in bytes |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Identification |flags| Fragment offset |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| TTL | protocol | header checksum |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| 32 - bit source IP address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| 32 - bit destination IP address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Options (if any) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| data ... (65535 - 20) bytes |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

13

• Version: 4 (IPv4), 6 (IPv6)• Header Length: 4xn bytes (límite 60 bytes), valor normal = 5• TOS (Type of Service): 3 bits of precedence + 4 bits de TOS + 1

bit a 0. Los 4 bits se activan para indicar: – Precedence: 8 niveles (no usados en IPv4)– minimum delay, maximum throughput, maximum reliability,

minimum cost– Actualmente estos 8 bits se usan de manera diferente

definidos por nuevos protocolos, e.g. Servicios Diferenciados (Diff Serv) para proporcionar Calidad de Servicio (QoS) en Internet

• Total length: max is 65535 bytes, pero típico MTU (MaximumTransfer Unit) es 576 bytes de datagrama IP (viene de X.25)

• Identification: incrementado en uno por cada datagrama enviado

4. FORMATO PAQUETE IP

14

• Flags + fragment offset: para fragmentar datagramas• TTL (Time To Live): restado en uno por cada router atravesado• Protocol: contenido del datag. IP, e.g datag. IP (0), mensajes ICMP

(1), seg. TCP (6), datag. UDP (17), datag. IPv6 (41) ...• Header Checksum: detector de errores• Source/Destination IP addresses• Options (máximo 40 bytes)

– Timestamp– Loose source routing

• Data: contenido del nivel superior u otros– Segmentos TCP, datagramas UDP, mensajes de otros

protocolos de transporte como RSVP, mensajes ICMP, datagramas IP (tunneling) ...

– Cada protocolo es identificado por el campo “protocolo”, e.g. TCP = 6

4. FORMATO PAQUETE IP

15

CLASIFICACION PROTOCOLOS CAPA DE RED DE IP

Routed protocols (protocolos encaminados)• Encapsulan información de nivel 4 (transporte)• Definen un esquema de direcciones jerarquizado• Comunican hosts con hosts (IP, IPX, ...)

Routing Protocols (protocolos de encaminamiento)• Buscan rutas óptimas para que los protocolos encaminados sepan a donde dirigir la información• Comunican routers con routers (RIP, IGRP, OSPF, EIGRP, BGP)

16

4. PROTOCOLO ICMP

El IP es un método poco confiable para la entrega de paquetes → TCP e ICMP ayudan a que IP sea más confiable:

TCP proporciona fiabilidad a IP.ICMP se encarga de notificar al emisor de los errores producidos durante el proceso de envío.

ICMP sólo se encarga sólo de reportar la incidencia del problema a la fuente original.No corrige el problema en la red.Es un protocolo de supervisión

17

4. PROTOCOLO ICMP

Cabecera ICMP

Datos ICMP

Datos Paquete IPCabecera IP

Datos TRAMA

Cabecera TRAMA

Nivel Internet

Nivel Enlace

Los mensajes ICMP van encapsulados en datagramas IP, como si fueran un protocolo de nivel superior pero en realidad está en IP (no TCP/UDP).

18

4. PROTOCOLO ICMP

Los mensajes ICMP pueden ser:de error (pérdida de paquetes) de control (mantener a los hosts informados

de eventos como congestión o existencia de un mejor gateway, etc).

Los errores en la entrega de mensajes ICMP, no pueden generar sus propios mensajes ICMP (para evitar bucles y congestión en una red que ya tiene fallos).

19

4. TIPOS MENSAJES ICMP

QueryRespuesta a la máscara de dirección18QueryPetición de máscara de dirección17ObsoletoRespuesta de información16ObsoletoPetición de información15QueryRespuesta a la marca de tiempo14QueryPetición de marca de tiempo13ErrorProblemas de parámetros12ErrorTiempo excedido11QueryPetición de rutas10QueryAnuncio de rutas9QuerySolicitud de ECO (Request)8ErrorRedireccionamiento de rutas5ErrorDisminución de velocidad en origen4ErrorDestino inalcanzable3QueryRespuesta de Eco (Reply)0

20

4. PROTOCOLO ARP

Complementa la acción de TCP/IP pasando desapercibido a los ojos del usuario.

IP utiliza direccionamiento lógico mediante @ lógicas (direcciones IP)

Ethernet (redes LAN) utiliza un direccionamiento basado en direcciones físicas (direcciones MAC).

Necesidad de un mecanismo que asocie @ IP lógicas con @ MAC físicas.

Si un host quiere acceder a un servidor de su red, por mucho que sepa su @ IP, necesita averiguar su @ física, el direccionamiento de Ethernet le obliga.

21

4. PROTOCOLO ARP

ARP es un módulo del protocolo TCP/IP, situado entre la capa de red y capa de enlace

Su funcionamiento se divide en dos partes: Permite encontrar la @ MAC de otro terminal

a partir de su @ IP.Permite responder a solicitudes de otras

máquinasSe encarga de mapear @ IP con @ MAC.Mantiene una tabla con los mapeos más recientes

entre @ IP y @ MAC → ARP cacheComando ARP -a → Muestra contenido tabla ARP.

22

4. PROTOCOLO ARP

(7)

(6)

IP

ARP

Driver

Red

Enlace

NIC

Físico

(1)

(2)(3)(5)

(4)

23

4. PROTOCOLO ARP

1. El computador quiere enviar un datagrama IP.2. Mira la tabla de encaminamiento y determina la

ruta (o interficie de salida) por donde debe de enviarse el datagrama. Si el nivel IP detecta que se trata de una interficie ethernet, solicita al módulo ARP la @ física que corresponde a la @ IP del destino. Las interficie serie (ppp) no necesitan llamar a este módulo.

3. En el caso de que se trate de una interficieethernet, el módulo ARP resolvería la @ MAC de un host si la entrega fuera directa o la @ MAC de un gateway si es indirecta.

24

4. PROTOCOLO ARP

4. El módulo ARP consulta la tabla ARP. Si la dirección IP solicitada no se encuentra en la tabla, ARP inicia un procedimiento de resolución: a. Envía mensaje broadcast (ARP Request con @MAC FF:FF:FF:FF:FF:FF) al driver que lo difunde a toda la red.b.Todos los nodos de la red detectan este paquete y comprueban si la @IP pedida corresponde con su dirección IP.c. Sólo aquel host, que coincida su dirección IP, contesta con un paquete ARP Reply de respuesta con su dirección MAC.

25

4. PROTOCOLO ARP

5. Cuando el host emisor recibe la respuesta, el módulo ARP guarda la relación IP-MAC en una tabla residente en memoria para su uso en transmisiones posteriores. ARP retorna al móduloIP la dirección física solicitada.

6. El nivel IP pasa al driver el datagrama a enviar y la @ ethernet de la estación destino.

7. A su vez, el driver que controla la NIC se encarga de pasar el datagrama IP y la dirección ethernet destino a la tarjeta para que la envien.

26

4. PROTOCOLO ARP

1 2 3 40 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Hardware Type | Protocol Type |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Hard. Length | Prot.Length | Opcode |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Sender Hardware Address |+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | Sender Protocol Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Sender Protocol Address | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Target Hardware Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Target Protocol Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Las tramas ARP Request/Reply no van sobre IP, sinoque van encapsuladas directamente sobre ethernet.

27

4. FUNCIONALIDADES NIVEL TRANSPORTE

Proporciona conectividad extremo-a-extremo entre dos hosts.Sólo se incluyen los protocolos de transporte en los hosts (nunca en los routers a no ser que sean por alguna razón específica, e.g. Gateways, Proxies).Proporcionan estructuración de la información(segmentos TCP y datagramas UDP).Ofrece multiplexación/demultiplexación de la información transmitida por las aplicaciones, mediante un identificador de 16 bits llamado puerto.Segmenta los datos del sistema del host emisor y los reordena en el sistema del host receptor.

28

4. FUNCIONALIDADES NIVEL TRANSPORTE

29

4. NIVEL TRANSPORTE TCP/IP

Aplicación

Presentación

Sesión

Transporte

Red

Enlace

Físico

Enlace, Token Ring, Frame Relay, FDDI

IP

Modelo de referencia OSI Modelo de referencia Internet

Interfaz de Red

InternetTCP UDP

FTPHTTPSMTPDNS

RIPTFTPDHCPDNS

Transporte

Aplicación

30

4. FUNCIONALIDADES NIVEL TRANSPORTE

Provee un canal lógico de comunicaciónentre las aplicaciones (concepto de socket)

31

4. CONCEPTO DE PUERTO

En TCP/IP las conexiones suelen seguir el paradigma cliente-servidor.

Los servidores esperan las peticiones de los clientes, escuchando las peticiones dirigidas a puertos bien conocidos.

Los clientes inician conexiones hacia los servidores y tienen un puerto asignado por el S.O. que recibe el nombre de puerto efímero.

Tanto TCP como UDP utilizan números de puerto para identificar los procesos de las capassuperiores que se están comunicando.

32

4. CONCEPTO DE PUERTO

Puertos bien conocidos: Son regulados por la IANA (Internet Assigned Numbers Authority). Ocupan el rango inferior a 1024 y son utilizados para accedera servicios ofrecidos por servidores.Puertos efímeros: Son asignados de forma dinámicapor el S.O. del cliente, dentro de un rangoespecífico por encima de 1023. Identifica el proceso del cliente sólo mientras dura la conexión.

No están registrados (efímeros)>1023Asignados a compañías con aplicaciones comerciales255-1023 (IANA)Aplicaciones públicas0-255 (IANA)

33

4. CONCEPTO DE PUERTO

34

4. CONCEPTO DE PUERTO

Información puertos asignadoshttp://www.iana.org/assignments/port-numbers

En sistemas Windows:Windows/system32/drivers/etc/services

En sistemas GNU/Linux se encuentran en: /etc/services

35

4. PROTOCOLO TCP

TCP se encarga de dotar de fiabilidad la transmisión de datos sobre Internet. Protocolo más complejo e importante de la pila Internet.Es un protocolo extremo a extremo, orientado a la conexión y bidireccional (full duplex).La unidad de datos TCP es el “segmento“.Proporciona fiabilidad mediante el:

Control de errores. Pide retransmisionesControl de flujo. Adapta la velocidad entre el

emisor y el receptor. Control de la congestión. Adapta la velocidad

del emisor a los routers de la red

36

4. PROTOCOLO TCP

En transmisión, TCP fragmenta los datos del nivel aplicación, y les asigna un número de secuencia a cada trozo, antes de enviarlos al nivel IP.En recepción, TCP es el responsable de ensamblar los datagramas recibidos, ya que pueden llegar desordenados al utilizar caminos diversos para alcanzar su destino. En recepción, como los segmentos pueden llegar fuera de orden, TCP debe reordenarlos antes de pasarlos a los niveles superiores.Utiliza multiplexación mediante el uso de puertos, igual que UDP.

37

4. ENCAPSULACIÓN TCP

Segmento TCP

Datagrama IP

IP Header TCP Header Datos TCP

20 bytes 20 bytes

38

4. FORMATO SEGMENTO TCP

1 2 3 40 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Source port number | Destination port number |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| sequence number |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| acknowledgement number |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|lenght | reserved |U|A|P|R|S|F| Advertized Window Size |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| TCP checksum | Urgent pointer |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Options (if any) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Data (if any) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

39

4. PROTOCOLO UDP

Protocolo de transporte no-orientado a la conexión: permite la transmisión de mensajes sin necesidad de establecer ninguna conexión.No garantiza la entrega de los mensajes: no reensambla mensajes entrantes, no utiliza confirmaciones y no proporciona control de flujoUDP es un protocolo mayor rendimiento que TCP, pero también mas inseguro.Si se pierde el datagrama IP o UDP es problema de la aplicación remota incorporar mecanismos de retransmisión y de recuperación de errores.Su unidad de encapsulamiento es el datagrama UDP.

40

4. PROTOCOLO UDP

Ideal para comunicaciones en tiempo real que no necesitan seguridad de transmisión. Útil en aplicaciones de audio y video sobre TCP/IP, dondeno importe la pérdida de unos pocos paquetesSi un datagrama llega más tarde del instante en que tocaría leerse, entonces se descarta. Esto se traduce en un ruido en el sonido o imagen, que no impide la comunicación.

53DNS67/68DHCP - BOOTP

161SNMP69TFTP

PuertosAplicaciones

Puertos UDP

41

4. ENCAPSULACIÓN UDP

Aplicación 1 Aplicación 2 Aplicación N

IP

UDP

Puerto 1 Puerto NPuerto 1 Puerto 1 …

Datagrama UDPDatagrama IP

IP Header UDP Header Información Aplicación

20 bytes 8 bytes

42

4. FORMATO SEGMENTO UDP

1 2 3 40 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Source port number | Destination port number |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| UDP length | UDP checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Data (if any) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Los mínimos campos posibles:- Puertos UDP- Longitud datagrama UDP- Checksum. Secuencia de comprobación de errores

43

5. ETHERNET HISTORIA

Protocolo de nivel de enlace más frecuentemente usado en redes LAN. No pertenece a la torre Internet, pero funciona y ha evolucionado muy bien junto a IP.1) A mediados de los años 1970, Bob Metcalfe diseñó un protocolo para interconectar los computadores de la empresa Xerox donde trabajaba. Se basó en el protocolo Aloha para su diseño.Le puso el nombre de Ethernet, en referencia a la antigua idea que se tenia de que había una sustancia (el ether) que llenaba el espacio y por donde se propagaban las ondas electromagnéticas.

Implementación sobre coaxial a 2,85 Mbps ytopología de bus

44

5. ETHERNET HISTORIA

2) En 1980 un consorcio formado por las empresas Digital, Intel y Xerox (DIX) creó la 1º especificación LAN Ethernet. Comercializó las primeras tarjetas Ethernet, bajo el formato de trama Ethernet versión I.3) En 1982 DIX distribuyó la Ethernet Versión II, versión estándar para TCP/IP.

10 Mbits sobre coaxial fino (Thin Ethernet)

Preámbulo Data CRCDestino Source Type

7 1 6 6 2 46 < Data < 1500 4

Ethernet DIX Versión II

SFD

45

5. ETHERNET HISTORIA

4) 1982-1984: IEEE publica el estándar 802.3 Ethernet. El formato de trama está basado en la DIX, salvo el cambio de nombre del campo tipo por longitud, para hacerla coherente con el estándar 802.2, común a todos los MACs IEEE. Añade el protocolo de acceso al medio CSMA/CD.

Preámbulo Data and padding CRCSource Length

7 1 6 6 2 46 < Data < 1500 4

IEEE 802.3

DestinoSFD

10BASE5 10 Mbit/s sobre coaxial grueso (thicknet). Alcance = 500 metros10BASE2 10 Mbit/s sobre coaxial fino (thinnet o cheapernet). Alcance = 185 m

46

5. ETHERNET HISTORIA

5) Más tarde, el IEEE extendió la especificación 802.3 a nuevos comisiones conocidas como:

- 802.3u (Fast Ethernet 100Mbits) 100BASE-TX, 100BASE-T4, 100BASE-FX- 802.3z (Gigabit Ethernet transmitido en fibra óptica)- 802.3ab (Gigabit Ethernet en UTP).- 802.3ae (Ethernet a 10 Gbit/s) 10GBASE-SR, 10GBASE-LR - 802.3ak (Ethernet a 10 Gbit/s sobre cable bi-axial)

47

5. FORMATO TRAMA ETHERNET 802.3

Preámbulo: Sirve para sincronizar las tarjetas en la recepción de la trama.

SFD (Star Frame Delimiter): Responsable de que las estaciones receptoras sincronicen los relojes, con el mensaje entrante con el fin de que no se produzcan errores al leerlo.

Direcciones destino y fuente: Identifican la estación transmisora y receptora. Cada NIC tiene un número de identificación de 6 bytes (48 bits), que es único y está contenido en el hardware de la tarjeta. El organismo de estandarización IEEE subministra bloques de direcciones a las empresas que fabrican las tarjetas para garantizar su unicidad.

00-15-C5 3A-5E-39Id. FabricanteNº serie fabricante

48

5. FORMATO TRAMA ETHERNET 802.3

Tipo (Ethernet DIX): Indica el tipo de protocolo de nivel superior (IP, ARP, etc.), que está ocupando el formato de paquete Ethernet Versión II. Cuando una trama llega a una máquina, se necesita saber su tipo para identificar el módulo de software que se ha de utilizar para procesarla. Valores asignados por el IEEE en el RFC1700 y poseen valores mayores de 0x05DC (1500 decimal).

Length (Ethernet IEEE 802.3): Define la longitud del campo de datos. No tiene en cuenta los bytes adicionales. Tiene los valores extremos de (46 ≤ payload ≤ 1500 bytes):

Netware IPX8137RARP8035

ARP Request/Reply0806Datagrama IP0800

ProtocoloEther Type

49

5. FORMATO TRAMA ETHERNET 802.3

Payload: Campo de información. Puede tener entre 46 y 1500 bytes. Este campo debe tener un tamaño mínimo para detectar las colisiones. Si el nº de bytes de información es inferior a 46, Ethernet añade bytes adicionales hasta 46.Debe existir un mecanismo que permita descubrir los bytes que se han añadido. Por ejemplo, en el caso de llevar un datagrama IP, esto se puede deducir a partir del campo header length de la cabecera IP.Tamaño trama mínima: 6 + 6 + 2 + 46 +4 = 64 bytes (sin preámbulo)Tamaño trama máxima: 6 + 6 + 2 + 1500 + 4 = 1518 bytes (sin preámbulo)

CRC: Sirve para la detección de errores. El remitente realiza un control CRC (“Cyclical Redundancy”) para efectuar un chequeo de integridad.

50

6. COMANDO PING(Packet Internet Groper)

• Utiliza el protocolo ICMP, para verificar la conectividad a nivel 3 entre redes.• Es la herramienta de depuración más utilizada• Envía paquetes ICMP Echo Request y espera la respuesta de paquetes ICMP Echo Reply.• Proporciona información añadida sobre la red (retardo en ir y volver, TTL, cantidad de paquetes ICMP perdidos)

51

6. COMANDO ARP (Address Resolution Protocol)

Utilidad que sirve para asignar direcciones IP a direcciones físicas (gestiona el protocolo ARP).

5 mDinámico00-60-97-ed-67-9810.141.1.3

5 mDinámico00-60-97-54-65-ef10.141.1.2

5 mDinámico00-60-97-b8-6d-8410.141.1.1

AgeTipoDirección FísicaDirección IP

Arp –a Muestra tabla ARP

52

6. COMANDO IPCONFIG

• Configura la dirección del host• Proporciona información sobre la configuración actual:

• nombre interficie• Tipo tarjeta• @MAC• @IP

53

6. COMANDO NETSTAT

Proporciona información sobre el estado de la red

Es útil para conocer las conexiones TCP/IP activas en el momento de ejecutarlo.

54

6. COMANDO NBTSTAT

Muestra las estadísticas del protocolo y la conexiones actuales de TCP/IP usando NBT (NETBIOS)

55

6. COMANDO ROUTE

Sirve para determinar las rutas que deben seguir los paquetes en la red. Permite ver la tabla de routing del router o computador

2eth1192.168.1.20.0.0.00.0.0.0

4Eth1192.168.1.2255.0.0.034.4.149.3

3Eth0192.168.1.1255.255.0.015.149.19.2

3eth0192.168.1.1255.255.255.010.49.189.2

MétricaInterfícieGatewayMáscaraDestino

56

6. COMANDO TRACERT

Permite visualizar el camino que han seguido los paquetes enviados hasta alcanzar su destino.

Útil para conocer las rutas existentes, si hay algún router que rechaza nuestros paquetes o en quésaltos se producen mayores retrasos.

57

6. COMANDOS FTP y TFTP

Utilidades para la transferencia de ficheros. Permite listar (dir), traer (get) o dejar (put) ficheros Necesita el nombre de la máquina, usuario y

contraseña. TFTP es similar a FTP pero más fácil de configurar

58

6. COMANDOS LPR y LPQ

LPR Se utiliza para enviar trabajos a las impresoras de red

remotas que se especifican como argumentosLPQ

Se utiliza para preguntar por el estado de impresoras remotas que utilicen TCP/IP en sus comunicaciones a través del servicio lpq, típico de sistemas UNIX.

59

6. COMANDO TELNET

Sirve para realizar conexiones remotas interactivas en forma de terminal virtual.Es necesario el nombre de la máquina a conectarse, junto con un login y un password.

60

OTROS PROTOCOLOS TCP/IP

- Gestión de RED e inicio en TCP/IP

61

OTROS PROTOCOLOS TCP/IP

- Otros protocolos de nivel de RED:

62

OTROS PROTOCOLOS TCP/IP

- Protocolos nivel de APLICACIÓN:

63

OTROS PROTOCOLOS TCP/IP

- Protocolos nivel INTERNET:

64

PRÁCTICA 1: www.iptools.com

En la siguiente URL http://www.iptools.com/encontraremos diferentes herramientas de utilidad.

65

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

Objetivo: Familiarizar al alumno con el uso de un analizador de protocolos como herramienta de análisis. Profundizar en el conocimiento de algunos protocolos de la arquitectura TCP/IP como ARP, IP, ICMP, TCP, HTTP o DNS, y en el manejo y comprensión de algunas utilidades como ping.Requisitos: Conocimientos básicos de TCP/IP, ARP, ICMP y HTTP. Para el desarrollo de la práctica se utilizará el analizador de protocolos Wireshark de libre distribuciónResultados: Cada alumno deberá entregar una memoria con los resultados de la práctica respondiendo a las preguntas que se formulan en ella.

66

Paso 1. Descargar el porgrama Wireshark(http://www.wireshark.org/download.html) e instalarlo en la máquina virtual de Windows XP .Durante la instalación del Wireshark, también se instala Winpcap, que es una librería que permite realizar la captura de las tramas Ethernet que “ve” nuestra tarjeta de red, no sólo las destinadas a él sino todas las que circulan dentro de un mismo segmento LAN.

Paso 2. Arrancar el analizador de protocolos. Vemos una lista de las interficies que posee el ordenador sobre las cuales se pueden capturar paquetes. Hacemos click en el link “Capture Option” y comprobamos que está activada la opción “Captura paquetes en modo promiscuo”

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

67

Paso 3. Seleccionamos una interficie que sepamos que estáconectada a Internet y hacemos click en el botón “Start”.Se mostrará una pantalla dividida en tres zonas. En cada una de ellas se muestran los paquetes capturados con distinto nivel de detalle:a) En la zona superior se presenta una línea por cada trama capturada con un resumen de sus contenidos: básicamente un número de secuencia, el instante de captura (por defecto, relativo al inicio de la captura), origen y destino, protocolo más alto de los detectados, e información relativa al protocolo concreto (por ejemplo, en caso de ser un paquete ICMP, puede identificar que se trata de una petición de eco). Seleccionando una trama en esta sección superior se muestra información más detallada sobre la misma en las otras dos zonas.

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

68

b) En la zona central se puede ver los valores de los campos de las distintas cabeceras detectadas en la trama, comenzando por la cabecera del nivel de enlace (por ejemplo, Ethernet), de una manera fácilmente legible, en forma de árbol de información. Éste es un buen sitio para buscar, por ejemplo, qué valor tiene el campo TTL de la cabecera IP de un datagrama determinado.c) Finalmente, en la zona inferior se ofrece el valor de cada octeto de la trama capturada, escrito en notación hexadecimal, lo que permite analizar los contenidos del paquete que no han sido decodificados en las secciones menos detalladas.

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

69

Paso 4. En ocasiones le será necesario conocer algunos parámetros de red de su propia máquina. Para ello, debe ejecutar la orden “ipconfig /all” en una ventana del “Símbolo del sistema”.

Escriba los parámetros de red de la interficie, de la cual se quieren capturar paquetes:• Dirección Ethernet (física):• Dirección IP:• Máscara de subred:• Puerta de enlace predeterminada:• Servidor(es) de DNS predeterminado(s):

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

70

Paso 5. En este apartado se va a analizar la secuencia de acciones que tiene lugar a consecuencia de la ejecución de la aplicación “ping” (paquete ICMP tipo eco) en una máquina, siendo el objetivo una máquina de la misma red. Siga de manera ordenada los pasos que se detallan a continuación:- Realice un ping a una máquina de la misma red, desde el símbolo de sistema de su máquina.- Ejecute el comando arp –a desde msdos. ¿Quéinformación ha obtenido? ¿Qué indica esta tabla?

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

71

Paso 6. Arranque una captura con Wireshark y realice un ping a otra máquina de la red diferente del paso 5. Espere las cuatro respuestas. Detenga la captura. Ejecute desde Símbolo de sistema con la orden arp –a. ¿Ha notado alguna diferencia respecto a la primera vez que introdujo el comando?. ¿Durante cuanto tiempo permanecen estas entradas? (para este paso introduzca cada cinco segundo el comando arp –ahasta que desaparezca la tabla).

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

72

Paso 7. Vaya a la ventana principal del analizador. De las tramas capturadas debe distinguir aquéllas que se han visto implicadas en todo el proceso (desde la ejecución de la orden “ping” en el PC hasta la recepción de las respuestas de la otra máquina. Dibuje en un diagrama las tramas que han intervenido, en orden.

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

73

Paso 8. Puede identificar qué información ha decidido introducir su máquina en el campo de datos de las peticiones de eco? ¿Qué información introduce el PC remoto en el campo de datos de las respuestas eco?

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

74

Paso 9. En este apartado se llevará a cabo la descarga de un archivo relativamente voluminoso desde un navegador webpara observar la velocidad de descarga en función del tiempo. Borre la ventana de capturas del apartado anterior. Abra una nueva ventana desde “Capture Options”.Definir un filtro de captura, para sólo capturar el tráfico que coincida con el criterio seleccionado. Nos interesa capturar todo el tráfico TCP que tenga origen o destino (a nivel IP) en nuestra máquina. En la casilla Filter, teclear lo siguiente (sustituyendo la dirección de ejemplo “10.0.0.1” por la de su máquina):

ip proto \tcp and ip host 10.0.0.1

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

75

Paso 10. Arrancar una captura. Descargar con el navegador un archivo de algunos cientos de kilobytes para provocar el establecimiento de una conexión TCP de varios segundos de duración. Como sugerencias, puede probar con:

http://www.ietf.org/iesg/1rfc_index.txthttp://sunsite.utk.edu/ftp/usr-218-2/iesg/1rfc_index.txthttp://public.www.planetmirror.com/pub/ietf/iesg/1rfc_index.txt

Cuando se haya terminado de descargar el archivo, paramos la captura (“Stop”).

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

76

Paso 11. Localizar entre los paquetes mostrados por pantalla uno que pertenezca a la conexión TCP por la que se ha transferido el archivo y que haya viajado desde el servidor a su ordenador. Si ha descargado un archivo de texto, uno de estos paquetes es fácilmente identificable observando cómo en los datos HTTP del paquete se puede leer parte del contenido del archivo (sección inferior de la ventana del analizador, parte derecha).Seleccione este paquete y posteriormente elija “Statistics →TCP Stream Analysis → Throughput Graph” para representar la velocidad a la que ha sido transferido el archivo en cada intervalo. Observe la gráfica que se genera y conteste a las siguientes preguntas. ¿Es constante la velocidad a la que se ha transferido el archivo? ¿puede explicar por qué lo es / no lo es?

PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK

77

PRACTICA 3. CABECERAS TCP/IP

Disponemos de una red LAN formada por HUBS y SWITCHES

Se pide rellenar las cabeceras de los mensajes TCP/IP, dependiendo del tipo de servicio se esté realizando

78

PRACTICA 3. CABECERAS TCP/IP

1.1) PC1 consulta la web alojada en HTTP_SERVER

1.2) HTTP SERVER respuesta a la consulta de PC1

79

PRACTICA 3. CABECERAS TCP/IP

2.1) PC2 abre el cliente de correo y se conecta a SMTP_SERVER

2.2) SMTP_SERVER descarga el correo del usuario en PC2

80

PRACTICA 3. CABECERAS TCP/IP

3.1) PC2 envía un paquete ICMP echo a PRINTER

3.2) PRINTER responde al paquete ICMP echo enviado por PC2

81

PRACTICA 3. CABECERAS TCP/IP

4) Tabla de conmutación del SWITCH

PuertoMACs destino

82

PRACTICA 4. CABECERAS TCP/IP

Dos redes LANs conectadas a través de una conexión WAN y dos routers.

Se pide rellenar las cabeceras de los mensajes TCP/IP, dependiendo del tipo de servicio se esté realizando

83

PRACTICA 4. CABECERAS TCP/IP

1.1) PC1 consulta la web alojada en HTTP_SERVER. Se deben diferenciar 3 tramos.

PC1-R1

R1-R2

R2-HTTP_SERVER

84

PRACTICA 4. CABECERAS TCP/IP

1.2) HTTP SERVER responde la consulta de PC1. Se deben diferenciar 3 tramos.

HTTP_SERVER-R2

R2-R1

R1-PC1

85

PRACTICA 4. CABECERAS TCP/IP

2.1) PC2 abre el cliente de correo y se conecta a SMTP_SERVER. Se deben diferenciar 3 tramos.

PC2-R1

R1-R2

R2-SMTP_SERVER

86

PRACTICA 4. CABECERAS TCP/IP

2.2) SMTP_SERVER descarga el correo del usuario en PC2. Se deben diferenciar 3 tramos.

SMTP_SERVER-R2

R2-R1

R1-PC2

87

PRACTICA 4. CABECERAS TCP/IP

3) Tabla de conmutación del SWITCH

PuertoMACs destino