TARC2 – 2017.1 – Profa. Morganna EMENTA 1. Broadcast 2. Exemplo 1 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast Tipos de Endereçamento ● Unicast – é um endereçamento para um único destino, (ponto-a-ponto). ● Anycast – os dados são entregues ao “melhor” ou “mais próximo” destino de acordo com o roteamento da rede. ● Multicast – os dados são entregues para múltiplos destinatários simultaneamente. ● Broadcast – os dados são enviados para todos os nós de uma rede. 2 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast ● ● ● No unicast, há uma associação um-para-um entre o endereço de origem e endereço destino. Na broadcast e no multicast, há uma associação umpara-muitos entre endereços de rede e endpoints de rede. No anycast, há também uma associação um-para-muitos entre endereços de rede e endpoints de rede, mas somente um deles é escolhido em todo o tempo dado para receber a informação de qualquer remetente dado. 3 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast Comparação dos Diferentes Tipos de Endereçamento 4 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast CIDR (Classless Inter-Domain Routing) Uma máscara de rede é usada para separar a parte correspondente à rede pública, à subrede e aos hosts. 5 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast Cálculo da Subrede 1) Converte o IP para binário 172.16.0.35 = 10101100.00010000.00000000.00100011 2) Converte a MÁSCARA para binário 255.255.0.0 = 11111111.11111111.00000000.00000000 3) Faz operação AND entre o IP e a máscara 10101100.00010000.00000000.00100011 AND 11111111.11111111.00000000.00000000 ------------------------------------------------10101100.00010000.00000000.00000000 4) Converte a subrede para decimal 172.16.0.0 6 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast Cálculo do Broadcast 1) Converte o IP para binário 172.16.0.35 = 10101100.00010000.00000000.00100011 2) Converte a MÁSCARA para binário 255.255.0.0 = 11111111.11111111.00000000.00000000 3) Faz operação NOT na máscara 00000000.00000000.11111111.11111111 4) Faz operação OR entre o IP e o NOT da máscara 10101100.00010000.00000000.00100011 00000000.00000000.11111111.11111111 OR -------------------------------------------------10101100.00010000.11111111.11111111 5) Converte broadcast para decimal 172.16.255.255 7 TARC2 – 2017.1 – Profa. Morganna 1. Broadcast O roteador normalmente não encaminha a mensagem para a outra subede. 8 TARC2 – 2017.1 – Profa. Morganna 2. Exemplo Programas ● Cliente: udpcli02.c ● Servidor: udpsrv02.c 9 TARC2 – 2017.1 – Profa. Morganna 2. Exemplo int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); ● ● ● ● Define opções para o soquete sockfd. O parâmetro level quando igual a SOL_SOCKET indica que a interface vai especificar as caracterísiticas do soquete. O parâmetro optname especifica uma opção do soquete a ser usada. SO_BROADCAST – suporta transmissão de mensagens broadcast. SO_RCVTIMEO – define o valor do timeout para as operações de entrada. Para ver as opções de soquete: “man 7 socket”. Os parâmetros optval e optlen são usados para passar valores usados pelo optname especificado. 10 TARC2 – 2017.1 – Profa. Morganna Exercícios 1. Altere o programa udpcli02.c para mostrar as mensagens ordenadas pelo número de IP. 2. Como você pode descobrir as máquinas de uma determinada subrede? 11 TARC2 – 2017.1 – Profa. Morganna Bibliografia Código-Fonte dos Programas www.unpbook.com Livro-texto Unix Network Programming. The Sockets Networking API. W.R. Stevens, B. Fenner e A.M. Rudoff. Volume 1. Third Edition. Addison Wesley. 2013. 12