- Comutação de circuitos x comutação de pacotes.
Sabemos que o computador é uma tecnologia relativamente recente e que
a interconexão dos mesmo através de arquiteturas de redes é ainda mais
recente. Porém, antes mesmo de se pensar em redes de computadores
e consequentemente em internet, as redes de telefonia fixa já existiam a
um bom tempo. Essas redes utilizavam o processo chamado de comutação de
circuitos, que era responsável por enviar dados de voz através de um
aparelho telefônico a outro. Tempos mais tarde, com o surgimento da
internet, foi adotado o processo de comutação de pacotes, que tem
objetivo semelhando ao da comutação de circuitos, mas a forma pela qual
esse objetivo é alcançado é bastante diferente.
Comutação de Circúitos: a idéia básica da comutação de circuitos é que quando um sistema final precisa transmitir dados, este deve criar um circuito entre
ele e o sistema final destinatário. Este circuito nada mais é do que
uma conexão entre os dois sistemas finais, onde os recursos da
rede(buffers, banda, etc.) são reservados para a conexão. Dessa maneira,
uma vez que a largura de banda de cada enlace no caminho do circuito é
reservada, é possível transmitir dados a uma largura de banda fixa. Como
veremos mais tarde em outro post, o TCP é um protocolo que exige o
estabelecimento de uma conexão (three-way-handshake) andes de transmitir
dados. Entretanto, o TCP exige que apenas os sistemas finais estejam
cientes dessa conexão, deixando o núcleo da rede completamente alheia a
esta. No caso da comutação de circuitos, não só os sistemas finais
precisam estar cientes da conexão, como também os comutadores precisam
estar.
Uma vez que aplicações de tempo real como a
telefonia são sensíveis ao atraso(mas não a perda de dados), seria mais
interessante utilizar comutação de circuitos nesses casos, já que como a
largura de banda é reservada, o atraso no recebimento dos dados é fixo
fazendo com que o jitter(como veremos em um post futuro, o jitter é a
variação estatística do atraso) seja 0. Entretanto, hoje em dia existem
inúmeras aplicações multimídia que rodam em cima da internet. A grande
sacada foi desenvolver protocolos de camada de aplicação(veremos o
modelo em camadas no próximo post) mais inteligentes a ponto de
conseguir amenizar os problemas causados pelo atraso variável oriundos
da comutação de pacotes.
Comutação de pacotes: é o modelo utilizado pela
internet. Com a comutação de pacotes, nenhuma conexão precisa ser
estabelecida entretanto, como não há reserva de banda, um pacote que
precise ser repassado para um enlace que está ocupado transmitindo outro
pacote, deverá entrar na fila de espera pelo acesso ao enlace, o que
pode gerar atrasos. Além dos atrasos, sabemos que a memória onde a fila
de espera é implementada é finita, se esta crescer de mais pode chegar
ao esgotamento, o que irá causar perdas de pacotes.
Já que não há reserva de banda, se o enlace está livre, um sistema
final pode transmitir seus pacotes na taxa total do enlace. Já sabemos
que dois sistemas finais não estão conectados diretamente através de um
único enlace. No lugar disso, são interconectados através de roteadores,
que tem a função de receber um pacote por uma de suas interfaces e
repassa-lo para outra de suas interfaces. Tantos nas interfaces dos
sistemas finais, quanto nas interfaces de saída dos roteadores, se um
pacote a ser transmitido para o enlace encontra o mesmo ocupado pela
transmissão do outro pacote, este deve esperar o fim desta para iniciar
aquela. Um pacote espera pela sua vez de ser transmitido em um buffer
conhecido como fila de saída. Se a taxa de repasse do roteador for
muito maior que a taxa do enlace, a fila pode aumentar indefinidamente.
Uma vez que a fila é implementada em uma memória no hardware, está não é
infinita e se a fila aumentar demais, cedo ou tarde a memória se
esgotará. Se um pacote a ser repassado encontrar a fila cheia, um dos
pacotes da fila, ou o pacote recém chegado precisará ser descartado.
Multiplexação na comutação de circuitos.
Sabemos que um enlace de comunicação é feito de materiais cujas
propriedades físicas interferem diretamente na taxa de bits que podem
ser transmitidos pelo mesmo. Visto isso, podemos concluir que a largura
de banda total de um enlace é fixa e um hospedeiro pode transmitir seus
dados na largura de banda total do enlace, ou dividi-la com outros
hospedeiros. No caso da comutação de circuitos, a largura de banda total
do enlace é compartilhada entre os diversos circuitos que por ele
passam. Cada enlace na comutação de circuitos tem n circuitos, ou seja,
pode suportar até n conexões simultâneas. Assim, cada circuito terá uma
fração 1/n da largura de banda total do enlace.
Existem 2 maneiras de dividir(multiplexar) o enlace em circuitos: FDM e TDM
FDM(frequency-division multiplexing): nesse
modelo, cada circuito no enlace transmite dados em uma determinada
frequência. Assim, quando o circuito é estabelecido, a frequência
correspondente ao mesmo é estabelecida e toda a rede(sistemas finais e
comutadores) precisam estar cientes disso. Assim, a frequência total de
transmissão de um enlace é dividida em um spectro de frequências, cada
uma utilizada por um circuito.
TDM(time-division multiplexing): esse
modelo pode ser visto como uma fila de pessoas esperando para descer num
escorregador. Supondo que nós passemos a observar a fila no tempo 0
então, se numerarmos as pessoas na fila, teremos que a pessoa 1
escorregará no escorregador no tempo 1, a pessoa 2 escorregará no tempo 2
e assim sucessivamente até a pessoa n. Depois que todas as pessoas
escorregarem, zeramos o tempo de modo que na próxima vez que a pessoa 1
escorregar, ela p fará também no tempo 1. Dessa maneira, a pessoa 1
sempre escorrega no tempo 1, a pessoa 2 no tempo dois e a pessoa n no
tempo n. Fazendo uma comparação entre a atividade de escorregar no
escorregador e a de transmitir dados, temos que cada circuito(pessoa)
transmite dados(escorrega) no seu determinado tempo. Assim, o
enlace(escorregador) é multiplexado, fazendo com que cada
circuito(pessoa) transmita dados(escorregue) em seu determinado tempo.
Esses tempos são chamados de compartimentos(slots) e o conjunto
de todos os compartimentos, que representa uma quantidade de tempo
fixa, é conhecido como quadro(frame). Isso significa que após as
conexões terem sido estabelecidas, se o circuito pode transmitir 8000
quadros por segundo e cada compartimento tem 8 bits, então a taxa de
transmissão do circuito será de 64Kb/s.
Um problema simples de se perceber tanto com o FDM quanto com o TDM são os chamados períodos de silêncio. Períodos
de silêncio são períodos onde por alguma razão não se está transmitindo
dados através de um circuito(selêncio). A pesar da inatividade da
conexão, todos os recursos reservados para ela continuam sem poder serem
utilizados por outros hospedeiros, o que gera disperdício de recursos
da rede
Nenhum comentário:
Postar um comentário