Multicast

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Multicast as PDF for free.

More details

  • Words: 535
  • Pages: 5
CENTRO UNIVERSITÁRIO FRANCISCANO

Programação Distribuída e Paralela

Bruno Dalla Vecchia

Santa Maria , 2006

Questões: (1) Caracterize as estruturas a) SOCKADDR_IN A estrutura sockaddr_in é uma estrutura que contém um endereço de internet. Esta estrutura deve ser definida dentro da biblioteca O endereço completo de um socket é especificado através da estrutura sockaddr-in que contém os campos para o endereço IP da maquina. Abaixo um exemplo de uma estrutura sockadd-in. struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; } Os tipos sa_family_t e in_port_t  são geralmente equivalentes a unsigned  short  (16bits) e o campo sin_family indica a família de endereços daquele que vai ser especificado a seguir. Para os protocolos internet (IP version 4) esse campo deverá ter sempre o valor da constante AF_INET (address family internet).

b) IP_MREQ A estrutura ip_mreq é uma estrutura que especifica a interface local e o endereço do grupo multicast. Abaixo um exemplo de uma estrutura ip_mreq. struct ip_mreq { struct in_addr imr_multiaddr; // grupo struct in_addr imr_interface; // interface } (2) Para o multicast, a função socket possui o argumento IPPROTO_UDP, qual é a finalidade? IPPROTO_UDP é um protocolo usado em socket, indicando se o protocolo UDP é usado. Caso retorne um número não negativo significa que o chamado foi efetuado com sucesso, sendo negativo indica um erro. Abaixo segue a declaração de um socket

int socket(int family,int type,int proto); Family: especifica a família do protocolo (PF_INET para TCP/IP). Type: especifica o tipo de serviço (SOCK_STREAM, SOCK_DGRAM). Proto: especifica o tipo de protocolo.

(3) Caracterize a função: SETSOCKOPT Se caracteriza pela consulta e mudança de opções de socket, como tamanho máximo de mensagens, tamanho máximo de buffers, roteamento, broadcast, entre outros. Segue abaixo um exemplo. setsockopt( sock, /* socket */ IPPROTO_IP, /* nível */ IP_ADD_MEMBERSHIP, /* opção */ (char *) &mreq, /* argumento */ sizeof(mreq) /* tamanho argumento*/ ); (4) Como um processo é incluído em um grupo multicast? E como este processo pode deixar o grupo? Um processo é incluído ao grupo com a opção de gerenciamento JoinGroup (requisição a adição de um processo a um grupo existente) através do  MulticastSocket socket = new MulticastSocket(porta);  socket.joinGroup(groupAddress); Para entrar no grupo o host envia um IGMP Report para participar do grupo, em seguida o roteador envia queries confirmando o grupo, onde um membro do grupo responde por subnet. Um processo é removido do grupo com a opção de gerenciamento LeaveGroup (requisição de remoção do processo ao grupo especificado) através do  socket.leaveGroup(groupAddress); Para sair o host envia mensagem (leave) informando que não participa mais de um grupo.

Membros podem entrar e sair dos grupos indicando isto aos roteadores (roteadores utilizam protocolos de roteamento multicast para gerenciar os grupo).

(5) Há possibilidade de 2 processos do mesmo grupo multicast fazerem o bind a uma mesma porta? Não, pois os processos pertencem à mesma porta e tem o mesmo IP, já que ambos pertencem ao mesmo grupo, ficando assim impossibilitados de fazerem o bind.

REFERÊNCIAS BIBLIOGRÁFICAS: COMER,D. Interligação em Rede com TCP/IP. Princípios protocolos e arquitetura. Rio de Janeiro: Campus,2002 Soluções Multicasting na Internet http://penta.ufrgs.br/rc952/trab2/hl_intro.html Multicast Services Ciscohttp://www.cisco.com/warp/public/732/Tech/multicast/ IP Multicast Initiative http://www.ipmulticast.com

PACHECO, Peter. Parallel Programming with MPI. San Francisco: Morgan Kaufmann, 1997.

Related Documents

Multicast
November 2019 12
Multicast
November 2019 6
Multicast
November 2019 7
Multicast
December 2019 8
Ipv4-multicast
June 2020 7