A Internet utiliza o núcleo da rede (links e roteadores) para trocar dados entre dois sistemas finais (hosts). Esta troca de dados é feita através da comutação de pacotes. A comutação dos pacotes é realizada por dispositivos chamados comutadores, que em conjunto forma a sub-rede de comunicação (Tanenbaum, 2003).
Os comutadores são divididos em: switches e roteadores. O papel dos comutadores é receber os pacotes e encaminhá-los para o enlace de saída correto. A decisão para onde deve ser encaminhado um pacote de entrada é feita localmente, ou seja, no roteador ou switch. Tais decisões são baseadas em um algoritmo de roteamento.
O encaminhamento segue a técnica de store and forward (armazenamento e reenvio do pacote). Isto significa que o pacote somente é retransmitido para um outro roteador quando for integralmente recebido. Isto provoca um atraso conhecido como atraso de armazenamento e reenvio (ou de transmissão).
O pacote também sofre um atraso de fila. Tal atraso ocorre quando já existem pacotes para serem transmitidos em um determinado enlace de saída. Assim, o pacote deve aguardar sua vez em uma fila. Outros dois atrasos são o de processamento e de propagação. Este é o tempo gasto para o pacote atravessar o enlace e aquele é causado pelo tempo gasto com processamentos no comutador (ex: verificando erros) (Kurose, 2010).
A comutação de pacotes pode ser de dois tipos: datagramasou circuitos virtuais (CV’s).
As redes de circuitos virtuais encaminham os pacotes guiando-se pelo número do circuito virtual. Cada um dos comutadores, que compõe o circuito virtual, possui uma tabela que relaciona o identificador do CV e o enlace de saída que o pacote deve ser direcionado. Note que um mesmo comutador pode fazer parte de diferentes circuitos virtuais. Além disso, dentro de um mesmo comutador uma porta de entrada ou saída pode fazer parte de diferentes circuitos virtuais.
Para cada circuito existe um registro na tabela, ou seja, os comutadores guardam a informação de estado de suas conexões. A manutenção do estado da conexão torna os protocolos das redes de CV’s mais complexos que os de datagramas. São exemplos de redes de CV: ATM (comutação de células), X.25 e Frame relay.
As redes de datagrama encaminham os pacotes através do endereço de destino. Este endereço está armazenado apenas no pacote. Ou seja, os comutadores não guardam informação de estado das conexões. Em verdade, eles estão cegos em relação à conexão como um todo. A única coisa que sabem é qual deve ser a saída que o pacote deve ser direcionado a partir do seu endereço. Exemplo: Rede TCP/IP.
Vantagens e Desvantagens
A comutação de pacotes tem a vantagem de utilizar melhor a taxa de transmissão disponível. Como não são utilizadas técnicas de multiplexação, a taxa total não é dividida entre canais ou slots. Ou seja, a alocação é feita por demanda. Assim, quando um pacote é transmitido toda a taxa de transmissão é utilizada, a alocação feita por demanda é chamada de multiplexação estatística.
Comparação entre comutação de circuitos e comutação de pacotes
Item |
ComutaÇÃo de circuitos |
ComutaÇÃo de pacotes |
Configuração de chamadas |
Obrigatória |
Não necessária |
Caminho físico dedicado |
Sim |
Não |
Cada pacote segue a mesma rota |
Sim |
Não |
Os pacotes chegam em ordem |
Sim |
Não |
A falha de um switch é fatal |
Sim |
Não |
Largura de banda disponível |
Fixa |
Dinâmica |
Momento de possível congestionamento |
Durante a configuração |
Em todos os pacotes |
Largura de banda potencialmente desperdiçada |
Sim |
Não |
Transmissão sotre-and-foward |
Não |
Sim |
Transparência |
Sim |
Não |
Tarifação |
Por minuto |
Por pacote |
Tabela 1.1 Comparação entre redes de comutação de circuitos e redes de comutação de pacotes.