Buscar

protocolos_e_servico_de_redes (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 106 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 106 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 106 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Protocolos e Serviço de Redes
MSC. SHEILA DE GÓES MONTEIRO
1ª Edição
Brasília/DF - 2021
Autores
Msc. Sheila de Góes Monteiro
Produção
Equipe Técnica de Avaliação, Revisão Linguística e 
Editoração
Sumário
Organização do Livro Didático........................................................................................................................................4
Introdução ..............................................................................................................................................................................6
Capítulo 1
Protocolos da Camada de Rede ................................................................................................................................9
Capítulo 2
Protocolos da Camada de Rede (Roteamento) ................................................................................................. 31
Capítulo 3
Protocolos da Camada de Transporte .................................................................................................................. 46
Capítulo 4
Protocolos da Camada de Aplicação .................................................................................................................... 61
Capítulo 5
Tópicos Avançados do IP .......................................................................................................................................... 77
Capítulo 6
Protocolos IPv6 ............................................................................................................................................................ 90
Referências ........................................................................................................................................................................106
4
Organização do Livro Didático
Para facilitar seu estudo, os conteúdos são organizados em capítulos, de forma didática, objetiva e 
coerente. Eles serão abordados por meio de textos básicos, com questões para reflexão, entre outros 
recursos editoriais que visam tornar sua leitura mais agradável. Ao final, serão indicadas, também, 
fontes de consulta para aprofundar seus estudos com leituras e pesquisas complementares.
A seguir, apresentamos uma breve descrição dos ícones utilizados na organização do Livro Didático.
Atenção
Chamadas para alertar detalhes/tópicos importantes que contribuam para a 
síntese/conclusão do assunto abordado.
Cuidado
Importante para diferenciar ideias e/ou conceitos, assim como ressaltar para o 
aluno noções que usualmente são objeto de dúvida ou entendimento equivocado.
Importante
Indicado para ressaltar trechos importantes do texto.
Observe a Lei
Conjunto de normas que dispõem sobre determinada matéria, ou seja, ela é origem, 
a fonte primária sobre um determinado assunto.
Para refletir
Questões inseridas no decorrer do estudo a fim de que o aluno faça uma pausa 
e reflita sobre o conteúdo estudado ou temas que o ajudem em seu raciocínio. 
É importante que ele verifique seus conhecimentos, suas experiências e seus 
sentimentos. As reflexões são o ponto de partida para a construção de suas 
conclusões.
5
ORgAnIzAçãO DO LIvRO DIDáTICO
Provocação
Textos que buscam instigar o aluno a refletir sobre determinado assunto antes 
mesmo de iniciar sua leitura ou após algum trecho pertinente para o autor 
conteudista.
Saiba mais
Informações complementares para elucidar a construção das sínteses/conclusões 
sobre o assunto abordado.
Gotas de Conhecimento
Partes pequenas de informações, concisas e claras. Na literatura há outras 
terminologias para esse termo, como: microlearning, pílulas de conhecimento, 
cápsulas de conhecimento etc.
Sintetizando
Trecho que busca resumir informações relevantes do conteúdo, facilitando o 
entendimento pelo aluno sobre trechos mais complexos.
Sugestão de estudo complementar
Sugestões de leituras adicionais, filmes e sites para aprofundamento do estudo, 
discussões em fóruns ou encontros presenciais quando for o caso.
Posicionamento do autor
Importante para diferenciar ideias e/ou conceitos, assim como ressaltar para o 
aluno noções que usualmente são objeto de dúvida ou entendimento equivocado.
6
Introdução
Nesta disciplina vamos identificar diferentes tópicos avançados em uma rede IP que são 
ferramentas complementares para o administrador tirar o máximo de proveito de uma 
rede com o protocolo TCP/IP implementado. 
Nosso estudo envolve a discussão sobre o crescimento e o funcionamento da internet 
e sua topologia física como motivação e reflexão para a compreensão do conteúdo da 
disciplina. 
Nossa proposta de ensino-aprendizado está estruturada de forma que a partir da discussão 
e apresentação dos conceitos fundamentais do protocolo IP, ICMP, UDP, TCP, assim como 
a estrutura do endereçamento IP, possamos compreender as questões relacionadas ao 
roteamento, identificando as diferenças entre os algoritmos de roteamento. 
Avançando nas discussões, analisaremos os protocolos da camada de aplicação de 
transferência e acesso a arquivo, de correio eletrônico e da World Wide Web, que serão 
a base para a compreensão da necessidade da implementação da segurança e qualidade 
de serviço (QoS) em uma IP.
É importante que você se organize para ler o Livro Didático antes da aula interativa 
correspondente, com calma para que possa realizar as atividades e assistir aos vídeos 
de cada aula em tempo hábil. Caso tenha alguma dúvida, você pode (e deve!) consultar 
o professor tutor da disciplina.
Objetivos
 » Conhecer a estrutura e funcionamento do protocolo IP e ICMP.
 » Analisar e identificar a estrutura de endereçamento IP (endereços classful, ARP, 
CIDR).
 » Identificar as diferenças entre os algoritmos de roteamento. 
 » Enumerar os protocolos de roteamento na internet.
 » Compreender o roteamento por difusão. 
 » Identificar as principais funcionalidades do protocolo UDP e TCP. 
 » Compreender o controle de congestionamento. 
7
 » Identificar o funcionamento dos protocolos de login e desktop remoto (TELNET 
e SSH).
 » Conhecer o protocolo de transferência e acesso de arquivo (FTP, TFTP, NFS).
 » Conhecer o funcionamento do protocolo da World Wide Web (HTTP).
 » Analisar o funcionamento dos protocolos de correio eletrônico (SMTP, POP, 
MIME, IMAP).
 » Identificar os elementos básicos do protocolo de Gerenciamento de Redes (SNMP).
 » Identificar o funcionamento do protocolo de Bootstrap e autoconfiguração 
(DHCP).
 » Conhecer os protocolos de voz e vídeo sobre IP (RTP, RSVP, QoS).
 » Analisar o funcionamento de mecanismo de interconexão de rede privada 
(NAT, VPN).
 » Identificar os elementos básicos do protocolo de segurança (IPsec, SSL). 
 » Identificar os cabeçalhos e campos do protocolo IPv6.
 » Compreender a estrutura do endereçamento do protocolo IPv6. 
 » Enumerar as funcionalidades básicas do protocolo IPv6.
8
9
Introdução
No primeiro capítulo discutiremos a estrutura e o funcionamento dos protocolos 
da camada de rede de uma rede IP. Vamos começar analisando o protocolo IP, suas 
funções e estrutura de cabeçalho. 
Avançando na discussão, conheceremos o protocolo utilizado para transmitir mensagens 
entre a própria camada de rede e muito utilizado para entregar mensagens de erro, 
o protocolo ICMP. 
Finalizaremos nossa discussão analisando o endereçamento IP, relembrando os 
conceitos básicos de endereçamento IP e analisando os conceitos de sub-rede e 
Classless Inter-Domain Routing (CIDR). 
Objetivos 
 » Conhecer a estrutura e o funcionamento do protocolo IP.
 » Conhecer a estrutura e o funcionamento do protocolo ICMP.
 » Analisar e identificar a estrutura de endereçamento IP (endereços classful, ARP, 
CIDR).
1.1 Estrutura e funcionamento do protocolo IP
O protocolo internet ou simplesmente IP, como também é conhecido, é o protocolo da 
arquitetura TCP/IP que define o mecanismo de entrega não confiável e sem conexão. 
Ele é um protocolo considerado de “melhor esforço”, ou seja, ele fará o melhor esforço 
possível para entregaro pacote enviado, entretanto não garante nem a entrega e nem 
a integridade dos dados enviados. 
Como o protocolo IP provê um serviço não confiável, cabe às camadas superiores 
(transporte e/ou aplicação) garantir a confiabilidade da entrega e a integridade dos dados. 
1CAPÍTULOPROTOCOLOS DA CAMADA DE REDE
10
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Ele define três questões muito importantes:
Figura 1. Protocolo IP.
unidade básica de transferência
encaminhamento
entrega não confiável
Fonte: Elaborada pela autora.
A unidade básica de transferência de dados é denominada na camada de rede de 
datagrama. A função “encaminhamento” define o caminho pelo qual o datagrama 
será enviado. E a “entrega não confiável” estabelece as regras de como os datagramas 
serão processados pelos diversos elementos da rede, as regras para a geração e 
encaminhamento das mensagens de erro e as condições de descarte dos datagramas. 
Como o datagrama desempenha um papel importante no contexto da internet, vamos 
analisar o formato do datagrama do protocolo IPv4, que é dividido em duas partes: 
Figura 2. Protocolo IP: Datagrama IPv4.
Cabeçalho Dados 
Fonte: Elaborada pela autora.
O cabeçalho apresenta os seguintes campos: 
Figura 3. Cabeçalho IP: campos.
Datagrama
IPv4
Versão
Comprimento do cabeçalho
Tipo de serviço
Comprimento do datagrama (bytes)
Identificador (16 bits)
Flags
Deslocamento da fragmentação (13 bits)
Tempo de vida
Protocolo de camada superior
Soma de verificação do cabeçalho
Endereço de IP de origem
Endereço de IP de destino
Opções (se houver)
Dados
Fonte: Elaborada pela autora.
11
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
O campo versão utiliza 4 bits e apresenta a versão do protocolo IP utilizada pelo 
roteador para determinar como interpretar o datagrama IP, já que existem versões 
diferentes de protocolo IP (versão 4 e versão 6). 
O campo comprimento do cabeçalho utiliza 4 bits para determinar onde o campo de 
dados do datagrama IP inicia, já que um datagrama pode ter tamanho de cabeçalho 
variável. Normalmente, o campo de cabeçalho possui 20 bytes. 
O campo tipo de serviço ( TOS) é utilizado para diferenciar os datagramas IP que 
precisam ser diferenciados dos outros datagramas devido a algumas particularidades 
como, por exemplo, confiabilidade, atraso ou vazão. 
O campo comprimento do datagrama utiliza 16 bits para apresentar o comprimento 
total do datagrama IP, isto é, o cabeçalho e o campo de dados. Normalmente, os 
datagramas IP possuem aproximadamente 1.500 bytes, mas podem chegar até 
65.535 bytes. 
Os campos identificador, flag e deslocamento de fragmentação são utilizados quando 
ocorre fragmentação no datagrama IP: 
 » O campo identificador contém o identificador do datagrama original, isto é, do 
datagrama onde ocorreu a fragmentação;
 » O campo “flag”: 
› Assinalado com bit “0”, significa que é o último fragmentado de um datagrama.
› Assinalado com bit “1”, significa que é um fragmento;
 » O campo deslocamento de fragmentação é utilizado para especificar a localização 
exata do fragmento no datagrama original.
O campo Tempo de vida ou time-to-live ou TTL tem como objetivo garantir que um 
datagrama não fique eternamente sendo transmitido na rede. Dessa forma, a cada 
vez que o datagrama é processado por um roteador ele é decrementado. Quando o 
campo TTL chegar a zero, o datagrama deverá ser descartado.
O campo protocolo indica qual o número do protocolo da camada de transporte para 
o qual os dados deverão ser encaminhados. Ele é a ligação entre a camada de rede 
e de transporte. Por exemplo, caso o datagrama deva ser entregue para o protocolo 
TCP, este campo deverá conter o numeral 6 que foi o número definido pelo IANA para 
o protocolo TCP. 
12
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Saiba mais
Você sabia que os protocolos possuem um número associado a eles? Disponível em: https://www.iana.org/assignments/
protocol-numbers/protocol-numbers.xhtml.
O IANA é o acrônimo de Internet Assigned Numbers Authority, instituição responsável pela coordenação da atribuição global 
de endereço IP, pelo gerenciamento do sistema de numeração IP e pelo gerenciamento da zona-raiz do Sistema de Nomes de 
Domínio (DNS). 
O campo soma de verificação do cabeçalho é utilizado pelos roteadores ou hosts para 
verificar erros na transmissão em cada datagrama recebido. Ao receber um datagrama, 
o roteador ou host realiza um novo cálculo de checksum, e caso o resultado não seja 
igual ao valor recebido, o datagrama é descartado. 
gotas de conhecimento
Você sabe o que é checksum? 
Segundo Tanenbaum e Wetherall (2011), o termo checksum é utilizado para indicar um grupo de bits de 
verificação associado a uma mensagem para detectar erro na transmissão de dados. Independentemente de como 
são calculados, normalmente o resultado é colocado no final da mensagem. Existem diferentes formas de calcular 
o checksum. 
O protocolo IP, por exemplo, utiliza para calcular o checksum a soma de verificação de 16 bits. 
Vamos considerar que serão transmitidos os seguintes bits: 1110100100111001. No transmissor será realizada a 
soma do conjunto de cada 8 bits que compõem os bits a serem transmitidos. Ao resultado encontrado é realizada 
a inversão dos bits, e assim chegamos ao checksum que é transmitido em conjunto aos bits a serem transmitidos. 
Figura 4. Checksum.
1110100100111001 
11101001 
00111001 
100100010 
011011101 
Soma
Checksum
1110100100111001011011101 
Transmissor Receptor
11101001 
00111001 
011011101 
111111111 Soma
Checksum 000000000 
Fonte: Elaborada pela autora.
O receptor realiza uma nova soma com os bits recebidos dividindo novamente em blocos de 8 bits e incluindo na 
soma o checksum enviado pelo transmissor. Deverá ser calculado o checksum do somatório que deverá ser zero, 
indicando que não ocorreram problemas na transmissão dos bits. 
13
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
Os campos endereço IP de origem e endereço IP de destino possuem respectivamente 
os endereços IP do host originário do datagrama e do host destinatário do datagrama.
O campo opção permite a extensão do cabeçalho IP caso seja necessário.
O campo dados contém efetivamente a carga útil do datagrama. Ele pode conter o 
segmento da camada de transporte. Neste caso, o protocolo UDP ou TCP, ou mensagens 
ICMP. 
Você sabe como funciona a fragmentação do datagrama IP?
Quando um datagrama na camada de rede é enviado para a camada de enlace nem 
sempre o protocolo utilizado na camada de enlace possui um quadro com capacidade de 
suportar o tamanho do datagrama IP. Neste caso, o datagrama precisa ser fragmentado 
em pedaços menores.
Chamamos de unidade máxima de transmissão ou maximum transmission unit (MTU) 
a quantidade máxima de dados, em bytes, que um quadro da camada de enlace pode 
suportar. 
Figura 5. Protocolo IP: MTU.
bytes) Enlace 
Ethernet (MTU 
1.500 bytes) 
Rede 
Datagrama IP 
(até 65.535) 
Host A Host B
MTU 
1.500
bytes
MTU 
4.482
bytes
MTU 
4.482
bytes
MTU 
1.500
bytesTransporte 
Enlace Ethernet 
(MTU 1.500 bytes) 
Aplicação 
Rede Datagrama 
IP (até 65.535) 
Transporte 
Enlace Ethernet 
(MTU 1.500 bytes) 
Aplicação 
Rede Datagrama IP
(até 65.535) 
Roteador Roteador Roteador 
Enlace 
Ethernet (MTU 
1.500 bytes) 
Rede 
Datagrama IP 
(até 65.535) 
Enlace Frame 
Relay (MTU 4.482 
bytes) 
Rede Datagrama 
IP (até 65.535 
Fonte: Elaborada pela autora.
Devemos considerar que em uma rede como a internet, que é formada por um conjunto 
de redes, existem diferentes enlaces de comunicação de diferentes tecnologias e 
velocidades e, consequentemente, diferentes MTU. 
Analisando a figura acima e considerando que um datagrama IP pode chegar até a 65.535 
bytes, cada roteador ao longo da rede fará os ajustes necessários por meio do mecanismo 
de fragmentação, de forma que o datagrama caiba no quadro da camada de enlace. 
14
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Essa operação é possível devido à tabela deroteamento de cada roteador ao longo da 
rede possuir a informação do MTU da camada de enlace de cada interface conectada. 
Tabela 1. MTU protocolo camada 2: exemplo.
Protocolo camada 2 MTU (bytes)
Ethernet 1.500
Frame Relay 4.482
WiMax 1.400
Fonte: Elaborada pela autora.
1.2 Estrutura e funcionamento do protocolo ICMP
Em um sistema sem conexão como o Internet Protocol (IP), um datagrama trafega de 
um roteador a outro até que chegue ao seu destino final. Caso ocorra na rede alguma 
condição incomum como, por exemplo, congestionamento na rede ou falha de algum 
equipamento, que impeça o encaminhamento do datagrama é necessário comunicar 
à origem a falha ocorrida. 
O mecanismo utilizado pela arquitetura TCP/IP para comunicar uma condição de 
erro é o Internet Control Message Protocol (ICMP). Na realidade, ele é utilizado para 
a comunicação entre a própria camada de rede. Uma mensagem ICMP trafega dentro 
da área de dados de um datagrama IP. 
Figura 6. ICMP: encapsulamento datagrama IP.
Transporte (UDP, TCP) 
Enlace 
Aplicação (HTTP, FTP) 
Internet (IP, ICMP) Enlace 
Internet (IP, ICMP) 
Transporte (UDP, TCP) 
Enlace 
Aplicação (HTTP, FTP) 
Internet (IP, ICMP) 
Host A
Host B
Cabeçalho ICMP Dados ICMP 
Cabeçalho IP Dados 
Fonte: Elaborada pela autora.
15
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
As mensagens ICMP são enviadas automaticamente e existem diferentes condições 
para que ocorram. Elas podem, por exemplo, ser enviadas nas seguintes situações:
Figura 7. ICMP: encapsulamento datagrama IP.
Quando um pacote IP não consegue chegar ao seu destino devido ao 
TTL expirado
Quando o roteador não consegue retransmitir pacotes na frequência 
adequada devido a congestionamento no próprio roteador 
Quando o roteador indica uma rota melhor para o host que está 
enviando pacotes
Quando um host de destino ou rota não está alcançável
Fonte: Elaborada pela autora.
As mensagens do protocolo ICMP possuem diferentes formatos, entretanto todas 
apresentam três campos de tamanho fixo no início da mensagem: 
Figura 8. Campos do protocolo ICMP.
• Identifica a mensagem enviada
• Foram definidos 13 tipos de mensagem
• Possui 8 bits
Tipo de mensagem
• Contém o código de erro reportado pelo ICMP
• Possui 8 bitsCódigo
• Utiliza o mesmo algoritmo do protocolo IP
• Aplicado a todos os campos de mensagem
• Possui 16 bits
Checksum
Fonte: Elaborada pela autora.
O diagrama abaixo apresenta os diferentes tipos possíveis de mensagens que podem 
ser enviadas pelo protocolo ICMP: 
Tabela 2. Mensagem ICMP: campo tipo.
Tipo Significado
0 Resposta de eco
3 Destino inalcançável
5 Redirecionamento (mudar uma rota)
8 Requisição de eco
16
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Tipo Significado
9 Anúncio de roteador
10 Solicitação de roteador
11 Tempo excedido para um datagrama 
12 Problema de parâmetro em um datagrama
13 Requisição de timestamp
14 Resposta de timestamp
40 Photuris
42 Echo request estendido
43 Echo reply estendido
Fonte: Elaborada pela autora.
Cada campo tipo de mensagem pode conter diferentes campo código que detalham a 
mensagem do campo tipo. A mensagem do campo tipo com valor 3, por exemplo, cuja 
mensagem significa “destino inalcançável”, pode conter um dos seguintes “códigos”:
Tabela 3. Mensagem ICMP: campo código.
Código Significado
0 Rede inacessível
1 Host inacessível
2 Protocolo inacessível
3 Porta inacessível
4 Fragmentação necessária e não configurada
5 Falha na rota de origem
6 Rede de destino desconhecida
7 Host de destino desconhecido
Tipo Significado
0 Resposta de eco
3 Destino inalcançável
5 Redirecionamento (mudar uma rota)
8 Requisição de eco
9 Anúncio de roteador
10 Solicitação de roteador
11 Tempo excedido para um datagrama 
12 Problema de parâmetro em um datagrama
13 Requisição de timestamp
14 Resposta de timestamp
40 Photuris
42 Echo request estendido
43 Echo reply estendido
Fonte: Elaborada pela autora.
Saiba mais
Conheça mais sobre os tipos possíveis para os campos “tipo” e “código” do protocolo ICMP. Disponível em: 
https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml.
17
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
Ping e Traceroute
Existem dois utilitários que auxiliam os administradores de rede na resolução de 
problemas em uma rede TCP/IP utilizando mensagens ICMP: 
Figura 9. Ping e tracert.
Ping
Tracert
Fonte: Elaborada pela autora.
O Ping (Packet Internet Groper) é uma ferramenta muito utilizada para testar 
conectividade em uma rede TCP/IP. Ele funciona pelo envio de uma mensagem 
ICMP: 
Figura 10. Ping e tracert.
Requisição ICMP echo
Host A Host B
Resposta ICMP echo
Fonte: Elaborada pela autora.
Por padrão, ele envia quatro pacotes de 32 bytes por meio de um pacote de solicitação 
de eco para um endereço destino e calculará o tempo de resposta. Se dentro de um 
intervalo de tempo predefinido obtiver a resposta, o comando terá sido bem-sucedido. 
Ao finalizar exibirá uma estatística com o número de pacotes enviados, recebidos, 
perdidos, tempo máximo, mínimo e média.
Existem diferentes possibilidades de utilização do comando ping e, em algumas opções, 
é necessário possuir permissão de administrador para sua execução. Ele é utilizado a 
partir da linha de comando de um host ou roteador. Para ver todas as opções possíveis 
para o comando, digite no prompt de mensagem: “ping /?”
18
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Figura 11. Sintaxe do comando Ping.
Fonte: Elaborada pela autora.
Para verificar a conectividade com um host destino, digite o comando ping e o endereço 
IP ou nome do host destino:
Figura 12. Exemplo comando Ping.
Fonte: Elaborada pela autora.
Já o tracert ( Trace Route) tem como objetivo rastrear o caminho que um pacote IP 
percorre da origem até o seu destino. Assim como o ping, o tracert utiliza mensagem 
ICMP eco utilizando diferentes valores do campo TTL. 
19
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
Figura 13. Funcionamento tracert.
Salto 1
Host A Host B
TTL=1 TTL=2 TTL=3 TTL=4
Roteador 1 Roteador 2 Roteador 3
Salto 2
Salto 3
Salto 4
Requisição ICMP echo
Fonte: Elaborada pela autora.
Após o envio da primeira mensagem ICMP eco com um TTL de 1, a cada transmissão 
subsequente o TTL é incrementado de 1 até o destino ou o TTL máximo ser atingido. 
Figura 14. Exemplo comando tracert.
Fonte: Elaborada pela autora.
Existem diferentes possibilidades de utilização do comando tracert. Para visualizar 
todas as opções do comando tracert, digite no prompt de comando: tracert /?
Figura 15. Sintaxe tracert.
Fonte: Elaborada pela autora.
20
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Atenção
Existem diferentes formas de acessar o “prompt de comando” no Windows, como, por exemplo, acessar por meio 
do comando “cmd.exe” digitado no campo de pesquisa do lado esquerdo inferior da tela inicial do Windows, ou 
clicando no ícone do aplicativo, conforme a figura abaixo: 
Figura 16. Comando cmd.exe.
Fonte: Elaborada pela autora.
1.3 Estrutura de endereçamento IP (endereços classful, ARP, 
CIDR)
Vamos iniciar esta discussão relembrando que o protocolo TCP/IP utiliza endereços 
binários de 32 bits (4 bytes) como identificadores de hosts ou roteadores. Os endereços 
IP são divididos em duas partes e categorizados em classes, por isso o endereçamento 
do protocolo TCP/IP é conhecido como endereços com classe ou classful.
Ele funciona como um identificador lógico hierárquico para uma interface de rede. 
Por esse endereço é possível saber em qual rede a máquina está configurada e qual o 
identificador desta máquina na rede. Essas informações são conhecidas por meio do 
campo identificador de rede ou network id, como também é conhecido, e do campo 
21
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
identificador da máquina ou host id. Vale observar que o campo identificador de 
rede está localizado a partir da esquerda para a direita, começando sempre com os 
primeiros bits do endereço. 
Figura 17. Endereço IP: componentes.
Identificadorde Rede Identificador de host 
NetID HostID
Fonte: Elaborada pela autora.
Para facilitar o entendimento, os endereços podem ser escritos por meio de uma 
notação denominada notação decimal por ponto, em que um endereço IP é representado 
por um número decimal (de 0 a 255) separado por um ponto “.”. Neste tipo de 
notação, o endereço em binário é separado em octetos, ou seja, conjunto de 8 bits e, 
posteriormente, convertido para decimal. 
Figura 18. Endereço IP: notação decimal por ponto.
129.10.20.33
10000001.00000010.00010100.00100001
Notação decimal por ponto 
1o Octeto 2o Octeto 3o Octeto 4o Octeto 
32 bits
Fonte: Elaborada pela autora.
Atenção
Você sabe por que cada octeto possui valores entre 0 e 255? 
Porque como é um campo composto de 8 bits, o primeiro valor possível é 00000000, ou seja, tudo desligado, que 
em decimal é igual ao numeral zero. E o maior valor possível será todos os 8 bits ligados, ou seja 11111111, que, 
convertido para decimal, é igual a 255. 
Vamos analisar as classes existentes no endereçamento IP. Esta técnica auxilia a 
implementação de redes, já que cada classe possui determinado número de redes e 
host. Dessa forma, é possível implementar desde um pequeno número de redes com 
22
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
grande número de hosts por meio da utilização da classe A até um grande número de 
redes com poucos números de hosts pela adoção da classe C. 
Existem diferentes classes que variam de A a E. Entretanto somente as classes A, B e 
C são utilizadas para a implementação de rede. A classe D é utilizada para multicast 
e a classe E está reservada para utilização futura. Foram definidas máscaras padrão 
para cada classe que tem como objetivo definir a estrutura do endereço IP. 
Figura 19. Classe de endereçamento: formato e máscara.
16 bits
8 bits 24 bits
NetID HostID
Classe A 
16 bitsClasse B 
8 bits24 bitsClasse C 
255.0.0.0
255.255.0.0
255.255.255.0
Classe-padrão
Fonte: Elaborada pela autora.
A classe A utiliza 1 octeto para o identificador de rede e 3 octetos para o identificador 
de host. Dessa forma, consegue endereçar 126 redes diferentes com até 16.777.214 
hosts cada uma.
A classe B utiliza 2 octetos para o identificador de rede 2 octetos para o identificador 
de host. Dessa forma, consegue endereçar 16.384 redes diferentes com até 65.535 
hosts cada uma.
A classe C utiliza 3 octetos para o identificador de rede e 1 octeto para o identificador 
de host. Dessa forma, consegue endereçar 2.097.152 redes diferentes com até 254 
hosts cada uma.
Tabela 4. Endereço IP: classes.
Classe Intervalo 
A 1.0.0.0 a 127.0.0.0
B 128.0.0.0 a 191.255.0.0
C 192.0.0.0 a 223.255.255.0
D 224.0.0.0 a 239.255.255.255
E 240.0.0.0 a 255.255.255.254
Fonte: Elaborada pela autora.
Existem alguns endereços que não podem ser utilizados como endereços de host em 
uma rede IP, pois são denominados de endereços reservados. 
23
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
Figura 20. Endereços reservados.
Endereço de Rede
Endereço de Broadcast
Endereço de loopback
Fonte: Elaborada pela autora.
Independentemente da classe A, B ou C, o primeiro e o último endereço de cada rede 
de determinada classe são reservados e, portanto, não podem ser utilizados pelas 
interfaces de rede. 
O primeiro endereço é reservado para “endereço de rede” e identifica a própria 
rede e não determinada interface. Já o último endereço de uma rede é o “endereço 
de broadcast”, que tem como objetivo identificar todas as máquinas em uma rede 
específica. Ele é representado com todos os bits do campo “host id” com valor de 
bit “1”.
Figura 21. Endereços reservados: exemplo.
• Rede: 17
• End. de Rede: 17.0.0.0
• Broadcast: 17.255.255.255
Classe A 
• Rede: 140.20
• End. de Rede: 140.20.0.0
• Broadcast: 140.20.255.255
Classe B
• Rede: 200.20.246
• End. de Rede: 200.20.246.0
• Broadcast: 200.20.246.255
Classe C
Fonte: Elaborada pela autora.
O “endereço de loopback”, também conhecido por “localhost” ou “127.0.0.1”, tem 
como objetivo identificar a interface de rede de uma máquina. Ele permite enviar 
uma mensagem para a própria máquina permitindo a comunicação interprocessos, 
ou seja, entre aplicações, já que a mensagem é enviada para a própria interface de 
rede da máquina. 
24
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Endereçamento sem classe (sub-rede e CIDR)
Com o crescimento da internet, o esquema de endereçamento com classe proposto 
para o protocolo IP demonstrou-se ineficiente e inviável, pois, independentemente 
do número de hosts, cada rede obrigatoriamente deveria ser compatível com uma das 
classes de endereços citadas acima, ou seja, classe A, B ou C. 
Vamos analisar uma rede com 30 máquinas. Neste caso, ela seria compatível com um 
endereçamento classe C com capacidade de 256 endereços.
Figura 22. Rede classe C: exemplo.
Rede com 30 host
roteador
Classe C (254 hosts, 1 broadcast, 1 rede)
Desperdício: 224 endereços de host
Fonte: Elaborada pela autora.
A solução adotada para diminuir o desperdício e aumentar a quantidade de endereços 
disponíveis sem afetar o funcionamento dos sistemas existentes foi flexibilizar o 
conceito de classes por meio da criação da máscara de sub-rede, que permitiu realizar 
o endereçamento sem classes. 
Assim como no endereçamento com classe, o endereçamento sem classe ou por 
máscara de sub-rede também determina um identificador de rede (network id) e um 
identificador de host (host id).
Figura 23. Máscara de sub-rede.
11111111.11111111.11111111.00000000
1o Octeto 2o Octeto 3o Octeto 4o Octeto 
32 bits
Net Id Host Id 
Fonte: Elaborada pela autora.
25
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
A máscara de sub-rede, assim como no endereço IP, é formada por 4 octetos que 
podem conter, da esquerda para a direita, uma sequência contínua de 1’s, seguida de 
uma sequência de 0’s. 
A sequência de bits 1’s identifica os bits utilizados para identificar a rede e a sequência 
de bits 0’s identificam o endereço do host. 
Figura 24. Máscara de sub-rede classe C.
255.255.255.0
11111111.11111111.11111111.00000000
Máscara de sub-rede
1o Octeto 2o Octeto 3o Octeto 4o Octeto 
Net Id Host Id 
Fonte: Elaborada pela autora.
A utilização da técnica de Classless Inter-Domain Routing (CIDR) ou roteamento 
interdomínio sem classe como também é conhecido, permite alocar endereços IP em 
sub-redes de acordo com as necessidades individuais de cada organização.
Figura 25. Classless Inter-Domain Routing (CIDR).
200.20.10.0/25
Número de bits 1’s utilizado para o
identificador de rede (NetID) 
Máscara de rede: 255.255.255.128
11111111.11111111.11111111.10000000
255 255 255 128
Fonte: Elaborada pela autora.
Nesse tipo de endereçamento é utilizada a notação decimal com pontos separado 
por “/” (barra) para indicar a quantidade de bits que identifica a rede (que pode 
ser qualquer valor entre 0 e 32 bits) e, por consequência, a quantidade de bits que 
identificam hosts dentro da rede.
26
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Tabela 5. Prefixos CIDR.
Notação 
CIDR
Decimal pontuada Notação 
CIDR
Decimal pontuada
/1 128.0.0.0 /17 255.255.128.0
/2 192.0.0.0 /18 255.255.192.0
/3 224.0.0.0 /19 255.255.224.0
/4 240.0.0.0 /20 255.255.240.0
/5 248.0.0.0 /21 255.255.248.0
/6 252.0.0.0 /22 255.255.252.0
/7 254.0.0.0 /23 255.255.254.0
/8 255.0.0.0 /24 255.255.255.0
/9 255.128.0.0 /25 255.255.255.128
/10 255.192.0.0 /26 255.255.255.192
/11 255.224.0.0 /27 255.255.255.224
/12 255.240.0.0 /28 255.255.255.240
/13 255.248.0.0 /29 255.255.255.248
/14 255.252.0.0 /30 255.255.255.252
/15 255.254.0.0 /31 255.255.255.254
/16 255.255.0.0 /31 255.255.255.255
Fonte: Comer (2006).
Vamos analisar alguns exemplos: 
Exemplo 1: 
Dado o endereço IPv4 191.168.1.0, qual máscara de rede utilizar para criar 14 sub-
redes com 14 hosts em cada sub-rede? 
Resposta: 
Na realidade precisaremos de 16 sub-redes com 14 host cada, pois uma é utilizada 
como endereço da própria rede e o último endereço comoendereço de broadcast; o 
mesmo vale para o número de host. Dessa forma, precisamos identificar no endereço 
da máscara quantas redes conseguimos endereçar: 
1. Precisamos identificar no endereço de host quantos hosts conseguimos 
endereçar. Vamos analisar a tabela abaixo. Ela representa a base binária 
e suas respectivas posições. Os endereços de host começam da direita 
para a esquerda, logo se precisamos endereçar 16 hosts, precisamos dos 
4 bits mais significativos do último octeto para representar o host. Dessa 
forma, os demais bits serão considerados endereço de rede. Perceba que 
a pr imeira l inha representa a quantidade de possíveis endereços em 
determinada posição e a segunda linha é utilizada para a conversão de 
um número binário para decimal:
27
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
Figura 26. Endereçamento IPv4: exemplo 1.
256 28 128 27 64
26
32 25 16 24 8 23 4 22 2
21
27
128
26
64
25
32
24
16
23
8
22
4
21
2
20
1
8 bits
11111111.11111111.11111111.1111HHHH
Fonte: Elaborada pela autora.
2. Para o cálculo da sub-rede podemos utilizar a mesma lógica. Veja que a primeira 
linha da tabela abaixo representa a quantidade de endereços que podemos 
representar em determinada posição, logo para endereçarmos 16 redes precisamos 
de quatro bits de redes ligados. Como os endereços de rede começam da esquerda 
para a direita, os bits “1”’s para representar sub-redes serão os primeiros bits do 
último octeto e a máscara ficará da seguinte forma: 
Figura 27. Endereçamento IPv4: exemplo 2.
256 28 128 27 64
26
32 25 16 24 8 23 4 22 2
21
27
128
26
64
25
32
24
16
23
8
22
4
21
2
20
1
8 bits
11111111.11111111.11111111.1111HHHH
191.168.1.0
Número de bits 1’s utilizado para o
identificador de rede (NetID)
Máscara de rede: ? 255.255.255.240
255.255.255.11110000
27
128
26
64
25
32
24
16
23
8
22
4
21
2
20
1
1 1 1 1 0 0 0 0
128+64+32+16 = 
240
Fonte: Elaborada pela autora.
Resposta: 
A máscara será 255.255.255.240
Exemplo 2
Quantas e quais sub-redes válidas existem para o endereço 191.168.1.0 se utilizarmos 
uma máscara 255.255.255.224? 
28
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
Resolução: 
3. Em primeiro lugar, vamos calcular o valor do intervalo entre as sub-redes. 
Figura 28. Endereçamento IPv4: exemplo 2.
255.255.255.1110000000
255 é o valor máximo que pode ser representado por 11111111, isto é, o número decimal 
255. Entretanto existem 256 possíveis representações de número binário em um octeto.
Lembrando que começa de zero.
255.255.255.224
256 – 224 = 32, que é o intervalo entre sub-redes.
Fonte: Elaborada pela autora.
4. Agora vamos às sub-redes. Descartaremos a primeira e a última, pois, como já 
falamos, a primeira representa a própria rede e a última é broadcast: 
 » 191.168.1.0 (Não é válida)
 » 191.168.1.32
 » 191.168.1.64
 » 191.168.1.96
 » 191.168.1.128
 » 191.168.1.160
 » 191.168.1.192
 » 191.168.1.224 (Não é válida)
Resposta: 
São seis sub-redes válidas:
 » 191.168.1.32
 » 191.168.1.64
 » 191.168.1.96
 » 191.168.1.128
 » 191.168.1.160
 » 191.168.1.192
29
PROTOCOLOS DA CAMADA DE REDE • CAPÍTULO 1
Exemplo 3 
Quantas e quais sub-redes válidas existem para o endereço 191.168.1.0/16? E se fosse 
uma máscara /18?
Resp.: Uma máscara /16 significa que 16 bits são utilizados para a rede. 
Figura 29. Endereçamento IPv4: exemplo 3.1.
11111111.11111111.HHHHHHHH.HHHHHHHH
255.255.0.0
Fonte: Elaborada pela autora.
Uma máscara /18 significa que 18 bits são utilizados para a rede 
Figura 30. Endereçamento IPv4: Exemplo 3.2.
11111111.11111111.11HHHHHH.HHHHHHHH
255.255.0.0
Fonte: Elaborada pela autora.
Uma rede IP é formada por um conjunto de computadores (hosts) com o mesmo ID 
de rede. Dessa forma, encontra-se em um mesmo domínio de broadcast. 
Um domínio de broadcast significa um segmento lógico de uma rede em que os 
computadores conectados a este segmento podem comunicar-se uns com outros sem 
a necessidade de utilizar um dispositivo de roteamento.
Figura 31. Domínio de Broadcast.
11111111.11111111.11HHHHHH.HHHHHHHH
255.255.0.0
Fonte: Elaborada pela autora.
Na figura acima observamos que o roteador possui duas interfaces de rede 
sendo cada uma em um domínio de broadcast diferente. É função do roteador 
fazer o encaminhamento dos datagramas entre as duas redes configuradas 
em suas interfaces. Neste caso, cada endereço IP configurado nas diferentes 
interfaces do roteador é denominada de default gateway da rede. Assim, uma 
máquina da rede 200.20.1.0 necessita encaminhar o seu datagrama para a 
interface 200.20.1.33 do roteador para alcançar a rede 130.10.0.0.
30
CAPÍTULO 1 • PROTOCOLOS DA CAMADA DE REDE
O protocolo de resolução de endereços é também conhecido como ARP e 
definido pela RFC 826. Ele é utilizado para fazer a conversão entre endereços 
da camada de rede, os endereços IP, e endereços de camada de enlace, os 
endereços MAC e vice-versa. 
Para que um datagrama seja enviado para o destino, a origem deve informar 
o endereço IP e o endereço MAC do destino. Para identificar o endereço MAC 
do destino, o protocolo ARP utiliza um mecanismo de difusão (broadcast) 
enviando uma solicitação a todas as máquinas da rede local e aguarda resposta 
do destino com o endereço IP/endereço físico.
Para minimizar o número de broadcast na rede e evitar problemas de 
desempenho no mapeamento dos endereços IP em endereços físicos, cada 
máquina implementa um arquivo de cache denominado ARP cache ou, como 
também é conhecido, tabela ARP, que contém as últimas consultas realizadas. 
Ao fazer uma solicitação ARP a estação envia seu endereço IP e endereço 
físico, permitindo que todas as máquinas da rede incluam os endereços em 
suas caches locais.
Quando um hardware é trocado, a máquina que sofreu a mudança se anuncia na 
rede com o novo endereço IP e endereço físico. Uma observação importante é 
que o protocolo ARP só existe no IPv4, já que no IPv6 essa função é do protocolo 
NDP ou Neighbor Discovery Protocol, que estudaremos no capítulo 6. 
Sintetizando
Vimos até agora: 
 » A estrutura e o funcionamento do protocolo IP.
 » O funcionamento do protocolo ICMP.
 » A estrutura de endereçamento do protocolo IP.
31
Introdução 
Neste capítulo analisaremos os algoritmos de roteamento, elementos-chave para 
a compreensão dos protocolos de roteamento utilizados atualmente na internet. 
Identificaremos os conceitos fundamentais utilizados na implementação desses 
algoritmos e enumeraremos as classificações possíveis para tais algoritmos. 
Finalizaremos a discussão apresentando os algoritmos de vetor de distância e estado 
de enlace.
Seguindo em nossa discussão, identificaremos os principais protocolos de roteamento 
utilizados atualmente na internet, suas características e diferentes aplicações. Devemos 
considerar que a internet, por ser um conjunto de redes interligadas, possui diferentes 
administradores, tecnologias, tamanhos e políticas. 
Finalizaremos a discussão do nosso capítulo 2 com a apresentação do protocolo 
de roteamento por difusão, cuja utilização encontra-se em amplo crescimento 
considerando as aplicações emergentes que necessitam entregar pacotes para mais 
de um destinatário, como, por exemplo, os jogos multiusuários on-line. 
Objetivos 
 » Identificar as diferenças entre os algoritmos de roteamento. 
 » Enumerar os protocolos de roteamento na internet.
 » Compreender o roteamento por difusão. 
2.1 As diferenças entre os Algoritmos de roteamento 
Para que possamos compreender os protocolos de roteamento é necessário analisar 
os algoritmos de roteamento. Eles são a parte do software da camada de rede que 
2
CAPÍTULO
PROTOCOLOS DA CAMADA DE REDE 
(ROTEAMEnTO)
32
CAPÍTULO 2 • PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO)
tem como principal função a decisão sobre a interface de saída a ser utilizada na 
transmissão de um pacote de entrada. Esta escolha é determinada pela escolha do 
melhor caminho que os pacotes devem percorrer entre o remetente e o destino,isto 
é, o caminho de menor custo entre a origem e o destino. 
Importante perceber que existem duas funções distintas: repasse (encaminhamento) 
e roteamento presentes nesta camada. 
Quando falamos de repasse ou encaminhamento, nos referimos ao processo de 
transferência que ocorre dentro de um roteador entre uma interface de entrada e uma 
de saída. Já o roteamento envolve um protocolo de roteamento e todos os roteadores 
de uma rede que determinam os caminhos que um pacote percorre entre sua origem 
até chegar ao seu destino.
Vale lembrar a composição básica de um roteador que é dividida em quatro partes: 
Figura 32. Interior de um roteador.
Processador 
de roteamento
Porta de entrada Porta de saída
Roteador
Elemento de 
comutação 
Fonte: Elaborada pela autora.
O elemento de comutação conecta as portas de entrada do roteador às portas de 
saída, realizando o repasse dos pacotes. Existem diferentes técnicas de comutação 
que podem ser aplicadas para o repasse dos pacotes: por memória, por barramento 
e por meio de rede de interconexão. As portas de entrada realizam as funções da 
camada física e de enlace. É na porta de entrada que é realizada a consulta à tabela 
de repasse presente em todo roteador e que é utilizada para determinar a porta de 
saída pela qual o pacote deverá ser encaminhado. As portas de saída armazenam os 
pacotes que foram encaminhados pelo elemento de comutação e os transmite para o 
enlace de saída. O processador de roteamento executa os protocolos de roteamento, 
mantém a atualização da tabela de roteamento e realiza o cálculo da tabela de repasse 
para as portas de entrada.
33
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
Para refletir
Antes de continuar nossa discussão, assista ao vídeo. Disponível em: https://www.youtube.com/
watch?v=Cwey2kfs6Ow&t=188s.
Existem três aspectos importantes que afetam os algoritmos de roteamento: 
 » Princípio da otimização;
 » Roteamento pelo caminho mais curto;
 » Flooding.
O princípio da otimização consiste na criação de uma descrição geral de rotas ideais 
sem levar em consideração a topologia ou o tráfego da rede. Segundo Tanenbaum e 
Wetherall (2011), este princípio, de forma simplista, estabelece que: 
Figura 33. árvore de escoamento.
A B C
D
E
F
Melhor rota 
A B C
D
E
F
Árvore de escoamento 
Fonte: Elaborada pela autora.
 » Se o roteador B estiver no caminho ideal entre A e C, então o caminho ideal entre 
o nó B e o nó C também está nesta rota.
 » Caso o caminho ideal entre o nó B e C não fosse nesta rota, uma nova rota deveria 
ser agregada entre o caminho do nó A até o nó C para melhorar a rota entre A e C. 
 » Um conjunto de todas as melhores rotas entre uma origem e um destino forma 
uma árvore com raiz no destino ou árvore com escoamento como também é 
conhecida. 
 » Uma árvore de escoamento não possui loops, desta forma cada pacote será 
entregue dentro de um número finito e limitado de saltos. 
O objetivo de todos os algoritmos de roteamento é descobrir e utilizar as árvores de 
escoamento em todos os roteadores de uma rede. 
34
CAPÍTULO 2 • PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO)
O roteamento pelo caminho mais curto é uma técnica que calcula os caminhos ideais 
a partir de uma imagem completa da rede. A ideia básica do algoritmo é criar um grafo 
de rede, onde cada nó do grafo é o roteador e cada arco representa uma interface de 
comunicação ou enlace. Dessa forma, o algoritmo calculará o caminho mais curto 
por uma métrica que pode ser o número de saltos (hop), da distância geográfica ou 
atraso de propagação. 
O flooding ou inundação, como também é conhecido, é uma técnica na qual cada 
pacote de entrada é enviado para cada interface de saída excluindo a interface pela 
qual chegou. Para diminuir a quantidade de pacotes duplicados deve ser implementado 
um contador de saltos (hop) que é decrementado a cada salto até atingir o valor zero. 
Quando o roteador não conhece a distância do caminho entre a origem e o destino, 
ele iniciará o contador com valor referente ao pior caso. Para otimizar o processo 
deve ser incluído também um controle de quais pacotes já foram enviados, o que é 
conseguido pela inclusão do número de sequência de pacotes recebidos pelo roteador, 
de forma que não envie novamente o pacote. 
Os algoritmos de roteamento podem ser classificados pelas seguintes visões: 
Figura 34. Algoritmo de roteamento: classificação.
algoritmo de 
roteamento
Global Descentralizado
algoritmo de 
roteamento
Não 
adaptativo ou 
Estático
Adaptativo ou 
Dinâmico
algoritmo de 
roteamento
Sensivel à 
carga
Insensível à 
carga
Fonte: Elaborada pela autora.
No algoritmo de roteamento global é calculado o caminho de menor custo entre a 
origem e o destino a partir de informações globais sobre os enlaces da rede que são 
coletadas para posterior cálculo. É também conhecido como algoritmo de estado de 
enlace (LS). 
O algoritmo de estado de enlace foi idealizado com o objetivo de substituir a utilização 
do roteamento por vetor a distância e, assim, agilizar a convergência e mitigar o 
problema da contagem ao infinito apresentado pelo algoritmo. O algoritmo de estado 
de enlace utiliza o algoritmo de Dijkstra para calcular as melhores rotas para os 
destinos a partir de uma mesma origem. 
Um exemplo de protocolo que utiliza este algoritmo de estado de enlace é o OSPF, 
que analisaremos mais à frente. Segundo Tanenbaum e Wetherall (2011), pode ser 
identificado cinco ações realizadas por cada roteador da rede: 
35
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
 » Descobrir seus vizinhos e aprender seus endereços de rede;
 » Medir a distância ou o custo até cada um dos seus vizinhos;
 » Criar um pacote que informe tudo o que ele acabou de aprender;
 » Enviar esse pacote e receber pacotes de todos os outros roteadores;
 » Calcular o caminho mais curto até cada um dos outros roteadores.
Cada nó da rede transmite pacotes com as identidades e os custos dos enlaces 
conectados a ele e a todos os outros nós da rede. Essa transmissão ocorre pela 
utilização de algoritmo de transmissão por difusão de estado de enlace. Assim, todos 
os nós têm uma visão idêntica e completa da rede, podendo executar o algoritmo de 
estado de enlace e realizar o cálculo do mesmo conjunto de caminhos de menor custo. 
No algoritmo de roteamento descentralizado, nenhum nó tem todas as informações 
sobre os custos de todos os enlaces. Cada nó só conhece os custos dos enlaces ligados a 
ele. O cálculo do caminho de menor custo é realizado por meio da troca de informações 
entre os nós da rede. O algoritmo de roteamento descentralizado também é conhecido 
como algoritmo de vetor de distância (DV ).
No algoritmo de vetor de distância cada roteador mantém uma tabela que contém 
informações sobre a melhor distância e qual enlace deve ser utilizado para chegar a 
determinado destino. Na prática, cada roteador mantém uma tabela de roteamento 
indexada com duas informações: 
 » Interface de saída para o destino;
 » Estimativa de distância. 
Nesse tipo de algoritmo presume-se que o roteador conhece a distância até cada um de 
seus vizinhos. Nesse caso, deve ser utilizada uma métrica para o cálculo da distância, 
que pode ser o salto (hop) entre roteadores ou o atraso de propagação, por exemplo. Se 
for utilizado o salto como métrica, deve ser considerada a distância de 1 salto (hop). 
Com a utilização do algoritmo percebeu-se que apesar de convergir corretamente, o 
processo pode ocorrer de forma muito lenta devido ao problema da contagem infinita. 
Outro ponto de atenção é a limitação de saltos, até 15, e a possibilidade de loops no 
roteamento. 
Nos algoritmos não adaptativos ou de roteamento estático, como também são 
conhecidos, as rotas sofrem poucas modificações e normalmente ocorrem de forma 
manual. As tabelas de roteamento das estações e roteadores são manualmente 
configuradas e as rotas devem ser atualizadas caso ocorra alguma modificação. 
36
CAPÍTULO 2 • PROTOCOLOSDA CAMADA DE REDE (ROTEAMEnTO)
Nos algoritmos adaptativos ou de roteamento dinâmico, como também são conhecidos, 
as informações sobre os caminhos de roteamento são modificadas a partir de 
informações sobre as condições do tráfego ou da topologia da rede. 
Nos algoritmos sensíveis à carga o cálculo dos custos de enlace varia dinamicamente 
de acordo com o nível de congestionamento no enlace adjacente. Desta forma, o 
algoritmo escolherá rotas que evitem as de alto custo. 
2.2 Protocolos de roteamento na internet
Antes de analisar os protocolos de roteamento na internet é necessário compreender 
dois aspectos importantes que tornam inviável a utilização de um único protocolo 
de roteamento em toda a internet: 
 » As redes existentes e que compõem a internet possuem autonomia 
administrativa, isto é, as organizações que administram estas redes podem 
implementar os algoritmos de roteamento que desejarem e ainda ocultar 
aspectos internos da organização para o público externo. 
 » Quanto à escalabilidade destas redes, pois para o cálculo de rotas e para a 
troca de informações de roteamento, os milhões de roteadores que compõem 
a internet inviabilizaria a utilização de um único protocolo, já que exigiria 
muita memória dos roteadores e alto consumo de largura de banda para a 
troca de mensagens entre os roteadores. 
Para resolver estas questões, os roteadores que compõem a internet foram organizados 
em uma estrutura de roteamento hierárquico, que é composto dos seguintes elementos: 
 » Sistema autônomo (AS);
 » Protocolo de roteamento intra-AS;
 » Roteador de borda;
 » Protocolo de roteamento inter-AS.
Um sistema autônomo (AS) é constituído de um grupo de roteadores sob um mesmo 
controle administrativo. Todos os roteadores deste AS implementam o mesmo algoritmo 
de roteamento denominado de protocolo de roteamento intra-AS.
Para realizar a comunicação entre um AS e a internet, um ou mais roteadores do AS 
terá a tarefa adicional de transmitir pacotes a destinos fora do AS. Esses roteadores 
são denominados roteadores de borda. O protocolo de roteamento inter-AS tem o 
objetivo de atualizar os roteadores de borda entre dois ASs com informações sobre as 
condições de alcance entre os ASs e propagar para os roteadores internos do próprio AS. 
37
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
Figura 35. Modelo: roteamento hierárquico.
Sistema
Autônomo 1
Sistema
Autônomo 2
Sistema
Autônomo 3
Roteador de borda
Protocolo de roteamento inter-AS
Protocolo de roteamento intra-AS
Legenda: 
Fonte: Elaborada pela autora.
O protocolo de roteamento intra-AS também é conhecido como protocolo de roteamento 
interno (IGP), e é utilizado para determinar o mecanismo de roteamento dentro de 
um sistema autônomo (AS): 
 » Routing Information Protocol (RIP);
 » Open Shortest Path First (OSPF).
O Routing Information Protocol (RIP) é um protocolo que utiliza o algoritmo de vetor 
de distância. Ele foi definido pela RFC 1058 e, posteriormente, atualizado pela RFC 
1723, que descreve o RIP-2 (a segunda versão do RIP). Esta nova versão permite à 
mensagem do RIP carregar mais informações, possibilitando o uso de mecanismo de 
autenticação para proteger as atualizações das tabelas e o suporte às máscaras de 
sub-rede. 
A métrica utilizada no roteamento é a contagem de saltos ou hops para medir a 
distância entre a rede de origem e a de destino, que é incrementada de 1 a cada hop. 
Para evitar loops infinitos o número de hops permitidos no caminho entre a origem e o 
destino é de no máximo 15 saltos. Caso o máximo de hops permitidos em um caminho 
seja maior que a permitida (isto é, maior que 16), a rede de destino é considerada 
inalcançável. O protocolo RIP envia mensagem de atualização para os roteadores da 
rede em duas situações:
 » intervalos regulares de tempo;
 » quando a topologia da rede é alterada. 
Quando um roteador recebe uma atualização de alterações em alguma das 
entradas, a tabela de roteamento é atualizada e o valor métrico para a rota é 
38
CAPÍTULO 2 • PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO)
acrescentado de 1 e apenas as melhores rotas (com o menor valor métrico) 
até um destino são mantidas. Após atualizar sua tabela de rotas, o roteador 
imediatamente transmite as atualizações para os outros roteadores da rede 
independentemente das atualizações que são enviadas regularmente. Para 
avaliar o próprio desempenho, o protocolo RIP utiliza temporizadores, como 
por exemplo: 
 » Temporizador para as atualizações de roteamento;
 » Temporizador para o timeout (estouro do tempo permitido para uma operação);
 » Temporizador para o esvaziamento da memória;
 » Temporizador de atualização.
O protocolo RIP é maduro e estável, plenamente utilizado e de fácil configuração. 
Sua simplicidade é adequada para o uso em redes pequenas e em pequenos sistemas 
autônomos, que não possuam muitos caminhos redundantes e que não justifiquem 
o uso de protocolos mais sofisticados.
O protocolo Open Shortest Path First (OSPF) foi desenvolvido pelo grupo de trabalho 
de Interior Gateway Protocol (IGP) da Internet Engineering Task Force (IETF) em 1988. 
É um protocolo aberto, de domínio público, descrito na RFC 1247. A motivação para 
seu desenvolvimento foi uma alternativa ao protocolo RIP, pois, devido ao crescimento 
das redes, o protocolo RIP mostrou-se ineficiente no atendimento a grandes redes 
heterogêneas. 
Como o protocolo OSPF utiliza o algoritmo de estado de enlace, ele envia por difusão, 
avisos sobre o estado da conexão a todos os outros roteadores em uma mesma área 
hierárquica (AS). Além de acumular informações sobre o estado do enlace, o OSPF 
utiliza o algoritmo do caminho mais curto para calcular a menor rota para cada nó. 
Apesar de ser protocolo de roteamento intra-AS (interior gateway), o protocolo OSPF é 
capaz de receber e enviar rotas para outros ASs. Os roteadores de borda mantêm uma 
base de dados topológica separada para cada área que contém informações recebidas 
de todos os roteadores de uma mesma área. A topologia de uma área é invisível para 
entidades fora dela, consequentemente o protocolo OSPF processa menos tráfego de 
roteamento do que se os ASs não fossem divididos. O protocolo apresenta dois tipos 
de roteamento que depende da origem e destino: 
 » Roteamento intra-área é usado quando a origem e o destino estão na mesma área;
 » Roteamento interárea é usado quando estão em áreas diferentes.
Quando a rede é muito extensa, é possível criar um backbone OSPF, responsável por 
distribuir informações de roteamento entre as diferentes áreas. 
39
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
Figura 36. OSPF: backbone.
Área 1 
Área 2
Área 3
Backbone OSPF
Roteador 1
Roteador 2
Roteador 3
Roteador 4
Roteador 5
Roteador 6
Fonte: Elaborada pela autora.
No exemplo acima, os roteadores 1, 2, 3, 4, 5 e 6 formam o Backbone OSPF e utilizam 
os mesmos algoritmos para manter a informação de roteamento no backbone. 
O protocolo de roteamento inter-AS é utilizado para fazer o roteamento entre diferentes 
ASs. Dentro de cada área, um ou mais roteadores de borda de área são responsáveis 
pelo roteamento de pacotes para fora da área. 
O Border Gateway Protocol (BGP) é um protocolo de roteamento utilizado entre 
múltiplos sistemas autônomos (ASs), especificado através da RFC 4271 e encontra-
se na versão 4. Por ser um protocolo de altíssima complexidade, vamos analisar os 
fundamentos básicos para seu funcionamento. 
Segundo Kurose e Ross (2013), ele oferece as seguintes funcionalidades para cada ASs: 
 » Obter de ASs vizinhos informações de alcançabilidade de sub-redes;
 » Propagar a informação de alcançabilidade a todos os roteadores internos ao AS;
 » Determinar rotas “boas” para sub-redes com base na informação de alcançabilidade 
e na política do AS. 
Por suportar Classless Interdomain Routing (CIDR) e o conceito de supernets, o 
protocolo BGP garante que os anúncios de existência das sub-redes e como chegar 
até elas cheguema todos os ASs da internet. O protocolo assume que o roteamento 
interno de um AS é feito por meio de um IGP (Interior Gateway Protocol), que pode 
ser o RIP, o OSPF ou outro protocolo. 
40
CAPÍTULO 2 • PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO)
Ele constrói gráfico dos ASs, usando as informações trocadas pelos “vizinhos BGP” 
(BGP neighbors) compostas dos números identificadores dos ASs, os ASN. 
Figura 37. BgP: elementos básicos.
Sistema Autônomo 1
Sistema
Autônomo 2
Sistema
Autônomo 3
Sistema
Autônomo 4
Caminho ou path
Conexão TCP porta 
179
Sessão iBGP 
Sessão eBGP
Fonte: Elaborada pela autora.
A conexão entre ASs forma um “caminho” (path), e a coleção desses caminhos acaba 
formando uma rota composta pelos números dos ASs que devem ser percorridos até 
se chegar a determinado AS destino. Os dois roteadores nas extremidades da conexão 
são denominados pares BGP e a troca de informações entre os roteadores é realizada 
por meio de conexão TCP semipermanente pela porta 179.
A conexão TCP e o conjunto de todas as informações enviadas por esta conexão é 
denominada sessão BGP. Quando uma sessão BGP é estabelecida e a troca de informação 
ocorre entre dois ASs diferentes é denominada de sessão BGP externa (eBGP) e quando 
ocorre dentro de um mesmo AS é denominada de sessão BGP interna (iBGP).
2.3 Roteamento por difusão 
Vamos analisar dois tipos de protocolos de roteamento diferentes dos protocolos 
estudados até agora em que um único nó envia um pacote para um único destino. 
Neste novo modelo um único nó envia pacote para mais de um destino: 
 » Roteamento por difusão (broadcast): um nó de origem envia um pacote a todos 
os outros nós da rede; 
 » Roteamento para um grupo: um único nó de origem envia pacote a um 
subconjunto de nós de outras redes. 
41
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
O roteamento por difusão pode ocorrer por diferentes formas. Na sua forma mais 
simples o nó remetente envia uma cópia separada do pacote para cada destino, é 
utilizada uma abordagem individual de N caminhos. Como a difusão por meio da 
abordagem individual de N caminhos apresentou diversas desvantagens, sendo a 
principal a ineficiência do envio de N cópias por um único enlace, outras abordagens 
foram desenvolvidas: 
 » Inundação não controlada;
 » Inundação controlada;
 » Difusão por spanning tree.
Na abordagem por inundação não controlada o nó de origem envia uma cópia do 
pacote a todos os seus vizinhos que, ao receberem o pacote, fazem uma nova cópia e 
retransmitem também a todos os seus vizinhos. O grande problema desta abordagem 
ocorre quando existem ciclos no grafo de roteadores, que, neste caso, permanecerão 
em loop indefinidamente. 
Na abordagem por inundação controlada por número de sequência o nó de origem 
insere o seu endereço e o número de sequência em um pacote de difusão antes de 
enviar para todos os seus vizinhos. Os nós mantêm uma lista dos endereços e o 
número de sequência para cada pacote de difusão recebido, duplicado e repassado. Ao 
receber um pacote, o nó verifica na lista de pacotes recebidos, caso o pacote já esteja 
presente na lista, o pacote será descartado e não será duplicado e nem repassado. 
Outra abordagem de inundação controlada é o repasse pelo caminho inverso, que 
detalharemos mais adiante. 
Na abordagem por difusão por spanning tree os pacotes de difusão são repassados 
por meio dos enlaces da árvore de menor custo, de forma que cada nó da rede receba 
exatamente uma cópia do pacote de difusão. 
Figura 38. Difusão por spanning tree.
A
BC
D
E
F
G
Legenda: 
Caminho de menor custo
Fonte: Adaptado de Kurose e Ross (2013). 
42
CAPÍTULO 2 • PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO)
No serviço para um grupo o pacote é entregue a apenas um subgrupo de nós na rede. 
Este tipo de serviço é indispensável para aplicações que necessitem entregar pacotes 
de um ou mais remetentes para um grupo de destinatários, como, por exemplo: 
Figura 39. Aplicações multicast.
• Transferência de atualização de softwareTransferência de dados em grandes volumes
• Transferência de áudio, vídeo e texto de palestra ao vivo
para um conjunto de participantesMídia de fluxo contínuo
• VideoconferênciaAplicações de dados compartilhados
• Jogos multiusuárioJogos interativos
Fonte: Elaborada pela autora.
Segundo Kurose e Ross (2013), precisamos ter em mente que na comunicação para 
um grupo existem dois problemas: 
 » Como identificar os destinatários de um pacote desse tipo de serviço? 
 » Como endereçar um pacote enviado a um desses destinatários?
Para resolver a questão, devemos utilizar o endereçamento IP classe D que foi previsto 
para utilização multicast por meio de um endereçamento indireto, isto é, um único 
identificador é utilizado para o grupo de destinatários e uma cópia deste pacote é 
entregue a todos os destinatários associados ao grupo. 
Tabela 6. Endereço Classe D.
Classe Intervalo 
A 1.0.0.0 a 127.0.0.0 
B 128.0.0.0 a 191.255.0.0
C 192.0.0.0 a 223.255.255.0
D 224.0.0.0 a 239.255.255 
E 240.0.0.0 a 255.255.255.254
Fonte: Elaborada pela autora.
Mesmo com a utilização do endereçamento Classe D, algumas perguntas ainda precisam 
ser respondidas, segundo Kurose e Ross (2013): 
 » Como um grupo começa e termina?
 » Como o endereço é escolhido?
43
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
 » Como novos hospedeiros são incorporados ao grupo?
 » Qualquer um pode se juntar ao grupo ou a participação é limitada?
Para responder a estas e outras perguntas, são utilizados dois elementos no serviço 
para um grupo: 
Figura 40. Endereço Classe D.
Protocolo de 
gerenciamento de 
grupo da internet 
(IGMP)
Protocolo de 
roteamento de 
grupo
Fonte: Elaborada pela autora.
O protocolo de gerenciamento de grupo da internet (IGMP), descrito na RFC 3376, 
opera entre um hospedeiro e o roteador diretamente conectado a ele. Ele oferece os 
meios para que um hospedeiro possa informar ao roteador conectado a ele que uma 
aplicação que está funcionando no hospedeiro quer se juntar a um grupo específico. 
Ele contém basicamente três tipos de mensagem que são encapsuladas dentro de um 
datagrama IP: 
 » Membership_query: enviada pelo roteador para todos os hospedeiros para 
determinar os grupos dos quais os hospedeiros participam.
 » Membership_report: utilizada como resposta a uma mensagem Membership_
query.
 » Leave_group: utilizada quando o host sai do grupo.
Figura 41. Protocolo IgMP.
Grupo
226.17.30.19
128.59.16.20
128.34.108.63
128.119.40.1
128.34.108.60
Fonte: Adaptado de Kurose e Ross (2013). 
44
CAPÍTULO 2 • PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO)
O protocolo de roteamento para um grupo por vetor a distância (DVMRP), descrito na 
RFC 1075, foi o primeiro protocolo de roteamento para grupos utilizado na internet. 
Ele implementa o algoritmo de roteamento repasse pelo caminho inverso (RFP) com 
poda que funciona da seguinte forma: 
 » Quando o roteador recebe um pacote de difusão com determinado endereço 
de origem, o pacote é transmitido para os enlaces de saída excluindo o enlace 
que recebeu o pacote, somente se o pacote chegou por um enlace que está no 
próprio caminho individual mais curto deste roteador, ou seja, de menor valor.
Figura 42. Repasse pelo caminho inverso.
A
BC
D
E
F
G
Legenda: 
Pacote será repassado
Pacote não será repassado 
além do roteador receptor
Caminho de menor custo
Fonte: Adaptado de Kurose e Ross (2013). 
Para melhor compreensão, vamos analisar o exemplo da figura acima:
1. Roteador A faz uma transmissão por difusão para os nós B e C.
2. O nó B repassará os pacotes para os nós C e D, já que recebeu o pacote do nó A, 
que está em seu caminho de menor custo.
3. O nó B descartará sem repassar qualquer pacote de origem A que receba de C, 
pois o nó C não está em seu caminho de menor custo.
4. O nó C receberá o pacote de A que está em seu caminho de menor custo e 
repassará para os nós E, F e B. 
Outro exemplo de protocolo de roteamento de grupoé Protocol Independent Multicast 
(PIM), que apresenta dois cenários de distribuição para um grupo: 
 » Modo denso;
 » Modo esparso.
45
PROTOCOLOS DA CAMADA DE REDE (ROTEAMEnTO) • CAPÍTULO 2
O modo denso utiliza a técnica de caminho inverso apresentada acima. Neste modo, 
os membros do grupo multicast são densamente localizados. Ele utiliza as informações 
do protocolo unicast em uso na rede para determinar as rotas para cada fonte de 
dados multicast.
No modo esparso, o número de roteadores com membros do grupo é pequeno 
em relação ao número total de roteadores. Neste modo, os membros do grupo são 
amplamente dispersos. 
Sintetizando
Vimos até agora: 
 » As diferenças entre os algoritmos de roteamento. 
 » Os protocolos de roteamento na internet.
 » O roteamento por difusão. 
46
Introdução 
Neste capítulo, analisaremos as características e funcionalidades dos protocolos 
utilizados na camada de transporte. Começaremos nossa discussão analisando o 
protocolo UDP, suas principais funcionalidades e formato do segmento. Identificaremos 
os principais comandos socket, que é a interface de comunicação entre a camada 
de transporte e as aplicações. Finalizaremos a discussão sobre o protocolo UDP 
identificando o protocolo RTP utilizado para o transporte de fluxos de aplicação 
multimídia. 
Seguindo em nossa discussão, analisaremos os conceitos fundamentais e as 
funcionalidades do protocolo TCP que, por oferecer um serviço confiável e orientado 
à conexão, apresenta maior complexidade e controles que o protocolo UDP. Assim 
como o protocolo UDP enumeramos os principais comandos socket utilizados pelo 
protocolo, analisaremos o formato do seu segmento e discutiremos o modelo de 
conexão e o protocolo da janela deslizante. 
Finalizaremos nossa aula com a discussão do protocolo de controle de congestionamento 
implementado pelo TCP. 
Objetivos 
 » Identificar as principais funcionalidades do protocolo UDP. 
 » Identificar as principais funcionalidades do protocolo TCP. 
 » Compreender o controle de congestionamento. 
3
CAPÍTULO
PROTOCOLOS DA CAMADA DE 
TRAnSPORTE
47
PROTOCOLOS DA CAMADA DE TRAnSPORTE • CAPÍTULO 3
3.1 Protocolo UDP 
O protocolo User Datagram Protocol (UDP) oferece um serviço não orientado à 
conexão e não confiável descrito na RFC 768. Ele é um protocolo em que os processos 
envolvidos na comunicação não necessitam estabelecer uma comunicação previamente. 
Também não oferece garantias de que a mensagem chegará ao destino e nem na ordem 
correta. Diferentemente do protocolo TCP, ele não guarda informação de estado das 
conexões. É um protocolo bastante simples, consequentemente é mais rápido que o 
protocolo TCP. 
É indicado quando a aplicação necessita de mais velocidade e suporta baixa 
confiabilidade, ou seja, a perda de dados não representa um problema para a aplicação. 
Ou quando as aplicações não necessitam de controle ou possuem um grande fluxo de 
dados, sem necessidade de ordem de chegada e retransmissão dos segmentos enviados. 
Neste modelo, cada segmento UDP é completamente independente dos outros, 
não existindo envio ou recebimento de confirmação nem manutenção do estado da 
conexão entre origem e destino. Também não é implementado nenhum mecanismo 
de congestionamento, fluxo ou erros. O protocolo UDP é utilizado por aplicações de: 
 » Monitoramento;
 » Gerência;
 » Debugging;
 » Testes;
 » Broadcasting;
 » Multicast;
 » Multimídia tolerante a erros. 
Para que o serviço UDP seja implementado entre a origem e destino é necessário que 
ambos implementem uma interface de comunicação que permita que os programas 
possam estabelecer, usar e encerrar uma conexão. Esta interface é denominada de 
socket. Existem diferentes versões do software para Unix, Linux e Windows. Para 
Windows, o socket é implementado por Application Programming Interface (API) e 
é denominada de Winsock. 
Um socket possui um número de endereço IP, um número de porta associada e pode 
ser utilizado por várias conexões ao mesmo tempo se utilizado em uma aplicação do 
tipo “servidor”. 
48
CAPÍTULO 3 • PROTOCOLOS DA CAMADA DE TRAnSPORTE
Saiba mais
O Internet Assigned Numbers Authority (IANA) é o órgão que designa os números de porta para as aplicações. 
Existem diferentes classificações para as portas que variam de 0 a 65536: 
Tabela 7. Portas: classificação.
Classificação Intervalo Descrição
Portas muito 
conhecidas 0 a 1023
Reservadas para serviços e aplicativos comuns como, por exemplo, o HTTP 
(servidor web) e o SMTP (Simple Mail Transfer Protocol) 
Portas 
registradas
1024 a 
49151
Reservadas para processos ou aplicativos de usuário. São aplicativos individuais 
que um usuário escolheu desenvolver e instalar em vez de aplicativos comuns que 
receberiam uma porta muito conhecida
Portas dinâmicas 
ou privadas
49152 a 
65536
Reservadas para uso durante uma comunicação e designada de forma 
dinâmica quando o cliente inicia uma conexão a um serviço. É utilizada 
para identificar o aplicativo do cliente, enquanto o cliente usa a porta 
conhecida para identificar e estabelecer conexão com o serviço solicitado 
no servidor.
Fonte: Elaborada pela autora.
Existem portas específicas para o protocolo UDP e para o protocolo TCP. Para facilitar o endereçamento na 
camada de transporte, o IANA publicou uma lista com os números de porta das aplicações mais utilizadas. 
Disponível em: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.
xhtml. 
Figura 43. UDP: socket.
Primitiva Descrição
socket() Cria um ponto de comunicação
bind() Associa o socket a um endereço local e
uma porta
sendfrom() Transmite mensagens ao socket
recv() Recebe mensagens através do socket 
Close() Encerra uma conexão
Socket()
Sendfrom
recvfrom()
Close()
Cliente Socket()
Sendfrom()
recvfrom()
Servidor
Bind()
Close()
Fonte: Kurose e Ross (2013).
No protocolo UDP, o cliente não estabelece uma conexão com o servidor, ele apenas 
envia um segmento. O servidor não precisa aceitar uma conexão, ele apenas espera 
a chegada dos datagramas. 
49
PROTOCOLOS DA CAMADA DE TRAnSPORTE • CAPÍTULO 3
O protocolo UDP é um protocolo bastante simples, sendo caracterizado como um 
serviço não confiável e sem conexão: 
Figura 44. UDP: características.
Não garante que os datagramas enviados pela origem sejam entregues
com sucesso e também não garante a entrega na sequência;
Antes do envio dos datagramas, não existe qualquer comunicação prévia
entre origem e destino. Cada datagrama é tratado de forma individual e
independente, o caminho é resultado do processo de roteamento.
Fonte: Kurose e Ross (2013).
O segmento UDP é dividido em duas partes:
 » Cabeçalho: contém informações de controle específicas do protocolo UDP;
 » Dados: encapsulam informações de protocolos da camada de aplicação.
O cabeçalho é composto de quatro campos de 2 bytes: 
Figura 45. Protocolo UDP: campos.
N. porta origem N. porta
destino
Dados da aplicação (mensagem)
Comprimento Soma de 
verificação
Cabeçalho 8 bytes 
Fonte: Kurose e Ross (2013).
Os campos porta de origem e destino são utilizados na multiplexação e demultiplexação, 
conforme já analisamos, para identificar qual aplicação deverá receber o segmento. O 
campo comprimento especifica em bytes o tamanho do campo de dados da aplicação, 
já que esses dados podem ter tamanho variável de um segmento para outro.
 O campo soma de verificação é utilizado pelo host destino para verificar se ocorreu 
erro na transmissão entre a origem e o destino. O objetivo deste campo é detectar erro 
no segmento transmitido, como, por exemplo, bits invertidos. Apesar de o protocolo 
UDP fornecer a verificação de erros, ele não implementa mecanismo de recuperação 
do erro.
50
CAPÍTULO 3 • PROTOCOLOS DA CAMADA DE TRAnSPORTE
3.2 Protocolo TCP 
O protocolo Transmission Control Protocol ( TCP) é um protocolo orientado à conexão 
confiável utilizado entre dois hosts ou hospedeiros. Isto é, é orientado à conexão, 
pois é necessárioo estabelecimento de conexão entre emissor e receptor antes de 
enviar um pacote TCP. Esta conexão, seus parâmetros e estados estão localizados 
inteiramente nos sistemas finais. Os roteadores e demais elementos da rede não têm 
conhecimento dessa conexão e da camada de transporte.
O TCP é confiável, pois se um pacote não for entregue, ele é retransmitido, isto é, faz 
a entrega dos segmentos em ordem e sem erros. 
Ele oferece também um mecanismo de controle de congestionamento que limita a 
capacidade de transmissão de um processo, seja ele cliente ou servidor, quando a 
rede está congestionada entre a origem e o destino.
 Para implementar um serviço de transferência confiável e para manter o controle 
de congestionamento, o protocolo TCP mantém o estado da conexão nos sistemas 
finais. Este estado inclui a utilização de buffers de envio e recebimento e parâmetros 
de controle, sequência e de reconhecimento. 
O TCP oferece ainda um serviço full-duplex e conexão ponto a ponto. Neste caso, os 
dados da aplicação da máquina de origem podem ser transmitidos ao mesmo tempo 
em que a máquina de destino também transmite para a origem. 
Segundo Tanenbaum e Wetherall (2011), o fluxo de dados proveniente das aplicações 
na origem é dividido em partes de até 64Kb enviadas através de diferentes datagramas 
IP. Na máquina destino elas são remontadas no fluxo de bytes original através do 
protocolo TCP. 
Como a camada de IP não oferece nenhuma garantia de que os datagramas serão 
entregues da forma e na velocidade apropriadas, cabe à camada de transporte oferecer 
o desempenho e a confiabilidade necessárias. 
Agora que compreendemos os fundamentos do protocolo TCP, vamos analisar suas 
principais funcionalidades: 
51
PROTOCOLOS DA CAMADA DE TRAnSPORTE • CAPÍTULO 3
Figura 46. TCP: funcionalidades.
Modelo de serviço
Estrutura do segmento 
Estabelecimento de conexão
Protocolo de janela deslizante
Gerenciamento de contadores
Fonte: Elaborada pela autora.
Assim como o protocolo UDP, o protocolo TCP também implementa sockets na 
comunicação fim a fim com a diferença que é permitido que origem e destino 
implementem uma interface de comunicação onde os programas possam estabelecer, 
usar e encerrar uma conexão. 
Figura 47. Comunicação TCP.
Enlace
Rede
Física
Destino
Comunicação ponto a ponto 
Full-duplex
TCP com
buffers, 
variáveis 
socket
Origem
Internet
Processo
Enlace
Rede
Física
Controlado pelo 
desenvolvedor 
da aplicação
Controlado pelo 
sistema 
operacional
Processo
socket
TCP com 
buffers, 
variáveis 
Fonte: Adaptado de Kurose e Ross (2013).
52
CAPÍTULO 3 • PROTOCOLOS DA CAMADA DE TRAnSPORTE
Quando uma aplicação repassa os dados para a camada de transporte, ele pode 
enviá-los diretamente ou armazená-los em um buffer para envio posterior. A 
tabela abaixo lista os comandos socket e apresenta os comandos do lado cliente 
e lado servidor: 
Tabela 8. Lista de comandos Socket TCP.
Primitiva Descrição
socket() Cria um ponto de comunicação
bind() Associa o socket a um endereço local e
uma porta
listen() Anuncia a disposição para aceitar 
conexões e mostra o tamanho da fila 
accept() Bloqueia o responsável pela chamada 
até uma tentativa de conexão ser 
recebida
connect() Tenta estabelecer uma conexão 
ativamente
send() Transmite mensagens ao socket
recv() Recebe mensagens por meio do socket 
Close() Encerra uma conexão
Socket()
Connect()
Send()
recv()
Close()
Cliente Socket()
Listen()
Send()
recv()
Close()
Servidor
Bind()
accept()
Fonte: Kurose e Ross (2013).
As entidades da camada de transporte trocam informações através de segmentos. Um 
segmento TCP possui um cabeçalho fixo de 20 bytes e seguido de zero ou mais bytes 
de dados. A estrutura de um segmento TCP é dividida em duas partes: 
 » um cabeçalho;
 » um campo denominado carga útil, que contém os dados encapsulados da camada 
de aplicação. 
O software TCP é quem decide o tamanho do segmento, entretanto ele deve caber no 
campo carga útil do protocolo IP, que é de 65.515 bytes. Vale ressaltar que cada enlace 
possui uma unidade máxima de transferência, também conhecida como Maximum 
Transfer Unit (MTU). 
Segundo Tanenbaum e Wetherall (2011), cada segmento da camada de transporte deve 
caber no MTU do transmissor e receptor sem fragmentação. O MTU normalmente 
utilizado é 1.500 bytes, pois representa a carga útil do protocolo de camada de enlace 
Ethernet. Outro ponto de atenção é sobre a possibilidade de fragmentação na camada 
de IP, já que os pacotes podem trafegar por algum caminho de rede em que o enlace 
tenha uma MTU pequena. 
53
PROTOCOLOS DA CAMADA DE TRAnSPORTE • CAPÍTULO 3
Tabela 9. Estrutura segmento TCP.
C
ab
eç
al
ho
N. porta origem N. porta destino
N. Sequência N. Reconhecimento
Dados 
Comp. Cabeçalho Não utilizado Janela de recepção
Soma de verificação da Internet Ponteiro de Urgência
Opções
C
ar
ga
 ú
til
Flag
Fonte: Kurose e Ross (2013).
O cabeçalho é composto pelos seguintes campos: 
 » N. da porta TCP de origem e N. da porta TCP de destino: campo utilizado para 
a multiplexação e demultiplexação na camada de transporte. As portas podem 
variar de 1 a 65535. 
 » Número de sequência e Número de reconhecimento (acknowledgment): são 
utilizados na execução de um serviço confiável. O número de sequência é o 
número do pacote sendo transmitido. O número de reconhecimento é o número 
de sequência do último pacote recebido acrescido de 1, ou seja, do próximo byte 
esperado pelo destino. 
 » Comprimento do cabeçalho: especifica o comprimento do cabeçalho (em 
palavras de 32 bits)
 » Flag: contém 6 bits:
 › SYN (Synchronize): é utilizado na sincronização de números de sequência, 
no estabelecimento e encerramento da conexão; 
 › FIN (Finalize): é utilizado para término de conexão; 
 › ACK (Acknowledgment): confirmação de recebimento;
 › URG (Urgent): utilizado para indicar dados marcados com urgência pelo 
remetente. A localização do último byte de urgência é dada pelo campo 
“ponteiro de urgência”; 
 › PSH (Push): utilizado para indicar que o receptor deve passar os dados 
recebidos para a aplicação; 
 › RST (Reset): utilizado para indicar a solicitação de reset da conexão. 
Normalmente é enviado após o recebimento de um pacote que aparentemente 
não satisfaz o número de sequência esperado.
54
CAPÍTULO 3 • PROTOCOLOS DA CAMADA DE TRAnSPORTE
 » de recepção: indica o número de bytes que um destinatário está disposto a 
aceitar. É utilizado no controle de fluxo. 
 » Soma de verificação: indica ao remetente se ocorreu erro na transmissão do 
segmento.
 » Ponteiro de urgência: indica a localização do último byte de urgência. É utilizado 
em conjunto com o bit URG. 
 » Opções: é um campo opcional e de tamanho variável, utilizado quando a origem 
e o destino negociam o tamanho do MSS (Maximum Segment Size), ou seja, o 
tamanho máximo do segmento. 
Para que cliente e servidor possam se comunicar usando TCP, eles precisam 
primeiramente estabelecer uma conexão entre a origem e o destino que é composta 
pelos seguintes passos: 
 » Cliente escolhe uma porta de origem;
 » Servidor aloca buffers e variáveis à conexão;
 » Estabelecimento da conexão pela apresentação de três vias (three-Way Handshake).
A “apresentação de três vias” ou three-way handshake é utilizada no início e na 
finalização de uma conexão. Ela ocorre por meio dos seguintes passos: 
5. cliente enviando ao servidor um segmento TCP especial com o bit “SYN” habilitado 
(igual a 1) com uma solicitação de conexão;
6. servidor responde com o segmento TCP especial com o bit SYN e o bit ACK habilitados;
7. cliente responde ao servidor com outro segmento TCP com o bit ACK habilitado. 
Figura 48. TCP: Three-way handshake.
TCP 
Enlace 
Aplicação 
Rede 
Física 
Servidor
TCP 
Aplicação
Host A 
Internet 
Apresentação de três vias 
three-way handshake
SYN
SYN +
ACK
Dados
Enlace 
Rede
Física 
Fonte: Elaborada pela autora.
55
PROTOCOLOS DA CAMADA DE TRAnSPORTE

Outros materiais