SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
Pr´ ctica de Redes I: Pr´ ctica introductoria
                    a                     a
                 El paquete de comunicaciones Lower Layer
                                    Grupo de Sistemas y Comunicaciones
                                                   Octubre de 2006

                                                          Resumen
           En las pr´ cticas de Redes I se utilizar´ el paquete de comunicaciones Lower Layer, que ofrece un
                     a                             a
       servicio extremo a extremo de env´o de mensajes no orientado a conexi´ n y no fiable. El objetivo de
                                            ı                                   o
       esta pr´ ctica es familiarizarse con este paquete de comunicaciones y realizar un cliente y un servidor
              a
       sencillos que lo utilicen.


1. Introducci´ n
             o
   El paquete Lower Layer UDP 1 es el que ofrece las primitivas de comunicaciones que utilizar´ n los
                                                                                              a
programas a realizar en las pr´ cticas. Cons´ ltese su especificaci´ n2 adjunta.
                              a             u                     o


2. Direcciones y puertos: los End Point
    Un End Point es el destino que tienen los datos que un proceso de una m´ quina le env´a a otro proceso
                                                                             a           ı
en otra m´ quina. Un End Point se construye a partir de la direcci´ n IP y de un puerto de la m´ quina del
         a                                                        o                             a
proceso al que van dirigidos los datos. Los End Point son puntos de destino y origen de los mensajes que
transportan los datos.

2.1.     Construir un End Point
    Para construir un End Point se usa el procedimiento Build:

Server_EP := Lower_Layer_UDP.Build("212.128.4.155", 6001);

    Un proceso puede construir tantos End Point como desee, sean de la m´ quina que sean (en la que
                                                                        a
reside u otra cualquiera).

2.2.     Atarse a un End Point
    Para que un proceso pueda recibir datos de otros, es necesario que anteriormente se ate a un End Point.
De esta forma indica su intenci´ n de escuchar mensajes dirigidos a ese End Point. Esto se puede hacer
                               o
de dos formas:

       At´ ndose a un puerto concreto: Se hace llamando primero a Build para construir un End Point,
          a
       y luego a Bind para atarse a el. N´ tese que la direcci´ n IP que se usa en el Build ha de ser
                                      ´    o                     o
       necesariamente de la m´ quina en la que se ejecuta el c´ digo:
                             a                                o

             Server_EP := Lower_Layer_UDP.Build ("212.128.4.155", 6001);
             Lower_Layer_UDP.Bind (Server_EP);
   1 Lower Layer UDP es un sencillo recubrimiento de la biblioteca Lower Layer para utilizar solamente la parte de UDP. No es

necesario entender toda la complejidad de Lower Layer para realizar las pr´ cticas, sino solamente el subconjunto que aparece en
                                                                          a
Lower Layer UDP
   2 ./lower_layer_udp.ads




                                                               1
At´ ndose a un puerto libre cualquiera: Se hace llamando a Bind_Any, que autom´ ticamente
           a                                                                                      a
        construye un End Point con la direcci´ n IP de la m´ quina y un puerto libre cualquiera asignado por
                                               o            a
                                               ´
        el sistema operativo, y luego se ata a el. Este End Point es devuelto como par´ metro en modo out
                                                                                        a
        por Bind_Any3 :

              LLU.Bind_Any(Client_EP);

2.3.     Desatarse de un End Point
                                                                                            ´
   Cuando un proceso ya no quiere recibir m´ s datos en un End Point, puede desatarse de el. De esta
                                            a
forma indica que ya no va a escuchar´ en mensajes dirigidos a ese End Point. Esto se hace utilizando el
                                    a
procedimiento Unbind:
       Lower_Layer_UDP.Unbind (Client_EP);
   Hay que tener en cuenta que antes de llamar a Unbind es necesario estar seguro de que no hay
mensajes pendientes de recibir en ese End Point.
   Por otro lado, antes de terminar un programa que utilice Lower Layer UDP, despu´ s de desatarse de
                                                                                    e
todos los End Point que se han utilizado, es necesario llamar al procedimiento Finalize:
       Lower_Layer_UDP.Finalize;


3. Composici´ n de mensajes: Buffers
            o
   Cuando un proceso va a enviar un mensaje a otro es necesario que lo almacene previamente en un
Buffer.

3.1.     Declaraci´ n de un Buffer
                  o
    Para utilizar un Buffer es necesario declarar una variable del tipo Buffer_Type4 . En dicha decla-
raci´ n es necesario proporcionar el tama˜ o en bytes que se reserva para almacenar datos en ella. Como
    o                                     n
ser´ necesario utilizar el atributo ’Access de estas variables, es necesario declarar la variable como
   a
aliased:
       Buffer:             aliased LLU.Buffer_Type(1024);

3.2.     Inicializaci´ n de un Buffer
                     o
    El procedimiento Reset permite vaciar el contenido de un Buffer. Es necesario vaciar siempre un
Buffer antes de utilizarlo para componer un nuevo mensaje a enviar, y antes de recibir un nuevo mensaje
   ´                                                                         ´
en el. De esta forma se garantiza que dicho Buffer no tiene datos previos en el:
       Lower_Layer_UDP.Reset(Buffer);

3.3.     Inserci´ n de datos en un Buffer
                o
   La forma de introducir un dato en un Buffer es invocando el atributo ’Write del tipo del dato en
cuesti´ n, de la siguiente forma:
      o
Buffer: aliased Buffer_Type (1024);
I: Integer;
...
I := 5;
Integer’Write (Buffer’Access, I);
    Tras introducir un dato en un Buffer, el siguiente dato que se introduzca en el mismo Buffer se colo-
car´ a continuaci´ n de aqu´ l.
   a              o         e
  3 Para comprender mejor c´ mo se comporta “Bind
                           o                             Any”, puede pensarse que se deber´a llamar m´ s bien “Build Any And Bind”
                                                                                          ı          a
  4 Nota:   Este tipo deriva del tipo Stream de la biblioteca est´ ndar de Ada.
                                                                 a


                                                                2
3.4.    Extracci´ n de datos en un Buffer
                o
    Para extraer un dato de un Buffer se invoca el atributo ’Read del tipo del dato en cuesti´ n, de la
                                                                                             o
siguiente forma:

Buffer: aliased Buffer_Type(1024);
I: Integer;
...
Integer’Read (Buffer’Access, I);

   Una vez extra´do un dato de un Buffer, la siguiente invocaci´ n de Read que se realice sobre el mismo
                  ı                                            o
Buffer extraer´ el dato que se encuentre a continuaci´ n de aqu´ l.
              a                                      o         e


4. Env´o y recepci´ n de mensajes
      ı           o
4.1.    Env´o
           ı
    Cuando un proceso quiere enviar datos a otro proceso, ha de conocer el End Point en el que escucha
el proceso receptor.
    Una vez que sabe el End Point de destino de su mensaje, un proceso lo env´a utilizando el procedi-
                                                                              ı
miento Send_From cuya cabecera es:

procedure Send_From (From:                in     End_Point_Type;
                     To :                 in     End_Point_Type;
                     Data:                access Buffer_Type);


   Los par´ metros son:
          a
       From: El End Point desde el que se envia el mensaje, y en el que posiblemente se esperan mensajes
       de respuesta.
       To: End Point destino del proceso al que se env´a el mensaje.
                                                      ı
       Data: acceso a un Buffer vac´o en el que se hayan los datos que se quieren enviar.
                                   ı
   As´, el c´ digo que llama a Send_From tendr´ el aspecto:
     ı      o                                 a

    Lower_Layer_UDP.Send_From (From_EP, To_EP, Buffer’Access);

4.2.    Recepci´ n
               o
    Un proceso que quiere recibir mensajes previamente debe construir un End Point con la direcci´ n IP
                                                                                                   o
                                              ´
de su m´ quina y un puerto libre, y atarse en el. Una vez hecho esto, usa el procedimiento Receive_From,
       a
cuya cabecera es:

procedure Receive_From (From   :    out End_Point_Type;
                        To     :     in End_Point_Type;
                        Data   : access Buffer_Type;
                        Timeout:     in Duration;
                        Expired:    out Boolean);

   Los par´ metros son:
          a
       From: El End Point desde el que se envi´ el mensaje y en el que posiblemente el emisor espera
                                              o
       respuesta.
       To: End Point en el que escucha el proceso y al que se envi´ el mensaje.
                                                                  o
       Data: acceso a un Buffer vac´o en el que se quedar´ almacenado el mensaje que llegue. Es muy
                                     ı                     a
       importante haber reinicializado dicho Buffer, llamando a Reset, antes de llamar a Receive.


                                                    3
Timeout: plazo (en segundos) durante el cual se esperar´ la llegada del mensaje de un mensaje.
                                                                a
     Si no llegara en este plazo, el procedimiento retorna igualmente, quedando el Buffer vac´o. El tipo
                                                                                             ı
     Duration es compatible con Float.

     Expired: par´ metro de vuelta. Toma el valor True cuando expira el plazo Timeout sin que
                    a
     llegue ning´ n mensaje (con lo que el Buffer queda vac´o). Toma el valor False cuando llega
                u                                             ı
     alg´ n mensaje antes de que venza el plazo, mensaje que queda almacenado en el Buffer.
        u

  As´, el c´ digo que llama a Receive_From tendr´ el aspecto:
    ı      o                                    a

 Receive_From (From_EP, To_EP, Buffer’Access, 2.0, Expired);
 if Expired then
    Put_Line ("Expir´ el plazo");
                    o
 else
    Integer’Read (Buffer’Access, I);
 end if;


5. Pr´ ctica a realizar
     a
  1. Estudiar la especificaci´ n del paquete de comunicaciones Lower Layer UDP (lower layer udp.ads5 ).
                            o
  2. Estudiar el c´ digo del programa cliente (client.adb6 ) y del programa servidor (server.adb7 ).
                  o

  3. Compilar el cliente y el servidor y probarlos. Es necesario que el comando gnatmake encuentre
     la biblioteca de comunicaciones Lower_Layer. Esto puede hacerse de dos formas:

          Teniendo previamente definida la variable de entorno ADA_INCLUDE_PATH en la forma:
              export ADA_INCLUDE_PATH=/opt/ll/lib
          Utilizando el flag -I al llamar a gnatmake, en la forma:
              gnatmake -I/opt/ll/lib client.adb

  4. Modifica el cliente y el servidor de forma que:

          el servidor reciba como argumento en la l´nea de comandos el puerto en en el que se debe
                                                   ı
          atar.
          el cliente reciba como argumentos en la l´nea de comandos el nombre de la m´ quina y el
                                                   ı                                 a
          puerto en el que est´ atado el servidor.
                              a

     Utiliza las funciones Get_Host_Name y To_IP que aparecen en la especificaci´ n de Lower_Layer_UDP
                                                                               o
     y consulta la especificaci´ n del paquete Ada.Command_Line en el manual de referencia del len-
                              o
     guaje.

  5. Realiza modificaciones sencillas al cliente y al servidor para cerciorarte de que comprendes su
     funcionamiento.




 5 ./lower_layer_udp.ads
 6 ./client.adb
 7 ./server.adb




                                                    4

Contenu connexe

Tendances

TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)Belen Toledo
 
Clase 03 Protocolos Y Servicios De Red
Clase 03   Protocolos Y Servicios De RedClase 03   Protocolos Y Servicios De Red
Clase 03 Protocolos Y Servicios De RedJaime Valenzuela
 
Curso Practico Cardsharing Lecc1
Curso Practico Cardsharing Lecc1Curso Practico Cardsharing Lecc1
Curso Practico Cardsharing Lecc1ZonaTV
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e InternetSergio Santos
 
Servicio dhcp gnu linux-centos ::: http://leymebamba.com
Servicio dhcp gnu linux-centos  ::: http://leymebamba.comServicio dhcp gnu linux-centos  ::: http://leymebamba.com
Servicio dhcp gnu linux-centos ::: http://leymebamba.com{|::::::. ELDAVAN .:::::::|}
 
DIAPOSITIVAS DE PROTOCOLOS
DIAPOSITIVAS DE PROTOCOLOSDIAPOSITIVAS DE PROTOCOLOS
DIAPOSITIVAS DE PROTOCOLOSgutierrez2010
 
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3Rod Hinojosa
 
Dynamic host configuration protocol(DHCP)
Dynamic host configuration protocol(DHCP)Dynamic host configuration protocol(DHCP)
Dynamic host configuration protocol(DHCP)Stalin Pallango
 
Problemas de desempeño en las redes de cómputo
Problemas de desempeño en las redes de cómputoProblemas de desempeño en las redes de cómputo
Problemas de desempeño en las redes de cómputopabloanibaltabango
 
Ut02 asignacion dinamica_de_direcciones_dhcp
Ut02 asignacion dinamica_de_direcciones_dhcpUt02 asignacion dinamica_de_direcciones_dhcp
Ut02 asignacion dinamica_de_direcciones_dhcpCarlos Tessier
 
Herramientas de colaboración digital
Herramientas de colaboración digitalHerramientas de colaboración digital
Herramientas de colaboración digitallefuente
 

Tendances (20)

Tema2 dhcp
Tema2 dhcpTema2 dhcp
Tema2 dhcp
 
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
 
Dhcp
DhcpDhcp
Dhcp
 
Clase 03 Protocolos Y Servicios De Red
Clase 03   Protocolos Y Servicios De RedClase 03   Protocolos Y Servicios De Red
Clase 03 Protocolos Y Servicios De Red
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Curso Practico Cardsharing Lecc1
Curso Practico Cardsharing Lecc1Curso Practico Cardsharing Lecc1
Curso Practico Cardsharing Lecc1
 
Dhcp
DhcpDhcp
Dhcp
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e Internet
 
Servicio dhcp gnu linux-centos ::: http://leymebamba.com
Servicio dhcp gnu linux-centos  ::: http://leymebamba.comServicio dhcp gnu linux-centos  ::: http://leymebamba.com
Servicio dhcp gnu linux-centos ::: http://leymebamba.com
 
Protocolos
ProtocolosProtocolos
Protocolos
 
DIAPOSITIVAS DE PROTOCOLOS
DIAPOSITIVAS DE PROTOCOLOSDIAPOSITIVAS DE PROTOCOLOS
DIAPOSITIVAS DE PROTOCOLOS
 
11 aplicaciones tcp ip
11 aplicaciones tcp ip11 aplicaciones tcp ip
11 aplicaciones tcp ip
 
20 dhcp linux_asoitsonp
20 dhcp linux_asoitsonp20 dhcp linux_asoitsonp
20 dhcp linux_asoitsonp
 
Expo ft
Expo ftExpo ft
Expo ft
 
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3
 
Dynamic host configuration protocol(DHCP)
Dynamic host configuration protocol(DHCP)Dynamic host configuration protocol(DHCP)
Dynamic host configuration protocol(DHCP)
 
Problemas de desempeño en las redes de cómputo
Problemas de desempeño en las redes de cómputoProblemas de desempeño en las redes de cómputo
Problemas de desempeño en las redes de cómputo
 
Bridges Avanzadas
Bridges AvanzadasBridges Avanzadas
Bridges Avanzadas
 
Ut02 asignacion dinamica_de_direcciones_dhcp
Ut02 asignacion dinamica_de_direcciones_dhcpUt02 asignacion dinamica_de_direcciones_dhcp
Ut02 asignacion dinamica_de_direcciones_dhcp
 
Herramientas de colaboración digital
Herramientas de colaboración digitalHerramientas de colaboración digital
Herramientas de colaboración digital
 

En vedette

Peintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe sièclePeintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe sièclepacitina
 
Embasf Présentation Générale 2010
Embasf Présentation Générale 2010Embasf Présentation Générale 2010
Embasf Présentation Générale 2010François Ganteaume
 
Leo 1402
Leo 1402Leo 1402
Leo 1402leo0815
 
Peintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe sièclePeintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe sièclepacitina
 
Système reproducteur
Système reproducteurSystème reproducteur
Système reproducteurkaralb0186
 
Heinrich Der Hund
Heinrich Der HundHeinrich Der Hund
Heinrich Der HundPGCEMaster
 
Ger Ks3 Past&Future Vw
Ger Ks3 Past&Future VwGer Ks3 Past&Future Vw
Ger Ks3 Past&Future VwPGCEMaster
 
Cristina laura peintres-francais
Cristina laura peintres-francaisCristina laura peintres-francais
Cristina laura peintres-francaispacitina
 
Obras de escher (1)
Obras de escher (1)Obras de escher (1)
Obras de escher (1)quenac
 
Projet carrière de informatique
Projet carrière de informatiqueProjet carrière de informatique
Projet carrière de informatiquejebo1411
 
Violence
ViolenceViolence
ViolenceC.A.H.M
 

En vedette (20)

Portail des PME 2011
Portail des PME 2011Portail des PME 2011
Portail des PME 2011
 
Peintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe sièclePeintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe siècle
 
Références projets
Références projetsRéférences projets
Références projets
 
Tekuidamos 2.0
Tekuidamos 2.0 Tekuidamos 2.0
Tekuidamos 2.0
 
Art90s
Art90sArt90s
Art90s
 
Programa ii jornadas iberoamericanas rrhh y rsc doblecara
Programa ii jornadas iberoamericanas rrhh y rsc doblecaraPrograma ii jornadas iberoamericanas rrhh y rsc doblecara
Programa ii jornadas iberoamericanas rrhh y rsc doblecara
 
Web2y3
Web2y3Web2y3
Web2y3
 
Embasf Présentation Générale 2010
Embasf Présentation Générale 2010Embasf Présentation Générale 2010
Embasf Présentation Générale 2010
 
Blogue
BlogueBlogue
Blogue
 
Leo 1402
Leo 1402Leo 1402
Leo 1402
 
Peintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe sièclePeintres d'avant garde français du x xe siècle
Peintres d'avant garde français du x xe siècle
 
Système reproducteur
Système reproducteurSystème reproducteur
Système reproducteur
 
Heinrich Der Hund
Heinrich Der HundHeinrich Der Hund
Heinrich Der Hund
 
Ger Ks3 Past&Future Vw
Ger Ks3 Past&Future VwGer Ks3 Past&Future Vw
Ger Ks3 Past&Future Vw
 
Colores
ColoresColores
Colores
 
Hrbarcamp17
Hrbarcamp17Hrbarcamp17
Hrbarcamp17
 
Cristina laura peintres-francais
Cristina laura peintres-francaisCristina laura peintres-francais
Cristina laura peintres-francais
 
Obras de escher (1)
Obras de escher (1)Obras de escher (1)
Obras de escher (1)
 
Projet carrière de informatique
Projet carrière de informatiqueProjet carrière de informatique
Projet carrière de informatique
 
Violence
ViolenceViolence
Violence
 

Similaire à Endpoint practica de redes

Capitulo 4: Capa de Transporte del Modelo OSI
Capitulo 4: Capa de Transporte del Modelo OSICapitulo 4: Capa de Transporte del Modelo OSI
Capitulo 4: Capa de Transporte del Modelo OSIOctavio
 
Capa de transporte del modelo OSI
Capa de transporte del modelo OSICapa de transporte del modelo OSI
Capa de transporte del modelo OSIelchangoaladino
 
Capa de transporte del modelo OSI
Capa de transporte del modelo OSICapa de transporte del modelo OSI
Capa de transporte del modelo OSIelchangoaladino
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiTelefónica
 
Expo 4
Expo 4Expo 4
Expo 4jorge
 
Capitulo4
Capitulo4Capitulo4
Capitulo4TESE
 
Capitulo 4 CAPA DE TRANSPORTE DEL MODELO OSI
Capitulo 4    CAPA DE TRANSPORTE DEL MODELO OSICapitulo 4    CAPA DE TRANSPORTE DEL MODELO OSI
Capitulo 4 CAPA DE TRANSPORTE DEL MODELO OSIBENITEZ ALONSO
 
Seguridad: Backtrack1_bis
Seguridad: Backtrack1_bisSeguridad: Backtrack1_bis
Seguridad: Backtrack1_bisFrancesc Perez
 
Capa de Transporte del Modelo OSI
Capa de Transporte del Modelo OSICapa de Transporte del Modelo OSI
Capa de Transporte del Modelo OSIangelcgr
 
Redes Privadas Virtuales y cómo configurar routers de Teltonika
Redes Privadas Virtuales y cómo configurar routers de TeltonikaRedes Privadas Virtuales y cómo configurar routers de Teltonika
Redes Privadas Virtuales y cómo configurar routers de TeltonikaMonolitic, S.A.
 
Métodos de encriptación vía vpns
Métodos de encriptación vía vpnsMétodos de encriptación vía vpns
Métodos de encriptación vía vpnsaleja6hh
 
Comunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosComunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosStalin Jara
 

Similaire à Endpoint practica de redes (20)

CAPITULO4
CAPITULO4CAPITULO4
CAPITULO4
 
Capitulo 4: Capa de Transporte del Modelo OSI
Capitulo 4: Capa de Transporte del Modelo OSICapitulo 4: Capa de Transporte del Modelo OSI
Capitulo 4: Capa de Transporte del Modelo OSI
 
Capa de transporte del modelo OSI
Capa de transporte del modelo OSICapa de transporte del modelo OSI
Capa de transporte del modelo OSI
 
Capa de transporte del modelo OSI
Capa de transporte del modelo OSICapa de transporte del modelo OSI
Capa de transporte del modelo OSI
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 
Final
FinalFinal
Final
 
Expo 4
Expo 4Expo 4
Expo 4
 
Trabajo de 2 previo en sistemas operativos en red
Trabajo de 2 previo en sistemas operativos en redTrabajo de 2 previo en sistemas operativos en red
Trabajo de 2 previo en sistemas operativos en red
 
Capitulo4
Capitulo4Capitulo4
Capitulo4
 
Capitulo 4 CAPA DE TRANSPORTE DEL MODELO OSI
Capitulo 4    CAPA DE TRANSPORTE DEL MODELO OSICapitulo 4    CAPA DE TRANSPORTE DEL MODELO OSI
Capitulo 4 CAPA DE TRANSPORTE DEL MODELO OSI
 
Seguridad: Backtrack1_bis
Seguridad: Backtrack1_bisSeguridad: Backtrack1_bis
Seguridad: Backtrack1_bis
 
Capa de Transporte del Modelo OSI
Capa de Transporte del Modelo OSICapa de Transporte del Modelo OSI
Capa de Transporte del Modelo OSI
 
Practica1
Practica1Practica1
Practica1
 
OpenVPN
OpenVPNOpenVPN
OpenVPN
 
Seguridad: Backtrack1
Seguridad: Backtrack1Seguridad: Backtrack1
Seguridad: Backtrack1
 
Redes Privadas Virtuales y cómo configurar routers de Teltonika
Redes Privadas Virtuales y cómo configurar routers de TeltonikaRedes Privadas Virtuales y cómo configurar routers de Teltonika
Redes Privadas Virtuales y cómo configurar routers de Teltonika
 
Redes
Redes Redes
Redes
 
Métodos de encriptación vía vpns
Métodos de encriptación vía vpnsMétodos de encriptación vía vpns
Métodos de encriptación vía vpns
 
Comunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosComunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidos
 

Plus de VISUAL MART - HERBERT PATZAN CARRILLO

Plus de VISUAL MART - HERBERT PATZAN CARRILLO (20)

Estandar TIA 942
Estandar TIA 942Estandar TIA 942
Estandar TIA 942
 
Codigo procesal penal
Codigo procesal penalCodigo procesal penal
Codigo procesal penal
 
Agentes de retencion
Agentes de retencionAgentes de retencion
Agentes de retencion
 
Roland gw 7
Roland gw 7Roland gw 7
Roland gw 7
 
Cisco reduce costos en hospital
Cisco reduce costos en hospitalCisco reduce costos en hospital
Cisco reduce costos en hospital
 
Cisco tech center y la tecnologia lan wireless herbert carrillo
Cisco tech center y la tecnologia lan wireless herbert carrilloCisco tech center y la tecnologia lan wireless herbert carrillo
Cisco tech center y la tecnologia lan wireless herbert carrillo
 
Manual jwplayer
Manual jwplayerManual jwplayer
Manual jwplayer
 
Plano Ciencia
Plano CienciaPlano Ciencia
Plano Ciencia
 
Network security lab certification 350 018
Network security lab certification 350 018Network security lab certification 350 018
Network security lab certification 350 018
 
Unilever en la india
Unilever en la indiaUnilever en la india
Unilever en la india
 
Video streaming
Video streamingVideo streaming
Video streaming
 
Servidores dedicados
Servidores dedicadosServidores dedicados
Servidores dedicados
 
Estimación de proyectos de software
Estimación de proyectos de softwareEstimación de proyectos de software
Estimación de proyectos de software
 
Configurar php sobre iis 7 en windows 7 herbert patzan
Configurar php sobre iis 7 en windows 7   herbert patzanConfigurar php sobre iis 7 en windows 7   herbert patzan
Configurar php sobre iis 7 en windows 7 herbert patzan
 
Sistemas de Conexion
Sistemas de ConexionSistemas de Conexion
Sistemas de Conexion
 
Comparación de métodos de estimacion del análisis conjunto
Comparación de métodos de estimacion del análisis conjuntoComparación de métodos de estimacion del análisis conjunto
Comparación de métodos de estimacion del análisis conjunto
 
Base De Datos Tecnologia De Negocios Electronicos
Base De Datos Tecnologia De Negocios ElectronicosBase De Datos Tecnologia De Negocios Electronicos
Base De Datos Tecnologia De Negocios Electronicos
 
Equipos Activos De Red
Equipos Activos De RedEquipos Activos De Red
Equipos Activos De Red
 
Competencias Laborales
Competencias LaboralesCompetencias Laborales
Competencias Laborales
 
Manual De Wifiway
Manual De WifiwayManual De Wifiway
Manual De Wifiway
 

Dernier

EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLAEL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
CARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCarolVigo1
 
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.docGLADYSPASTOR
 
explicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.pptexplicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.pptjosemanuelcremades
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariamichel carlos Capillo Dominguez
 
Xardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES MonelosXardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES MonelosAgrela Elvixeo
 
plan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaplan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaElizabeth252489
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCEIP TIERRA DE PINARES
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptxNabel Paulino Guerra Huaranca
 
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacionUNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacionCarolVigo1
 
Tecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxTecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxJulioSantin2
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADODJElvitt
 
Tema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónTema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónIES Vicent Andres Estelles
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Ivie
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...Unidad de Espiritualidad Eudista
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docxJhordanBenitesSanche1
 
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa
 
sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre terceroCEIP TIERRA DE PINARES
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdfceeabarcia
 

Dernier (20)

EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLAEL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
 
CARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacion
 
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
5°-CARPETA PEDAGÓGICA 2024-MAESTRAS DE PRIMARIA PERÚ-978387435.doc
 
explicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.pptexplicacionsobrelasemanasanta-190411100653.ppt
explicacionsobrelasemanasanta-190411100653.ppt
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primaria
 
Xardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES MonelosXardín de San Carlos (A Coruña) IES Monelos
Xardín de San Carlos (A Coruña) IES Monelos
 
plan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primariaplan espacios inspiradores para nivel primaria
plan espacios inspiradores para nivel primaria
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptx
 
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacionUNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
UNIDAD DE APRENDIZAJE MARZO 2024.docx para educacion
 
Tecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxTecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptx
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO
 
Tema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónTema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificación
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docx
 
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
 
sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercero
 
Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
 

Endpoint practica de redes

  • 1. Pr´ ctica de Redes I: Pr´ ctica introductoria a a El paquete de comunicaciones Lower Layer Grupo de Sistemas y Comunicaciones Octubre de 2006 Resumen En las pr´ cticas de Redes I se utilizar´ el paquete de comunicaciones Lower Layer, que ofrece un a a servicio extremo a extremo de env´o de mensajes no orientado a conexi´ n y no fiable. El objetivo de ı o esta pr´ ctica es familiarizarse con este paquete de comunicaciones y realizar un cliente y un servidor a sencillos que lo utilicen. 1. Introducci´ n o El paquete Lower Layer UDP 1 es el que ofrece las primitivas de comunicaciones que utilizar´ n los a programas a realizar en las pr´ cticas. Cons´ ltese su especificaci´ n2 adjunta. a u o 2. Direcciones y puertos: los End Point Un End Point es el destino que tienen los datos que un proceso de una m´ quina le env´a a otro proceso a ı en otra m´ quina. Un End Point se construye a partir de la direcci´ n IP y de un puerto de la m´ quina del a o a proceso al que van dirigidos los datos. Los End Point son puntos de destino y origen de los mensajes que transportan los datos. 2.1. Construir un End Point Para construir un End Point se usa el procedimiento Build: Server_EP := Lower_Layer_UDP.Build("212.128.4.155", 6001); Un proceso puede construir tantos End Point como desee, sean de la m´ quina que sean (en la que a reside u otra cualquiera). 2.2. Atarse a un End Point Para que un proceso pueda recibir datos de otros, es necesario que anteriormente se ate a un End Point. De esta forma indica su intenci´ n de escuchar mensajes dirigidos a ese End Point. Esto se puede hacer o de dos formas: At´ ndose a un puerto concreto: Se hace llamando primero a Build para construir un End Point, a y luego a Bind para atarse a el. N´ tese que la direcci´ n IP que se usa en el Build ha de ser ´ o o necesariamente de la m´ quina en la que se ejecuta el c´ digo: a o Server_EP := Lower_Layer_UDP.Build ("212.128.4.155", 6001); Lower_Layer_UDP.Bind (Server_EP); 1 Lower Layer UDP es un sencillo recubrimiento de la biblioteca Lower Layer para utilizar solamente la parte de UDP. No es necesario entender toda la complejidad de Lower Layer para realizar las pr´ cticas, sino solamente el subconjunto que aparece en a Lower Layer UDP 2 ./lower_layer_udp.ads 1
  • 2. At´ ndose a un puerto libre cualquiera: Se hace llamando a Bind_Any, que autom´ ticamente a a construye un End Point con la direcci´ n IP de la m´ quina y un puerto libre cualquiera asignado por o a ´ el sistema operativo, y luego se ata a el. Este End Point es devuelto como par´ metro en modo out a por Bind_Any3 : LLU.Bind_Any(Client_EP); 2.3. Desatarse de un End Point ´ Cuando un proceso ya no quiere recibir m´ s datos en un End Point, puede desatarse de el. De esta a forma indica que ya no va a escuchar´ en mensajes dirigidos a ese End Point. Esto se hace utilizando el a procedimiento Unbind: Lower_Layer_UDP.Unbind (Client_EP); Hay que tener en cuenta que antes de llamar a Unbind es necesario estar seguro de que no hay mensajes pendientes de recibir en ese End Point. Por otro lado, antes de terminar un programa que utilice Lower Layer UDP, despu´ s de desatarse de e todos los End Point que se han utilizado, es necesario llamar al procedimiento Finalize: Lower_Layer_UDP.Finalize; 3. Composici´ n de mensajes: Buffers o Cuando un proceso va a enviar un mensaje a otro es necesario que lo almacene previamente en un Buffer. 3.1. Declaraci´ n de un Buffer o Para utilizar un Buffer es necesario declarar una variable del tipo Buffer_Type4 . En dicha decla- raci´ n es necesario proporcionar el tama˜ o en bytes que se reserva para almacenar datos en ella. Como o n ser´ necesario utilizar el atributo ’Access de estas variables, es necesario declarar la variable como a aliased: Buffer: aliased LLU.Buffer_Type(1024); 3.2. Inicializaci´ n de un Buffer o El procedimiento Reset permite vaciar el contenido de un Buffer. Es necesario vaciar siempre un Buffer antes de utilizarlo para componer un nuevo mensaje a enviar, y antes de recibir un nuevo mensaje ´ ´ en el. De esta forma se garantiza que dicho Buffer no tiene datos previos en el: Lower_Layer_UDP.Reset(Buffer); 3.3. Inserci´ n de datos en un Buffer o La forma de introducir un dato en un Buffer es invocando el atributo ’Write del tipo del dato en cuesti´ n, de la siguiente forma: o Buffer: aliased Buffer_Type (1024); I: Integer; ... I := 5; Integer’Write (Buffer’Access, I); Tras introducir un dato en un Buffer, el siguiente dato que se introduzca en el mismo Buffer se colo- car´ a continuaci´ n de aqu´ l. a o e 3 Para comprender mejor c´ mo se comporta “Bind o Any”, puede pensarse que se deber´a llamar m´ s bien “Build Any And Bind” ı a 4 Nota: Este tipo deriva del tipo Stream de la biblioteca est´ ndar de Ada. a 2
  • 3. 3.4. Extracci´ n de datos en un Buffer o Para extraer un dato de un Buffer se invoca el atributo ’Read del tipo del dato en cuesti´ n, de la o siguiente forma: Buffer: aliased Buffer_Type(1024); I: Integer; ... Integer’Read (Buffer’Access, I); Una vez extra´do un dato de un Buffer, la siguiente invocaci´ n de Read que se realice sobre el mismo ı o Buffer extraer´ el dato que se encuentre a continuaci´ n de aqu´ l. a o e 4. Env´o y recepci´ n de mensajes ı o 4.1. Env´o ı Cuando un proceso quiere enviar datos a otro proceso, ha de conocer el End Point en el que escucha el proceso receptor. Una vez que sabe el End Point de destino de su mensaje, un proceso lo env´a utilizando el procedi- ı miento Send_From cuya cabecera es: procedure Send_From (From: in End_Point_Type; To : in End_Point_Type; Data: access Buffer_Type); Los par´ metros son: a From: El End Point desde el que se envia el mensaje, y en el que posiblemente se esperan mensajes de respuesta. To: End Point destino del proceso al que se env´a el mensaje. ı Data: acceso a un Buffer vac´o en el que se hayan los datos que se quieren enviar. ı As´, el c´ digo que llama a Send_From tendr´ el aspecto: ı o a Lower_Layer_UDP.Send_From (From_EP, To_EP, Buffer’Access); 4.2. Recepci´ n o Un proceso que quiere recibir mensajes previamente debe construir un End Point con la direcci´ n IP o ´ de su m´ quina y un puerto libre, y atarse en el. Una vez hecho esto, usa el procedimiento Receive_From, a cuya cabecera es: procedure Receive_From (From : out End_Point_Type; To : in End_Point_Type; Data : access Buffer_Type; Timeout: in Duration; Expired: out Boolean); Los par´ metros son: a From: El End Point desde el que se envi´ el mensaje y en el que posiblemente el emisor espera o respuesta. To: End Point en el que escucha el proceso y al que se envi´ el mensaje. o Data: acceso a un Buffer vac´o en el que se quedar´ almacenado el mensaje que llegue. Es muy ı a importante haber reinicializado dicho Buffer, llamando a Reset, antes de llamar a Receive. 3
  • 4. Timeout: plazo (en segundos) durante el cual se esperar´ la llegada del mensaje de un mensaje. a Si no llegara en este plazo, el procedimiento retorna igualmente, quedando el Buffer vac´o. El tipo ı Duration es compatible con Float. Expired: par´ metro de vuelta. Toma el valor True cuando expira el plazo Timeout sin que a llegue ning´ n mensaje (con lo que el Buffer queda vac´o). Toma el valor False cuando llega u ı alg´ n mensaje antes de que venza el plazo, mensaje que queda almacenado en el Buffer. u As´, el c´ digo que llama a Receive_From tendr´ el aspecto: ı o a Receive_From (From_EP, To_EP, Buffer’Access, 2.0, Expired); if Expired then Put_Line ("Expir´ el plazo"); o else Integer’Read (Buffer’Access, I); end if; 5. Pr´ ctica a realizar a 1. Estudiar la especificaci´ n del paquete de comunicaciones Lower Layer UDP (lower layer udp.ads5 ). o 2. Estudiar el c´ digo del programa cliente (client.adb6 ) y del programa servidor (server.adb7 ). o 3. Compilar el cliente y el servidor y probarlos. Es necesario que el comando gnatmake encuentre la biblioteca de comunicaciones Lower_Layer. Esto puede hacerse de dos formas: Teniendo previamente definida la variable de entorno ADA_INCLUDE_PATH en la forma: export ADA_INCLUDE_PATH=/opt/ll/lib Utilizando el flag -I al llamar a gnatmake, en la forma: gnatmake -I/opt/ll/lib client.adb 4. Modifica el cliente y el servidor de forma que: el servidor reciba como argumento en la l´nea de comandos el puerto en en el que se debe ı atar. el cliente reciba como argumentos en la l´nea de comandos el nombre de la m´ quina y el ı a puerto en el que est´ atado el servidor. a Utiliza las funciones Get_Host_Name y To_IP que aparecen en la especificaci´ n de Lower_Layer_UDP o y consulta la especificaci´ n del paquete Ada.Command_Line en el manual de referencia del len- o guaje. 5. Realiza modificaciones sencillas al cliente y al servidor para cerciorarte de que comprendes su funcionamiento. 5 ./lower_layer_udp.ads 6 ./client.adb 7 ./server.adb 4