unidad ii. niveles de red y transporte€¦ · unidad ii. niveles de red y transporte tema 2. nivel...

17
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

Upload: others

Post on 18-Jun-2020

26 views

Category:

Documents


0 download

TRANSCRIPT

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