Você está na página 1de 19

LISTA DE EXERCÍCIOS

01 Introdução às Redes de Computadores

1. Cite os cinco componentes de um sistema de comunicação de dados e


descreva o significado
de cada um desses componentes.

Os cinco componentes de um sistema de comunicação de dados são: emissor


(transmissor), receptor, meio de transmissão, protocolo e mensagem. Cada um
desses componentes desempenha um papel importante no processo de
comunicação. O emissor é responsável por iniciar a transmissão da mensagem,
o receptor recebe a mensagem enviada, o meio de transmissão é o canal pelo
qual a mensagem é enviada, o protocolo é o conjunto de regras que define como
a comunicação ocorre e a mensagem é a informação transmitida.

2. Qual é a diferença entre os modos de transmissão simplex, half-duplex e


full-duplex?

Os modos de transmissão simplex, half-duplex e full-duplex diferem na maneira


como os dados são transmitidos. No modo simplex, a comunicação ocorre em
apenas uma direção, como uma transmissão de TV. No modo half-duplex, a
comunicação pode ocorrer em ambas as direções, mas não simultaneamente,
como em um walkie-talkie. Já no modo full-duplex, a comunicação pode
ocorrer simultaneamente em ambas as direções, como em uma ligação
telefônica.

3. Disserte acerca das vantagens e desvantagens de uma conexão multiponto e


de uma conexão
ponto a ponto.
Uma conexão multiponto permite que vários dispositivos se comuniquem entre
si ao mesmo tempo, o que é vantajoso para conferências ou redes locais. No
entanto, pode haver interferência e congestionamento na rede. Já uma conexão
ponto a ponto oferece uma comunicação direta entre dois dispositivos,
garantindo uma conexão mais estável e dedicada, mas pode ser menos eficiente
para comunicações que envolvam mais de dois dispositivos.

.
4. Cite as quatro topologias básicas de rede e disserte a respeito de cada uma
delas em termos
de: facilidade de construção/instalação da rede; robustez a falhas nos enlaces de
comunicação; robustez a falhas nos nós comunicantes; privacidade/segurança na
troca de
informações entre os nós; e eficácia das transmissões realizadas.

As quatro topologias básicas de rede são: estrela, barramento, anel e malha. Em


relação a facilidade de construção/instalação da rede, a topologia estrela é a
mais fácil, seguida pela topologia em barramento e depois pela em anel e malha.
Em termos de robustez a falhas nos enlaces de comunicação, a topologia malha
é a mais robusta, seguida pela estrela, barramento e anel. Para falhas nos nós
comunicantes, a topologia estrela é mais robusta, seguida pela malha,
barramento e anel. Quanto à privacidade/segurança na troca de informações
entre os nós, a topologia estrela é mais segura, seguida pela malha, barramento e
anel. Em relação à eficácia das transmissões realizadas, a topologia estrela e
malha são mais eficazes do que barramento e anel.

5. Desenhe uma topologia híbrida com as seguintes características:


a) Um backbone em estrela e três redes em anel.
b) Um backbone em anel e três redes de barramento.
c) Um backbone em barramento com três redes em estrela.

6. Quais fatores determinam se um sistema de comunicações é uma LAN, uma


MAN ou uma
WAN?

Os fatores que determinam se um sistema de comunicações é uma LAN (Rede


Local), uma MAN (Rede Metropolitana) ou uma WAN (Rede de Longa
Distância) incluem a extensão geográfica da rede (tamanho da área coberta), o
número de dispositivos conectados, o tipo de tecnologia de transmissão utilizada
e se é uma rede pública ou privada.

7. A respeito dos princípios básicos da comutação, responda:


a) Quais são os três principais métodos tradicionais de comutação?
Os três principais métodos tradicionais de comutação são: comutação de
circuitos, comutação de mensagens e comutação de pacotes.

b) Quais são as duas abordagens para comutação de pacotes?

As duas abordagens para comutação de pacotes são: comutação por circuito


virtual e comutação por datagrama.

c) O que diferencia uma rede de comutação de circuitos de uma rede de


comutação de
pacotes?

A rede de comutação de circuitos estabelece um caminho dedicado para a


duração da comunicação, enquanto a rede de comutação de pacotes divide os
dados em pacotes que podem seguir caminhos diferentes até o destino.

d) O que diferencia uma rede de comutação de pacotes baseada em datagramas


de uma
rede de comutação de pacotes baseada em circuitos virtuais?
as redes de comutação de pacotes baseadas em datagramas tratam cada pacote
de dados de forma independente, permitindo que sigam caminhos diferentes
para alcançar o destino. Já as redes de comutação de pacotes baseadas em
circuitos virtuais estabelecem um caminho dedicado antes da comunicação,
garantindo um roteamento predefinido e uma transmissão mais previsível. Essas
diferenças impactam no desempenho, na confiabilidade e na eficiência das
redes.

8. A transmissão de informações em qualquer rede envolve o endereçamento de


uma
extremidade a outra e algumas vezes o endereçamento local (como o VCI). A
Tabela 1 mostra
os tipos de redes e o mecanismo de endereçamento usado em cada uma.
Tabela 1 – Tipos de redes comutadas (Fonte: Fur

ouzan, 2008).

Responda às seguintes perguntas:


a) Por que uma rede de comutação de circuitos precisa de endereçamento de
uma
extremidade a outra durante as fases de estabelecimento e de encerramento da
conexão? Por que não existe nenhum endereço durante a fase de transferência
de
dados para esse tipo de rede?

Uma rede de comutação de circuitos precisa de endereçamento de uma


extremidade a outra durante as fases de estabelecimento e encerramento da
conexão porque, nesse tipo de rede, um circuito físico é estabelecido entre as
duas extremidades antes que os dados possam ser transmitidos. Durante a fase
de estabelecimento, os endereços são usados para identificar as extremidades da
conexão e para reservar os recursos necessários para a transmissão dos dados.
Durante a fase de encerramento, os endereços são usados para liberar os
recursos alocados e encerrar a conexão. Durante a fase de transferência de
dados, não é necessário endereçamento, pois o circuito físico já foi estabelecido
e os dados são transmitidos diretamente entre as extremidades.

b) Por que uma rede de datagramas precisa de endereçamento de uma


extremidade a
outra apenas durante a fase de transferência, mas nenhum endereço é necessário
durante as fases de estabelecimento e encerramento da conexão?
Uma rede de datagramas precisa de endereçamento de uma extremidade a outra
apenas durante a fase de transferência de dados, pois nesse tipo de rede, os
dados são transmitidos em pacotes independentes, chamados datagramas, que
são roteados individualmente pela rede. Durante a fase de estabelecimento e
encerramento da conexão, não é necessário endereçamento, pois não há circuito
físico a ser estabelecido ou liberado. Cada datagrama contém informações de
endereço que são usadas pelos roteadores para encaminhar o pacote para o
destino correto.

c) Por que uma rede de circuitos virtuais precisa de endereços de uma


extremidade a outra
durante todas as três fases?

Uma rede de circuitos virtuais precisa de endereços de uma extremidade a outra


durante todas as três fases (estabelecimento, transferência e encerramento)
porque, nesse tipo de rede, um circuito virtual é estabelecido entre as duas
extremidades antes que os dados possam ser transmitidos. Durante a fase de
estabelecimento, os endereços são usados para identificar as extremidades da
conexão e para reservar os recursos necessários para a transmissão dos dados.
Durante a fase de transferência de dados, os endereços são usados para
identificar o circuito virtual e encaminhar os dados através dele. Durante a fase
de encerramento, os endereços são usados para liberar os recursos alocados e
encerrar o circuito virtual.

9. Uma entrada na tabela de comutação de uma rede de circuitos virtuais é


criada normalmente
durante a fase de estabelecimento da conexão e removida durante a fase de
encerramento da
conexão. Em outras palavras, as entradas nesse tipo de rede refletem as
conexões ativas, a
atividade na rede. Por outro lado, as entradas em uma tabela de roteamento de
uma rede de
datagramas não dependem das conexões ativas; elas mostram a configuração da
rede e como
qualquer pacote deve ser encaminhado a um destino final. As entradas podem
permanecer
iguais mesmo se não houver nenhuma atividade na rede. As tabelas de
roteamento, porém,
são atualizadas se houver mudanças na rede. Qual a razão para essas duas
características
distintas?

As duas características distintas decorrem das diferentes abordagens de


encaminhamento de dados. Em redes de circuitos virtuais, as entradas refletem
as conexões ativas, pois um circuito físico é estabelecido e mantido durante a
transmissão. Já em redes de datagramas, as entradas na tabela de roteamento são
estáticas, refletindo a configuração da rede, pois os pacotes são encaminhados
independentemente de conexões ativas. Essa distinção é necessária devido à
natureza pré-estabelecida dos circuitos virtuais e à comutação de pacotes
independente de conexões em redes de datagramas.

10. Responda às seguintes perguntas a respeito das tabelas presentes nos


comutadores em redes
de comutação de pacotes:
a) Uma tabela de roteamento em uma rede de datagramas pode ter duas entradas
com o
mesmo endereço de destino? Justifique sua resposta.

Não, uma tabela de roteamento em uma rede de datagramas não pode ter duas
entradas com o mesmo endereço de destino, pois isso pode levar a
ambiguidades no encaminhamento dos pacotes. Cada entrada na tabela de
roteamento deve ser única e corresponder a um único endereço de destino.
b) Uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com
o mesmo número de porta de entrada? Justifique sua resposta.

Sim, uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com o mesmo número de porta de entrada, pois cada entrada na tabela
de comutação corresponde a um circuito virtual diferente. Dois circuitos virtuais
diferentes podem ter o mesmo número de porta de entrada, desde que tenham
diferentes números de VCI.
c) Uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com
o mesmo número de porta de saída? Justifique sua resposta.

Não, uma tabela de comutação em uma rede de circuitos virtuais não pode ter
duas entradas com o mesmo número de porta de saída, pois cada entrada na
tabela de comutação corresponde a um circuito virtual diferente. Dois circuitos
virtuais diferentes não podem ter o mesmo número de porta de saída.

d) Uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com
os mesmos VCIs de entrada? Justifique sua resposta.

Não, uma tabela de comutação em uma rede de circuitos virtuais não pode ter
duas entradas com os mesmos VCIs de entrada, pois cada entrada na tabela de
comutação corresponde a um circuito virtual diferente. Dois circuitos virtuais
diferentes não podem ter o mesmo número de VCI de entrada.

e) Uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com
os mesmos VCIs de saída? Justifique sua resposta.

Não, uma tabela de comutação em uma rede de circuitos virtuais não pode ter
duas entradas com os mesmos VCIs de saída, pois cada entrada na tabela de
comutação corresponde a um circuito virtual diferente. Dois circuitos virtuais
diferentes não podem ter o mesmo número de VCI de saída.

f) Uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com
os mesmos valores de entrada (porta, VCI)? Justifique sua resposta.

Sim, uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com os mesmos valores de entrada (porta, VCI), desde que
correspondam a circuitos virtuais diferentes. Cada entrada na tabela de
comutação corresponde a um circuito virtual diferente, e dois circuitos virtuais
diferentes podem ter o mesmo número de porta de entrada e VCI.
g) Uma tabela de comutação em uma rede de circuitos virtuais pode ter duas
entradas com
os mesmos valores de saída (porta, VCI)? Justifique sua resposta.

Não, uma tabela de comutação em uma rede de circuitos virtuais não pode ter
duas entradas com os mesmos valores de saída (porta, VCI), pois cada entrada
na tabela de comutação corresponde a um circuito virtual diferente. Dois
circuitos virtuais diferentes não podem ter o mesmo número de porta de saída e
VCI.

11. A Figura 1 destaca um comutador (roteador) em uma rede de datagramas.


Encontre a porta de
saída para os pacotes com os seguintes endereços de destino:
a) Pacote 1: 7.176
Porta de saída: 2
b) Pacote 2: 1.233
Porta de saída: 3
c) Pacote 3: 8.766
Porta de saída: 3
d) Pacote 4: 9.144
Porta de saída: 2

12. A Figura 2 mostra um comutador em uma rede de circuitos virtuais.


Encontre a porta de saída e
o VCI de saída para pacotes com os seguintes endereços de porta de entrada e
VCI de
entrada:
a) Pacote 1: 3, 78;
Pacote 1: Porta de saída 2, VCI de saída 70
b) Pacote 2: 2, 92;
Pacote 2: Porta de saída 1, VCI de saída 45
c) Pacote 3: 4, 56;
Pacote 3: Porta de saída 3, VCI de saída 11
d) Pacote 4: 2, 71.
Pacote 4: Porta de saída 4, VCI de saída 41
13. A respeito dos modelos de referência (OSI e TCP/IP), responda:
a) Quais são as camadas existentes no modelo OSI? Qual a responsabilidade dos
protocolos de cada uma dessas camadas e como as informações passam de uma
camada para a outra durante o envio/recebimento de uma mensagem?
O modelo OSI possui 7 camadas: física, enlace, rede, transporte, sessão,
apresentação e aplicação. Cada camada é responsável por uma função
específica, como a transmissão de bits na camada física, o controle de erros na
camada de enlace, o roteamento na camada de rede, a comunicação fim a fim na
camada de transporte, entre outras. As informações passam de uma camada para
outra através de protocolos específicos que realizam a encapsulação e
decapsulação dos dados, adicionando e removendo cabeçalhos de cada camada.
b) Quais são as camadas existentes no modelo TCP/IP? Qual a responsabilidade
dos
protocolos de cada uma dessas camadas e como as informações passam de uma
camada para a outra durante o envio/recebimento de uma mensagem?
O modelo TCP/IP possui 4 camadas: acesso à rede, internet, transporte e
aplicação. A camada de acesso à rede é responsável pela transmissão de bits
através do meio físico, enquanto a camada de internet é responsável pelo
roteamento dos pacotes. A camada de transporte garante a transmissão de dados
confiável, enquanto a camada de aplicação fornece serviços ao usuário final,
como e-mail e transferência de arquivos. As informações passam de uma
camada para outra através de protocolos específicos, assim como no modelo
OSI.
c) Relacione as camadas existentes no modelo OSI com as camadas existentes
no modelo
TCP/IP.
As camadas do modelo OSI podem ser relacionadas às camadas do modelo
TCP/IP da seguinte forma: a camada física e de enlace do modelo OSI
correspondem à camada de acesso à rede do modelo TCP/IP; a camada de rede
do modelo OSI corresponde à camada de internet do modelo TCP/IP; a camada
de transporte do modelo OSI corresponde à camada de transporte do modelo
TCP/IP; e as camadas de sessão, apresentação e aplicação do modelo OSI
correspondem à camada de aplicação do modelo TCP/IP.
d) Associe o texto de cada tópico a seguir com uma ou mais camadas do modelo
OSI e do
modelo TCP/IP:
· Determinação de rotas;
· Controle de fluxo;
· Interface com o meio de transmissão;
· Entrega confiável de mensagens processo a processo;
· Seleção de rotas;
· Definição de quadros;
· Fornece serviços ao usuário final (e-mail, transferência de arquivos, etc.);
· Transmissão de fluxo de bits através do meio físico;
· Comunica-se diretamente com o programa aplicativo do usuário;
· Correção e retransmissão de mensagens com erros;
· Interface mecânica, elétrica e funcional;
· Responsabilidade pelo transporte de pacotes entre nós adjacentes;
· Estabelece, gerencia e encerra sessões;
· Garante a transmissão de dados confiável;
· Fornece independência na representação de dados diferentes.

Determinação de rotas: camada de rede do modelo OSI e camada de internet do


modelo TCP/IP;
Controle de fluxo: camada de transporte do modelo OSI e camada de transporte
do modelo TCP/IP;
Interface com o meio de transmissão: camada física do modelo OSI e camada de
acesso à rede do modelo TCP/IP;
Entrega confiável de mensagens processo a processo: camada de transporte do
modelo OSI e camada de transporte do modelo TCP/IP;
Seleção de rotas: camada de rede do modelo OSI e camada de internet do
modelo TCP/IP;
Definição de quadros: camada de enlace do modelo OSI e camada de acesso à
rede do modelo TCP/IP;
Fornece serviços ao usuário final (e-mail, transferência de arquivos, etc.):
camadas de sessão, apresentação e aplicação do modelo OSI e camada de
aplicação do modelo TCP/IP;
Transmissão de fluxo de bits através do meio físico: camada física do modelo
OSI e camada de acesso à rede do modelo TCP/IP;
Comunica-se diretamente com o programa aplicativo do usuário: camada de
aplicação do modelo OSI e camada de aplicação do modelo TCP/IP;
Correção e retransmissão de mensagens com erros: camada de transporte do
modelo OSI e camada de transporte do modelo TCP/IP;
Interface mecânica, elétrica e funcional: camada física do modelo OSI e camada
de acesso à rede do modelo TCP/IP;
Responsabilidade pelo transporte de pacotes entre nós adjacentes: camada de
enlace do modelo OSI e camada de acesso à rede do modelo TCP/IP;
Estabelece, gerencia e encerra sessões: camada de sessão do modelo OSI;
Garante a transmissão de dados confiável: camada de transporte do modelo OSI
e camada de transporte do modelo TCP/IP;
Fornece independência na representação de dados diferentes: camada de
apresentação do modelo OSI.

LISTA DE EXERCÍCIOS

02 Camada de Transporte (Parte 01)

1. A respeito do protocolo UDP, responda:


a) Descreva o significado de cada campo que compõe o cabeçalho UDP.

O cabeçalho UDP é composto por quatro campos: porta de origem, porta de


destino, comprimento e checksum. A porta de origem e a porta de destino
identificam os processos de origem e destino, respectivamente. O campo de
comprimento indica o tamanho total do segmento UDP, incluindo o cabeçalho e
os dados. O campo de checksum é opcional e é usado para verificar a
integridade dos dados.

b) Considere o seguinte cabeçalho, expresso em hexadecimal, de um segmento


UDP recebido: 06 32 00 0D 00 1C E2 17. Nesses termos, responda as seguintes
perguntas (para cada pergunta respondida, justifique sua resposta): qual é o
número da porta de origem? Qual é o número da porta de destino? Qual é o
comprimento dos dados encapsulados neste segmento?
O número da porta de origem é 0x0632 (1586 em decimal). O número da porta
de destino é 0x001D (29 em decimal). O comprimento dos dados encapsulados
neste segmento é 0xE217 (57943 em decimal).
c) Qual é o tamanho máximo e o tamanho mínimo de um segmento UDP?
Justifique
suas respostas.
O tamanho máximo de um segmento UDP é de 65.535 bytes (64 KB), enquanto
o tamanho mínimo é de 8 bytes (cabeçalho UDP sem dados). Isso ocorre porque
o campo de comprimento no cabeçalho UDP é de 16 bits, permitindo um valor
máximo de 65.535 bytes.
d) Qual é o tamanho máximo e o tamanho mínimo dos dados que podem ser
encapsulados em um segmento UDP? Justifique suas respostas.
O tamanho máximo dos dados que podem ser encapsulados em um segmento
UDP é de 65.507 bytes (65.535 - 8 bytes do cabeçalho UDP), enquanto o
tamanho mínimo é de 0 bytes. Isso ocorre porque o campo de comprimento no
cabeçalho UDP inclui o tamanho do cabeçalho e dos dados.
e) Por que o campo Checksum não tem sido utilizado em versões mais novas do
UDP?
O campo Checksum não tem sido utilizado em versões mais novas do UDP
porque muitas camadas de rede modernas, como a camada de enlace de dados,
já possuem mecanismos de detecção e correção de erros. Além disso, o cálculo
do checksum pode adicionar sobrecarga ao processamento de pacotes, o que
pode ser indesejável em algumas aplicações.
f) É possível que uma aplicação desfrute de transferência confiável de dados
mesmo
quando roda sobre UDP? Justifique sua resposta.
É possível que uma aplicação desfrute de transferência confiável de dados
mesmo quando roda sobre UDP, mas isso exigiria que a aplicação
implementasse seus próprios mecanismos de controle de erros e retransmissão
de pacotes. O UDP não fornece esses recursos por padrão, mas as aplicações
podem implementá-los por conta própria se necessário. No entanto, é
importante notar que a implementação desses recursos pode adicionar
sobrecarga ao processamento de pacotes e pode não ser adequada para todas as
aplicações.

2. A respeito do protocolo TCP, responda:


a) Descreva o significado de cada campo que compõe o cabeçalho TCP.
O cabeçalho TCP é composto por 14 campos: número de sequência, número de
confirmação, comprimento do cabeçalho, campos de controle (URG, ACK,
PSH, RST, SYN, FIN), comprimento das opções, campo de checksum, campo
de urgência, campo de legado, número de sequência de opções, opções, número
de confirmação de opções e janela de recepção.
b) Considere o seguinte cabeçalho, expresso em hexadecimal, de um segmento
TCP
recebido: 05320017 00000001 00000000 500207FF 00000000. Nesses termos,
responda as seguintes perguntas (para cada pergunta respondida, justifique sua
resposta): qual é o número da porta de origem? Qual é o número da porta de
destino? Qual é o número de sequência? Qual é o número de confirmação? Qual
é o comprimento do cabeçalho? Quais são os flags que estão ativos? Qual é o
tamanho da janela de recepção indicada?
O número da porta de origem é 0x0017 (21 em decimal). O número da porta de
destino é 0x0001 (1 em decimal). O número de sequência é 0x05320000
(134217728 em decimal). O número de confirmação é 0x00000000 (0 em
decimal). O comprimento do cabeçalho é 0x0005 (5 em decimal). Os flags
ativos são ACK e SYN. A janela de recepção indicada é 0x00000000 (0 em
decimal).
c) Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B.
Suponha
que os segmentos TCP que trafegam de A para B tenham número de porta da
igual igual à “x” e número de porta de destino igual à “y”. Quais são os números
de
porta da fonte e do destino para os segmentos que irão trafegar no sentido
contrário, ou seja, de B para A?
Para os segmentos que trafegam no sentido de B para A, os números de porta
da fonte e do destino serão invertidos. Portanto, se os números de porta da fonte
e do destino para os segmentos que trafegam de A para B são x e y,
respectivamente, os números de porta da fonte e do destino para os segmentos
que trafegam de B para A serão y e x, respectivamente.
d) Considere o valor do campo HLEN de seis segmentos TCP recebidos: 0101;
1000;
0011; 1100; 0100; 0111. Nesses termos, responda as seguintes perguntas (para
cada pergunta respondida, justifique sua resposta): qual é o tamanho do
cabeçalho de cada um desses segmentos? Quais desses segmentos possuem
valores incoerentes no campo HLEN? Quantos bytes de opções estão presentes
nos segmentos que possuem valores coerentes no campo HLEN?
O campo HLEN (tamanho do cabeçalho) é de 4 bits, permitindo valores de 0 a
15. Os valores de seis segmentos TCP recebidos são: 0101 (4), 1000 (8), 0011
(3), 1100 (12), 0100 (4) e 0111 (7). Os segmentos com valores incoerentes no
campo HLEN são os com valores 3 e 12, pois eles não estão entre os valores
permitidos (0 a 15). Os segmentos com valores coerentes no campo HLEN são
os com valores 4, 4 e 7. Os segmentos com valores coerentes no campo HLEN
possuem 20, 8 e 16 bytes de opções, respectivamente.
e) Qual é o tamanho máximo e o tamanho mínimo de um cabeçalho TCP?
Justifique
suas respostas.
O tamanho máximo de um cabeçalho TCP é de 60 bytes, enquanto o tamanho
mínimo é de 20 bytes (cabeçalho TCP sem opções). O campo de comprimento
do cabeçalho TCP é de 16 bits, permitindo um valor máximo de 65.535 bytes
(64 KB).
f) O que você pode dizer a respeito de segmentos TCP cujos valores do campo
de
controle (flags) são: 000000; 000001; 010001. Justifique suas respostas.
Segmentos TCP cujos valores do campo de controle (flags) são:
000000: O segmento não possui nenhum dos flags ACK, PSH, RST, SYN ou
FIN ativos.
000001: O segmento possui apenas o flag ACK ativo.
010001: O segmento possui apenas o flag PSH ativo.

g) No TCP, qual a diferença entre a forma como dados urgentes são entregues a
uma aplicação de destino e a forma como dados que não são urgentes são
entregues a uma aplicação de destino? Como o TCP consegue descobrir que um
segmento recebido possui dados urgentes? Caso um segmento recebido possua
dados urgentes, como o TCP consegue descobrir aonde esses dados urgentes
começam e aonde eles terminam na área de dados do segmento?
No TCP, dados urgentes são entregues a uma aplicação de destino de maneira
prioritária, enquanto dados que não são urgentes são entregues de maneira
normal. O TCP consegue descobrir que um segmento recebido possui dados
urgentes analisando o campo de controle (flags) e o campo de urgência. Se o bit
URG está ativo e o campo de urgência é maior que zero, então o segmento
possui dados urgentes. O TCP consegue descobrir aonde esses dados urgentes
começam e aonde eles terminam na área de dados do segmento analisando o
campo de urgência.
h) Qual a importância do bit ACK presente no campo flags do cabeçalho TCP?
Qual
a relação deste campo com a interpretação/desconsideração do campo “Número
de Reconhecimento” presente no cabeçalho TCP?
O bit ACK presente no campo flags do cabeçalho TCP indica que o segmento
contém um número de reconhecimento válido. Se o bit ACK estiver ativo, o
campo “Número de Reconhecimento” presente no cabeçalho TCP é interpretado
como um número de sequência válido. Se o bit ACK estiver desativado, o
campo “Número de Reconhecimento” é desconsiderado.
i) Qual a diferença entre a forma tradicional de entrega de dados no TCP e a
forma
de entrega de dados no TCP mediante a adoção da estratégia de “empurrar”
dados? Como o TCP consegue descobrir que um segmento recebido possui
dados que devem ser “empurrados”?
A forma tradicional de entrega de dados no TCP envolve a entrega de dados em
ordem sequencial, enquanto a forma de entrega de dados no TCP mediante a
adoção da estratégia de “empurrar” dados envolve a entrega de dados em ordem
de prioridade. O TCP consegue descobrir que um segmento recebido possui
dados que devem ser “empurrados” analisando o campo de controle (flags) e o
campo de urgência. Se o bit URG está ativo e o campo de urgência é maior que
zero, então o segmento possui dados urgentes e deve ser entregue com
prioridade.
j) Por que o campo Checksum (ou soma de verificação) não tem sido utilizado
em
versões mais novas do TCP?
O campo Checksum (ou soma de verificação) não tem sido utilizado em versões
mais novas do TCP porque muitas camadas de rede modernas, como a camada
de enlace de dados, já possuem mecanismos de detecção e correção de erros.
Além disso, o cálculo do checksum pode adicionar sobrecarga ao
processamento de pacotes, o que pode ser indesejável em algumas aplicações.
k) O TCP abre uma conexão usando um número de sequência inicial (ISN) igual
a
10.000. A outra parte abre a conexão com um ISN igual a 20.000. Desenhe um
diagrama temporal para ilustrar a troca dos segmentos TCP entre essas duas
partes da conexão durante a fase de estabelecimento desta.
se considerarmos a troca de segmentos TCP entre essas duas partes da conexão
durante a fase de estabelecimento desta, o diagrama temporal seria o seguinte:
O lado A envia um segmento de sincronização (SYN) com um número de
sequência inicial (ISN) igual a 10.000.
O lado B responde com um segmento de sincronização e reconhecimento
(SYN+ACK) com um número de sequência inicial (ISN) igual a 20.000 e um
número de reconhecimento (ACK) igual a 10.000 + 1 (para o próximo número
esperado pelo lado A).
O lado A responde com um segmento de reconhecimento (ACK) com um
número de reconhecimento (ACK) igual a 20.000 + 1 (para o próximo número
esperado pelo lado B).

l) A Figura 1 ilustra uma entrega bem sucedida de um segmento de dados


enviado
pelo lado A de uma conexão TCP ao lado B desta mesma conexão. Nesse
sentido, tomando por base o ilustrado nessa figura, responda: o que aconteceria
se o segmento verde (segmento de dados) não fosse entregue com sucesso ao
lado B da conexão TCP? O que aconteceria se o segmento vermelho (segmento
de reconhecimento) não fosse entregue com sucesso ao lado A da conexão
TCP?
O que aconteceria se o segmento vermelho chegasse ao lado A da conexão TCP
após o temporizador disparado atingir o valor de RTO?
Se o segmento verde (segmento de dados) não fosse entregue com sucesso ao
lado B da conexão TCP, o lado B enviaria um segmento de reconhecimento
(ACK) com um número de reconhecimento (ACK) igual ao número de
sequência do segmento de dados esperado mais 1. Se o segmento vermelho
(segmento de reconhecimento) não fosse entregue com sucesso ao lado A da
conexão TCP, o lado A não enviaria um segmento de dados, pois não teria
recebido o reconhecimento do lado B. Se o segmento vermelho chegasse ao
lado A da conexão TCP após o temporizador disparado atingir o valor de RTO
(tempo de retransmissão), o lado A retransmitiria o segmento de dados.

m) Considere que um lado da conexão TCP envia dez segmentos ao outro lado
da
conexão TCP. Nesse contexto, sabe-se que o TCP dispara somente um
temporizador quando o primeiro segmento é transmitido. Esse temporizador,
por
sua vez, contabilizará o tempo transcorrido até um valor limite denominado
RTO,
momento este em que será realizada a retransmissão de segmentos que foram
enviados previamente, mas que ainda não foram reconhecidos. Diante dessa
situação, responda: por que, nesse exemplo específico, o TCP não dispara dez
temporizadores distintos, haja vista que são enviados dez segmentos distintos?
Como é feito o gerenciamento desse temporizador único, na medida em que os
reconhecimentos dos segmentos vão sendo recebidos pelo lado emissor da
conexão TCP? Quando esse temporizador atinge o RTO, quais segmentos serão
retransmitidos?
O TCP não dispara dez temporizadores distintos porque isso poderia
sobrecarregar a rede e o receptor com muitas retransmissões desnecessárias. Em
vez disso, o TCP dispara um único temporizador quando o primeiro segmento é
transmitido e gerencia esse temporizador com base nos reconhecimentos
recebidos. Quando um segmento é reconhecido, o temporizador é reiniciado.
Quando o temporizador atinge o valor RTO, o TCP retransmite todos os
segmentos que ainda não foram reconhecidos.
n) A Figura 2 ilustra uma entrega bem sucedida de três segmentos de dados
enviados pelo lado A de uma conexão TCP ao lado B desta mesma conexão.
Nesse sentido, tomando por base o ilustrado nessa figura, responda: o que
aconteceria se o primeiro segmento vermelho (segmento de reconhecimento)
não
fosse entregue com sucesso ao lado A da conexão TCP? O que aconteceria se o
segundo segmento vermelho (segmento de reconhecimento) não fosse entregue
com sucesso ao lado A da conexão TCP? O que aconteceria se o terceiro
segmento vermelho (segmento de reconhecimento) não fosse entregue com
sucesso ao lado A da conexão TCP? O que aconteceria se o primeiro segmento
verde (segmento de dados) não fosse entregue com sucesso ao lado B da
conexão TCP? O que aconteceria se o segundo segmento verde (segmento de
dados) não fosse entregue com sucesso ao lado B da conexão TCP? O que
aconteceria se o terceiro segmento verde (segmento de dados) não fosse
entregue com sucesso ao lado B da conexão TCP? O que aconteceria se o
primeiro segmento verde (segmento de dados) transmitido fosse o último a ser
entregue com sucesso ao lado B da conexão TCP?
Se o primeiro segmento vermelho (segmento de reconhecimento) não fosse
entregue com sucesso ao lado A da conexão TCP, o lado A retransmitiria o
segmento de dados correspondente. Se o segundo ou terceiro segmento
vermelho não fosse entregue com sucesso ao lado A, o lado A retransmitiria o
segmento de dados correspondente após o temporizador de retransmissão
expirar. Se o primeiro segmento verde (segmento de dados) não fosse entregue
com sucesso ao lado B da conexão TCP, o lado A retransmitiria o segmento de
dados correspondente após o temporizador de retransmissão expirar. Se o
segundo ou terceiro segmento verde não fosse entregue com sucesso ao lado B,
o lado A retransmitiria o segmento de dados correspondente após o
temporizador de retransmissão expirar. Se o primeiro segmento verde
transmitido fosse o último a ser entregue com sucesso ao lado B da conexão
TCP, a conexão seria encerrada normalmente.
o) Descreva como funciona o mecanismo de retransmissão rápida no TCP e
explique
como esse mecanismo pode dinamizar o processo de entrega de dados de um
lado ao outro da conexão.
O mecanismo de retransmissão rápida no TCP é acionado quando o emissor
recebe três ACKs duplicados para um segmento específico. Quando isso
acontece, o emissor assume que o segmento foi perdido e retransmite
imediatamente o segmento sem esperar pelo temporizador de retransmissão
expirar. Esse mecanismo pode dinamizar o processo de entrega de dados de um
lado ao outro da conexão, pois permite que o emissor retransmita segmentos
perdidos mais rapidamente, sem esperar pelo temporizador de retransmissão
expirar.
p) No mecanismo de retransmissão rápida, o TCP espera até receber três ACKs
duplicados antes de realizar a retransmissão de segmento. Por que o TCP
prefere
esperar por três ACKs duplicados, ao invés de realizar essa retransmissão logo
após o recebimento do primeiro ACK duplicado?
O TCP prefere esperar por três ACKs duplicados antes de realizar a
retransmissão de segmento porque um único ACK duplicado pode ser causado
por um atraso na rede e não necessariamente indica que o segmento foi perdido.
Ao esperar por três ACKs duplicados, o TCP tem uma maior confiança de que o
segmento foi perdido e que a retransmissão é necessária.
q) Considere a entrega de dados ilustrada na Figura 2. Considere agora que o
lado A
deseja encerrar a conexão TCP com o lado B e, em seguida, o lado B deseja
encerrar a conexão TCP com o lado A. Desenhe um diagrama temporal para
ilustrar a troca dos segmentos TCP entre essas duas partes da conexão durante a
fase de encerramento desta.
O diagrama temporal para ilustrar a troca dos segmentos TCP entre as duas
partes durante a fase de encerramento da conexão seria o seguinte:
O lado A envia um segmento de finalização (FIN) para o lado B.
O lado B responde com um segmento de reconhecimento (ACK) para o
segmento de finalização.
O lado B envia um segmento de finalização (FIN) para o lado A.
O lado A responde com um segmento de reconhecimento (ACK) para o
segmento de finalização.
Após a troca desses segmentos, a conexão é encerrada.

Você também pode gostar