Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

REDES DE COMPUTADORES 
AULA 4 
 
 
 
 
 
 
 
 
 
Prof. Luis José Rohling 
 
 
 
 
2 
CONVERSA INICIAL 
Conforme vimos em nossas aulas anteriores, para a definição das 
atribuições de cada um dos protocolos utilizados no processo de comunicação 
entre os dispositivos terminais em uma rede dados, temos dois modelos que 
dividem esses protocolos em camadas. Eles são o modelo TCP/IP, publicado 
pelo IETF, e o modelo OSI, publicado pela ISO, cuja correspondência entre as 
suas camadas é mostrada na figura a seguir. 
Figura 1 – Os modelos OSI e TCP/IP 
 
Fonte: Rohling, 2021. 
Em nossa aula passada, abordamos as duas camadas inferiores do 
modelo OSI, que são as camadas físicas e de enlace de dados, apresentando 
as principais características dos cabos de cobre e as fibras ópticas, que são 
utilizados para a implementação da infraestrutura das redes. Também foi 
abordado o principal protocolo empregado nas redes LAN, na camada de enlace 
de dados, que é o protocolo Ethernet. 
Além disso, se utilizarmos como referência o modelo TCP/IP, o protocolo 
Ethernet é a solução adotada para a camada de Acesso ao meio, pois os 
padrões Ethernet também definem as características e requisitos dos meios 
físicos, pois pode ser utilizado em redes com cabos de par trançado, com fibras 
ópticas ou até em redes sem fio, com o padrão WiFi. 
APRESENTAÇÃO 
APLICAÇÃO 
SESSÃO 
REDE 
TRANSPORTE 
ENLACE DE DADOS 
FÍSICA 
6 
7 
5 
3 
4 
2 
1 
ACESSO AO 
MEIO 
INTERNET 
TRANSPORTE 
APLICAÇÃO 
Modelo OSI Modelo TCP/IP 
 
 
3 
Assim, uma das funções do protocolo de camada de enlace é realizar o 
controle de acesso ao meio, estabelecendo as regras de transmissão dos bits no 
meio físico. E, para isto, o protocolo Ethernet utiliza o mecanismo chamado de 
CSMA/CD, conforme visto em nossa aula anterior. 
Porém, o protocolo de camada de enlace deve também fazer a interface 
com a camada superior, que é a camada de rede, no modelo OSI, ou a camada 
de Internet, no modelo TCP/IP. Inclusive, para identificar qual é o conteúdo dos 
quadros enviados através da rede LAN, o protocolo Ethernet insere um campo 
com o código binário que identifica os diversos protocolos de camada de rede 
que podem trafegar pelas redes de dados. 
Além do protocolo Ethernet, temos diversos outros protocolos 
empregados na camada de enlace de dados, nas redes WAN, tais como os 
protocolos utilizados nas redes de acesso à Internet, tais como o ADSL e o 
GPON. Assim, esses protocolos também devem ser conhecidos pelos 
profissionais que irão atuar nos provedores de acesso à Internet, além do 
protocolo Ethernet. Mas como o nosso foco são as redes LAN, não abordaremos 
esses outros protocolos de camada de enlace em nossa disciplina. 
Considerando os modelos em camadas, para que possamos entender o 
processo de comunicação nas redes de dados, é necessário conhecermos as 
atribuições de cada uma das camadas, desde a camada física, até a camada de 
aplicação. Inclusive, é na camada de aplicação que ocorre efetivamente a 
interação do usuário com as aplicações, as quais utilizarão a rede para a 
comunicação, tipicamente no modelo cliente/servidor. 
Assim, nesta aula, estudaremos as principais características das próximas 
duas camadas do modelo OSI, que são as camadas de rede e de transporte, 
que equivalem às camadas de Internet e de transporte do modelo TCP/IP. E 
como nosso objetivo é o entendimento das atribuições de cada camada, 
estudaremos as principais características dessas camadas, aprofundando os 
detalhes do protocolo IP, nas versões IPv4 e IPv6, em nossa próxima aula. 
 
 
4 
TEMA 1 – A CAMADA DE REDE 
No modelo OSI, a camada que está posicionada acima da camada de 
enlace de dados, e que é identificada como camada três, é a camada de Rede, 
que equivale exatamente à camada chamada de camada de Internet no modelo 
TCP/IP. Portanto, temos as mesmas atribuições para os protocolos dessa 
camada, seja no modelo TCP/IP, seja no modelo OSI. E as funções que deverão 
ser executadas pelos protocolos que operam na camada de rede são: 
• Processamento da comunicação ponta a ponta; 
• Endereçamento dos dispositivos finais; 
• Encapsulamento e desencapsulamento; 
• Roteamento. 
Uma das diferenças entre os dois modelos em camadas é que o modelo 
TCP/IP também descreve alguns protocolos que poderão ser utilizados nas 
diversas camadas, e o modelo OSI apenas descreva as atribuições de cada 
camada. Assim, o IETF, que definiu o modelo TCP/IP, também publicou alguns 
protocolos que irão operar na camada de Internet, sendo o principal protocolo é 
o Protocolo Internet, mais conhecido pela sua abreviação, que é o IP, que 
significa Internet Protocol. 
E o protocolo IP é utilizado atualmente em duas versões, que são a versão 
4, que é o IPv4, e a versão 6, que é o IPv6. Portanto, as funções desses dois 
protocolos são as mesmas, pois ambos operam na mesma camada, porém, a 
diferença entre eles será o modo como as funções são executadas. Por exemplo, 
para o processo de endereçamento, teremos um tamanho de endereço diferente 
para cada uma das versões, sendo que o IPv4 utiliza um identificador de 32 bits 
e o IPv6 um identificador de 128 bits, o que leva a uma grande diferença na 
capacidade de endereçamento de cada uma das duas versões do protocolo IP. 
1.1 Comunicação ponta a ponta 
Uma das atribuições do protocolo de camada de rede é o estabelecimento 
da comunicação ponta a ponta, ou seja, da comunicação entre os dois 
dispositivos terminais, nos quais teremos a execução das aplicações que 
permitirão a troca de dados. 
 
 
5 
No protocolo de enlace, visto na aula anterior, tínhamos o 
estabelecimento da comunicação entre os dispositivos, mas apenas dentro da 
rede LAN. Assim, os dados eram novamente encapsulados em outro protocolo 
da camada de enlace, para então serem enviados para a internet. Ou seja, temos 
a troca do protocolo de camada dois, em função das tecnologias de rede 
empregadas na rede WAN, ao longo da rede, desde o cliente até o servidor, em 
uma comunicação WEB, por exemplo. 
Figura 2 – Diversos protocolos de camada de enlace 
 
Fonte: Rohling. 
Na figura anterior, temos o exemplo da comunicação entre o cliente e o 
servidor WEB através da rede WAN. No processo de comunicação através do 
protocolo de camada de rede, que nesse exemplo é o protocolo IP, temos a 
montagem dos pacotes IP, que serão enviados entre o cliente e o servidor, em 
um processo de comunicação bidirecional. 
Os pacotes IP montados pelos equipamentos terminais da rede, que são 
o computador do usuário e o servidor WEB, serão encaminhados nas suas 
respectivas redes locais, que, no exemplo, são implementadas com a utilização 
de um switch Ethernet. Assim, os pacotes IP deverão ser encapsulados em 
quadros Ethernet, conforme visto em nossa aula anterior, para serem enviados 
para o switch, que em cada uma das redes LAN, fará o encaminhamento dos 
quadros para o roteador local, fazendo a conexão da rede LAN com a rede WAN. 
Pacote IP 
Cliente 
Servidor 
WEB 
 
 
6 
Ao receber o quadro Ethernet, o Roteador deverá então encaminhar o 
pacote IP para o próximo roteador na Internet. E para realizar esse 
encaminhamento, o roteador deverá montar um quadro de camada de enlace, 
de acordo com o protocolo utilizado na comunicação com o próximo roteador, 
que provavelmente não mais será o protocolo Ethernet. 
Assim, na figura do exemplo anterior, temos a indicação de que está 
sendo utilizado um protocolo diferente, nas duas conexões de WAN, com os 
pacotes sendo representados com cores diferentes. Porém, dentro dos quadros, 
seja na rede LAN ou na rede WAN, termos sempre a mesma estrutura, ou seja, 
o mesmo pacote IP. 
Ou seja, o protocolo IP é que estabelecerá a comunicação ponta a ponta, 
ou também designada como comunicação fim a fim, pois a estrutura de dados 
contida no pacote IP será enviada através da rede, mantendo-se inalteradaao 
longo do caminho. 
1.2 Endereçamento dos dispositivos finais 
Outra funcionalidade implementada pelos protocolos que operam na 
camada de rede é o endereçamento dos dispositivos finais, pra que seja possível 
o processo de comunicação fim a fim, conforme visto no item anterior. Assim, 
por exemplo, o protocolo IP irá acrescentar essa informação ao conteúdo do 
pacote que será enviado através da rede. E o tamanho desse campo de 
endereço é que determinará a capacidade de endereçamento do protocolo, ou 
seja, da quantidade de endereços que poderão ser utilizados. 
Em nossa aula anterior, vimos o protocolo Ethernet, que opera na camada 
de enlace de dados, que insere no seu cabeçalho um endereço de 48 bits, que 
é o endereço MAC. Porém, como a informação do protocolo Ethernet é utilizada 
apenas na rede LAN, que opera com esse protocolo, não seria possível 
identificar o destinatário das mensagens em outras redes, pois esse endereço 
tem apenas significado local. Desta forma, é inserido um endereço de camada 
de rede, que será encaminhado junto com o pacote, para todos os demais 
dispositivos de rede, até o destinatário final. 
E, da mesma forma que o protocolo Ethernet, o protocolo IP inserirá os 
endereços de origem e de destino no cabeçalho dos pacotes, de modo que 
possam ser identificados o remetente e o destinatário das mensagens, 
 
 
7 
atendendo ao requisito básico do processo de comunicação, sendo o tamanho 
do endereço uma das diferenças entre os protocolos IPv4 e IPv6. 
E essa mudança no tamanho do endereço ocorreu em função da 
expansão da rede, sendo que, quando foi definido o padrão do protocolo IPv4, 
acreditava-se que um identificador de 32 bits, que era o endereço IP, seria 
suficiente para endereçar todos os dispositivos que seriam conectados na rede. 
Porém, com o crescimento da Internet, foi necessária a mudança do tamanho do 
identificador dos terminais, sendo alterado para 128 bits na nova versão do 
protocolo IP, que é o IPv6. 
Assim, uma das motivações para a migração do protocolo de rede, para 
o IPv6, é a possibilidade de conexão de todos os terminais com identificadores 
válidos, o que não ocorre atualmente com o IPv4, sendo utilizado um mecanismo 
de troca de endereços ao longo do caminho de rede, chamado de NAT. 
Portanto, para que ocorra a comunicação em uma rede de dados, será 
necessário então que cada terminal possua um identificador exclusivo, na 
camada de rede, sendo que esse identificador deverá ser atribuído aos terminais, 
em função do endereçamento de cada rede, por meio de uma configuração 
manual ou automática, conforme veremos adiante. 
1.3 Encapsulamento e desencapsulamento 
Para a camada de rede, temos como unidade de transporte a estrutura de 
comunicação identificada como o pacote, que é o PDU de camada quatro. Ou 
seja, a estrutura que contém os dados transmitidos por meio da internet, que 
opera baseada no protocolo IP, são os pacotes IP. 
Portanto, uma das atribuições do protocolo de camada de rede é a 
montagem dos pacotes, no terminal do remetente das mensagens, 
acrescentando as informações da camada de rede aos segmentos recebidos da 
camada de transporte. As informações acrescidas pela camada de rede estão 
contidas no cabeçalho, inserido na parte inicial do pacote, conforme mostrado 
na figura a seguir. 
 
 
 
8 
Figura 3 – Encapsulamento na camada de rede 
 
Fonte: Rohling. 
Após a montagem do pacote pelo terminal do remetente, ele é transmitido 
através da rede até o destinatário da mensagem. Ao ser recebido pelo 
destinatário, é realizado o processo de desencapsulamento, em que o conteúdo 
do pacote, que é a unidade de dados chamada de segmento, é encaminhado 
para a camada superior, que é a camada de transporte. 
1.4 Roteamento 
Para que os pacotes da camada de rede sejam encaminhados através da 
rede até o destinatário, é necessário que os dispositivos intermediários de rede 
realizem esse processo de maneira adequada, ou seja, que recebam e 
encaminhem os pacotes para o dispositivo intermediário de rede correto. E esse 
processo de encaminhamento dos pacotes nas redes de dados é chamado de 
roteamento. 
Os dispositivos intermediários de rede que realizam esse 
encaminhamento de pacotes são os roteadores, que operam baseados nas 
informações dos pacotes recebidos, que são os endereços de rede. Assim, ao 
receber um pacote, o roteador analisará o endereço de destino contido no 
cabeçalho do pacote e identificará qual será a interface por onde o pacote deverá 
ser encaminhado para que possa chegar ao destinatário. 
Por exemplo, a conexão da sua rede LAN com a Internet é feita através 
de um roteador, que identificará todas as solicitações recebidas da rede interna, 
Camada de 
Transporte 
SEGMENTO 
CABEÇALHO 
DE PACOTE 
SEGMENTO 
Camada de 
Rede 
Pacote 
 
 
9 
para dispositivos na rede externa, realizando o encaminhamento para a rede 
WAN. 
Assim, ao receber um pacote vindo da rede interna, ou externa, o roteador 
examinará o endereço de destino do pacote e, caso o endereço pertença à rede 
interna, ele encaminhará o pacote através da interface LAN, ou wireless, e caso 
o endereço de destino não pertença à rede interna, ele encaminhará o pacote 
através da interface de conexão com a Internet, que poderá ser uma interface 
óptica ou cabo telefônico, de acordo com a tecnologia de acesso utilizada pelo 
seu provedor de acesso. 
E para que possam tomar a decisão de encaminhamento, ou seja, definir 
por qual interfaces os pacotes serão encaminhados, os roteadores mantêm uma 
tabela com as informações das redes, associadas com as interfaces deste, 
chamadas de tabela de roteamento, que será vista com mais detalhes em nossas 
próximas aulas. 
TEMA 2 – A CAMADA DE TRANSPORTE 
A camada que fica localizada acima da camada de rede, vista no tema 
anterior, é a camada de transporte, que possui a mesma identificação, tanto no 
modelo OSI, quanto no modelo TCP/IP, possuindo as mesmas atribuições nos 
dois modelos. 
Figura 4 – A camada de Transporte 
 
Fonte: Rohling. 
APRESENTAÇÃO 
APLICAÇÃO 
SESSÃO 
REDE 
TRANSPORTE 
ENLACE DE DADOS 
FÍSICA 
6 
7 
5 
3 
4 
2 
1 
ACESSO AO 
MEIO 
INTERNET 
TRANSPORTE 
APLICAÇÃO 
Modelo OSI Modelo TCP/IP 
 
 
10 
E as principais atribuições da Camada de Transporte são: 
• Estabelecer as sessões de comunicação, de maneira temporária, entre as 
aplicações, permitindo a transferência de dados entre essas sessões. 
• Estabelecer o processo de conexão, realizando o controle de fluxo. 
• Realizar a multiplexação das conversas das camadas superiores. 
• Identificar as conversas e aplicações da camada superior. 
• Segmentar os dados recebidos da camada superior. 
Assim, temos algumas diferenças nas funções da camada de transporte, 
no processo de comunicação das redes de dados, em relação às camadas 
inferiores, pois podemos ter várias aplicações sendo executadas 
simultaneamente em um computador ou servidor. Assim, a camada de 
transporte deverá ter a capacidade de tratar diversas demandas vindas da 
camada superior, encaminhando os segmentos, que contém os dados das 
aplicações, para a camada de rede. 
2.1 Multiplexação das conversas 
Como podemos ter várias aplicações sendo executadas no terminal de 
usuário, que podem necessitar da comunicação de dados por meio da rede, 
podemos então ter a demanda do uso da rede por mais de uma aplicação 
simultaneamente. Assim, o protocolo de camada de transporte deverá atender 
todas essas aplicações, criando as unidades de transporte, que são os 
segmentos, para cada uma delas, conforme mostrado na figura a seguir. 
 
 
 
11 
Figura 5 – A multiplexação na Camada de Transporte 
 
Fonte: Rohling. 
Como o processo de comunicação é, normalmente, bidirecional, é 
necessário que os segmentos de cada aplicação sejam identificados para que 
as respostas recebidas sejam encaminhadas corretamente para as aplicaçõesque estão aguardando essas respostas. 
Assim, na camada de transporte, também é necessária a inclusão de um 
identificador, que permitirá a identificação de qual aplicação está relacionada 
com os segmentos enviados e recebidos. E esse identificador é chamado de 
número de porta, que irá atribuir um valor binário para cada uma das aplicações 
da camada superior, que estejam utilizando o processo de comunicação através 
da rede de dados. 
2.2 Segmentação 
A camada de transporte deverá realizar a interface entre as aplicações e 
a camada de rede e, assim, adequar os dados a serem transmitidos, de acordo 
com a demanda das aplicações, para que possam ser encapsulados 
corretamente pelo protocolo de camada de rede. 
E uma das características associadas a esse processo de 
encapsulamento é o tamanho do conteúdo da carga nesses pacotes, o que 
dependerá do protocolo que está sendo utilizado na camada de rede. Com isso, 
o protocolo de camada de rede deverá conhecer qual é o tamanho máximo e 
Aplicação 
1 
Aplicação 
2 
Aplicação 
3 
 
Camada de Transporte 
Segmento Segmento Segmento 
 
 
12 
realizar a divisão dos dados, vindos da camada superior, de acordo com esse 
limite, o que é chamado de segmentação. 
Na figura a seguir, temos o exemplo desse processo de segmentação, em 
que a aplicação demanda uma quantidade maior de dados a serem transmitidos 
do que o tamanho máximo que pode ser inserido nos pacotes. Assim, a camada 
de transporte divide os dados em segmento, que são então encaminhados para 
a camada de rede, no qual serão gerados os pacotes, sendo um para cada 
segmento. 
Figura 6 – O processo de segmentação 
 
Fonte: Rohling. 
Desta forma, as aplicações não serão impactadas pelas limitações das 
camadas inferiores, pois a camada de transporte é que fará essa adequação 
para que o processo de comunicação ocorra. Ou seja, o processo de 
comunicação das aplicações será independente do protocolo de rede, pois o 
protocolo de transporte é que fará os ajustes necessários para que a 
comunicação ocorra. Inclusive, este é o principal objetivo do modelo em 
camadas: a independência dos protocolos em relação às demais camadas. 
 
Camada de 
Transporte 
SEGMENTO 
1 
Camada 
de Rede 
Pacote1 
DADOS 
Camada de 
Aplicação 
SEGMENTO 
2
SEGMENTO 
3 
SEGMENTO 
1 
SEGMENTO 
2 
SEGMENTO 
3 
Pacote2 Pacote3 
 
 
13 
2.3 Controle de fluxo e confiabilidade 
Uma das principais atribuições da camada de transporte é o controle de 
fluxo, que consiste no acompanhamento do processo de envio e recebimento 
dos segmentos, ajustando a velocidade de envio em função do desempenho da 
rede. 
Para realizar essa tarefa, é necessário então o processo de contabilização 
dos segmentos enviados e recebidos, verificando a quantidade de segmentos 
que não foram entregues. Essa perda de pacotes na rede indica que, 
provavelmente, existe um congestionamento em algum ponto da rede, levando 
ao descarte de pacotes. Assim, a camada de transporte deverá diminuir a taxa 
de envio dos segmentos, para evitar o descarte. 
Figura 7 – O controle de fluxo 
 
Fonte: Rohling. 
Outra função da camada de transporte é garantir a confiabilidade do 
processo de comunicação. E, para isto, o mecanismo básico consiste no reenvio 
dos segmentos que foram eventualmente descartados, de forma que a aplicação 
nem perceberá essa perda de pacotes. Para essa perda, o mecanismo básico é 
a inclusão de um identificador sequencial dos segmentos, permitindo que o 
destinatário dos pacotes realize a conferência dos segmentos recebidos. Caso 
seja detectada a perda de pacotes, o destinatário poderá solicitar para o 
Diminuição da taxa de transmissão 
Pacote 
descartado 
 
 
14 
remetente a retransmissão, garantindo a confiabilidade do processo de 
comunicação. 
Figura 8 – O reenvio de pacotes 
 
Fonte: Rohling. 
TEMA 3 – OS PROTOCOLOS IETF 
Para implementar as funcionalidades da camada de transporte, temos 
dois protocolos que foram publicados pelo IETF, que são o protocolo TCP e o 
protocolo UDP. E temos várias diferenças entre esses dois protocolos, sendo 
que o protocolo UDP opera de maneira mais simples, apresentando menos 
recursos do que o protocolo TCP. 
Uma das diferenças é quanto ao mecanismo de confiabilidade, sendo que 
o protocolo TCP possibilita a confirmação da entrega de pacotes e o protocolo 
UDP não possui esse recurso. Para garantir a confiabilidade o protocolo TCP, 
utiliza o processo de numeração e rastreamento dos segmentos transmitidos, 
com a confirmação dos dados recebidos e retransmissão dos dados não 
confirmados após determinado período. 
 
Reenvio de pacote 
Solicitação de retransmissão 
Pacote 
descartado 
 
 
15 
Figura 9 – Os protocolos de transporte 
 
Fonte: Rohling. 
Já o protocolo UDP oferece as funções básicas para entrega de 
segmentos de dados entre as aplicações, apresentando uma baixa sobrecarga 
no processo de comunicação na rede de dados, sendo o protocolo mais 
adequado para aplicações que não exigem confiabilidade. 
Além disso, o protocolo TCP é chamado de stateful, pois, no processo de 
comunicação, é estabelecida uma sessão de comunicação entre os terminais, 
antes do envio dos segmentos. 
3.1 O cabeçalho TCP 
Para implementar as funções da camada de transporte, o protocolo TCP 
irá acrescentar as informações necessárias para esses processos e que serão 
inseridas no cabeçalho dos segmentos montados nessa camada. E esse 
cabeçalho terá um tamanho total de 20 bytes. Desta forma, para cada segmento 
gerado, a partir da divisão dos dados da camada de aplicação, será acrescido 
um cabeçalho de 20 bytes. 
E os principais campos presentes no cabeçalho dos segmentos TCP são: 
• Porta de origem e porta de destino 
• Números de sequência e de confirmação 
• Bits de controle 
ACESSO AO 
MEIO 
IP 
TCP/UDP 
APLICAÇÃO 
Modelo TCP/IP 
 
 
16 
• Tamanho de janela 
Figura 10 – O cabeçalho TCP 
 
Fonte: Rohling. 
A estrutura do cabeçalho é representada no formato mostrado na figura 
para uma melhor compreensão, porém, na estrutura real dos quadros, esses 
campos estão colocados em sequência, conforme mostrado a seguir. E devemos 
nos lembrar ainda que para cada segmento gerado pela divisão da quantidade 
total de dados, recebidos da camada de aplicação, será acrescentado um 
cabeçalho para que sejam, então, encapsulados nos pacotes da camada de 
rede. 
 
Porta de origem Porta de destino 
Número de sequência 
Número de confirmação 
Flags Janela 
Checksum Urgente 
 
20 bytes 
 
 
17 
Figura 11 – O segmento TCP 
 
Fonte: Rohling. 
3.2 O cabeçalho UDP 
Como o protocolo UDP é utilizado em aplicações que não exigem que a 
confiabilidade seja implementada na camada de transporte, o cabeçalho do 
protocolo UDP é menor do que o cabeçalho do protocolo TCP, contendo menos 
campos, conforme mostrado a seguir. 
Figura 12 – O cabeçalho UDP 
 
Fonte: Rohling. 
Assim como no protocolo TCP, esse cabeçalho será acrescido a cada um 
dos segmentos, gerados pela divisão dos dados recebidos da camada superior. 
E como esse cabeçalho é menor do que o do TCP, é dito que o protocolo UDP 
DADOS #1 
DADOS 
Camada de 
aplicação 
Segmentação 
dos dados 
DADOS #n 
Cabeçalho 
TCP 
DADOS 
. . . 
Segmento TCP = dados + 
cabeçalho TCP 
20 bytes 
Porta de Origem Porta de Destino 
Comprimento Checksum 
8 bytes 
 
 
18 
gera uma menor sobrecarga, pois acrescenta uma menor quantidade de bytes 
aos dados efetivamente úteis, gerados pelas aplicações. 
O outro campo que não está presente no cabeçalho do protocolo UDP são 
os números de sequência e de confirmação, de forma que o protocolo UDP não 
garantirá a confiabilidade do processo de comunicação. Assim, o processo de 
confiabilidade deverá ser implementado pela aplicação, caso seja utilizado o 
protocolo UDP na camada de transporte. 
Uma das aplicações que utiliza o protocolo UDP na camada de transporteé a transmissão de vídeo em tempo real, pois, nesse caso, temos um grande 
volume de dados a serem transmitidos, e o processo de comunicação deverá 
apresentar o menor atraso possível. Assim, como o UDP irá acrescentar apenas 
8 bytes a cada segmento de dados, que são as amostras do sinal de vídeo 
digitalizadas, e a aplicação gera uma alta taxa de dados, quanto menor a 
quantidade de bytes dos cabeçalhos, menor será a largura de banda ocupada 
pela transmissão. 
E como temos poucos campos a serem gerados na camada de transporte, 
menor será o tempo necessário para gerar esse cabeçalho, o que contribui 
também para melhorar a qualidade da comunicação, apresentando um menor 
atraso no processamento dos dados. 
TEMA 4 – O PROTOCOLO TCP 
O protocolo TCP deverá, então, executar as tarefas da camada de 
transporte, que são a multiplexação das aplicações das camadas superiores, 
garantir a confiabilidade do processo de comunicação e realizar o controle de 
fluxo. 
Para executar essas diversas tarefas, são inseridos diversos campos no 
cabeçalho do protocolo TCP, conforme visto no tema anterior. E além dos 
campos inseridos no cabeçalho, é necessário que esses valores sejam gerados 
corretamente, de acordo com a sua finalidade, para que permitam que o 
protocolo TCP possa realizar efetivamente as suas atribuições. Assim, neste 
tema, veremos como esses campos permitirão a implementação dessas 
funcionalidades e, em nosso próximo tema, estudaremos a operação do 
protocolo TCP, com o estabelecimento e acompanhamento das sessões de 
comunicação em uma rede de dados. 
 
 
 
19 
4.1 A multiplexação 
Conforme vimos anteriormente, quando estamos utilizando a Internet, 
normalmente temos vários aplicativos sendo utilizados simultaneamente, tais 
como as diversas abas do navegador, realizando o acesso aos diversos 
servidores WEB, bem como outras aplicações específicas, tais como servidores 
de jogos e de aplicações corporativas. 
Porém, todas as comunicações geradas por essas aplicações utilizarão a 
mesma camada de rede, ou seja, o mesmo endereço IP de nosso computador 
para identificar os pacotes. Assim, será atribuição da camada de transporte 
realizar o gerenciamento desses diversos processo de comunicação, gerados 
pelas aplicações que estão sendo executadas nas camadas superiores, para 
que as respostas depois possam ser entregues às aplicações corretas. Esse 
processo é chamado de multiplexação das conversas de camada superior. 
Portanto, será necessária a inserção de um valor no cabeçalho do 
protocolo TCP que identifique essas aplicações, tanto no lado do cliente quanto 
no lado do servidor, pois um servidor poderá também executar diversas 
aplicações. E esse identificador das aplicações da camada superior, que 
geraram cada um dos segmentos, são os números de porta. 
Figura 13 – Os números de porta 
 
Fonte: Rohling. 
Porta de Origem Porta de Destino 
Número de sequência 
Número de confirmação 
Flags Janela 
Checksum Urgente 
 
20 bytes 
 
 
20 
No cabeçalho do protocolo TCP, temos um campo de 16 bits para a 
identificação da Porta de Origem e outro campo de 16 bits para a identificação 
da Porta de Origem. Desta forma, podem ser diferenciadas até 65536 portas 
diferentes. 
Para a geração do cabeçalho, é necessário que esses dois campos sejam 
então preenchidos pelo protocolo da camada de transporte, sendo que a porta 
de origem dependerá das aplicações que estão sendo executadas no terminal 
do cliente, e a porta de destino, do servidor que está sendo acessado. 
Assim, os números de porta de destino devem ser padronizados, para que 
as aplicações que estão sendo executadas nos clientes possam identificar 
corretamente a porta que está respondendo às solicitações no servidor. E para 
padronizar esses números de porta, o IETF publicou uma recomendação 
específica, reservando o primeiro intervalo de número de portas para as 
aplicações usuais, que vai até a porta 1024, e que são chamadas de Portas 
Conhecidas (Well Known Ports). 
As portas mais usuais, cujas aplicações veremos de maneira mais 
detalhada adiante, são: 
Tabela 1 – Algumas portas IETF 
Porta Protocolo/Aplicação Funcionalidade 
20 e 21 FTP Transferência de arquivos 
22 SSH Acesso remoto seguro 
23 TELNET Acesso remoto 
25 SMTP Transferência de correspondência (e-mail) 
53 DNS Resolução de nomes de domínio 
80 HTTP Transferência de Hipertexto (www) 
103 POP3 Transferência de correspondência (e-mail) 
123 NTP Ajuste de hora 
161 SNMP Gerenciamento de rede 
443 HTTPS HTTP Seguro 
Fonte: Rohling. 
 
 
 
21 
4.2 Os sockets 
Uma outra forma de identificação das sessões, estabelecidas no processo 
de comunicação nas redes de dados, são os chamados Sockets, que, muitas 
vezes, são confundidos com o número de porta. Porém, o Socket, na realidade, 
é a combinação do endereço IP de origem e o número da porta de origem ou o 
endereço IP destino e o número da porta de destino. 
Com isso, no lado do cliente, toda vez que você abre uma nova aba do 
seu navegador solicitando um site diferente, o sistema operacional irá alocar uma 
porta de origem, que será identificada no cabeçalho do protocolo de transporte, 
seja o TCP ou o UDP, e inserirá como porta de destino o valor associado à 
aplicação que está sendo acessada. 
Porém, além das portas, teremos também os endereços de origem e de 
destino, que serão inseridos na camada de rede. E, neste caso, ao acessarmos 
diversos sites distintos, teremos uma porta de origem distinta, para cada 
solicitação, mas com o mesmo endereço IP de origem e teremos a mesma porta 
de destino para todas as solicitações que seria a porta 80, mas com endereços 
diferentes. 
Desta forma, o Socket é usado para identificar o servidor e o serviço que 
está sendo requisitado pelo cliente e, do outro lado da conexão, para identificar 
as sessões abertas pelos diversos clientes, sendo representado por dois 
conectores combinados, para formar um par de conectores. Por exemplo, um 
Socket cuja porta de origem é uma porta dinâmica e o destino é um servidor 
WEB teria a seguinte representação: (192.168.1.5:1099, 192.168.1.7:80). 
 
 
 
22 
Figura 14 – Os Sockets 
 
Fonte: Rohling. 
No exemplo da figura anterior, o servidor manterá dois Sockets, sendo um 
para atender às solicitações do endereço 10.10.34.15, que abriu a porta 1273 
para esta sessão e outro Socket para atender às solicitações do endereço 
192.168.10.25, que abriu a porta 1167 para a conexão com o servidor. E do lado 
do servidor, temos o mesmo endereço IP e o mesmo número de porta, pois os 
clientes estão acessando a mesma aplicação, o que evidencia a necessidade do 
Socket para diferenciar essas conexões. 
TEMA 5 – OPERAÇÃO DO PROTOCOLO TCP 
Uma das diferenças entre os protocolos TCP e UDP está associada ao 
estabelecimento da sessão, que é implementada apenas pelo protocolo TCP. 
Assim, antes do início da transmissão dos dados, o protocolo TCP irá 
estabelecer uma sessão entre o cliente e o servidor. 
E esse processo de estabelecimento de sessão é realizado em três 
etapas, que são: 
1. O cliente iniciador envia uma requisição para o estabelecimento de uma 
sessão de comunicação, do tipo cliente-servidor, para o servidor de 
destino. 
Socket1: 172.16.13.50:80, 10.10.34.15:1273 
Socket2: 172.16.13.50:80, 192.168.10.25:1167 
10.10.34.15 
Servidor 
WEB 
192.168.10.25 
172.16.13.50 
 
 
23 
2. O servidor confirma a sessão de comunicação cliente-servidor e faz uma 
requisição de uma sessão de comunicação, do tipo servidor-cliente, 
enviada para o cliente. 
3. O cliente confirma a sessão de comunicação de servidor-cliente. 
Na etapa 1, a solicitação inicial do cliente contém o número da porta de 
origem, que é uma porta dinâmica e que foi aberta para o estabelecimento dessa 
sessão, identificando o serviço requisitado e inserindo o número de porta 
associado ao serviço, conforme números de porta padronizadospelo IETF. 
Na etapa 2, após a abertura do Socket que irá atender ao cliente, o 
servidor confirma o atendimento ao cliente, enviando também os seus 
parâmetros para essa conexão e aguarda a confirmação do estabelecimento da 
sessão pelo cliente. 
Apenas após o recebimento da confirmação do cliente, que ocorre na 
etapa 3, é que o servidor irá iniciar o envio dos dados da aplicação, conforme 
solicitado pelo cliente. 
Como a inicialização das sessões envolve então a troca de três 
mensagens entre o cliente e o servidor, esse processo também é chamado de 
“Handshake” triplo. 
Além da inicialização das sessões, o protocolo TCP também realiza um 
processo de encerramento das sessões. Assim, quando não existem mais dados 
a serem enviados, o remetente envia uma mensagem sinalizando o fim da 
sessão, e o destinatário envia, então, uma confirmação do recebimento dessa 
mensagem. Para confirmar que o remetente recebeu essa mensagem, é enviado 
uma mensagem de reconhecimento, sendo encerrada então a sessão, com o 
fechamento dos Sockets. 
5.1 Números de sequência e confirmação 
Conforme vimos anteriormente, uma das funções da camada de 
transporte é a adequação dos dados para que sejam inseridos nos pacotes da 
camada de rede. Assim, o protocolo TCP fará a segmentação dos dados da 
camada superior, identificando cada um dos segmentos gerados, com a inserção 
de um identificador, que é o número de sequência e que será inserido no 
cabeçalho dos segmentos gerados. E o número de sequência inicial, para uma 
nova transmissão, é gerado de maneira aleatória, e é chamado de ISN – Initial 
 
 
24 
Sequence Number. Assim, a cada segmento enviado, esse número de 
sequência é incrementado, somando-se o número de bytes transmitidos. 
A partir desse número de sequência, o protocolo TCP poderá realizar a 
verificação dos segmentos recebidos, identificando eventuais perdas de pacotes 
no processo de transmissão, bem como reagrupar os segmentos na ordem 
correta, caso os pacotes cheguem fora de ordem. Portanto, é necessário que os 
segmentos recebidos sejam armazenados em um buffer antes de serem 
entregues à camada superior, já de forma ordenada. 
E o número de sequência também possibilita implementar a 
confiabilidade, pois caso algum dos pacotes seja descartado no processo de 
transmissão, por eventuais congestionamentos na rede, essa falha será 
detectada e poderá ser solicitada a retransmissão do segmento perdido. Assim, 
a camada de transporte irá entregar para a aplicação, que está sendo executada 
no destinatário todos os dados enviados pelo remetente, garantindo também a 
ordem correta dos segmentos. 
Figura 15 – Reordenação dos segmentos 
 
Fonte: Rohling. 
No exemplo da figura anterior, temos a chegada dos dois primeiros 
segmentos em ordem inversa no cliente e que são, então, reordenados pelo 
protocolo TCP, na camada de transporte, antes de serem entregues para o 
navegador web na camada de aplicação. 
Envio 
Cliente Servidor 
WEB 
Chegada 
Reordenação 
 
 
25 
Além da reordenação, o protocolo TCP realiza também a confirmação dos 
segmentos recebidos, enviando uma mensagem para o remetente, indicando 
qual será o próximo segmento que deverá ser enviado. Assim, caso sejam 
enviados 20 segmentos e seja perdido o 15º segmento, o TCP solicitará a 
retransmissão a partir desse segmento, mesmo que os demais segmentos 
tenham sido recebidos. 
5.2 Tamanho de janela 
Uma das tarefas realizadas pelo protocolo TCP é o controle de fluxo, que 
irá garantir que os terminais que estão executando o protocolo TCP possam 
receber e processar os dados de forma confiável. Assim, o TCP realiza o controle 
de fluxo, ajustando a taxa de envio de dados entre o remetente e o destinatário, 
durante o processo de comunicação em uma determinada sessão. Ou seja, este 
é um processo dinâmico, que ocorre durante as sessões. 
Para realizar o processo de controle de fluxo, o protocolo TCP utiliza o 
campo de 16 bits contido no cabeçalho, que é identificado como Tamanho da 
Janela. E o tamanho da janela representa o número de bytes que o dispositivo 
de destino de uma sessão TCP pode aceitar e processar, antes de enviar a 
solicitação para o envio de mais segmentos. 
Esse tamanho da janela é definido inicialmente no processo de 
estabelecimento da sessão, de comum acordo entre o remetente e o 
destinatário, sendo que o tamanho da janela pode ser ajustado durante uma 
sessão, se necessário. 
Assim, caso ocorram congestionamentos na rede, que levarão à perda de 
pacotes, os terminais identificarão essas perdas, pela análise dos números de 
sequência inseridos no cabeçalho TCP, conforme visto anteriormente. E a partir 
da identificação dessa perda de pacotes, o tamanho de janela é reduzido, de 
forma que as confirmações sejam enviadas para uma menor quantidade de 
pacotes recebidos. Com isso, teremos uma diminuição da quantidade de 
retransmissões realizadas, pois a quantidade de bytes enviados até que seja 
aguardada uma confirmação é menor. 
 
 
26 
FINALIZANDO 
No processo de comunicação através da rede de dados, temos como os 
dois principais protocolos que implementam esse processo de comunicação os 
protocolos IP e TCP, que operam nas camadas de rede e de transporte, 
respectivamente. 
O protocolo IP está passando por uma atualização de versão, em um 
processo de utilização simultânea das versões IPv4 e IPv6, de modo que 
praticamente todos os computadores conectados na Internet já estão utilizando 
os dois protocolos, no modo chamado da pilha dupla. Porém, ainda é necessário 
que muitos provedores de acesso atualizem os seus equipamentos 
intermediários de rede, para suportar também o IPv6, pois todos operam com o 
IPv4, mas nem todos suportam a conectividade em IPv6. 
Quanto à camada de transporte, além do TCP, visto em detalhes nesta 
aula, temos ainda o UDP, que é utilizado em diversas aplicações. No processo 
de comunicação utilizando o UDP, a comunicação UDP cliente-servidor também 
é iniciada por uma aplicação executada no cliente, que seleciona dinamicamente 
um número de porta e utiliza esse identificador como a porta de origem. 
E assim como no TCP, a porta de destino é o número de porta associada 
ao processo do servidor, sendo que o mesmo par de portas origem e destino é 
utilizado no cabeçalho de todos os segmentos enviados. E os dados que 
retornam para o cliente, enviados pelo servidor, terão os números de porta de 
origem e destino no cabeçalho do segmento, porém invertidos. Além disso, o 
UDP não estabelece sessão, nem realiza o processo de numeração de 
sequência e de confirmação. 
Assim, as aplicações que utilizam o UDP são, tipicamente, as aplicações 
de comunicação ao vivo, que podem tolerar pequenas perdas de dados, mas 
exigem pouco ou nenhum atraso, tais como o VoIP e as transmissão de vídeo 
ao vivo. O UD também é utilizado pelas aplicações de solicitação e resposta 
simples, tais como o DNS e DHCP, ou pelas aplicações que implementam a sua 
própria confiabilidade, com controle de fluxo, detecção de erros, confirmações e 
recuperação de erros, tais como o SNMP e TFTP. 
E, em nossa próxima aula, estudaremos em detalhes o processo da 
camada de rede, com a definição do endereçamento IP e o processo de 
roteamento. 
 
 
27 
REFERÊNCIAS 
CHAPPELL, L. Diagnosticando redes: cisco internetwork toubleshooting. São 
Paulo, Pearson Education do Brasil, 2002. 
MAIA, L. P. Arquitetura de redes de computadores. 2. ed. Rio de Janeiro: LTC, 
2013. 
TANEMBAUM, A. S. Redes de computadores. 2. ed. São Paulo: Pearson 
Education do Brasil, 2011.

Mais conteúdos dessa disciplina