Bem-vindos alunos ao nosso curso de redes de computadores. Estamos no capítulo subcamada MAC, aproximadamente no quarto vídeo, o quarto à parte. Esse capítulo é muito grande, muito interessante. Ele traz conhecimentos técnicos que você ouve no seu dia a dia, mas não sabe compreender. Primeira parte é assim mesmo, ele vai falar um monte de protocolo, daqui a pouco nós vamos entrar em LAN e UAN. Vamos falar de rede sem fio, vamos começar a falar de protocolo do padrão 802.11 e aí nós vamos A, B. Um capítulo muito interessante. Mas vamos a UAN? Antes de iniciar, inscreva-se no nosso canal, ative o sininho, curta e compartilhe este vídeo. Legal, temos sempre que ajudar o professor aí. Comente aí de que faculdade você é. Vamos falar de um algoritmo muito importante, o algoritmo C-SMA com detecção de colisão. Nos livros ele pode aparecer também como C-SMA-CD. Esse aqui é a base da internet, aquela rede 10 Mbps que vamos falar mais para frente, ainda nesse capítulo. Então a base do internet é esse protocolo aqui, então é importante compreender ele bem. Cae nas certificações. A estação deve escutar o canal enquanto esta está transmitindo. Olha que interessante, não só eu ouço o canal para saber se já tem alguém transmitido, mas sabemos que há um problema nisso. Nós sabemos que o tempo do canal pode ser grande e naturalmente eu ouço, não ouço nada, eu começo a escrever mas já tinha um sinal vindo pelo meio, é o natural que vai atropelar o meu sinal. Mas eu não deixo de escutar o canal, mesmo enquanto estou transmitindo, porque se eu falo zero, eu tenho que ouvir zero. Se eu falo um, eu tenho que ouvir um. Se eu falo um e ouço zero, deu algum problema. Então detecto colisão em tempo de execução. Então detecto por isso que o algoritmo é se essa é a com detecção de colisão na hora. Alviam. Se o sinal que ela lê, de volta a for diferente, o que ocorre? Há uma colisão, então ele para de transmitir naquele momento. Colisão foi detectado, eu paro, eu não transmito tudo, eu paro para liberar o canal. E provavelmente o outro elemento que também está colidindo comigo vai para liberar o canal. Nós vamos ver que trabalhar com colisão aqui é normal. Quando uma instação termina a transmissão de seu quadro, qualquer outra instação então está apta para enviar. Então se a SMA com detecção de colisão tem períodos de transmissão com surtos de briga pelo canal. Isso é clássico desse padrão. Se uma instação detecta uma colisão ela cancela sua transmissão na hora. E espera um tempo aleatório, que pode ser o número de slots vezes o tempo de canal. Vamos lá. Isso é clássico desse algoritmo. Eu tenho um período de transmissão, eu tenho um longo período de disputa. Então tem vários slots de briga pelo canal, vários equipamentos sendo bloqueados randomicamente lá pelo número random. E alguém provavelmente vai chegar depois dessa briga toda e vai transmitir um quadro. Quando esse cara estiver transmitindo um quadro ele vai perder um tempo naturalmente. Um monte de equipamento deve sair daquele randomzinho, daquele bloquei random. E vai dar de cara com quem já transmitindo o segundo quadro. Logo em seguida eu tenho novamente momentos de disputa, um monte de máquinas indo dormir naquele tempo random. Porque detectaram que estão transmitindo e já existe alguém transmitindo. E naturalmente eu tenho ali um quadro. Pode haver um período de natividade? Pode sim haver um período de natividade. O quadro foi transmitido e nenhuma das outras máquinas acordaram ainda daquele bloqueio random. Então o que ocorre? Sim, é possibilidade de haver períodos de natividade no canal. Logo em seguida as máquinas acordando, brigando pelo canal e transmitindo logo em seguida. Veja que o CSMA com a detecção de colisão escuta o canal na hora de detectar e aí ele se bloqueia. Suponha que duas estações começam em uma transmissão num instante exato, o T0. Quanto tempo elas levarão para perceber que houve uma colisão? Elas começam exatamente no mesmo tempo. Num cabo, por exemplo, de 100 ns. O tempo mínimo para detectar uma colisão é apenas o tempo que o sinal leva para se propagar neste meio. Se for um cabo de 100 ns, será de 100 ns. Uma coisa interessante é um protocolo que funciona, se você olhar, com uma briga pelo canal e não precisa necessariamente ser em modo de radiofreqüência. Pode ser utilizado nesse caso aqui também cabos metálicos, como por exemplo aquela topologia em barra clássica da Ethernet que vimos até então. A Ethernet 10 Mbps. Então um cabo coaxial, olha que interessante, de 1 km de 75 ohms, ele tem um tempo aproximado de 5 microsegundos. É o tempo de propagação ali. Os piores tempos de propagação estão nos radiofreqüências. Entrou em radiofreqüência e tenho o pior tempo de propagação para as máquinas. As colisões não só reduzem a largura de banda, mas também tornam variável o tempo para se transmitir um quadro. O que não é bom para o tráfego de tempo real. Se você olhar, eu não posso prever quanto tempo o canal ficará em disputa. Esse é o problema. Então como eu não consigo prever quanto tempo o meu canal estará em disputa, é natural que eu não tenho como dar um tempo para as coisas. Falar, olha, previsão de tanto. Logo, não estou aqui, estou com uma visão humana trazendo algo tão técnico para uma visão humana. Seria como se dar ali um adiório para acontecer alguma coisa. Esse modelo. Beleza. Agora, se fosse possível não existir colisão, será que poderíamos organizar o canal de tal forma que a colisão não aconteceria? Falar para vocês. Estão com esse problema de colisão? Porque eu tenho múltiplas máquinas, prestem bastante atenção. Múltiplas máquinas em um único canal. Se, por exemplo, você imaginar que você tem um modelo full duplex, que nós já falamos no primeiro vídeo deste capítulo, se você tem um modelo full duplex em um ponto a ponto, você não tem briga pelo canal. Você não tem então colisão. Você não tem que tratar colisão. E aí, na verdade, eu vou explicar para vocês o grande avanço que é o Gigabit Ethernet e o DS Gigabit Ethernet. Protocol Bitmap. E se fosse possível fazer um mapa de bits? Igual lá, se você olhar aquele livro, se estamos operacionais modernos, do Tannibal, capítulo de memória, ele fala de um tal de mapa de bits. E se fosse possível fazer isso? Como funcionaria? Cada período de disputa consiste em n-slots. Então, vamos fazer assim. Vamos oficializar o período de disputa. Vamos pegar o período de disputa e vamos dividir ele em vários slots. O livro não diz. Nós temos um pull. Um pull. E aí, o pull é o seguinte. Nós temos as máquinas em uma determinada sequência. E aí, eu faço essa pergunta durante esse tempo e as máquinas me retornam. Zero, se não tem nada para transmitir. E um, se querem transmitir alguma coisa. Atualmente, cada uma dentro do seu slot, nesse tempo de disputa. Então, logo em seguida, eu sabendo quantas máquinas tem para transmitir e a sequência delas de transmissão, eu não tenho então coalizões. Olha que interessante. Primeiro slot foi dividido em 8 partes. Num pull que eu solicito. E aí, naturalmente, a máquina 1 e a máquina 3 e a máquina 7 dizem que eu tenho dados para transmitir. Terminando o meu pull de disputa, eu libero então na exata sequência para a máquina 1, para a máquina 3 e para a máquina 7. Lá em seguida, eu volto então para o nosso modelo de disputa. E aí, dessa vez, a máquina 1 e a máquina 5 querem transmitir. E aí, eu entro. Eu alterno entre tempos de disputa, em subcanais, vamos colocar assim, subslots, dentro do slot de disputa. Bem organizadinhos dentro de um pull, uma sequência. E aí, eu consigo, veja que eu consigo deixar o momento de transmissão de dados organizado e o mínimo possível. Veja, eu utilizei somente transmissão dos quadros 1, 3, 7 e já vem logo um novo pedido de disputa. Passagens de tokens, em uma ordem pré-definida. Podemos utilizar anéis. Olha que interessante, nós podemos utilizar topologia em anel. Nós também podemos utilizar a tecnologia de barramento. Bom, você já viu aquelas corridas de revezamento? Ah, fica o cara chega, correndo e entrega uma flag para o próximo corredor, o próximo corredor corre. Exatamente assim, nós vamos transmitir dados, que é o meu momento de corrida. E nós vamos ter o momento de passar a flag, que é o momento em que eu passo o bastão. É igualzinho a corrida. Então, passa uma pequena mensagem, naturalmente, chamada de token, o sinal, de uma estação para a seguinte. Em uma ordem muito pré-definida, tudo muito bem organizadinho. Se a estação tem um quadro, na fila para enviar, ela transmite o quadro, depois passa a token para frente, para a próxima máquina, sempre na mesma sequência. E aí eu posso ir organizando por passagem de token a minha comunicação nesse modelo. Token right, então, a topologia da rede em anel é usada para definir a própria ordem. Então, a própria topologia da rede, nesse caso, proporciona um mecanismo simples de passar a token. Mas a token também funciona em barramento. O nome se chama token bus. Pode cair sim aí. Uma determinada prova aí, que eu não quero dizer de que professor é. Contagem regressiva binária. Uma estação que queira usar o canal, transmite seu endereço como uma sequência de bits binários, começando com bit de alta ordem. Supomos que todos os endereços tem o mesmo tamanho. Vamos dizer 4 bits de tamanho. Todas as máquinas têm um endereço em 9 de 4 bits. Os bits de cada posição de endereço passam então por uma operação orboleana. E o maior sempre vem assim. Para evitar conflito, então, é necessário que seja aplicado uma regra de arbitragem, que é o maior sempre vence. Por exemplo, a máquina 1, que tem um endereço 1, 1, 1, 1, 1, sempre vai vencer. A máquina que tiver 0, 0, 0, 0, sempre vai perder esse modelo. Então, olha que coisa mais ruim. Falar isso nos tempos atuais é até uma discriminação de máquinas. Então, 0 perde, 1 ganha. Então, vamos ver um exemplo. Eu tenho 4 estações. 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. Estão disputando. Lembrando que eu sou de Lexus. Fazer isso para mim é um esforço tremendo. As estações transmitem o primeiro bit. Qual o primeiro bit? Da primeira estação é 0. Da segunda estação é 0. Da terceira estação é 1. E da quarta e última estação é 1. Então, ganha as estações 3 e 4. As estações 1 e 2 abdicam no canal, porque elas têm um número inferior. Elas saem de cima. Elas saem naturalmente, se você olhar. Porque elas viram que tem gente de maior prioridade no canal. Elas saem naturalmente. Ninguém decide por elas. Elas decidem sair. As estações, então, 3 e 4, prosseguem no cálculo. Vamos agora pegar o segundo bit. O próximo bit de 3 é 0. E, naturalmente, de 4 também é 0. Então, elas empataram. Nenhuma saída jogada tem então. Vamos para o terceiro bit. Agora, o terceiro bit. A máquina ganhadora é a máquina número 4. Então, ela vence. Ela transmite e as outras não transmitem. Pode ser que a quarta máquina tenha mais dados para enviar. Então, ela vai transmitir. Nesse modelo, ela é a de prioridade mais alta. Veja que um algoritmo de prioridade tem seu uso. Ele vai transmitir enquanto não tiver mais dados, porque ele é de alta prioridade. Então, é natural que o próximo que vai ganhar, se ele não transmitir, no próximo ciclo que vai ganhar é a terceira máquina, que teria uma prioridade maior. Veja, a máquina que tiver 1, 1, 1, 1, 1, será a de maior prioridade. A máquina 0, 0, 0, 0, será, então, a máquina de menor prioridade. Esse algoritmo é bem perigoso, mas ele leva em consideração que nenhum outro algoritmo leva. A questão do privilégio, a questão de realmente eu ter uma máquina que tenha mais privilégio que as outras, por ter alguma coisa muito mais sensível para se transmitir. Aqui, eu tenho o cálculo executado naquele exemplo. Então, até o nosso próximo vídeo, onde vamos falar sobre protocolos de disputa limitada. É um capítulo muito pesado. Pare sempre, tome um suco, se for verão, tome um suco de limão. Ok, garoto? E aí, nós vamos voltar no nosso próximo vídeo, vamos falar sobre as disputas limitadas. Até lá!