Unidad II. Niveles de Red y...
Transcript of Unidad II. Niveles de Red y...
-
Redes de computadoras
Escuela de Ingeniería de Sistemas
Departamento de Computación
Unidad II. Niveles de Red y Transporte
Tema 2. Nivel de transporte
Prof. Jesús Pérez
-
2
AGENDA
- Servicios del nivel transporte
-Primitivas del servicio transporte
-Sockets BSD
-Ejemplos de programación de Sockets BSD
-
3
Servicios del nivel transporte
-Transporte orientado a la conexión
-Transporte no orientado a la conexión
¿Direccionamiento?
¿Alguna analogía?
-
4
Primitivas del servicio de transporte
La capa de transporte proporciona algunas operaciones a los
programas de aplicación, es decir, una interfaz del servicio de
transporte.
PRIMITIVA SIGNIFICADO
LISTEN Se bloquea hasta que un
proceso intenta la conexión
CONNECT Intenta activamente
establecer una conexión
SEND Envía información
RECEIVE Se bloquea hasta que llega un
paquete
DISCONNECT Este lado quiere liberar la
conexión
-
5
Su primera implementación fue en el sistema operativo BSD
(Berkeley Software Distribution) de la Universidad de California en
Berkeley.
Es una interfaz de entrada – salida para procesos dentro de un
dominio de comunicación.
Si los procesos están en el mismo sistema, el dominio de
comunicación es AF_UNIX
Pero si los procesos están en distintos sistemas, el dominio de
comunicación será AF_INET.
Sockets BSD
-
6
Stream
Hace uso del protocolo TCP (RFC-793), el cual provee un flujo de
datos bidireccional, secuenciado, sin duplicación de paquetes y libre
de errores.
Datagram
Utiliza el protocolo UDP (RFC-768), el cual provee un flujo de datos
bidireccional, pero los paquetes pueden llegar fuera de secuencia, no
llegar o contener errores.
Tipos de sockets BSD
¿Cuál utilizar?
-
7
Primitivas de un socket BSD
Primitiva Significado
SOCKET Crea un nuevo punto terminal de
comunicación
BIND Adjunta una dirección local a un socket
LISTEN Anuncia la disposición a aceptar
conexiones
ACCEPT Bloquea el invocador hasta la llegada
de un intento de conexión
CONNECT Intenta establecer activamente un
conexión
SEND Envía datos a través de la conexión
RECEIVE Recibe datos de la conexión
CLOSE Libera de conexión
-
8
Pasos para TCP
Proceso A Proceso B
socket() socket()
bind()
listen()
connect() accept()
send() / recv() o write() / read() send() / recv() o write() / read()
1
2
3
¿Alguna analogía?
-
9
Pasos para UDP
Proceso A Proceso B
socket() socket()
bind()
sendto() / recvfrom() sendto() / recvfrom()
1
2
-
10
Programación de sockets BSD
Inclusión de archivos cabeceras
-
11
Programación de sockets BSD
Proceso B
¿TCP o UDP?
-
12
Programación de sockets BSD
Proceso A
-
13
Programación de sockets BSD
Enviar y recibir
¿Qué protocolo seguir?
-
14
Programación de sockets BSD
Ver Ejemplo
http://www.webdelprofesor.ula.ve/ingenieria/jesuspangulo/sockets/ejemplo.tar.gz
-
15
Actividades
1 ) Enviar dos números y recibir la suma.
2) Enviar tres números y recibir tanto el
número menor como el mayor.
En el ejemplo, se envía un número y se recibe un número.
Ahora, como actividades se deben:
-
16
Para mayor información:
1 ) Capítulo 6 del Libro: Redes de
Computadoras. Autor: Andrew Tanenbaum
2) Manual en Linux:
-man sock
-man bind
Se recomienda:
-
Redes de computadoras
Escuela de Ingeniería de Sistemas
Departamento de Computación
Unidad II. Niveles de Red y Transporte
Tema 2. Nivel de transporte
Prof. Jesús Pérez