Вы находитесь на странице: 1из 57

Programacin de

comunicaciones en red
PSP - CAPTULO 3

2 DAM

ndice
1.
2.
3.
4.
5.

Conceptos bsicos
Pila de protocolos: TCP/IP y OSI
Protocolos de comunicaciones: TCP y UDP
Direccionamiento IP
Sockets

Bibliografa y recursos
EFA Moratalaz - PSP Captulo 3

Conceptos bsicos

Conceptos bsicos:
Computacin distribuida
En los orgenes de la informtica, all por la dcada de 1960, la
computacin estaba concebida como grandes ordenadores centrales
localizados en lugares especficos, como universidades, laboratorios, etc., y
aislados entre s
La proliferacin de los ordenadores personales y la red Internet, han
permitido el nacimiento de una nueva forma de concebir la computacin,
donde mltiples dispositivos se comunican y colaboran entre s en una
misma red
Computacin distribuida:
Est formado por ms de un elemento computacional distinto e independiente que no
comparte memoria con el resto. Ej: Un procesador dentro de una mquina
Los elementos que forman el sistema distribuido no estn sincronizados: No hay reloj comn
Los elementos que forman el sistema estn conectados a una red de comunicaciones
EFA Moratalaz - PSP Captulo 3

Conceptos bsicos:
Comunicaciones entre aplicaciones
Para que exista comunicacin entre dos entidades deben estar presentes
una serie de elementos
Mensaje:
Es la informacin que se intercambia entre las aplicaciones que se comunican

Emisor:
Es la entidad que enva el mensaje

Receptor:
Es la entidad que recibe el mensaje. Puede existir uno o varios receptores

Paquete:
Es la unidad mnima y bsica de informacin en la que se divide un mensaje para ser
transmitido
EFA Moratalaz - PSP Captulo 3

Conceptos bsicos:
Comunicaciones entre aplicaciones
Canal de comunicacin:
Es el medio por el que se transmiten los paquetes, que conecta el emisor con
el receptor

Protocolo de comunicaciones:
Es el conjunto de reglas que fijan cmo se deben intercambiar paquetes entre
las diferentes entidades
Define la secuencia de paquetes que se debe intercambiar y el formato de los
mensajes
El protocolo debe ser conocido previamente por todas las entidades
conectadas a la red

EFA Moratalaz - PSP Captulo 3

Conceptos bsicos:
Comunicaciones entre aplicaciones

EFA Moratalaz - PSP Captulo 3

Pila de protocolos:
TCP/ IP y OSI

Pila de protocolos: TCP/IP y OSI


Para que las diferentes aplicaciones que forman un sistema distribuido puedan
comunicarse, debe existir una serie de mecanismos que hagan posible esa
comunicacin:
Elementos hardware
Elemento software

Todos estos componentes se organizan en lo que se denomina una jerarqua o


pila de protocolos
Esta pila contiene todos los elementos hardware y software necesarios para la
comunicacin, y establece cmo trabajan juntos para conseguirla
En la actualidad, la pila de protocolos usada en la mayora de sistemas
distribuidos y en Internet se denomina pila TCP/IP
EFA Moratalaz - PSP Captulo 3

Pila de protocolos TCP/IP


El protocolo TCP/IP es el protocolo estndar de
comunicaciones en Internet y en la mayora de sistemas
distribuidos
Define una pila de protocolos completa con varios niveles
En algunas clasificaciones el nivel de red se puede dividir
en Nivel fsico, que sera el de ms bajo nivel; y el Nivel de
enlace.
Existe otra pila de protocolos de comunicaciones llamada
OSI con 7 niveles
OSI ha quedado en la actualidad como un modelo terico
y de referencia, ya que se usa principalmente el modelo
TCP/IP
EFA Moratalaz - PSP Captulo 3

10

Pila de protocolos TCP/IP vs OSI

EFA Moratalaz - PSP Captulo 3

11

Pila de protocolos TCP/IP:


Nivel de acceso a red
El nivel de acceso a red suele dividirse en el nivel fsico y el nivel de
enlace
Nivel fsico:
Define una interfaz fsica entre el dispositivo de transmisin de datos
(computador) y el medio de transmisin (red de comunicaciones)
Se encarga de transmitir los paquetes de informacin por el medio de transmisin
Se construye sobre
Una red de rea local (LAN, Local Area Network)
Una red de rea extendida (WAN, Wide Area Network)
O una combinacin de ambas
EFA Moratalaz - PSP Captulo 3

12

Pila de protocolos TCP/IP:


Nivel de acceso a red
Nivel de enlace:
Esta capa permite que la informacin sea transferida desde un nodo origen a un
nodo destino mediante cada enlace individual que conforma la ruta completa
Los nodos pueden ser host y/o routers
La informacin se organiza en unidades de informacin llamados frames o tramas
Se llevan a cabo diferentes operaciones para asegurar que las tramas enviadas por
el medio de transmisin llegan al destino tal y como fueron enviadas
Operaciones de control de flujo, deteccin y correccin de errores
Canal full-dplex o semiduplex

Comprobacin de direcciones de hardware MAC (Media Access Control)


EFA Moratalaz - PSP Captulo 3

13

Pila de protocolos TCP/IP:


Nivel de acceso a red
El nivel de acceso a red se
implementa, en su mayora, en las
tarjetas de red

EFA Moratalaz - PSP Captulo 3

14

Pila de protocolos TCP/IP:


Nivel de internet
Al nivel de internet tambin se le denomina nivel IP
Proporciona conectividad y seleccin de rutas entre dos nodos, aunque
estos no estn conectados directamente
La informacin se organiza en unidades de informacin llamados
datagramas
Se encarga de dirigir los datagramas a travs de la red coordinando
cada host y router, asegurndose de que lleguen a su destino por las
rutas adecuadas

EFA Moratalaz - PSP Captulo 3

15

Pila de protocolos TCP/IP:


Nivel de internet

EFA Moratalaz - PSP Captulo 3

16

Pila de protocolos TCP/IP:


Nivel de transporte
La informacin se organiza en unidades
de informacin llamados paquetes
El nivel de transporte lo componen
elementos software cuya funcin es:
Crear el canal de comunicacin
Descomponer el mensaje en paquetes
Gestionar su transmisin entre el emisor y el
receptor

Existen dos protocolos de transporte


fundamentales:
TCP
UDP

EFA Moratalaz - PSP Captulo 3

17

Pila de protocolos TCP/IP:


Nivel de aplicacin
El nivel de aplicacin es siempre el ms cercano al usuario
Las aplicaciones que maneja el usuario generan informacin para
que esta viaje por la red
Esta capa se encarga de toda la lgica de comunicacin que puede
haber entre dos aplicaciones que deseen comunicarse por una red
definiendo los protocolos base
Algunos protocolos utilizados para la comunicacin entre
aplicaciones son FTP, SMTP, POP3, IMAP, HTTP, HTTPS, P2P, DNS
EFA Moratalaz - PSP Captulo 3

18

Pila de protocolos TCP/IP:


Funcionamiento de la pila de protocolos
Cuando una aplicacin emisora desea enviar un mensaje a otra
aplicacin se produce la siguiente secuencia de operaciones:
La aplicacin emisor entrega el mensaje al nivel inmediatamente inferior, es decir, el
nivel de transporte
El protocolo del nivel de transporte descompone el mensaje en paquetes, y los pasa al
nivel de Internet

El nivel de Internet localiza al receptor del mensaje y calcula la ruta que deben seguir
los datagramas para llegar a su destino. Despus entrega los datagramas al nivel de
acceso a red
El nivel de acceso a red realiza las comprobaciones pertinentes de control, deteccin y
correccin de errores y transmite la trama por el medio de transmisin
EFA Moratalaz - PSP Captulo 3

19

Pila de protocolos TCP/IP:


Funcionamiento de la pila de protocolos
Las tramas llegarn al nivel de
acceso a red del receptor y
comenzarn el camino inverso
escalando por la pila de protocolos
hasta llegar al nivel de aplicacin
Hay que resaltar que en los niveles
de internet y de acceso a red se
aade informacin adicional en
forma de cabeceras a los datos
originales generados en el nivel de
aplicacin

EFA Moratalaz - PSP Captulo 3

20

Pila de protocolos TCP/IP:


Funcionamiento de la pila de protocolos

EFA Moratalaz - PSP Captulo 3

21

Protocolos de
comunicaciones:
TCP y UDP

Protocolo TCP Orientado a conexin


El protocolo de transporte TCP (Transmision Control Protocol) es el ms
comnmente utilizado
Se encarga de dividir el mensaje que recibe del nivel de aplicacin en
paquetes para enviarlos al nivel de Internet
Por otro lado, tambin agrupa los paquetes recibidos del nivel de Internet
y forma un mensaje que enva al nivel de aplicacin
Caractersticas de TCP
Garantiza que los datos enviados llegarn al destino y lo harn en el mismo
orden en el que fueron enviados
Se trata de un protocolo orientado a conexin
Esto repercute en la forma en la que se crea y gestiona el canal de comunicacin
EFA Moratalaz - PSP Captulo 3

23

Protocolo TCP Orientado a conexin


Un protocolo orientado a conexin es aquel en que el canal de comunicaciones
entre dos aplicaciones permanece abierto durante un cierto tiempo, permitiendo
enviar mltiples mensajes de manera fiable por el mismo
Mecanismo:
Establecimiento de la conexin:
Al inicio de la comunicacin se crea el canal de comunicacin, que permanecer abierto hasta que uno de los
dos extremos los cierre

Envo de mensajes:
Los extremos se envan mensajes durante un tiempo indefinido
Se garantiza que los datos siempre llegarn al destino en el orden en el que fueron enviados.

Cierre de la conexin:
Se realiza cuando uno de los dos extremos desea interrumpir la comunicacin
Si se desea mandar ms mensajes una vez la comunicacin ha sido cerrada, ser necesario volver a establecer
una nueva conexin

EFA Moratalaz - PSP Captulo 3

24

Protocolo UDP No orientado a conexin


El protocolo de transporte UDP (User Datagram Protocol) funciona de
manera similar a TCP, pero tiene una serie de caractersticas que lo
diferencian
Caractersticas de UDP
Se trata de un protocolo no orientado a conexin
Esto lo hace ms rpido, ya que no es necesario establecer conexiones para
enviar mensajes
No garantiza que los mensajes lleguen siempre al destinatario
No garantiza que los mensajes lleguen en el mismo orden en el que fueron
enviados
Permite enviar mensajes de 64 KB como mximo
En UDP, los mensajes se denominan datagramas
EFA Moratalaz - PSP Captulo 3

25

Protocolo TCP vs UDP

EFA Moratalaz - PSP Captulo 3

26

Protocolo TCP vs UDP

EFA Moratalaz - PSP Captulo 3

27

Direccionamiento IP

Direcciones IP
Una direccin IP (Internet Protocol) es un nmero que identifica de forma
nica a cada mquina de la red, y que sirve para comunicarse con ella
Existen dos protocolos IP en la actualidad, IPv4 y IPv6
IPv4:
Cada direccin IP esta formada por 32 bits (232 = 4.294.967.296 posibilidades)
Se utiliza un formato decimal, formado por cuatro octetos separados por puntos
Ejemplo:
172.16.4.20
172 10101100
00010000 16
00000100 4
00010100 20

EFA Moratalaz - PSP Captulo 3

29

Direcciones IP: IPv4


Las direcciones IPv4 se
dividen en pblicas y
privadas
IP pblica: La que nos
identifica de manera
nica en la red Internet
IP privada: La que nos
identifica de manera
nica dentro de una red
local
EFA Moratalaz - PSP Captulo 3

30

Direcciones IP pblicas
Las direcciones IP pblicas eran gestionadas a nivel mundial por el
ICANN (Internet Corporation for Assigned Names and Numbers)
Despus se pas a un esquema distribuido, donde el ICANN delega
grandes bloques de IPs a los Registros Regionales
En Europa el Registro Regional se llama RIPE NCC
Estos, a su vez, asignan bloques ms pequeos a los Registros Locales
Los Registros Locales o ISP (Internet Service Provider) se encargan de asignar
IP a los usuarios finales

EFA Moratalaz - PSP Captulo 3

31

Direcciones IP: Clases


Una direccin IP consta de dos partes:
Parte de red:
Identifica a la red dentro de la cual se encuentran todos los host
Todos los hosts pertenecientes a la misma red tienen la misma parte de red

Parte de host:
Identifica al host dentro de una red
Tiene un valor distinto para cada host dentro de una misma red

Segn estn repartidos los bits de la IP, la direccin puede pertenecer a


una clase diferente
Existen 5 clases de IP, desde la A hasta la E
EFA Moratalaz - PSP Captulo 3

32

Direcciones IP: Clases

EFA Moratalaz - PSP Captulo 3

33

Direcciones IP: IPv4 Rango de IPs privadas


Dentro de las tres primeras clases (A, B y C) existen direcciones no
asignables por los ISP denominadas IPs privadas

EFA Moratalaz - PSP Captulo 3

34

Direcciones IP: IPv4 Rango de IPs especiales


Son las IPs que tienen algn fin especfico en una comunicacin en red:
Loopback: El SSOO del host la utiliza para procesos internos (127.0.0.0
127.255.255.255)

Link-local: El SSOO asigna estas direcciones al host cuando no se


dispone de configuracin IP (169.254.0.0 169.254.255.255)
En cada red existen:
Direccin de red: Identifican a la red a la que pertenecen. Tiene todos
los bits de host a 0
Broadcast: Se usa para mandar mensajes a todos los host de la misma
red. Tiene todos los bits de host a 1
EFA Moratalaz - PSP Captulo 3

35

Direcciones IP: IPv4

EFA Moratalaz - PSP Captulo 3

36

Direcciones IP: IPv4

EFA Moratalaz - PSP Captulo 3

37

Direcciones IP: IPv4

EFA Moratalaz - PSP Captulo 3

38

Direcciones IP: Redes y Subredes


Conociendo las clases de IP que existen es fcil determinar en una
direccin IP su parte de red y su parte de host gracias a la mscara de red
Ejemplo:
IP

CLASE

MASCARA DEFECTO

IDRED

IDHOST

119.18.45.0

255.0.0.0

119

18.45.0

177.100.18.4

255.255.0.0

177.100

18.4

209.240.80.78

255.255.255.0

209

240.80.78

Los ordenadores utilizan una operacin AND entre la IP y la mscara para


calcular a la red a la que pertenece dicha IP
EFA Moratalaz - PSP Captulo 3

39

Direcciones IP: Redes y Subredes

EFA Moratalaz - PSP Captulo 3

40

Direcciones IP: Redes y Subredes


En el ejemplo anterior quedaron 24 bits para la parte de red y 8 bits para la
parte de host
Los 8 bits de la parte de host indicarn que tenemos 28 -2 IPs utilizables
para hosts
La primera es la ip de red
La ltima es la ip de broadcast

Esos 254 host resultantes pertenecern todos a la misma red


Es posible crear subredes de una red para separar lgicamente los host
de la misma y con ello mejorar la eficiencia de las subredes creadas
EFA Moratalaz - PSP Captulo 3

41

Direcciones IP: Redes y Subredes


Las subredes son utilizadas para dividir una red en redes ms pequeas
Las subredes creadas son ms optimas:
Evita difusiones innecesarias
Aumenta las opciones de seguridad
Divisiones lgicas de la red por funciones

Para hacer una subred se toman bits de la parte de host y se usan como si
fueran de la parte de red
Es necesario modificar la mscara de red por defecto del tipo de clase de la
IP
EFA Moratalaz - PSP Captulo 3

42

Direcciones IP: Redes y Subredes


Ejemplo de divisin de una red clase C con IP 192.168.1.0

EFA Moratalaz - PSP Captulo 3

43

Direcciones IP: Redes y Subredes

EFA Moratalaz - PSP Captulo 3

44

Direcciones IP: Redes y Subredes

EFA Moratalaz - PSP Captulo 3

45

Direcciones IP: IPv6


IPv6:

EFA Moratalaz - PSP Captulo 3

46

Direcciones IP: IPv4 vs IPv6


Esta es la estructura del datagrama IP en IPv4 y en IPv6

EFA Moratalaz - PSP Captulo 3

47

Sockets

Sockets
Los sockets son el mecanismo de comunicacin bsico fundamental
que se usa para realizar transferencias de informacin entre
aplicaciones
Proporcionan una abstraccin de la pila de protocolos
Un socket (en ingls, literalmente, un enchufe) representa el extremo
de un canal de comunicacin establecido entre un emisor y un
receptor.

EFA Moratalaz - PSP Captulo 3

49

Sockets
En la prctica se puede ver un socket como un conjunto IP:puerto
IP:puerto

EFA Moratalaz - PSP Captulo 3

50

Sockets
Un puerto es un nmero que identifica a un socket dentro de una
mquina
Los nmeros de puerto estn entre el 0 y el 65535
Este rango se divide en tres categoras:
0 1023: Puertos bien conocidos, reservados para los servicios
especiales como ftp (21), smtp (25), HTTP (80), POP3 (110), etc
1024 49151: Puertos registrados, reservados para servicios
49152 65535: Puertos dinmicos/privados, no estn reservados y se
les puede dar cualquier uso

EFA Moratalaz - PSP Captulo 3

51

Sockets Stream - TCP


Un socket stream se utiliza para comunicarse siempre con el mismo
receptor, manteniendo el canal de comunicacin abierto entre ambas
partes hasta que se termina la conexin
Son orientados a conexin, emplean TCP
Una parte ejerce la funcin de proceso cliente y otra de proceso
servidor
Proceso cliente:
Creacin del socket
Conexin del socket (connect)
Envo y recepcin de mensajes
Cierre de la conexin (close)
EFA Moratalaz - PSP Captulo 3

52

Sockets Stream - TCP


Proceso servidor
Creacin del socket
Asignacin de direccin y
puerto (bind)
Escucha (listen)
Aceptacin de conexiones
(accept). Esta operacin
implica la creacin de un
nuevo socket, que se usa para
comunicarse con el cliente que
se ha conectado
Envo y recepcin de mensajes
Cierre de la conexin (close)
EFA Moratalaz - PSP Captulo 3

53

Sockets Datagram - UDP


Un socket datagram se utilizan para enviar mensajes a multitud de
receptores, ya que se crea un canal temporal para cada envo que se
realiza
Son no orientados a conexin, emplean UDP
No existe diferencia entre el proceso servidor y el proceso cliente, es
decir, se realizan los mismos pasos para enviar mensajes
Proceso cliente:
Creacin del socket
Asignacin de direccin y puerto (bind)
Envo y recepcin de mensajes
Cierre de la conexin (close)
EFA Moratalaz - PSP Captulo 3

54

Sockets Datagram - UDP


Proceso servidor
Creacin del socket
Asignacin de direccin y
puerto (bind)
Envo y recepcin de
mensajes
Cierre de la conexin (close)

EFA Moratalaz - PSP Captulo 3

55

Bibliografa y recursos

Bibliografa y recursos
Ceballos, Javier. Java 2. Curso de programacin
Belmonte, Oscar. Granel, Carlos. Erdozain, M del Carmen.
Desarrollo de proyectos informticos con tecnologa Java
Hilos y sincronizacin: http://web.fdi.ucm.es/profesor/fpeinado/courses/oop/LPS17Hilos.pdf

EFA Moratalaz - PSP Captulo 3

57

Вам также может понравиться