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

Unidad II. Niveles de Red y Transportewebdelprofesor.ula.ve/ingenieria/jesuspangulo/sockets/Unidad_II_Te… · Unidad II. Niveles de Red y Transporte Tema 2. Nivel de transporte Prof

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

  • 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