Você está na página 1de 58

Introduccin a TCP/IP

caractersticas principales
Dr. Roberto Gmez Crdenas
rogomez@campus.cem.itesm.mx
http://webdia.cem.itesm.mx/dia/ac/rogomez

Qu es TCP/IP?

Conjunto de protocolos que sirven para comunicar


dos computadoras
Encargado de manejar los errores en la transmisin,
administrar el enrutamiento y entrega de los datos
Controlar la transmisin real mediante el uso de
seales de estado predeterminadas
Los dos principales protocolos son:

TCP: Transmission Control Protocol


IP: Internet Protocol

Objetivos de la arquitectura

independencia de la tecnologa de red y de la


arquitectura de la computadora host
conectividad universal a travs de la red
acknowledgements de punto a punto
protocolos de aplicacin estndares

Principales caractersticas de la
arquitectura TCP/IP

protocolos tipo no-conexin en el nivel red


nodos como computadoras de switcheo de
paquetes
protocolos de transporte con funciones de
confiabilidad
conjunto comn de programas de aplicacin
ruteo dinmico

Modelo de la Arquitectura TCP/IP


Nivel de
aplicacin

Terminal
virtual

Correo
electrnico

Protocolo de control
de transmisin (TCP)

Nivel de
transmisin

Nivel de
internet

Nivel de
red

Transferencia
de archivos

Servidor
de nombres

mount
de NFS

Protocolo de datagramas de usuario (UDP)

Protocolo de Internet, (IP) y


protocolo de control de mensajes

ARPANET

Red
satelital

X.25

Ethernet

Token
ring

Los protocolos TCP/IP y el modelo OSI


Niveles OSI:

Aplicacin
Niveles TCP/IP:

Aplicacin
Transmisin
Internet
Red

TELNET
FTP
SMTP
TFTP
TCP,UDP
IP
Subred

Presentacin
Sesin
Transporte
Red
Enlace
Fsico

TCP/IP y Unix

xito TCP/IP y Unix: debido a Univ. Berkeley


California
Berkeley considera una implementacin de
TCP/IP, en lugar de DARPA, para sus sistemas
Unix; y el cdigo fuente lo pone disponible
como software de dominio pblico en
septiembre de 1983
Legalmente resultados de investigacin y
desarrollo de Univ. Americanas pertenecen al
pueblo americano

Prcticamente todas las implementaciones


TCP/IP bajo Unix estn basadas en el cdigo de
Berkeley
Varias versiones no-Unix de TCP/IP tomaron
como base el cdigo de Berkeley

El protocolo IP

IP: Internet Protocol


Piedra angular de la arquitectura TCP/IP
Especificacin: RFC 791
Todas las computadoras en Internet entienden IP
Principales labores:

direccionamiento de las computadoras


fragmentacin de mensajes

No contiene funciones de control de flujo o de


confiabilidad de mensajes de punto a punto

Principales caractersticas de IP

Protocolo orientado no conexin


Divisin, en caso necesario, de paquetes
Direccionamiento con direcciones internet de
32 bits
Direcciones protocolos de ocho bits
Tamao mximo del paquete: 65535 bytes
Contiene solo un encabezado de checksum, no
datos de checksum

Campos de los protocolos no son necesarios


siempre
Tiempo de vida finito de los paquetes
Entrega de acuerdo al mejor esfuerzo

Encabezado protocolo IP
0

nmero
versin

longitud

15
tipo de servicio

23

transporte

31

longitud del paquete


D M
F F

identificacin
tiempo de vida

18

offset del fragmento

checksum del encabezado


direccin fuente

direccin destino
opciones

relleno

Direccionamiento a nivel IP

Internet es vista como una red virtual, por lo que


tiene su propia definicin para manejar direcciones
de cada host
No depende del hardware subyacente
A cada host en internet le es asignado un nmero
entero y nico como direccin, llamado direccin
internet IP o direccin lgica
No es una direccin fsica como la de ethernet
La direccin IP mide 32 bits

Una direccin IP contiene el identificador de la red a la cual el host


est conectado as como el identificador (nico) del host en esa red
Una direccin IP es una pareja (netid, hostid) en donde:

netid: identificador de la red


hostid: identificador del host en esa red

Se tienen tres clases de direcciones:

clase A: redes grandes; primer bit es cero, hay 2 7-2 redes posibles cada una con
224-2 posibles hosts (ms de 65,536)
clase B: redes medianas; valor primeros bits: 10, hay 2 14--2 redes posibles,
cada una con 28-2 a 216-2 posibles hosts
clase C: redes chicas; valor primeros bits: 110, hay 2 21-2 redes posibles, cada
una con 28-2 hosts

Tipos de direcciones internet


clase A
0

15

0 Ident. de red

23

31

Identificador del host

clase B
01

Identificador de la red

Identificador del host

clase C
110

Identificador de la red

Identificador host

clase D
111 0

Identificador del grupo de hosts

Notacin decimal

Una direccin IP es representada usando 4 dgitos


separados por un punto
Cada dgito representa 1 byte (8 bits) de la direccin
IP
Ejemplo:

direccin IP: 10000000 00001010 00000010 00011110


equivalente
decimal:
128
10
2
30
notacin decimal: 128.10.2.30

Ejemplos direcciones
Ejemplo direccin clase A:
10.0.0.3210

00001010.00000000.00000000.000100002

Ejemplo direccin clase B:


128.14.58.6010

10000000.00001110.00111010.001111002

Ejemplo direccin clase C


192.9.150.2210

11000000.00001001.10010110.110010102

El identificador de la red se encuentra en negrillas

Direcciones especiales

Una direccin internet puede ser usada para referirse a


una red especfica, adems de un host
Una direccin de red contiene 0s en el campo de hostid

netid 0000

Una direccin de broadcast contiene 1s en el campo de


hostid

ejemplo:

ejemplo:

netid 1111

Broadcast limitado:

no se puede enviar nada a direccin: 111...1 1111...1

Ejemplo asignaciones direcciones IP


empyree
231.1.2.1

svarga
231.1.2.6

FDDI

192.1.1.7
paradis
231.1.2.2

espaa
192.1.1.2
canada
192.1.1.4

grecia
192.1.1.6

eden
231.1.2.3

elysee
231.1.2.5

bali
231.1.2.4

cuba
192.1.1. 3

ETHERNET

walhalla
231.1.2.7

mexico
192.1.1.1

francia
192.1.1.5
rusia
192.1.1.8

Mapeo direcciones lgicas a fsicas

Dada una direccin lgica o el nombre de un host, como se puede


conocer su direccin fsica?
Tipos direciones fsicas:

Mapeo directo:

ethernet: direcciones largas y fijas (nicas) 48 bits


ProNET-10: direcciones chicas y configurables 8 bits
Para tipos direcciones de ProNET-10
La direccin fsica es codificada en su direccin IP
host direccin fsica 3, IP= 192.5.48. 3

Mapeo dinmico

direccin fsica de 48 bits en una de IP de 32 bits


uso protocolo ARP

Protocolo ARP

Address Resolution Protocol


Permite a un host conocer la direccin fsica de un
host destino en la misma red fsica, dada nicamente
la direccin IP del host destino
Protocolo:

Host A desea resolver direccin IP de B, IPB


A realiza un broadcast de un paquete especial para pedir al
host con direccin IB que responda con su direccin fsica
Todos los hosts incluyendo a B, reciben la peticin

Host B reconoce su direccin y enva una respuesta conteniendo


su direccin fsica
Host A recibe respuesta y usa direccin fsica para comunicarse
con host B

Uso memoria cache

Host que usa ARP mantiene en memoria Cache una lista de parejas
(direccin IP y fsica) de las direcciones fsicas recien adquiridas
de esta forma se evita usar ARP cada vez que un host se desea
comunicar
cuando un host recibe una respuesta ARP actualiza su tabla
cuando desea transmitir primero busca en su memoria cache

Determinando una direccin IP al


arranque

Programas aplicacin usuario siempre usan


direcciones IP
Normalmente la direccin IP de una mquina se
almacena en disco
El S.O. la puede encontrar al arrancar la mquina
Como puede una mquina determinar su direccin
IP al arrancar, cuando esta no ha sido an
almacenada en disco, o cuando se carece de este
ltimo?

Protocolo RARP

Reverse Address Resolution Protocol


Direccin fsica de red de una mquina es un
identificador nico y fcilmente disponible
Una mquina utiliza el protocolo RARP para
obtener su direccin IP a partir de un servidor
RARP utiliza el mismo formato de mensaje que
ARP

Pasos protocolo RARP

La fuente efecta la difusin del mensaje RARP


(RARP Req)
Mensaje incluye informacin siguiente:

SENDER HA: direccin fsica del emisor


TARGET HA: direccin fsica del emisor (puede ser la
direccin fsica de un tercer host)

Todas las mquinas de la red reciben la peticin


Slo las mquinas autorizadas para atender mensajes
RARP envan una respuesta (Servidores RARP)

La red debe contar con al menos 1 servidor RARP


La mquina fuente recibe respuesta de todos los
servidores RARP, slo el primero es tomado en
cuenta

C, D: servidores RARP
A: host solicitante

El protocolo TCP

TCP: Transmission Control Protocol


Especificacin RFC 793 y MIL-STD 1778
Principal tarea: transporte confiable de datos a
travs de la red
Su funcionalidad no difiriere mucho de otros
protocolos de transporte ms complicados
Diferencia: fronteras de bloques no son
preservadas

Caractersticas principales TCP

Proporciona circuito virtual full duplex


bidireccional
Desde el punto de visto del usuario, los datos son
transmitidos en streams y no en bloques
Transmisin confiable usando:

nmeros de secuencia
construccin de checksums con acks de recepcin
acknowledgements con timeout
retransmisin segmentos despus de ack timeout

Ventana deslizante para obtener mayor eficiencia


Funciones de datos urgentes y de push
Direccionamiento va nmero de puerto de 16 bits

Nmeros de puertos

Usados para direccionamietno a nivel transporte


16 bits para nmeros puertos, entonces se pueden
establecer hasta 65,535 puertos diferentes
Rango de validez puerto depende del host
Juntos: el id de la red, el id del host y el nmero de
puerto constituyen un punto terminal de
comunicacin (socket)
Protocolo comunicacin al estilo sistema telefnico
(orientado conexin)

Ejemplo nmeros puertos


Servicio
daytime
netstat
chargen
ftp-data
ftp
telnet
smtp
time
exec
login
shell
printer

Nmero de puerto
13
15
19
20
21
23
25
37
512
513
514
515

Protocolo UDP

UDP: User Datagram Protocol


Especificacin RFC 768
Conexin orientada no conexin
Direccionamiento va nmeros puertos
Checksums de datos
Protocolo muy simple
Seguimiento de acuerdo al mejor-esfuerzo
Nmero de campos menor que IP y TCP, por lo que
es considerado como un protocolo de peso ligero

Protocolo ICMP

ICMP: Internet Control Message Protocol


Referencia: RFC 792
Principal responsabilidad: notificacin de errores a
los responsables y/o involucrados
Es un componente de cada implementacin de IP
Transporta datos de error y diagnostico para el
protocolo IP
Existen diferentes tipos de mensajes, que son
tratados por el resto de la red como cualquier otro
datagrama

Puede verse como un paquete IP comunicndose con


otro paquete IP a travs de la red

Ejemplo de tipos paquetes ICMP


Tipo
0
1
2
3
8
11
12
13
14

Funcin
Respuesta de eco
Destino inalcanzable
Source quench (calmar la fuente)
Redireccin solicitada
Peticin de eco
Tiempo excedido de un datagrama
Problema parmetro en un datagrama
Peticin estampilla de tiempo
Respuesta estampilla de tiempo

Protocolos niveles 5 a 7
Telnet
FTP
SMTP
TFTP

Protocolo Telnet

Especificacin: RFC 854


Proporciona acceso, en forma de terminal de
sesin a una computadora conectada a la red
En unix se compone de dos partes

cliente: comando telnet


servidor: demonio telnetd

Otra opcin parecida es rlogin

Ejemplo telnet

Protocolo FTP

FTP: File Transfer Protocol


Especificacin RFC 959
Puerto 21 de TCP especifica el canal de comandos y el
puerto 20 el canal de datos
Protocolo transferencia de archivos entre dos
computadoras
En Unix tiene dos partes

cliente: comando ftp


servidor: demonio ftpd

Utiliza texto ASCII en formato NVT

Ejemplo ftp

Protocolo SMTP

SMTP: Simple Mail Transfer Protocol


Referencia RFC 821
Protocolo utilizado para la implementacin de
correo electrnico
Puerto 25 de TCP es utilizado por SMTP
Incorpora muchas caractersticas de FTP
En Unix es implementado por el programa
/usr/lib/sendmail
Archivo configuracin: /usr/lib/sendmail.cf

Protocolo TFTP

TFTP: Trivial File Transfer Protocol


Especificacin RFC 783
Utiliza puerto 69 de UDP
Protocolo de transferencia de archivos de mnimos
requerimientos
Diferencia con FTP: uso de protocolos en modo
no conexin
Es responsable de la confiabilidad en la
transmisin, a travs timeouts
No involucra un logeo en el servidor

El DNS

Computadoras son direccionadas con nombres


simblicos
El mapeo de nombre simblico a direccin internet
lo haca la computadora del NIC (Network
Information Center)
Crecimiento Internet hace lo anterior poco prctico
DNS: Domain Name Service
Conceptos y protocolos RFC 1034 y RFC 1035 con
suplementos en RFC 1101 y RFC 1183

El procedimiento para participar en el mundo DNS


con su propio nombre de red se encuentra descrito
en el RFC 1032

Estructura del nombre

Nombre esta dividido en dominios


Dominios estn acomodados de acuerdo a una
estructura de rbol
Existe una raz y abajo se encuentran los dominios
de alto nivel, los cuales se subdividen en
subdominios
Los nombres deben de ser nicos
Los niveles de alto nivel son predefinidos por el
NIC

Existen nombres para los dominios de alto nivel de


las organizaciones en USA (mil, edu, gov, com,
org, etc)
Para cada pas conectado existen otros nombres
para estos dominios (de, uk, mx, fr, etc)

Ejemplo estructura nombre


raz

mil

brl

nosc

edu

darpa

arpa

mit

ksu

yale

cc

cs

ee

inaddr

sri-nic

acc

Otros protocolos
BOOTP
DHCP
HDLC
NAT

Protocolo BOOTP

BOOTP: Boostrap Protocol


Referencia: RFC 951
Protocolo que permite que un usuario de red pueda
ser automticamente configurado (reciba una
direccin IP) y que disponga de un sistema
operativo booteado o inicializado sin intervencin
de usuario
El servidor manejado por un administrador de red,
asigna automticamente una direccin IP de una
piscina de direcciones.

Esta direccin tiene una cierta duracin de tiempo


Es base de otros protocolos de manejo de red, p.e.
DHCP

Protocolo DHCP

DHCP: Dynamic Host Configuration Protocol


Referencia: RFC 1531 y 1541
Permite a administradores de red automatizar y
centralizar la asignacin de direcciones IP
Util en el caso de computadoras cuya direccin IP
no se debe de asignar manualmente (computadoras
nmadas)
Enva una direccin IP automticamente cuando
una computadora se conecta en un diferente lugar
en la red

La direccin tiene un tiempo durante el cual es


vlida para esa mquina
128.45.12.23
128.45.12.8

128.45.12.21

128.45.12.1

128.45.12.4

HDCL

HDCL: High-level Data Link Control


Grupo de protocolos o reglas para transmitir datos
entre dos puntos de una red (a veces llamados nodos)
Los datos son organizados en unidades llamadas
frames y enviados a su destino que verifica su llegada
exitosa
Maneja flujo o pacing provocado por datos
enviados

Existen diferentes variantes de HDLC:

NRM Normal Response Mode, (redes multipunto usando


SDLC)
LAP: Link Access Procedure (primeras implementacionex
X.25)
LAPB: Link Access Procedure Balanced (imp. act. de
X.25)
LAPD: Link Access Procedure for ISDN D channel (frame
relay e ISDN D)
LAPM: Link Access Procedure for Modems

El NAT

NAT: Network Address Translation


Referencia: RFC 1631
Es la traduccin de una direccin internet usada
dentro de una red, en una otra direccion conocida en
otra red
Una red es llamada red interior, mientras que la otra
se conoce como red exterior
Usualmente se mapean direcciones locales de redes
internas a una o mas direcciones exteriores

Tambin se unmapea las direcciones globales IP de


paquetes de entrada en direcciones locales internas
Toda peticin de entrada o salida debe pasar por un
proceso de traduccin

direccin

Internet

traducida

direccin

Servidor
NAT

Red privada

HTTP

Hypertext transfer protocol


RFC 2616, 2068
Protocolo de nivel aplicacin para intercambio de
informacin hipermedia en internet
Es distribuido y colaborativo
Caracterstica principal: negociacin de
representacin de datos
Usado en la WWW desde 1990

Você também pode gostar