Redes de Computadores
Material de estudo para Redes de Computadores. Conteúdo baseado no leccionado em 2016/2017 e no livro da bibliografia principal da cadeira.
Clica nos tópicos seguintes para mostrar/esconder contéudo.
Resumo
Internet
Internet allows distributed applications running on its end systems to exchange data with each other.
The Transmission rate / bandwidth of a link is measured in bits/second.
End systems are indirectly connected to each other through intermediate switching devices called packet switches.
Packet switching (Comutação de pacotes) is a digital networking communications method that groups all transmitted data into suitably sized blocks called packets which are transmitted via a medium that may be shared by multiple simultaneous communication sessions. Please note that:
Packet = header + payload
The sequence of communication links and packet switches traversed by a packet is called route or path.
End systems access the internet through Internet Service Providers (ISP’s). Hosts, packet switches and other pieces of the internet run protocols that control the sending and receiving of information within the internet.
A protocol defines the format and order of messages exchanged between two or more communicating entities as well as the actions taken on the transmission and/or reception of a message or other event.
Together, TCP and IP are two of the most important protocols.
Hosts can be clients or servers.
A client program is a program running on one end system that requires a service from a server program running on another end system.
In the Peer-To-Peer model end systems act both as a client and a server.
Connection-Oriented vs Connectionless Service
The Internet provides 2 services: a connection-oriented reliable service (TCP) and a connectionless unreliable service (UDP).
Connection Oriented Service
The client program and server program send control packets to each other before sending packets with the actual data to be transferred. This is called handshaking. After the handshake, a connection is established between the two end systems.
This service is bundled with:
- Reliable data transfer - an app can rely on the connection to deliver its data in full, without errors and in the correct order.
- Flow control - makes sure that neither side of a connection overwhelms the other side by sending too many packets too fast.
- Congestion control - prevents the internet from congestion. When a packet switch becomes congested, its buffers can overflow and packet loss can occur. End systems are alerted to the existence of severe congestion when they stop receiving acknowledgements for the packets they’ve sent.
The Internet’s connection oriented service is TCP, aka Transmission Control Protocol (used in SMTP, FTP, HTTP…)
Connectionless Service
There is no handshake, the sending program simply sends the packets, which means the data is delivered sooner. This is ideal for transaction oriented applications (internet phone, video conference). The downside is that the source never knows which packets arrived at destination, and packets lost are lost forever. There is also no flow or congestion control.
The internet’s connectionless service is UDP - User Datagram Protocol (used in DNS… *sigh* it's always DNS)
Some more about packet switching...
How does it actually work?
- The source breaks long messages into packets that travel between links and packet switches. This is necessary because transmission rates of packets along a route depend on each communication link between packet switches.
- Most packet switches use store and forward transmission - this means the packet switch (also just called switch) must receive the entire packet before it can begin to transmit the first bit of the packet to the outbound connection link. This implies a store and forward delay at the input to each link along the packet’s route
- Each link attached to a packet switch has an output buffer (or queue). This queue might generate queueing delays, since the amount of buffer space is finite. A packet arriving may find the buffer completely full and packet loss will occur, either of the arriving or queueing packets.
In general:
Packet switching is not completely suitable for real-time services (UDP still uses it though)
Offers better sharing of bandwidth
More efficient and less costly that circuit-switching
There are two types of packet switched networks:
datagram networks (like the internet!)
virtual circuit networks (not very relevant but still worth a look)
Datagram networks
Any network that forwards packets according to host destination address
Each packet traversing the network contains in its header the address of the packet's destination
Each packet switch has a forwarding table that maps destination addresses to an outbound link
In contrast with VC networks, datagram networks do not maintain connection-state information in their switches
Delay and Loss in packet switched networks
So we've established that a packet is interchanged between switches and over communication links. But we are dealing with physical media, which means information is subject to errors, noise, congestion. Somehow, it still arrives in our end systems correct and in-order (most times). Even though it may look like an almost instant process, there are different delays our packets suffer and all have different causes.
Several types of delay:
- nodal processing delay
- queueing delay
- transmission delay
- propagation delay
Together, the above account for the total nodal delay.
Processing delay
The time required (for a node/switch) to examine a packet’s header and determine where to direct the packet. It also accounts for others, like the time needed to check for bit-level errors in the packet that may have occurred in transmission.
Queueing delay
Time the packet must wait until being transmitted onto the link
If the queue is empty and no other packet is being transmitted, the packet’s queueing delay is zero
Transmission delay
transmission delay = L/R
L - packet size (bits)
R - transmission rate (bits/second)
Transmission delay is the amount of time required to push all of the packet’s bits into the link (also called store and forward delay)
Propagation delay
The time required to propagate from the beginning of the link to the next router (imagine a packet going through a cable, because that's what it is)
Depends on the physical medium of the link (depends on the cable)
propagation delay = d/s
d - distance between router A and B
s - propagation speed of link
Internet Structure
Some interesting questions to ask: How exactly is the network physically connected? How do are we connected to other continents? How do we ensure availability at all times? What affects the route choice of a travelling packet?
At the top of the hierarchy, we have a small number of Tier-1 ISP’s. Examples are Verizon and AT&T, major players in communication services. The link speeds for tier-1 networks are usually very fast.
Tier-1: internet backbone networks
- Directly connected to each of the other tier-1 ISP’s
- Connected to a large number of tier-2 ISP’s
- International in coverage
Tier-2:
- Smaller, often regional ISP’s
- Connected to 1 or more tier-1 ISP’s and possibly other tier-2 ISP’s (traffic may flow between two tier-2 networks without passing through a tier-1 network)
Companies and institutions may connect into tier-1 or tier-2 ISP’s.
SIDE NOTE: There are underwater cables that connect these networks (either shocking or shockingly obvious).
Internet Protocol Stack
The internet protocol stack is a model we use to help us describe the internet. It consists of different layers that refer to different parts of a network.
The key for figuring out how the following different layers work is by understanding why we use this model in the first place: the layered model works in abstractions - each layer need not worry about the others.
Application Layer
- Supports network applications (HTTP, SMTP, FTP, DNS)
- A typical user's action on the internet (requesting a web page in your browser, sending a file to a remote server) would start in this layer and be encapsulated and passed up the remaining layers.
Transport Layer
- Transports application layer messages between the client and server sides of an application
- There are 2 transport protocols: TCP and UDP, and either one can transport a packet
- Programmer's realm - if you are building a distributed app you might be interested to know how the information is being sent over between clients/servers
- A transport layer packet is called a segment.
- As mentioned before, packet = header + payload. Depending on the transport layer protocol you choose, you will have different headers. The TCP header is different from the UDP one, for instance.
- The headers for these packets contain port information (so your computer knows which socket to redirect the data to, and same for the computer on the server's side).
Network Layer
- Responsible for the routing of datagrams from source to destination.
- Protocol used here is IP.
- The header for network layers contains - guess what - source and destination IP's.
- Responsible for moving network layer packets - called datagrams - from one host to another.
Protocolos/Serviços
HTTP
DNS
An IP address consists of four bytes (IPv4) and has a rigid hierarchical structure - as we scan the address from left to right we obtain more information about where the host is located online.
What is DNS?
- a directory service that translates hostnames to IP addresses
- a distributed database implemented in a hierarchy of DNS servers
- an application-layer protocol that allows hosts to query the distributed database
DNS is commonly employed by HTTP, FTP, SMTP.
DNS adds additional delay, but sometimes the IP address is cached in a "nearby" DNS server.
Some things DNS provides:
- Host aliasing: A complicated hostname can have one or more alias names.
- Mail Server Aliasing: more info
- Load Distribution: DNS is used to perform load distribution among replicated servers (with multiple IP's, but running the same site). In these cases, a set of IP's is associated with the canonical hostname. The DNS database contains this set of IP's, so it replies to queries with the entire set of IP's but rotates the ordering of IP's with each reply.
Centralised DNS database?
Problems with a centralised DNS design - what if we mapped all IP's in a single database?:
- Single point of failure
- Traffic volume
- "Distant" centralised database - can't be close to all hosts
- Maintenance would be tricky - frequent updates to a huge database
Distributed Hierarchical Database
Three classes of DNS servers:
- Root DNS servers
- Top Level domain DNS servers (TLD) (.com, .org, .net, etc)
- Authoritative DNS servers
There are also local DNS servers, usually mantained by the ISP or institutional network. When a host issues a query, the local DNS server receives it and acts as a proxy, forwarding it to the DNS hierarchy.
DNS caching
DNS extensively exploits DNS caching to reduce the number of DNS messages ricocheting around the Internet
DNS records and messages
The DNS servers store Resource Records that provide hostname-to-IP address mappings. Each DNS reply message carries one or more resource records.
A Resource Record is a four tuple that contains the following fields:
(Name, Value Type, TTL)
The TTL determines when a resource record should be removed from a cache.
The Name and Value depend on Type:
- If Type=A, then Name is a hostname and Value is the corresponding IP.
Ex: (relay.bar.foo.com, 1.1.1.1, A, _)
- If Type=NS, then Name is a domain and Value is the hostname of an authoritative DNS server that knows how to obtain the IP addresses for hosts in the domain.
Ex: (foo.com, dns.foo.com, NS, _)
- If Type=CNAME, then Value is a canonical host name for the alias hostname Name.
Ex: (foo.com, relay1.bar.foo.com, CNAME, _)
- If Type=MX, then Value is the canonical name of a mail server that has an alias hostname Name.
Ex: (foo.com, mail.bar.foo.com, MX, _)
If a DNS server is authoritative for a particular hostname, the DNS server will contain a Type A record for the hostname.
Escolhas Múltiplas
Clicar nos títulos seguintes para mostrar/ocultar as fichas electrónicas.
Clicar no botão na lateral esquerda para mostrar/ocultar respostas.
» Download de .pdf com todas as escolhas múltiplas
Ficha 1
No desenvolvimento de uma aplicação que funciona de acordo com o paradigma cliente servidor, qual das seguintes chamadas de sistema apenas encontra no código de um cliente TCP?
- accept()
- socket()
- connect()
- bind
Qual das seguintes afirmações é a única verdadeira?
- O protocolo UDP não garante entrega dos dados enviados.
- O protocolo UDP tem funcionamento orientado à ligação ("connection oriented").
- O protocolo TCP não pode ser usado para transferência fiável de ficheiros de imagem.
- O protocolo TCP garante a entrega dos dados ao fim de um determinado tempo.
No âmbito da comunicação entre computadores, um protocolo especifica:
- O tipo e formato das mensagens que devem ser apresentadas ao utilizador.
- O tipo e formato das mensagens que o programa de aplicação passa à API de sockets.
- As instruções que devem ser usadas para programar a funcionalidade desejada.
- O tipo e formato das mensagens trocadas entre entidades ao mesmo nível em máquinas distintas que comunicam entre si.
A comutação de pacotes é mais apropriada do que a comutação de circuitos para ligações entre computadores porque:
- A comutação de pacotes é mais moderna.
- A comutação de circuitos não permite fazer o encaminhamento das mensagens para o destino desejado.
- A comutação de circuitos implica a reserva de recursos (limitados) para uma comunicação durante toda a sua duração.
- A comutação de circuitos apenas pode ser usada para comunicações analógicas.
Considere uma rede de acesso residencial, em que a ligação entre casa e central local é suportada num par de fios de cobre, usando a tecnologia ADSL (“Asymmetric Digital Subscriber Line”). Para transmissão digital de dados provenientes de um computador:
- É usado um MODEM que reserva a linha em exclusivo para este fim, impossibilitando por exemplo o estabelecimento de uma conversação telefónica em simultâneo.
- É usado um esquema de multiplexagem por divisão na frequência (FDM) da linha telefónica, permitindo que a transmissão de dados se faça de forma independente, sem interferir, com a realização de chamadas telefónicas.
- É possível transmitir o sinal directamente na linha telefónica, sem qualquer necessidade de conversão.
- A transmissão é suportada num cabo coaxial, que serve diversas residências, sendo necessário usar um protocolo de “contenção” para gerir o canal de “upstream”.
Ficha 2
Numa aplicação distribuída que funciona de acordo com o paradigma Cliente-Servidor:
- Deve ser o servidor a iniciar a comunicação com o cliente.
- O cliente apenas necessita de conhecer o endereço IP do servidor para poder iniciar uma comunicação.
- O cliente deve utilizar um endereço IP permanente.
- O servidor deve utilizar um endereço IP permanente.
Qual das seguintes afirmações melhor define o conceito de “protocolo”?
- Conjunto das primitivas de serviço entre duas camadas adjacentes, na arquitectura em camadas.
- Conjunto das chamadas de sistema que constituem a API de sockets.
- Algoritmo de escolha de caminhos executado em cada encaminhador.
- Conjunto de regras para troca de mensagens entre entidades pares, na implementação de um algoritmo distribuído.
Qual das seguintes afirmações melhor define o conceito de “interface de serviço”?
- Conjunto de regras para troca de mensagens entre entidades pares, na implementação de um algoritmo distribuído.
- Conjunto das primitivas de serviço entre duas camadas adjacentes, na arquitectura em camadas.
- Algoritmo de escolha de caminhos executado em cada encaminhador.
- Conjunto das chamadas de sistema que constituem a API de sockets.
Qual das seguintes camadas existe na arquitectura de rede prevista no modelo OSI e não existe na arquitectura do modelo TCP/IP?
- Camada de Codificação.
- Camada de Interligação.
- Camada de Boas Vindas.
- Camada de Apresentação.
Dois computadores estão interligados por um caminho que contém três encaminhadores, com linhas de transmissão de 10 Mbit/s e um tempo de propagação de 1 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 50 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 10 kbit:
- é inferior a 7,5 ms.
- está entre 7,5 ms e 10 ms.
- está entre 10 ms e 12,5 ms.
- é superior a 12,5 ms.
Ficha 3
Dois computadores estão interligados por um caminho que contém dois encaminhadores intermédios, com linhas de transmissão de 1 Mbit/s e um tempo de propagação de 5 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 10 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 1 kbit:
- é inferior a 15 ms.
- está entre 15 ms e 20 ms.
- está entre 20 ms e 25 ms.
- é superior a 25 ms.
Para transferir páginas Web entre um servidor e um browser usa-se:
- o protocolo FTP na camada de aplicação.
- o protocolo UDP na camada de transporte.
- o protocolo TCP na camada de transporte.
- o protocolo HTML na camada de aplicação.
No protocolo SMTP qual o número de porto usado por omissão pelo servidor?
- 25
- 53
- 80
- 3128
Qual das seguintes afirmações relativas ao protocolo FTP é verdadeira?
- Apenas uma sessão TCP é estabelecida entre cliente e servidor para transferência de comandos e de dados.
- É estabelecida uma sessão TCP de controlo para transferência de comandos e tantas sessões TCP quantos os ficheiros de dados a transferir.
- É estabelecida uma sessão TCP de controlo para transferência de comandos e uma outra sessão TCP para todas as transferências de dados.
- O protocolo FTP não precisa de manter informação de estado.
Um cliente HTTP/1.1 está configurado para não usar sessões TCP paralelas. Pretendendo-se descarregar de um servidor uma página base e n imagens, qual a economia no tempo para receber os conteúdos desejados se o cliente usar pipelining, relativamente ao caso em que não usa pipelining?
- (n-1) RTTs
- n RTTs
- (n+1) RTTs
- (2n-1) RTTs
Ficha 4
Considere um par cliente e servidor Web que comunicam usando HTTP/1.0. O cliente descarrega do servidor uma página base e 4 imagens. Qual a economia no tempo para receber os conteúdos desejados se o cliente puder usar 2 sessões TCP paralelas, relativamente ao caso em que não se usam sessões paralelas? (sugestão: desenhe um diagrama espaço-tempo ilustrando as trocas de informação)
- Não há economia de tempo
- 2 RTTs
- 4 RTTs
- 8 RTTs
Relativamente ao protocolo SMTP qual das seguintes afirmações é verdadeira?
- O protocolo usado pela aplicação de leitura de e-mail quando se liga ao servidor onde as mensagens estão armazenadas é o protocolo SMTP
- Um cliente SMTP utiliza por omissão o porto 25 em TCP
- Os endereços indicados nos comandos “RCPT TO” do protocolo SMTP podem não coincidir com os endereços listados no campo “To:” do cabeçalho da mensagem de correio electrónico enviada
- Um servidor SMTP utiliza por omissão o porto 25 em UDP
No contexto da disciplina de Redes de Computadores, o que se entende por DNS:
- Um protocolo da camada de aplicação suportado numa base de dados distribuída, que é implementada usando uma hierarquia de servidores de nomes
- Um protocolo da camada de aplicação, que usa os serviços do protocolo TCP da camada de transporte para garantir fiabilidade dos dados transferidos de um servidor centralizado;
- Um tipo de ataque informático conhecido por “denial-of-service”
- Um serviço de atribuição de nomes a domínios
Considere as seguintes linhas de uma tabela de “Resource Records”:
www.redes.ulisboa.pt CNAME lab.redes.ulisboa.pt
lab.redes.ulisboa.pt A 193.136.166.106
redes.ulisboa.pt NS ns1.redes.ulisboa.pt
ns1.redes.ulisboa.pt A 193.136.166.65
Assinale a afirmação verdadeira:
- O endereço IP associado ao nome lab.redes.ulisboa.pt é 193.136.166.65
- O endereço IP de um servidor de nomes do domínio redes.ulisboa.pt é 193.136.166.65
- Os nomes www.redes.ulisboa.pt e ns1.redes.ulisboa.pt referem-se à mesma máquina
- O endereço IP associado ao nome www.redes.ulisboa.pt é 193.136.166.65
Considere uma aplicação peer-to-peer em que um servidor envia um ficheiro de 4 Gbit a uma população de 900 estações.
A ligação do servidor à Internet (upload) funciona a 200 Mbits/s e a ligação de cada estação à Internet (upload) tem um ritmo de transmissão de 2 Mbits/s. As ligações no interior da Internet assim como as ligações da Internet a cada uma das estações (download) têm um ritmo de transmissão de dados muito elevado, que podemos considerar infinito. Qual o tempo mínimo ao fim do qual todas as estações já receberam o ficheiro?
- 15 minutos
- 30 minutos
- 1 hora
- 2 horas
Ficha 5
Relativamente aos protocolos da camada de transporte, assinale a afirmação verdadeira:
- Nenhum protocolo da camada de transporte garante que a entrega de dados se fará num intervalo de tempo determinado
- Qualquer protocolo da camada de transporte implementa mecanismos de controlo de congestão da rede
- Qualquer protocolo da camada de transporte garante a entrega ordenada e sem falhas dos dados enviados
- O protocolo da camada de transporte é implementado nos computadores terminais e em todos os nós intermédios (routers) por que passam os segmentos enviados
Os protocolos da camada de transporte permitem fazer a multiplexagem/desmlutiplexagem de várias comunicações para a mesma máquina fazendo uso de números de porto, além do endereço IP que identifica a máquina, para identificar o socket a que uma mensagem se destina. Identifique a afirmação verdadeira:
- No protocolo UDP é necessário o tuplo (IP origem, porto origem, IP destino, porto destino) para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo UDP o par (IP destino, porto destino) são suficientes para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo TCP o par (IP destino, porto destino) são suficientes para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo TCP além do tuplo (IP origem, porto origem, IP destino, porto destino) para fazer a desmultiplexagem e entregar a mensagem no socket desejado é também necessário conhecer a lista de encaminhadores no caminho entre origem e destino
Qual das seguintes afirmações é verdadeira relativamente à troca de segmentos entre uma dada origem e um dado destino na Internet?
- Todos os segmentos TCP de uma comunicação são encapsulados pelo protocolo UDP e seguem o mesmo caminho
- Todos os segmentos UDP de uma comunicação seguem o mesmo caminho
- Nem o TCP nem o UDP garantem que todos os segmentos de uma comunicação seguem o mesmo caminho
- Todos os segmentos de uma comunicação TCP seguem o mesmo caminho
O protocolo Stop-and-Wait:
- Nunca consegue uma eficiência de utilização superior a 50%
- Garante a entrega de dados correctamente e por ordem ao destinatário, mesmo na presença de erros de transmissão ou perda de pacotes
- É muito eficiente na transferência de dados entre máquinas muito distantes entre si
- Deve o seu nome ao facto de a comutação de pacotes funcionar em modo “store-and-forward”
Relativamente aos protocolos de janela deslizante, assinale a opção correcta:
- Go-back-N é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
- Stop-and-Wait é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
- Go-back-N é um protocolo em que as janelas de transmissão e de recepção podem ter dimensão > 1
- Selective-Repeat é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
Ficha 6
Os protocolos da camada de rede:
- São implementados apenas nos nós terminais que comunicam entre si
- São implementados quer nos nós terminais, quer nos encaminhadores (routers) através dos quais são enviados os datagramas
- Os dispositivos onde são implementados dependem do meio de transmissão considerado em cada troço de rede
- São implementados apenas nos encaminhadores (routers) através dos quais são enviados os datagramas
Na Internet, a camada de rede baseia-se num mecanismo de:
- Comutação de pacotes por datagramas
- Circuitos alugados
- Comutação de circuitos
- Comutação de pacotes por circuitos virtuais
Uma estação ligada à Internet usa o endereço IPv4 193.136.143.26. Nessa estação a máscara de rede configurada tem o valor 255.255.254.0. Qual o endereço da rede a que a estação está ligada?
- 193.136.142.0/23
- 193.136.143.0/23
- 193.136.143.0/24
- 193.136.142.0/24
Dos seguintes, qual é um protocolo da camada de rede
- DNS
- FTP
- ICMP
- CSMA/CD
Indique a afirmação verdadeira:
- O protocolo ICMP é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
- O mecanismo de expedição de pacotes (forwarding) é responsável por garantir a actualização e consistência das tabelas de expedição
- O mecanismo de expedição de pacotes (forwarding) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
Ficha 7
Uma estação ligada à Internet usa o endereço IPv4 193.136.128.193. Nessa estação a máscara de rede configurada tem o valor 255.255.255.128. Qual o endereço da rede a que a estação está ligada?
- 193.136.128.128/24
- 193.136.128.128/25
- 193.136.128.0/24
- 193.136.128.0/25
Quando se especifica o endereço IP de um computador também se especifica uma máscara de rede (“subnet mask”). Esta máscara serve para:
- decidir se uma mensagem que este computador tem para enviar para um determinado IP de destino deve ser entregue directamente ao destinatário, usando os endereços MAC e o protocolo da camada de ligação de dados, ou se deve ser entregue ao encaminhador (“default gateway”) para a fazer chegar à sub-rede de destino
- poder saber a que sub-rede pertence o computador e mostrar essa informação ao utilizador
- esconder os detalhes das várias componentes do endereço IP de todos os outros computadores ligados na sub-rede
- informar o encaminhador da sub-rede a que o computador está ligado de que este endereço IP está aqui ligado, para o encaminhador anunciar essa informação para a Internet de forma a poder receber mensagens destinadas a este computador
Indique a afirmação verdadeira:
- O protocolo ICMP é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
- O mecanismo de expedição de pacotes (forwarding) é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) é responsável por garantir a actualização e consistência das tabelas de expedição
No protocolo IPv4 pode ser necessário fragmentar datagramas, porque:
- diferentes meios de transmissão têm diferentes características, impondo diferentes tamanhos máximos (MTU) aos datagramas que são entregues à camada de ligação de dados. Desta forma, quando um encaminhador tem de enviar um datagrama numa ligação com MTU mais pequeno que o datagrama que recebeu, terá de o fragmentar
- a qualidade do datagrama original não é suficiente, acabando este por se fragmentar
- o protocolo da camada de transporte determina em quantos fragmentos deve ser enviado o datagrama
- fragmentos mais pequenos permitem um envio mais rápido, sendo esta a preferência de aplicações que privilegiam a comunicação em tempo real
O cabeçalho dos datagramas IPv4 contêm um campo designado “time to live (TTL)”. Este campo serve para indicar:
- o instante temporal em que o datagrama foi enviado
- em quantas ligações (hops) o datagrama ainda pode ser enviado antes de ser descartado
- quantas ligações (hops) o datagrama já percorreu desde a sua origem
- quantos segundos faltam para o datagrama ser descartado
Ficha 8
O protocolo DHCP (Dynamic Host Configuration Protocol) permite
- descobrir qual é o endereço físico (MAC) que corresponde ao endereço IP especificado
- descobrir qual é o endereço IP corresponde ao URL especificado
- alterar o conjunto de endereços IP (pool) disponíveis que pertencem à sub-rede
- atribuir automaticamente (sem intervenção do utilizador) um endereço IP a um computador
Considere um computador com endereço IPv4 193.136.143.225. Este computador pretende enviar um datagrama destinado ao endereço IPv4 193.136.143.130. Para qual dos seguintes valores da máscara de rede (“subnet mask”) do computador é que o datagrama é enviado para o encaminhador (“default gateway”)?
- 255.255.255.192/26
- 255.255.254.0/23
- 255.255.255.128/25
- 255.255.255.0/24
Considere um datagrama destinado ao endereço IPv4 193.136.143.26. Ao chegar a um encaminhador, estão disponíveis rotas associadas às sub-redes listadas abaixo. Para qual delas será enviado o datagrama?
- 193.136.0.0/16
- 193.136.143.0/25
- 193.136.143.0/24
- 193.0.0.0/8
No protocolo IPv6:
- nunca é necessário efectuar a fragmentação de um datagrama
- caso um encaminhador receba um datagrama cujo tamanho é superior ao MTU da linha de saída, então esse datagrama é descartado e é devolvida a mensagem ICMPv6 “Packet Too Big”
- caso um encaminhador receba um datagrama cujo tamanho é superior ao MTU da linha de saída, então esse datagrama é fragmentado pelo encaminhador
- quando a qualidade de um datagrama não é suficiente ele acabará por se fragmentar
Um algoritmo de encaminhamento do tipo “vector-distância” faz a escolha de rotas de encaminhamento:
- usando o algoritmo de Dijkstra
- usando o algoritmo de Bellman-Ford
- tendo um conhecimento completo da topologia da rede
- com base no algoritmo SVD de decomposição em vectores próprios
Ficha 9
Ao configurar o endereço IP associado a um computador, deve também ser especificado um “default gateway”, que corresponde:
- ao endereço do servidor DNS local, que deve ser o primeiro a ser consultado quando se pretende traduzir um nome da camada de aplicação (ex.: www.tecnico.ulisboa.pt) para um endereço IP
- ao endereço de um encaminhador ligado na mesma sub-rede do computador e que permite enviar pacotes para endereços IP de outras redes
- a uma máscara de rede, para permitir ao computador saber qual a sub-rede a que pertence
- ao endereço do servidor DHCP que será usado para o computador poder obter o seu endereço IP de forma automática
Qual dos seguintes algoritmos de encaminhamento pode sofrer do problema conhecido como “contagem para o infinito”?
- algoritmo de Dijkstra
- algoritmo do tipo “vector caminho”
- algoritmo OSPF
- algoritmo do tipo “vector distância”
Relativamente ao protocolo “Routing Information Protocol” (RIP):
- não permite a utilização de “envenenamento de caminhos inversos”
- pode ser utilizado em redes de dimensão arbitrária
- o algoritmo de encaminhamento usado é do tipo “estado da ligação”
- se a distância para alcançar uma dada sub-rede é de 16 então essa sub-rede é inalcançável
Relativamente ao protocolo “Border Gateway Protocol” (BGP):
- é um dos algoritmos de encaminhamento que podem ser adoptados por um sistema autónomo para fazer o encaminhamento no seu interior
- é usado para garantir a troca de informação de encaminhamento entre sistemas autónomos
- apenas funciona em redes com um máximo de 15 “saltos” entre as suas 2 sub-redes mais distantes
- quando um router recebe informação da existência de um conjunto de rotas para uma dada rede de destino escolhe a melhor com base apenas no caminho mais curto
Para suportar a distribuição de mensagens na Internet usando multicast, pode-se adoptar uma solução usando os seguintes protocolos:
- DVRMP + PIM
- MCAST + DVRMP
- IGMP + PIM
- IGMP + MLP
Ficha 10
Relativamente aos protocolosIPv4 e IPv6:
- uma possibilidade para interligar encaminhadores IPv6 através de um conjunto de encaminhadores IPv4 consiste em criar um “túnel” atravessando a zona IPv4, sendo os datagramas IPv6 transportados no campo de dados dos datagramas IPv4. Esta solução resolve o problema sem implicar a perda de qualquer tipo de informação dos datagramas originais
- uma possibilidade para interligar encaminhadores IPv6 através de um conjunto de encaminhadores IPv4 consiste em ter alguns encaminhadores que implementam as duas versões do protocolo (“dual stack”) fazendo a conversão dos cabeçalhos IPv6 em cabeçalhos IPv4. Esta solução resolve o problema sem implicar a perda de qualquer tipo de informação dos datagramas originais
- as duas versões do protocolo são compatíveis e podem coexistir sem ser necessário qualquer tipo de tratamento especial
- não podem coexistir as duas versões do protocolo IP
O que se entende por sistema autónomo (autonomous system – AS):
- é um grupo de redes IP que possuem uma política própria e "independente" de encaminhamento no seu interior
- é um sistema que funciona isolado do resto do “mundo”
- é a parte do sistema nervoso que está relacionada ao controle da vida vegetativa, ou seja, controla funções como a respiração, circulação do sangue, controle de temperatura e digestão
- é um grupo de redes IP que funcionam sem ligação ao resto da Internet
Em redes locais Ethernet, o endereço MAC:
- é composto por 48 bits, com os primeiros 24 bits identificando o fabricante da placa de rede
- é obtido com a ajuda do DHCP ao ligar o equipamento a uma “nova” rede
- calcula-se a partir do endereço IP
- tem uma estrutura hierárquica, com uma conotação geográfica
Um protocolo faz verificação de erros usando um código de redundância cíclica (CRC), com o polinómio gerador G(x) = x3 + 1. Quando se pretende transmitir a mensagem 11001100, qual é o valor do CRC gerado?
- 110
- 0110
- 101
- 0101
Os protocolos de acesso ao meio usando acesso aleatório são vantajosos face aos protocolos de acesso ao meio com alocação dinâmica no seguinte caso:
- muitas estações ligadas, todas com muitos dados para transmitir
- nunca; os protocolos mais vantajosos em redes de computadores são sempre os que fazem uma partilha fixa da capacidade do canal de transmissão
- nunca, pois a possibilidade de existirem colisões exclui a utilização dos protocolos de acesso ao meio usando acesso aleatório
- muitas estações ligadas, das quais só um número reduzido tem dados para transmitir, em cada instante
Ficha 11
Uma rede Ethernet usa o protocolo de controlo de acesso ao meio:
- CSMA
- CSMA/CA
- ALOHA
- CSMA/CD
Em redes locais Ethernet (IEEE 802.3):
- não é possível detectar colisões
- não é possível ocorrerem colisões devido ao protocolo usado
- mesmo que ocorra uma colisão, a trama de dados é completamente transmitida (a transmissão não é interrompida)
- ao detectar uma colisão a estação interrompe a sua transmissão e agenda a respectiva retransmissão usando o algoritmo de recuo binário exponencial
Em redes locais Wi-Fi (IEEE 802.11):
- mesmo que seja detectada uma colisão, a trama de dados é completamente transmitida (a transmissão não é interrompida)
- não é possível detectar colisões
- não é possível ocorrerem colisões devido ao protocolo usado
- ao detectar uma colisão a estação interrompe a sua transmissão e agenda a respectiva retransmissão usando o algoritmo de recuo binário exponencial
Numa rede Ethernet, na camada de ligação de dados podem ser usados comutadores (“switches”, “bridges”). Um comutador:
- nunca repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, pois há um algoritmo que garante que as tabelas de comutação conhecem os destinos disponíveis e só se envia na interface de destino
- limita-se a repetir os dados que chegam por uma das suas interfaces em todas as outras interfaces
- repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, caso não esteja registado na sua tabela de comutação o endereço MAC de destino da mensagem
- repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, caso não esteja registado na sua tabela de comutação o endereço MAC de origem da mensagem
Para a construção da “spanning-tree” os comutadores trocam entre si BPDU (“bridge protocol data units”) com as seguintes informações:
- (root bridge ID; root path cost; sender bridge ID, designated port ID)
- (root bridge ID; root path cost; receiving bridge ID, blocked port ID);
- (root bridge ID; root path cost; sender bridge ID, sending port ID)
- (root bridge ID; root path cost; receiving bridge ID, receiving port ID)
Exercícios Resolvidos
OOOooOOOOOooOops
Spanning Trees
A necessidade das Spanning Trees surge devido aos problemas causados numa rede com loops físicos. A spanning tree é uma solução para este problema e consiste na criação de uma topologia de rede lógica (diferente da disposição física da rede) que impede que vários packets circulem infinitamente na rede.
Este mecanismo depende das BPDU (Bridge Protocol Data Unit), pacotes que são enviados pelas bridges (comutadores) que constituem uma dada rede. Estas BPDU's são enviadas pelas bridges para todos os seus portos e é através da comparação das mesmas que se determina qual a melhor topologia lógica a ser adoptada. Uma BPDU é assim constituída por:
(Root Bridge ID; Root Path Cost; Sender Bridge ID; Sender Port ID)
- Root Bridge ID - id da root brigde (comutador raiz).
- Root Path Cost - custo da travessia desde a bridge que enviou a BPDU até à root bridge (ou, alternativamente, o número de ligações/arestas até à root bridge).
- Sender Bridge ID - id da bridge que enviou a BPDU.
- Sender Port ID - nº do porto da brigde que enviou a BPDU.
Nota: Os ID's de cada bridge correspondem aos MAC addresses das mesmas, no entanto pode-se optar por uma representação simbólica com recurso a números mais baixos, como acontece nos exercícios apresentados.
É preciso de reconhecer também a existência de 3 tipos de ports:
- Root Ports - O porto de uma bridge pelo qual a chegada à Root Bridge tem menos custo. Não existe na Root Bridge.
- Designated Ports - Numa dada aresta da rede, o porto que a menos custo chega à Root Bridge. Uma consequência desta definição é que todos os portos da Root Bridge são designated ports. Em cada aresta da rede só existe um designated port.
- Blocked Ports - Portos que, depois da aplicação da spanning tree, são bloqueados para evitar loops na rede.
Como resolver?
- Começa-se por determinar qual a Root Bridge. Por norma é sempre a que tem o ID ou MAC address mais baixo. Como já foi referido acima, marcam-se todos os portos da Root Bridge como Designated Ports (D).
- Avaliam-se cada uma das restantes bridges, marcando o Root Port (R) de cada uma. O Root Port será o porto que fornece o caminho de saída com menor custo até à Root Bridge. Em caso de empate entre dois portos com o mesmo custo, comparam-se dois a dois os campos seguintes (Sender Bridge ID ou ainda Sender Port ID, caso o Sender Bridge ID seja igual em ambas as BPDUs) das BPDU's por eles recebidas. O porto que receber a BPDU com menor valor será o Root Port.
- Resta marcar os designated ports de cada segmento/aresta da rede. Caso uma dada aresta da rede tenha um computador numa das extremidades, a designated port desse troço de rede é na bridge oposta ao computador. Caso a aresta seja uma ligação entre duas bridges, comparam-se as BPDU's que estas enviam para esse segmento da rede. A BPDU que tenha o primeiro valor mais baixo quando comparando os campos entre as duas BPDUs, é a BPDU enviada pelo designated port desse segmento.
- Uma vez que estejam marcados os designated ports de todas as arestas, os portos que sobrarem serão blocked ports.
Nota: Veja-se que qualquer desempate é feito através da comparação do mesmo campo de 2 BPDU's diferentes, da esquerda para a direita.
Internet
Internet allows distributed applications running on its end systems to exchange data with each other.The Transmission rate / bandwidth of a link is measured in bits/second.
End systems are indirectly connected to each other through intermediate switching devices called packet switches.
Packet switching (Comutação de pacotes) is a digital networking communications method that groups all transmitted data into suitably sized blocks called packets which are transmitted via a medium that may be shared by multiple simultaneous communication sessions. Please note that:
The sequence of communication links and packet switches traversed by a packet is called route or path.
End systems access the internet through Internet Service Providers (ISP’s). Hosts, packet switches and other pieces of the internet run protocols that control the sending and receiving of information within the internet.
A protocol defines the format and order of messages exchanged between two or more communicating entities as well as the actions taken on the transmission and/or reception of a message or other event.
Hosts can be clients or servers. A client program is a program running on one end system that requires a service from a server program running on another end system.
In the Peer-To-Peer model end systems act both as a client and a server.
Connection-Oriented vs Connectionless Service
The Internet provides 2 services: a connection-oriented reliable service (TCP) and a connectionless unreliable service (UDP).Connection Oriented Service
The client program and server program send control packets to each other before sending packets with the actual data to be transferred. This is called handshaking. After the handshake, a connection is established between the two end systems.This service is bundled with:
- Reliable data transfer - an app can rely on the connection to deliver its data in full, without errors and in the correct order.
- Flow control - makes sure that neither side of a connection overwhelms the other side by sending too many packets too fast.
- Congestion control - prevents the internet from congestion. When a packet switch becomes congested, its buffers can overflow and packet loss can occur. End systems are alerted to the existence of severe congestion when they stop receiving acknowledgements for the packets they’ve sent.
The Internet’s connection oriented service is TCP, aka Transmission Control Protocol (used in SMTP, FTP, HTTP…)
Connectionless Service
There is no handshake, the sending program simply sends the packets, which means the data is delivered sooner. This is ideal for transaction oriented applications (internet phone, video conference). The downside is that the source never knows which packets arrived at destination, and packets lost are lost forever. There is also no flow or congestion control.The internet’s connectionless service is UDP - User Datagram Protocol (used in DNS… *sigh* it's always DNS)
Some more about packet switching...
How does it actually work?- The source breaks long messages into packets that travel between links and packet switches. This is necessary because transmission rates of packets along a route depend on each communication link between packet switches.
- Most packet switches use store and forward transmission - this means the packet switch (also just called switch) must receive the entire packet before it can begin to transmit the first bit of the packet to the outbound connection link. This implies a store and forward delay at the input to each link along the packet’s route
- Each link attached to a packet switch has an output buffer (or queue). This queue might generate queueing delays, since the amount of buffer space is finite. A packet arriving may find the buffer completely full and packet loss will occur, either of the arriving or queueing packets.
In general:
There are two types of packet switched networks:
Datagram networks
Delay and Loss in packet switched networks
So we've established that a packet is interchanged between switches and over communication links. But we are dealing with physical media, which means information is subject to errors, noise, congestion. Somehow, it still arrives in our end systems correct and in-order (most times). Even though it may look like an almost instant process, there are different delays our packets suffer and all have different causes.Several types of delay:
- nodal processing delay
- queueing delay
- transmission delay
- propagation delay
Processing delay
Queueing delay
Transmission delay
Propagation delay
Internet Structure
Some interesting questions to ask: How exactly is the network physically connected? How do are we connected to other continents? How do we ensure availability at all times? What affects the route choice of a travelling packet?
At the top of the hierarchy, we have a small number of Tier-1 ISP’s. Examples are Verizon and AT&T, major players in communication services. The link speeds for tier-1 networks are usually very fast.
Tier-1: internet backbone networks
- Directly connected to each of the other tier-1 ISP’s
- Connected to a large number of tier-2 ISP’s
- International in coverage
Tier-2:
- Smaller, often regional ISP’s
- Connected to 1 or more tier-1 ISP’s and possibly other tier-2 ISP’s (traffic may flow between two tier-2 networks without passing through a tier-1 network)
Companies and institutions may connect into tier-1 or tier-2 ISP’s.
SIDE NOTE: There are underwater cables that connect these networks (either shocking or shockingly obvious).
Internet Protocol Stack
The internet protocol stack is a model we use to help us describe the internet. It consists of different layers that refer to different parts of a network.The key for figuring out how the following different layers work is by understanding why we use this model in the first place: the layered model works in abstractions - each layer need not worry about the others.
Application Layer
- Supports network applications (HTTP, SMTP, FTP, DNS)
- A typical user's action on the internet (requesting a web page in your browser, sending a file to a remote server) would start in this layer and be encapsulated and passed up the remaining layers.
Transport Layer
- Transports application layer messages between the client and server sides of an application
- There are 2 transport protocols: TCP and UDP, and either one can transport a packet
- Programmer's realm - if you are building a distributed app you might be interested to know how the information is being sent over between clients/servers
- A transport layer packet is called a segment.
- As mentioned before, packet = header + payload. Depending on the transport layer protocol you choose, you will have different headers. The TCP header is different from the UDP one, for instance.
- The headers for these packets contain port information (so your computer knows which socket to redirect the data to, and same for the computer on the server's side).
Network Layer
- Responsible for the routing of datagrams from source to destination.
- Protocol used here is IP.
- The header for network layers contains - guess what - source and destination IP's.
- Responsible for moving network layer packets - called datagrams - from one host to another.
HTTP
DNS
An IP address consists of four bytes (IPv4) and has a rigid hierarchical structure - as we scan the address from left to right we obtain more information about where the host is located online.What is DNS?
- a directory service that translates hostnames to IP addresses
- a distributed database implemented in a hierarchy of DNS servers
- an application-layer protocol that allows hosts to query the distributed database
DNS is commonly employed by HTTP, FTP, SMTP.
DNS adds additional delay, but sometimes the IP address is cached in a "nearby" DNS server.
Some things DNS provides:
- Host aliasing: A complicated hostname can have one or more alias names.
- Mail Server Aliasing: more info
- Load Distribution: DNS is used to perform load distribution among replicated servers (with multiple IP's, but running the same site). In these cases, a set of IP's is associated with the canonical hostname. The DNS database contains this set of IP's, so it replies to queries with the entire set of IP's but rotates the ordering of IP's with each reply.
Centralised DNS database?
Problems with a centralised DNS design - what if we mapped all IP's in a single database?:- Single point of failure
- Traffic volume
- "Distant" centralised database - can't be close to all hosts
- Maintenance would be tricky - frequent updates to a huge database
Distributed Hierarchical Database
Three classes of DNS servers:- Root DNS servers
- Top Level domain DNS servers (TLD) (.com, .org, .net, etc)
- Authoritative DNS servers
There are also local DNS servers, usually mantained by the ISP or institutional network. When a host issues a query, the local DNS server receives it and acts as a proxy, forwarding it to the DNS hierarchy.
DNS caching
DNS extensively exploits DNS caching to reduce the number of DNS messages ricocheting around the Internet
DNS records and messages
The DNS servers store Resource Records that provide hostname-to-IP address mappings. Each DNS reply message carries one or more resource records.
A Resource Record is a four tuple that contains the following fields:
The TTL determines when a resource record should be removed from a cache.
The Name and Value depend on Type:
- If Type=A, then Name is a hostname and Value is the corresponding IP.
Ex: (relay.bar.foo.com, 1.1.1.1, A, _) - If Type=NS, then Name is a domain and Value is the hostname of an authoritative DNS server that knows how to obtain the IP addresses for hosts in the domain.
Ex: (foo.com, dns.foo.com, NS, _) - If Type=CNAME, then Value is a canonical host name for the alias hostname Name.
Ex: (foo.com, relay1.bar.foo.com, CNAME, _) - If Type=MX, then Value is the canonical name of a mail server that has an alias hostname Name.
Ex: (foo.com, mail.bar.foo.com, MX, _)
If a DNS server is authoritative for a particular hostname, the DNS server will contain a Type A record for the hostname.
Escolhas Múltiplas
Clicar nos títulos seguintes para mostrar/ocultar as fichas electrónicas.
Clicar no botão na lateral esquerda para mostrar/ocultar respostas.
» Download de .pdf com todas as escolhas múltiplas
Ficha 1
No desenvolvimento de uma aplicação que funciona de acordo com o paradigma cliente servidor, qual das seguintes chamadas de sistema apenas encontra no código de um cliente TCP?
- accept()
- socket()
- connect()
- bind
Qual das seguintes afirmações é a única verdadeira?
- O protocolo UDP não garante entrega dos dados enviados.
- O protocolo UDP tem funcionamento orientado à ligação ("connection oriented").
- O protocolo TCP não pode ser usado para transferência fiável de ficheiros de imagem.
- O protocolo TCP garante a entrega dos dados ao fim de um determinado tempo.
No âmbito da comunicação entre computadores, um protocolo especifica:
- O tipo e formato das mensagens que devem ser apresentadas ao utilizador.
- O tipo e formato das mensagens que o programa de aplicação passa à API de sockets.
- As instruções que devem ser usadas para programar a funcionalidade desejada.
- O tipo e formato das mensagens trocadas entre entidades ao mesmo nível em máquinas distintas que comunicam entre si.
A comutação de pacotes é mais apropriada do que a comutação de circuitos para ligações entre computadores porque:
- A comutação de pacotes é mais moderna.
- A comutação de circuitos não permite fazer o encaminhamento das mensagens para o destino desejado.
- A comutação de circuitos implica a reserva de recursos (limitados) para uma comunicação durante toda a sua duração.
- A comutação de circuitos apenas pode ser usada para comunicações analógicas.
Considere uma rede de acesso residencial, em que a ligação entre casa e central local é suportada num par de fios de cobre, usando a tecnologia ADSL (“Asymmetric Digital Subscriber Line”). Para transmissão digital de dados provenientes de um computador:
- É usado um MODEM que reserva a linha em exclusivo para este fim, impossibilitando por exemplo o estabelecimento de uma conversação telefónica em simultâneo.
- É usado um esquema de multiplexagem por divisão na frequência (FDM) da linha telefónica, permitindo que a transmissão de dados se faça de forma independente, sem interferir, com a realização de chamadas telefónicas.
- É possível transmitir o sinal directamente na linha telefónica, sem qualquer necessidade de conversão.
- A transmissão é suportada num cabo coaxial, que serve diversas residências, sendo necessário usar um protocolo de “contenção” para gerir o canal de “upstream”.
Ficha 2
Numa aplicação distribuída que funciona de acordo com o paradigma Cliente-Servidor:
- Deve ser o servidor a iniciar a comunicação com o cliente.
- O cliente apenas necessita de conhecer o endereço IP do servidor para poder iniciar uma comunicação.
- O cliente deve utilizar um endereço IP permanente.
- O servidor deve utilizar um endereço IP permanente.
Qual das seguintes afirmações melhor define o conceito de “protocolo”?
- Conjunto das primitivas de serviço entre duas camadas adjacentes, na arquitectura em camadas.
- Conjunto das chamadas de sistema que constituem a API de sockets.
- Algoritmo de escolha de caminhos executado em cada encaminhador.
- Conjunto de regras para troca de mensagens entre entidades pares, na implementação de um algoritmo distribuído.
Qual das seguintes afirmações melhor define o conceito de “interface de serviço”?
- Conjunto de regras para troca de mensagens entre entidades pares, na implementação de um algoritmo distribuído.
- Conjunto das primitivas de serviço entre duas camadas adjacentes, na arquitectura em camadas.
- Algoritmo de escolha de caminhos executado em cada encaminhador.
- Conjunto das chamadas de sistema que constituem a API de sockets.
Qual das seguintes camadas existe na arquitectura de rede prevista no modelo OSI e não existe na arquitectura do modelo TCP/IP?
- Camada de Codificação.
- Camada de Interligação.
- Camada de Boas Vindas.
- Camada de Apresentação.
Dois computadores estão interligados por um caminho que contém três encaminhadores, com linhas de transmissão de 10 Mbit/s e um tempo de propagação de 1 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 50 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 10 kbit:
- é inferior a 7,5 ms.
- está entre 7,5 ms e 10 ms.
- está entre 10 ms e 12,5 ms.
- é superior a 12,5 ms.
Ficha 3
Dois computadores estão interligados por um caminho que contém dois encaminhadores intermédios, com linhas de transmissão de 1 Mbit/s e um tempo de propagação de 5 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 10 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 1 kbit:
- é inferior a 15 ms.
- está entre 15 ms e 20 ms.
- está entre 20 ms e 25 ms.
- é superior a 25 ms.
Para transferir páginas Web entre um servidor e um browser usa-se:
- o protocolo FTP na camada de aplicação.
- o protocolo UDP na camada de transporte.
- o protocolo TCP na camada de transporte.
- o protocolo HTML na camada de aplicação.
No protocolo SMTP qual o número de porto usado por omissão pelo servidor?
- 25
- 53
- 80
- 3128
Qual das seguintes afirmações relativas ao protocolo FTP é verdadeira?
- Apenas uma sessão TCP é estabelecida entre cliente e servidor para transferência de comandos e de dados.
- É estabelecida uma sessão TCP de controlo para transferência de comandos e tantas sessões TCP quantos os ficheiros de dados a transferir.
- É estabelecida uma sessão TCP de controlo para transferência de comandos e uma outra sessão TCP para todas as transferências de dados.
- O protocolo FTP não precisa de manter informação de estado.
Um cliente HTTP/1.1 está configurado para não usar sessões TCP paralelas. Pretendendo-se descarregar de um servidor uma página base e n imagens, qual a economia no tempo para receber os conteúdos desejados se o cliente usar pipelining, relativamente ao caso em que não usa pipelining?
- (n-1) RTTs
- n RTTs
- (n+1) RTTs
- (2n-1) RTTs
Ficha 4
Considere um par cliente e servidor Web que comunicam usando HTTP/1.0. O cliente descarrega do servidor uma página base e 4 imagens. Qual a economia no tempo para receber os conteúdos desejados se o cliente puder usar 2 sessões TCP paralelas, relativamente ao caso em que não se usam sessões paralelas? (sugestão: desenhe um diagrama espaço-tempo ilustrando as trocas de informação)
- Não há economia de tempo
- 2 RTTs
- 4 RTTs
- 8 RTTs
Relativamente ao protocolo SMTP qual das seguintes afirmações é verdadeira?
- O protocolo usado pela aplicação de leitura de e-mail quando se liga ao servidor onde as mensagens estão armazenadas é o protocolo SMTP
- Um cliente SMTP utiliza por omissão o porto 25 em TCP
- Os endereços indicados nos comandos “RCPT TO” do protocolo SMTP podem não coincidir com os endereços listados no campo “To:” do cabeçalho da mensagem de correio electrónico enviada
- Um servidor SMTP utiliza por omissão o porto 25 em UDP
No contexto da disciplina de Redes de Computadores, o que se entende por DNS:
- Um protocolo da camada de aplicação suportado numa base de dados distribuída, que é implementada usando uma hierarquia de servidores de nomes
- Um protocolo da camada de aplicação, que usa os serviços do protocolo TCP da camada de transporte para garantir fiabilidade dos dados transferidos de um servidor centralizado;
- Um tipo de ataque informático conhecido por “denial-of-service”
- Um serviço de atribuição de nomes a domínios
Considere as seguintes linhas de uma tabela de “Resource Records”:
www.redes.ulisboa.pt CNAME lab.redes.ulisboa.pt
lab.redes.ulisboa.pt A 193.136.166.106
redes.ulisboa.pt NS ns1.redes.ulisboa.pt
ns1.redes.ulisboa.pt A 193.136.166.65
Assinale a afirmação verdadeira:
- O endereço IP associado ao nome lab.redes.ulisboa.pt é 193.136.166.65
- O endereço IP de um servidor de nomes do domínio redes.ulisboa.pt é 193.136.166.65
- Os nomes www.redes.ulisboa.pt e ns1.redes.ulisboa.pt referem-se à mesma máquina
- O endereço IP associado ao nome www.redes.ulisboa.pt é 193.136.166.65
Considere uma aplicação peer-to-peer em que um servidor envia um ficheiro de 4 Gbit a uma população de 900 estações.
A ligação do servidor à Internet (upload) funciona a 200 Mbits/s e a ligação de cada estação à Internet (upload) tem um ritmo de transmissão de 2 Mbits/s. As ligações no interior da Internet assim como as ligações da Internet a cada uma das estações (download) têm um ritmo de transmissão de dados muito elevado, que podemos considerar infinito. Qual o tempo mínimo ao fim do qual todas as estações já receberam o ficheiro?
- 15 minutos
- 30 minutos
- 1 hora
- 2 horas
Ficha 5
Relativamente aos protocolos da camada de transporte, assinale a afirmação verdadeira:
- Nenhum protocolo da camada de transporte garante que a entrega de dados se fará num intervalo de tempo determinado
- Qualquer protocolo da camada de transporte implementa mecanismos de controlo de congestão da rede
- Qualquer protocolo da camada de transporte garante a entrega ordenada e sem falhas dos dados enviados
- O protocolo da camada de transporte é implementado nos computadores terminais e em todos os nós intermédios (routers) por que passam os segmentos enviados
Os protocolos da camada de transporte permitem fazer a multiplexagem/desmlutiplexagem de várias comunicações para a mesma máquina fazendo uso de números de porto, além do endereço IP que identifica a máquina, para identificar o socket a que uma mensagem se destina. Identifique a afirmação verdadeira:
- No protocolo UDP é necessário o tuplo (IP origem, porto origem, IP destino, porto destino) para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo UDP o par (IP destino, porto destino) são suficientes para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo TCP o par (IP destino, porto destino) são suficientes para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo TCP além do tuplo (IP origem, porto origem, IP destino, porto destino) para fazer a desmultiplexagem e entregar a mensagem no socket desejado é também necessário conhecer a lista de encaminhadores no caminho entre origem e destino
Qual das seguintes afirmações é verdadeira relativamente à troca de segmentos entre uma dada origem e um dado destino na Internet?
- Todos os segmentos TCP de uma comunicação são encapsulados pelo protocolo UDP e seguem o mesmo caminho
- Todos os segmentos UDP de uma comunicação seguem o mesmo caminho
- Nem o TCP nem o UDP garantem que todos os segmentos de uma comunicação seguem o mesmo caminho
- Todos os segmentos de uma comunicação TCP seguem o mesmo caminho
O protocolo Stop-and-Wait:
- Nunca consegue uma eficiência de utilização superior a 50%
- Garante a entrega de dados correctamente e por ordem ao destinatário, mesmo na presença de erros de transmissão ou perda de pacotes
- É muito eficiente na transferência de dados entre máquinas muito distantes entre si
- Deve o seu nome ao facto de a comutação de pacotes funcionar em modo “store-and-forward”
Relativamente aos protocolos de janela deslizante, assinale a opção correcta:
- Go-back-N é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
- Stop-and-Wait é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
- Go-back-N é um protocolo em que as janelas de transmissão e de recepção podem ter dimensão > 1
- Selective-Repeat é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
Ficha 6
Os protocolos da camada de rede:
- São implementados apenas nos nós terminais que comunicam entre si
- São implementados quer nos nós terminais, quer nos encaminhadores (routers) através dos quais são enviados os datagramas
- Os dispositivos onde são implementados dependem do meio de transmissão considerado em cada troço de rede
- São implementados apenas nos encaminhadores (routers) através dos quais são enviados os datagramas
Na Internet, a camada de rede baseia-se num mecanismo de:
- Comutação de pacotes por datagramas
- Circuitos alugados
- Comutação de circuitos
- Comutação de pacotes por circuitos virtuais
Uma estação ligada à Internet usa o endereço IPv4 193.136.143.26. Nessa estação a máscara de rede configurada tem o valor 255.255.254.0. Qual o endereço da rede a que a estação está ligada?
- 193.136.142.0/23
- 193.136.143.0/23
- 193.136.143.0/24
- 193.136.142.0/24
Dos seguintes, qual é um protocolo da camada de rede
- DNS
- FTP
- ICMP
- CSMA/CD
Indique a afirmação verdadeira:
- O protocolo ICMP é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
- O mecanismo de expedição de pacotes (forwarding) é responsável por garantir a actualização e consistência das tabelas de expedição
- O mecanismo de expedição de pacotes (forwarding) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
Ficha 7
Uma estação ligada à Internet usa o endereço IPv4 193.136.128.193. Nessa estação a máscara de rede configurada tem o valor 255.255.255.128. Qual o endereço da rede a que a estação está ligada?
- 193.136.128.128/24
- 193.136.128.128/25
- 193.136.128.0/24
- 193.136.128.0/25
Quando se especifica o endereço IP de um computador também se especifica uma máscara de rede (“subnet mask”). Esta máscara serve para:
- decidir se uma mensagem que este computador tem para enviar para um determinado IP de destino deve ser entregue directamente ao destinatário, usando os endereços MAC e o protocolo da camada de ligação de dados, ou se deve ser entregue ao encaminhador (“default gateway”) para a fazer chegar à sub-rede de destino
- poder saber a que sub-rede pertence o computador e mostrar essa informação ao utilizador
- esconder os detalhes das várias componentes do endereço IP de todos os outros computadores ligados na sub-rede
- informar o encaminhador da sub-rede a que o computador está ligado de que este endereço IP está aqui ligado, para o encaminhador anunciar essa informação para a Internet de forma a poder receber mensagens destinadas a este computador
Indique a afirmação verdadeira:
- O protocolo ICMP é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
- O mecanismo de expedição de pacotes (forwarding) é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) é responsável por garantir a actualização e consistência das tabelas de expedição
No protocolo IPv4 pode ser necessário fragmentar datagramas, porque:
- diferentes meios de transmissão têm diferentes características, impondo diferentes tamanhos máximos (MTU) aos datagramas que são entregues à camada de ligação de dados. Desta forma, quando um encaminhador tem de enviar um datagrama numa ligação com MTU mais pequeno que o datagrama que recebeu, terá de o fragmentar
- a qualidade do datagrama original não é suficiente, acabando este por se fragmentar
- o protocolo da camada de transporte determina em quantos fragmentos deve ser enviado o datagrama
- fragmentos mais pequenos permitem um envio mais rápido, sendo esta a preferência de aplicações que privilegiam a comunicação em tempo real
O cabeçalho dos datagramas IPv4 contêm um campo designado “time to live (TTL)”. Este campo serve para indicar:
- o instante temporal em que o datagrama foi enviado
- em quantas ligações (hops) o datagrama ainda pode ser enviado antes de ser descartado
- quantas ligações (hops) o datagrama já percorreu desde a sua origem
- quantos segundos faltam para o datagrama ser descartado
Ficha 8
O protocolo DHCP (Dynamic Host Configuration Protocol) permite
- descobrir qual é o endereço físico (MAC) que corresponde ao endereço IP especificado
- descobrir qual é o endereço IP corresponde ao URL especificado
- alterar o conjunto de endereços IP (pool) disponíveis que pertencem à sub-rede
- atribuir automaticamente (sem intervenção do utilizador) um endereço IP a um computador
Considere um computador com endereço IPv4 193.136.143.225. Este computador pretende enviar um datagrama destinado ao endereço IPv4 193.136.143.130. Para qual dos seguintes valores da máscara de rede (“subnet mask”) do computador é que o datagrama é enviado para o encaminhador (“default gateway”)?
- 255.255.255.192/26
- 255.255.254.0/23
- 255.255.255.128/25
- 255.255.255.0/24
Considere um datagrama destinado ao endereço IPv4 193.136.143.26. Ao chegar a um encaminhador, estão disponíveis rotas associadas às sub-redes listadas abaixo. Para qual delas será enviado o datagrama?
- 193.136.0.0/16
- 193.136.143.0/25
- 193.136.143.0/24
- 193.0.0.0/8
No protocolo IPv6:
- nunca é necessário efectuar a fragmentação de um datagrama
- caso um encaminhador receba um datagrama cujo tamanho é superior ao MTU da linha de saída, então esse datagrama é descartado e é devolvida a mensagem ICMPv6 “Packet Too Big”
- caso um encaminhador receba um datagrama cujo tamanho é superior ao MTU da linha de saída, então esse datagrama é fragmentado pelo encaminhador
- quando a qualidade de um datagrama não é suficiente ele acabará por se fragmentar
Um algoritmo de encaminhamento do tipo “vector-distância” faz a escolha de rotas de encaminhamento:
- usando o algoritmo de Dijkstra
- usando o algoritmo de Bellman-Ford
- tendo um conhecimento completo da topologia da rede
- com base no algoritmo SVD de decomposição em vectores próprios
Ficha 9
Ao configurar o endereço IP associado a um computador, deve também ser especificado um “default gateway”, que corresponde:
- ao endereço do servidor DNS local, que deve ser o primeiro a ser consultado quando se pretende traduzir um nome da camada de aplicação (ex.: www.tecnico.ulisboa.pt) para um endereço IP
- ao endereço de um encaminhador ligado na mesma sub-rede do computador e que permite enviar pacotes para endereços IP de outras redes
- a uma máscara de rede, para permitir ao computador saber qual a sub-rede a que pertence
- ao endereço do servidor DHCP que será usado para o computador poder obter o seu endereço IP de forma automática
Qual dos seguintes algoritmos de encaminhamento pode sofrer do problema conhecido como “contagem para o infinito”?
- algoritmo de Dijkstra
- algoritmo do tipo “vector caminho”
- algoritmo OSPF
- algoritmo do tipo “vector distância”
Relativamente ao protocolo “Routing Information Protocol” (RIP):
- não permite a utilização de “envenenamento de caminhos inversos”
- pode ser utilizado em redes de dimensão arbitrária
- o algoritmo de encaminhamento usado é do tipo “estado da ligação”
- se a distância para alcançar uma dada sub-rede é de 16 então essa sub-rede é inalcançável
Relativamente ao protocolo “Border Gateway Protocol” (BGP):
- é um dos algoritmos de encaminhamento que podem ser adoptados por um sistema autónomo para fazer o encaminhamento no seu interior
- é usado para garantir a troca de informação de encaminhamento entre sistemas autónomos
- apenas funciona em redes com um máximo de 15 “saltos” entre as suas 2 sub-redes mais distantes
- quando um router recebe informação da existência de um conjunto de rotas para uma dada rede de destino escolhe a melhor com base apenas no caminho mais curto
Para suportar a distribuição de mensagens na Internet usando multicast, pode-se adoptar uma solução usando os seguintes protocolos:
- DVRMP + PIM
- MCAST + DVRMP
- IGMP + PIM
- IGMP + MLP
Ficha 10
Relativamente aos protocolosIPv4 e IPv6:
- uma possibilidade para interligar encaminhadores IPv6 através de um conjunto de encaminhadores IPv4 consiste em criar um “túnel” atravessando a zona IPv4, sendo os datagramas IPv6 transportados no campo de dados dos datagramas IPv4. Esta solução resolve o problema sem implicar a perda de qualquer tipo de informação dos datagramas originais
- uma possibilidade para interligar encaminhadores IPv6 através de um conjunto de encaminhadores IPv4 consiste em ter alguns encaminhadores que implementam as duas versões do protocolo (“dual stack”) fazendo a conversão dos cabeçalhos IPv6 em cabeçalhos IPv4. Esta solução resolve o problema sem implicar a perda de qualquer tipo de informação dos datagramas originais
- as duas versões do protocolo são compatíveis e podem coexistir sem ser necessário qualquer tipo de tratamento especial
- não podem coexistir as duas versões do protocolo IP
O que se entende por sistema autónomo (autonomous system – AS):
- é um grupo de redes IP que possuem uma política própria e "independente" de encaminhamento no seu interior
- é um sistema que funciona isolado do resto do “mundo”
- é a parte do sistema nervoso que está relacionada ao controle da vida vegetativa, ou seja, controla funções como a respiração, circulação do sangue, controle de temperatura e digestão
- é um grupo de redes IP que funcionam sem ligação ao resto da Internet
Em redes locais Ethernet, o endereço MAC:
- é composto por 48 bits, com os primeiros 24 bits identificando o fabricante da placa de rede
- é obtido com a ajuda do DHCP ao ligar o equipamento a uma “nova” rede
- calcula-se a partir do endereço IP
- tem uma estrutura hierárquica, com uma conotação geográfica
Um protocolo faz verificação de erros usando um código de redundância cíclica (CRC), com o polinómio gerador G(x) = x3 + 1. Quando se pretende transmitir a mensagem 11001100, qual é o valor do CRC gerado?
- 110
- 0110
- 101
- 0101
Os protocolos de acesso ao meio usando acesso aleatório são vantajosos face aos protocolos de acesso ao meio com alocação dinâmica no seguinte caso:
- muitas estações ligadas, todas com muitos dados para transmitir
- nunca; os protocolos mais vantajosos em redes de computadores são sempre os que fazem uma partilha fixa da capacidade do canal de transmissão
- nunca, pois a possibilidade de existirem colisões exclui a utilização dos protocolos de acesso ao meio usando acesso aleatório
- muitas estações ligadas, das quais só um número reduzido tem dados para transmitir, em cada instante
Ficha 11
Uma rede Ethernet usa o protocolo de controlo de acesso ao meio:
- CSMA
- CSMA/CA
- ALOHA
- CSMA/CD
Em redes locais Ethernet (IEEE 802.3):
- não é possível detectar colisões
- não é possível ocorrerem colisões devido ao protocolo usado
- mesmo que ocorra uma colisão, a trama de dados é completamente transmitida (a transmissão não é interrompida)
- ao detectar uma colisão a estação interrompe a sua transmissão e agenda a respectiva retransmissão usando o algoritmo de recuo binário exponencial
Em redes locais Wi-Fi (IEEE 802.11):
- mesmo que seja detectada uma colisão, a trama de dados é completamente transmitida (a transmissão não é interrompida)
- não é possível detectar colisões
- não é possível ocorrerem colisões devido ao protocolo usado
- ao detectar uma colisão a estação interrompe a sua transmissão e agenda a respectiva retransmissão usando o algoritmo de recuo binário exponencial
Numa rede Ethernet, na camada de ligação de dados podem ser usados comutadores (“switches”, “bridges”). Um comutador:
- nunca repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, pois há um algoritmo que garante que as tabelas de comutação conhecem os destinos disponíveis e só se envia na interface de destino
- limita-se a repetir os dados que chegam por uma das suas interfaces em todas as outras interfaces
- repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, caso não esteja registado na sua tabela de comutação o endereço MAC de destino da mensagem
- repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, caso não esteja registado na sua tabela de comutação o endereço MAC de origem da mensagem
Para a construção da “spanning-tree” os comutadores trocam entre si BPDU (“bridge protocol data units”) com as seguintes informações:
- (root bridge ID; root path cost; sender bridge ID, designated port ID)
- (root bridge ID; root path cost; receiving bridge ID, blocked port ID);
- (root bridge ID; root path cost; sender bridge ID, sending port ID)
- (root bridge ID; root path cost; receiving bridge ID, receiving port ID)
Exercícios Resolvidos
OOOooOOOOOooOops
Spanning Trees
A necessidade das Spanning Trees surge devido aos problemas causados numa rede com loops físicos. A spanning tree é uma solução para este problema e consiste na criação de uma topologia de rede lógica (diferente da disposição física da rede) que impede que vários packets circulem infinitamente na rede.
Este mecanismo depende das BPDU (Bridge Protocol Data Unit), pacotes que são enviados pelas bridges (comutadores) que constituem uma dada rede. Estas BPDU's são enviadas pelas bridges para todos os seus portos e é através da comparação das mesmas que se determina qual a melhor topologia lógica a ser adoptada. Uma BPDU é assim constituída por:
(Root Bridge ID; Root Path Cost; Sender Bridge ID; Sender Port ID)
- Root Bridge ID - id da root brigde (comutador raiz).
- Root Path Cost - custo da travessia desde a bridge que enviou a BPDU até à root bridge (ou, alternativamente, o número de ligações/arestas até à root bridge).
- Sender Bridge ID - id da bridge que enviou a BPDU.
- Sender Port ID - nº do porto da brigde que enviou a BPDU.
Nota: Os ID's de cada bridge correspondem aos MAC addresses das mesmas, no entanto pode-se optar por uma representação simbólica com recurso a números mais baixos, como acontece nos exercícios apresentados.
É preciso de reconhecer também a existência de 3 tipos de ports:
- Root Ports - O porto de uma bridge pelo qual a chegada à Root Bridge tem menos custo. Não existe na Root Bridge.
- Designated Ports - Numa dada aresta da rede, o porto que a menos custo chega à Root Bridge. Uma consequência desta definição é que todos os portos da Root Bridge são designated ports. Em cada aresta da rede só existe um designated port.
- Blocked Ports - Portos que, depois da aplicação da spanning tree, são bloqueados para evitar loops na rede.
Como resolver?
- Começa-se por determinar qual a Root Bridge. Por norma é sempre a que tem o ID ou MAC address mais baixo. Como já foi referido acima, marcam-se todos os portos da Root Bridge como Designated Ports (D).
- Avaliam-se cada uma das restantes bridges, marcando o Root Port (R) de cada uma. O Root Port será o porto que fornece o caminho de saída com menor custo até à Root Bridge. Em caso de empate entre dois portos com o mesmo custo, comparam-se dois a dois os campos seguintes (Sender Bridge ID ou ainda Sender Port ID, caso o Sender Bridge ID seja igual em ambas as BPDUs) das BPDU's por eles recebidas. O porto que receber a BPDU com menor valor será o Root Port.
- Resta marcar os designated ports de cada segmento/aresta da rede. Caso uma dada aresta da rede tenha um computador numa das extremidades, a designated port desse troço de rede é na bridge oposta ao computador. Caso a aresta seja uma ligação entre duas bridges, comparam-se as BPDU's que estas enviam para esse segmento da rede. A BPDU que tenha o primeiro valor mais baixo quando comparando os campos entre as duas BPDUs, é a BPDU enviada pelo designated port desse segmento.
- Uma vez que estejam marcados os designated ports de todas as arestas, os portos que sobrarem serão blocked ports.
Nota: Veja-se que qualquer desempate é feito através da comparação do mesmo campo de 2 BPDU's diferentes, da esquerda para a direita.
Clicar nos títulos seguintes para mostrar/ocultar as fichas electrónicas.
Clicar no botão na lateral esquerda para mostrar/ocultar respostas.
» Download de .pdf com todas as escolhas múltiplas
Ficha 1
No desenvolvimento de uma aplicação que funciona de acordo com o paradigma cliente servidor, qual das seguintes chamadas de sistema apenas encontra no código de um cliente TCP?
Qual das seguintes afirmações é a única verdadeira?
No âmbito da comunicação entre computadores, um protocolo especifica:
A comutação de pacotes é mais apropriada do que a comutação de circuitos para ligações entre computadores porque:
Considere uma rede de acesso residencial, em que a ligação entre casa e central local é suportada num par de fios de cobre, usando a tecnologia ADSL (“Asymmetric Digital Subscriber Line”). Para transmissão digital de dados provenientes de um computador:
- accept()
- socket()
- connect()
- bind
Qual das seguintes afirmações é a única verdadeira?
- O protocolo UDP não garante entrega dos dados enviados.
- O protocolo UDP tem funcionamento orientado à ligação ("connection oriented").
- O protocolo TCP não pode ser usado para transferência fiável de ficheiros de imagem.
- O protocolo TCP garante a entrega dos dados ao fim de um determinado tempo.
No âmbito da comunicação entre computadores, um protocolo especifica:
- O tipo e formato das mensagens que devem ser apresentadas ao utilizador.
- O tipo e formato das mensagens que o programa de aplicação passa à API de sockets.
- As instruções que devem ser usadas para programar a funcionalidade desejada.
- O tipo e formato das mensagens trocadas entre entidades ao mesmo nível em máquinas distintas que comunicam entre si.
A comutação de pacotes é mais apropriada do que a comutação de circuitos para ligações entre computadores porque:
- A comutação de pacotes é mais moderna.
- A comutação de circuitos não permite fazer o encaminhamento das mensagens para o destino desejado.
- A comutação de circuitos implica a reserva de recursos (limitados) para uma comunicação durante toda a sua duração.
- A comutação de circuitos apenas pode ser usada para comunicações analógicas.
Considere uma rede de acesso residencial, em que a ligação entre casa e central local é suportada num par de fios de cobre, usando a tecnologia ADSL (“Asymmetric Digital Subscriber Line”). Para transmissão digital de dados provenientes de um computador:
- É usado um MODEM que reserva a linha em exclusivo para este fim, impossibilitando por exemplo o estabelecimento de uma conversação telefónica em simultâneo.
- É usado um esquema de multiplexagem por divisão na frequência (FDM) da linha telefónica, permitindo que a transmissão de dados se faça de forma independente, sem interferir, com a realização de chamadas telefónicas.
- É possível transmitir o sinal directamente na linha telefónica, sem qualquer necessidade de conversão.
- A transmissão é suportada num cabo coaxial, que serve diversas residências, sendo necessário usar um protocolo de “contenção” para gerir o canal de “upstream”.
Ficha 2
Numa aplicação distribuída que funciona de acordo com o paradigma Cliente-Servidor:
Qual das seguintes afirmações melhor define o conceito de “protocolo”?
Qual das seguintes afirmações melhor define o conceito de “interface de serviço”?
Qual das seguintes camadas existe na arquitectura de rede prevista no modelo OSI e não existe na arquitectura do modelo TCP/IP?
Dois computadores estão interligados por um caminho que contém três encaminhadores, com linhas de transmissão de 10 Mbit/s e um tempo de propagação de 1 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 50 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 10 kbit:
- Deve ser o servidor a iniciar a comunicação com o cliente.
- O cliente apenas necessita de conhecer o endereço IP do servidor para poder iniciar uma comunicação.
- O cliente deve utilizar um endereço IP permanente.
- O servidor deve utilizar um endereço IP permanente.
Qual das seguintes afirmações melhor define o conceito de “protocolo”?
- Conjunto das primitivas de serviço entre duas camadas adjacentes, na arquitectura em camadas.
- Conjunto das chamadas de sistema que constituem a API de sockets.
- Algoritmo de escolha de caminhos executado em cada encaminhador.
- Conjunto de regras para troca de mensagens entre entidades pares, na implementação de um algoritmo distribuído.
Qual das seguintes afirmações melhor define o conceito de “interface de serviço”?
- Conjunto de regras para troca de mensagens entre entidades pares, na implementação de um algoritmo distribuído.
- Conjunto das primitivas de serviço entre duas camadas adjacentes, na arquitectura em camadas.
- Algoritmo de escolha de caminhos executado em cada encaminhador.
- Conjunto das chamadas de sistema que constituem a API de sockets.
Qual das seguintes camadas existe na arquitectura de rede prevista no modelo OSI e não existe na arquitectura do modelo TCP/IP?
- Camada de Codificação.
- Camada de Interligação.
- Camada de Boas Vindas.
- Camada de Apresentação.
Dois computadores estão interligados por um caminho que contém três encaminhadores, com linhas de transmissão de 10 Mbit/s e um tempo de propagação de 1 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 50 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 10 kbit:
- é inferior a 7,5 ms.
- está entre 7,5 ms e 10 ms.
- está entre 10 ms e 12,5 ms.
- é superior a 12,5 ms.
Ficha 3
Dois computadores estão interligados por um caminho que contém dois encaminhadores intermédios, com linhas de transmissão de 1 Mbit/s e um tempo de propagação de 5 ms em cada linha. Na ausência de outro tráfego na rede, o tempo necessário para enviar um ficheiro de 10 kbit (tempo entre o envio do primeiro bit na origem e recepção completa do ficheiro no destino) usando comutação de pacotes, com pacotes de 1 kbit:
Para transferir páginas Web entre um servidor e um browser usa-se:
No protocolo SMTP qual o número de porto usado por omissão pelo servidor?
Qual das seguintes afirmações relativas ao protocolo FTP é verdadeira?
Um cliente HTTP/1.1 está configurado para não usar sessões TCP paralelas. Pretendendo-se descarregar de um servidor uma página base e n imagens, qual a economia no tempo para receber os conteúdos desejados se o cliente usar pipelining, relativamente ao caso em que não usa pipelining?
- é inferior a 15 ms.
- está entre 15 ms e 20 ms.
- está entre 20 ms e 25 ms.
- é superior a 25 ms.
Para transferir páginas Web entre um servidor e um browser usa-se:
- o protocolo FTP na camada de aplicação.
- o protocolo UDP na camada de transporte.
- o protocolo TCP na camada de transporte.
- o protocolo HTML na camada de aplicação.
No protocolo SMTP qual o número de porto usado por omissão pelo servidor?
- 25
- 53
- 80
- 3128
Qual das seguintes afirmações relativas ao protocolo FTP é verdadeira?
- Apenas uma sessão TCP é estabelecida entre cliente e servidor para transferência de comandos e de dados.
- É estabelecida uma sessão TCP de controlo para transferência de comandos e tantas sessões TCP quantos os ficheiros de dados a transferir.
- É estabelecida uma sessão TCP de controlo para transferência de comandos e uma outra sessão TCP para todas as transferências de dados.
- O protocolo FTP não precisa de manter informação de estado.
Um cliente HTTP/1.1 está configurado para não usar sessões TCP paralelas. Pretendendo-se descarregar de um servidor uma página base e n imagens, qual a economia no tempo para receber os conteúdos desejados se o cliente usar pipelining, relativamente ao caso em que não usa pipelining?
- (n-1) RTTs
- n RTTs
- (n+1) RTTs
- (2n-1) RTTs
Ficha 4
Considere um par cliente e servidor Web que comunicam usando HTTP/1.0. O cliente descarrega do servidor uma página base e 4 imagens. Qual a economia no tempo para receber os conteúdos desejados se o cliente puder usar 2 sessões TCP paralelas, relativamente ao caso em que não se usam sessões paralelas? (sugestão: desenhe um diagrama espaço-tempo ilustrando as trocas de informação)
Relativamente ao protocolo SMTP qual das seguintes afirmações é verdadeira?
No contexto da disciplina de Redes de Computadores, o que se entende por DNS:
Considere as seguintes linhas de uma tabela de “Resource Records”:
www.redes.ulisboa.pt CNAME lab.redes.ulisboa.pt
lab.redes.ulisboa.pt A 193.136.166.106
redes.ulisboa.pt NS ns1.redes.ulisboa.pt
ns1.redes.ulisboa.pt A 193.136.166.65
Assinale a afirmação verdadeira:
Considere uma aplicação peer-to-peer em que um servidor envia um ficheiro de 4 Gbit a uma população de 900 estações.
A ligação do servidor à Internet (upload) funciona a 200 Mbits/s e a ligação de cada estação à Internet (upload) tem um ritmo de transmissão de 2 Mbits/s. As ligações no interior da Internet assim como as ligações da Internet a cada uma das estações (download) têm um ritmo de transmissão de dados muito elevado, que podemos considerar infinito. Qual o tempo mínimo ao fim do qual todas as estações já receberam o ficheiro?
- Não há economia de tempo
- 2 RTTs
- 4 RTTs
- 8 RTTs
Relativamente ao protocolo SMTP qual das seguintes afirmações é verdadeira?
- O protocolo usado pela aplicação de leitura de e-mail quando se liga ao servidor onde as mensagens estão armazenadas é o protocolo SMTP
- Um cliente SMTP utiliza por omissão o porto 25 em TCP
- Os endereços indicados nos comandos “RCPT TO” do protocolo SMTP podem não coincidir com os endereços listados no campo “To:” do cabeçalho da mensagem de correio electrónico enviada
- Um servidor SMTP utiliza por omissão o porto 25 em UDP
No contexto da disciplina de Redes de Computadores, o que se entende por DNS:
- Um protocolo da camada de aplicação suportado numa base de dados distribuída, que é implementada usando uma hierarquia de servidores de nomes
- Um protocolo da camada de aplicação, que usa os serviços do protocolo TCP da camada de transporte para garantir fiabilidade dos dados transferidos de um servidor centralizado;
- Um tipo de ataque informático conhecido por “denial-of-service”
- Um serviço de atribuição de nomes a domínios
Considere as seguintes linhas de uma tabela de “Resource Records”:
www.redes.ulisboa.pt CNAME lab.redes.ulisboa.pt
lab.redes.ulisboa.pt A 193.136.166.106
redes.ulisboa.pt NS ns1.redes.ulisboa.pt
ns1.redes.ulisboa.pt A 193.136.166.65
Assinale a afirmação verdadeira:
- O endereço IP associado ao nome lab.redes.ulisboa.pt é 193.136.166.65
- O endereço IP de um servidor de nomes do domínio redes.ulisboa.pt é 193.136.166.65
- Os nomes www.redes.ulisboa.pt e ns1.redes.ulisboa.pt referem-se à mesma máquina
- O endereço IP associado ao nome www.redes.ulisboa.pt é 193.136.166.65
Considere uma aplicação peer-to-peer em que um servidor envia um ficheiro de 4 Gbit a uma população de 900 estações.
A ligação do servidor à Internet (upload) funciona a 200 Mbits/s e a ligação de cada estação à Internet (upload) tem um ritmo de transmissão de 2 Mbits/s. As ligações no interior da Internet assim como as ligações da Internet a cada uma das estações (download) têm um ritmo de transmissão de dados muito elevado, que podemos considerar infinito. Qual o tempo mínimo ao fim do qual todas as estações já receberam o ficheiro?
- 15 minutos
- 30 minutos
- 1 hora
- 2 horas
Ficha 5
Relativamente aos protocolos da camada de transporte, assinale a afirmação verdadeira:
Os protocolos da camada de transporte permitem fazer a multiplexagem/desmlutiplexagem de várias comunicações para a mesma máquina fazendo uso de números de porto, além do endereço IP que identifica a máquina, para identificar o socket a que uma mensagem se destina. Identifique a afirmação verdadeira:
Qual das seguintes afirmações é verdadeira relativamente à troca de segmentos entre uma dada origem e um dado destino na Internet?
O protocolo Stop-and-Wait:
Relativamente aos protocolos de janela deslizante, assinale a opção correcta:
- Nenhum protocolo da camada de transporte garante que a entrega de dados se fará num intervalo de tempo determinado
- Qualquer protocolo da camada de transporte implementa mecanismos de controlo de congestão da rede
- Qualquer protocolo da camada de transporte garante a entrega ordenada e sem falhas dos dados enviados
- O protocolo da camada de transporte é implementado nos computadores terminais e em todos os nós intermédios (routers) por que passam os segmentos enviados
Os protocolos da camada de transporte permitem fazer a multiplexagem/desmlutiplexagem de várias comunicações para a mesma máquina fazendo uso de números de porto, além do endereço IP que identifica a máquina, para identificar o socket a que uma mensagem se destina. Identifique a afirmação verdadeira:
- No protocolo UDP é necessário o tuplo (IP origem, porto origem, IP destino, porto destino) para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo UDP o par (IP destino, porto destino) são suficientes para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo TCP o par (IP destino, porto destino) são suficientes para fazer a desmultiplexagem e entregar a mensagem no socket desejado
- No protocolo TCP além do tuplo (IP origem, porto origem, IP destino, porto destino) para fazer a desmultiplexagem e entregar a mensagem no socket desejado é também necessário conhecer a lista de encaminhadores no caminho entre origem e destino
Qual das seguintes afirmações é verdadeira relativamente à troca de segmentos entre uma dada origem e um dado destino na Internet?
- Todos os segmentos TCP de uma comunicação são encapsulados pelo protocolo UDP e seguem o mesmo caminho
- Todos os segmentos UDP de uma comunicação seguem o mesmo caminho
- Nem o TCP nem o UDP garantem que todos os segmentos de uma comunicação seguem o mesmo caminho
- Todos os segmentos de uma comunicação TCP seguem o mesmo caminho
O protocolo Stop-and-Wait:
- Nunca consegue uma eficiência de utilização superior a 50%
- Garante a entrega de dados correctamente e por ordem ao destinatário, mesmo na presença de erros de transmissão ou perda de pacotes
- É muito eficiente na transferência de dados entre máquinas muito distantes entre si
- Deve o seu nome ao facto de a comutação de pacotes funcionar em modo “store-and-forward”
Relativamente aos protocolos de janela deslizante, assinale a opção correcta:
- Go-back-N é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
- Stop-and-Wait é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
- Go-back-N é um protocolo em que as janelas de transmissão e de recepção podem ter dimensão > 1
- Selective-Repeat é um protocolo em que a janela de transmissão pode ter dimensão > 1, mas a janela de recepção tem sempre dimensão = 1
Ficha 6
Os protocolos da camada de rede:
Na Internet, a camada de rede baseia-se num mecanismo de:
Uma estação ligada à Internet usa o endereço IPv4 193.136.143.26. Nessa estação a máscara de rede configurada tem o valor 255.255.254.0. Qual o endereço da rede a que a estação está ligada?
Dos seguintes, qual é um protocolo da camada de rede
Indique a afirmação verdadeira:
- São implementados apenas nos nós terminais que comunicam entre si
- São implementados quer nos nós terminais, quer nos encaminhadores (routers) através dos quais são enviados os datagramas
- Os dispositivos onde são implementados dependem do meio de transmissão considerado em cada troço de rede
- São implementados apenas nos encaminhadores (routers) através dos quais são enviados os datagramas
Na Internet, a camada de rede baseia-se num mecanismo de:
- Comutação de pacotes por datagramas
- Circuitos alugados
- Comutação de circuitos
- Comutação de pacotes por circuitos virtuais
Uma estação ligada à Internet usa o endereço IPv4 193.136.143.26. Nessa estação a máscara de rede configurada tem o valor 255.255.254.0. Qual o endereço da rede a que a estação está ligada?
- 193.136.142.0/23
- 193.136.143.0/23
- 193.136.143.0/24
- 193.136.142.0/24
Dos seguintes, qual é um protocolo da camada de rede
- DNS
- FTP
- ICMP
- CSMA/CD
Indique a afirmação verdadeira:
- O protocolo ICMP é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
- O mecanismo de expedição de pacotes (forwarding) é responsável por garantir a actualização e consistência das tabelas de expedição
- O mecanismo de expedição de pacotes (forwarding) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
Ficha 7
Uma estação ligada à Internet usa o endereço IPv4 193.136.128.193. Nessa estação a máscara de rede configurada tem o valor 255.255.255.128. Qual o endereço da rede a que a estação está ligada?
Quando se especifica o endereço IP de um computador também se especifica uma máscara de rede (“subnet mask”). Esta máscara serve para:
Indique a afirmação verdadeira:
No protocolo IPv4 pode ser necessário fragmentar datagramas, porque:
O cabeçalho dos datagramas IPv4 contêm um campo designado “time to live (TTL)”. Este campo serve para indicar:
- 193.136.128.128/24
- 193.136.128.128/25
- 193.136.128.0/24
- 193.136.128.0/25
Quando se especifica o endereço IP de um computador também se especifica uma máscara de rede (“subnet mask”). Esta máscara serve para:
- decidir se uma mensagem que este computador tem para enviar para um determinado IP de destino deve ser entregue directamente ao destinatário, usando os endereços MAC e o protocolo da camada de ligação de dados, ou se deve ser entregue ao encaminhador (“default gateway”) para a fazer chegar à sub-rede de destino
- poder saber a que sub-rede pertence o computador e mostrar essa informação ao utilizador
- esconder os detalhes das várias componentes do endereço IP de todos os outros computadores ligados na sub-rede
- informar o encaminhador da sub-rede a que o computador está ligado de que este endereço IP está aqui ligado, para o encaminhador anunciar essa informação para a Internet de forma a poder receber mensagens destinadas a este computador
Indique a afirmação verdadeira:
- O protocolo ICMP é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) toma uma decisão local sobre para onde encaminhar um datagrama que chega a um dado encaminhador
- O mecanismo de expedição de pacotes (forwarding) é responsável por garantir a actualização e consistência das tabelas de expedição
- Um algoritmo de encaminhamento (routing) é responsável por garantir a actualização e consistência das tabelas de expedição
No protocolo IPv4 pode ser necessário fragmentar datagramas, porque:
- diferentes meios de transmissão têm diferentes características, impondo diferentes tamanhos máximos (MTU) aos datagramas que são entregues à camada de ligação de dados. Desta forma, quando um encaminhador tem de enviar um datagrama numa ligação com MTU mais pequeno que o datagrama que recebeu, terá de o fragmentar
- a qualidade do datagrama original não é suficiente, acabando este por se fragmentar
- o protocolo da camada de transporte determina em quantos fragmentos deve ser enviado o datagrama
- fragmentos mais pequenos permitem um envio mais rápido, sendo esta a preferência de aplicações que privilegiam a comunicação em tempo real
O cabeçalho dos datagramas IPv4 contêm um campo designado “time to live (TTL)”. Este campo serve para indicar:
- o instante temporal em que o datagrama foi enviado
- em quantas ligações (hops) o datagrama ainda pode ser enviado antes de ser descartado
- quantas ligações (hops) o datagrama já percorreu desde a sua origem
- quantos segundos faltam para o datagrama ser descartado
Ficha 8
O protocolo DHCP (Dynamic Host Configuration Protocol) permite
Considere um computador com endereço IPv4 193.136.143.225. Este computador pretende enviar um datagrama destinado ao endereço IPv4 193.136.143.130. Para qual dos seguintes valores da máscara de rede (“subnet mask”) do computador é que o datagrama é enviado para o encaminhador (“default gateway”)?
Considere um datagrama destinado ao endereço IPv4 193.136.143.26. Ao chegar a um encaminhador, estão disponíveis rotas associadas às sub-redes listadas abaixo. Para qual delas será enviado o datagrama?
No protocolo IPv6:
Um algoritmo de encaminhamento do tipo “vector-distância” faz a escolha de rotas de encaminhamento:
- descobrir qual é o endereço físico (MAC) que corresponde ao endereço IP especificado
- descobrir qual é o endereço IP corresponde ao URL especificado
- alterar o conjunto de endereços IP (pool) disponíveis que pertencem à sub-rede
- atribuir automaticamente (sem intervenção do utilizador) um endereço IP a um computador
Considere um computador com endereço IPv4 193.136.143.225. Este computador pretende enviar um datagrama destinado ao endereço IPv4 193.136.143.130. Para qual dos seguintes valores da máscara de rede (“subnet mask”) do computador é que o datagrama é enviado para o encaminhador (“default gateway”)?
- 255.255.255.192/26
- 255.255.254.0/23
- 255.255.255.128/25
- 255.255.255.0/24
Considere um datagrama destinado ao endereço IPv4 193.136.143.26. Ao chegar a um encaminhador, estão disponíveis rotas associadas às sub-redes listadas abaixo. Para qual delas será enviado o datagrama?
- 193.136.0.0/16
- 193.136.143.0/25
- 193.136.143.0/24
- 193.0.0.0/8
No protocolo IPv6:
- nunca é necessário efectuar a fragmentação de um datagrama
- caso um encaminhador receba um datagrama cujo tamanho é superior ao MTU da linha de saída, então esse datagrama é descartado e é devolvida a mensagem ICMPv6 “Packet Too Big”
- caso um encaminhador receba um datagrama cujo tamanho é superior ao MTU da linha de saída, então esse datagrama é fragmentado pelo encaminhador
- quando a qualidade de um datagrama não é suficiente ele acabará por se fragmentar
Um algoritmo de encaminhamento do tipo “vector-distância” faz a escolha de rotas de encaminhamento:
- usando o algoritmo de Dijkstra
- usando o algoritmo de Bellman-Ford
- tendo um conhecimento completo da topologia da rede
- com base no algoritmo SVD de decomposição em vectores próprios
Ficha 9
Ao configurar o endereço IP associado a um computador, deve também ser especificado um “default gateway”, que corresponde:
Qual dos seguintes algoritmos de encaminhamento pode sofrer do problema conhecido como “contagem para o infinito”?
Relativamente ao protocolo “Routing Information Protocol” (RIP):
Relativamente ao protocolo “Border Gateway Protocol” (BGP):
Para suportar a distribuição de mensagens na Internet usando multicast, pode-se adoptar uma solução usando os seguintes protocolos:
- ao endereço do servidor DNS local, que deve ser o primeiro a ser consultado quando se pretende traduzir um nome da camada de aplicação (ex.: www.tecnico.ulisboa.pt) para um endereço IP
- ao endereço de um encaminhador ligado na mesma sub-rede do computador e que permite enviar pacotes para endereços IP de outras redes
- a uma máscara de rede, para permitir ao computador saber qual a sub-rede a que pertence
- ao endereço do servidor DHCP que será usado para o computador poder obter o seu endereço IP de forma automática
Qual dos seguintes algoritmos de encaminhamento pode sofrer do problema conhecido como “contagem para o infinito”?
- algoritmo de Dijkstra
- algoritmo do tipo “vector caminho”
- algoritmo OSPF
- algoritmo do tipo “vector distância”
Relativamente ao protocolo “Routing Information Protocol” (RIP):
- não permite a utilização de “envenenamento de caminhos inversos”
- pode ser utilizado em redes de dimensão arbitrária
- o algoritmo de encaminhamento usado é do tipo “estado da ligação”
- se a distância para alcançar uma dada sub-rede é de 16 então essa sub-rede é inalcançável
Relativamente ao protocolo “Border Gateway Protocol” (BGP):
- é um dos algoritmos de encaminhamento que podem ser adoptados por um sistema autónomo para fazer o encaminhamento no seu interior
- é usado para garantir a troca de informação de encaminhamento entre sistemas autónomos
- apenas funciona em redes com um máximo de 15 “saltos” entre as suas 2 sub-redes mais distantes
- quando um router recebe informação da existência de um conjunto de rotas para uma dada rede de destino escolhe a melhor com base apenas no caminho mais curto
Para suportar a distribuição de mensagens na Internet usando multicast, pode-se adoptar uma solução usando os seguintes protocolos:
- DVRMP + PIM
- MCAST + DVRMP
- IGMP + PIM
- IGMP + MLP
Ficha 10
Relativamente aos protocolosIPv4 e IPv6:
O que se entende por sistema autónomo (autonomous system – AS):
Em redes locais Ethernet, o endereço MAC:
Um protocolo faz verificação de erros usando um código de redundância cíclica (CRC), com o polinómio gerador G(x) = x3 + 1. Quando se pretende transmitir a mensagem 11001100, qual é o valor do CRC gerado?
Os protocolos de acesso ao meio usando acesso aleatório são vantajosos face aos protocolos de acesso ao meio com alocação dinâmica no seguinte caso:
- uma possibilidade para interligar encaminhadores IPv6 através de um conjunto de encaminhadores IPv4 consiste em criar um “túnel” atravessando a zona IPv4, sendo os datagramas IPv6 transportados no campo de dados dos datagramas IPv4. Esta solução resolve o problema sem implicar a perda de qualquer tipo de informação dos datagramas originais
- uma possibilidade para interligar encaminhadores IPv6 através de um conjunto de encaminhadores IPv4 consiste em ter alguns encaminhadores que implementam as duas versões do protocolo (“dual stack”) fazendo a conversão dos cabeçalhos IPv6 em cabeçalhos IPv4. Esta solução resolve o problema sem implicar a perda de qualquer tipo de informação dos datagramas originais
- as duas versões do protocolo são compatíveis e podem coexistir sem ser necessário qualquer tipo de tratamento especial
- não podem coexistir as duas versões do protocolo IP
O que se entende por sistema autónomo (autonomous system – AS):
- é um grupo de redes IP que possuem uma política própria e "independente" de encaminhamento no seu interior
- é um sistema que funciona isolado do resto do “mundo”
- é a parte do sistema nervoso que está relacionada ao controle da vida vegetativa, ou seja, controla funções como a respiração, circulação do sangue, controle de temperatura e digestão
- é um grupo de redes IP que funcionam sem ligação ao resto da Internet
Em redes locais Ethernet, o endereço MAC:
- é composto por 48 bits, com os primeiros 24 bits identificando o fabricante da placa de rede
- é obtido com a ajuda do DHCP ao ligar o equipamento a uma “nova” rede
- calcula-se a partir do endereço IP
- tem uma estrutura hierárquica, com uma conotação geográfica
Um protocolo faz verificação de erros usando um código de redundância cíclica (CRC), com o polinómio gerador G(x) = x3 + 1. Quando se pretende transmitir a mensagem 11001100, qual é o valor do CRC gerado?
- 110
- 0110
- 101
- 0101
Os protocolos de acesso ao meio usando acesso aleatório são vantajosos face aos protocolos de acesso ao meio com alocação dinâmica no seguinte caso:
- muitas estações ligadas, todas com muitos dados para transmitir
- nunca; os protocolos mais vantajosos em redes de computadores são sempre os que fazem uma partilha fixa da capacidade do canal de transmissão
- nunca, pois a possibilidade de existirem colisões exclui a utilização dos protocolos de acesso ao meio usando acesso aleatório
- muitas estações ligadas, das quais só um número reduzido tem dados para transmitir, em cada instante
Ficha 11
Uma rede Ethernet usa o protocolo de controlo de acesso ao meio:
Em redes locais Ethernet (IEEE 802.3):
Em redes locais Wi-Fi (IEEE 802.11):
Numa rede Ethernet, na camada de ligação de dados podem ser usados comutadores (“switches”, “bridges”). Um comutador:
Para a construção da “spanning-tree” os comutadores trocam entre si BPDU (“bridge protocol data units”) com as seguintes informações:
- CSMA
- CSMA/CA
- ALOHA
- CSMA/CD
Em redes locais Ethernet (IEEE 802.3):
- não é possível detectar colisões
- não é possível ocorrerem colisões devido ao protocolo usado
- mesmo que ocorra uma colisão, a trama de dados é completamente transmitida (a transmissão não é interrompida)
- ao detectar uma colisão a estação interrompe a sua transmissão e agenda a respectiva retransmissão usando o algoritmo de recuo binário exponencial
Em redes locais Wi-Fi (IEEE 802.11):
- mesmo que seja detectada uma colisão, a trama de dados é completamente transmitida (a transmissão não é interrompida)
- não é possível detectar colisões
- não é possível ocorrerem colisões devido ao protocolo usado
- ao detectar uma colisão a estação interrompe a sua transmissão e agenda a respectiva retransmissão usando o algoritmo de recuo binário exponencial
Numa rede Ethernet, na camada de ligação de dados podem ser usados comutadores (“switches”, “bridges”). Um comutador:
- nunca repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, pois há um algoritmo que garante que as tabelas de comutação conhecem os destinos disponíveis e só se envia na interface de destino
- limita-se a repetir os dados que chegam por uma das suas interfaces em todas as outras interfaces
- repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, caso não esteja registado na sua tabela de comutação o endereço MAC de destino da mensagem
- repete os dados que chegam por uma das suas interfaces em todas as outras interfaces, caso não esteja registado na sua tabela de comutação o endereço MAC de origem da mensagem
Para a construção da “spanning-tree” os comutadores trocam entre si BPDU (“bridge protocol data units”) com as seguintes informações:
- (root bridge ID; root path cost; sender bridge ID, designated port ID)
- (root bridge ID; root path cost; receiving bridge ID, blocked port ID);
- (root bridge ID; root path cost; sender bridge ID, sending port ID)
- (root bridge ID; root path cost; receiving bridge ID, receiving port ID)
OOOooOOOOOooOops
Spanning Trees
A necessidade das Spanning Trees surge devido aos problemas causados numa rede com loops físicos. A spanning tree é uma solução para este problema e consiste na criação de uma topologia de rede lógica (diferente da disposição física da rede) que impede que vários packets circulem infinitamente na rede.
Este mecanismo depende das BPDU (Bridge Protocol Data Unit), pacotes que são enviados pelas bridges (comutadores) que constituem uma dada rede. Estas BPDU's são enviadas pelas bridges para todos os seus portos e é através da comparação das mesmas que se determina qual a melhor topologia lógica a ser adoptada. Uma BPDU é assim constituída por:
(Root Bridge ID; Root Path Cost; Sender Bridge ID; Sender Port ID)
- Root Bridge ID - id da root brigde (comutador raiz).
- Root Path Cost - custo da travessia desde a bridge que enviou a BPDU até à root bridge (ou, alternativamente, o número de ligações/arestas até à root bridge).
- Sender Bridge ID - id da bridge que enviou a BPDU.
- Sender Port ID - nº do porto da brigde que enviou a BPDU.
Nota: Os ID's de cada bridge correspondem aos MAC addresses das mesmas, no entanto pode-se optar por uma representação simbólica com recurso a números mais baixos, como acontece nos exercícios apresentados.
É preciso de reconhecer também a existência de 3 tipos de ports:
- Root Ports - O porto de uma bridge pelo qual a chegada à Root Bridge tem menos custo. Não existe na Root Bridge.
- Designated Ports - Numa dada aresta da rede, o porto que a menos custo chega à Root Bridge. Uma consequência desta definição é que todos os portos da Root Bridge são designated ports. Em cada aresta da rede só existe um designated port.
- Blocked Ports - Portos que, depois da aplicação da spanning tree, são bloqueados para evitar loops na rede.
Como resolver?
- Começa-se por determinar qual a Root Bridge. Por norma é sempre a que tem o ID ou MAC address mais baixo. Como já foi referido acima, marcam-se todos os portos da Root Bridge como Designated Ports (D).
- Avaliam-se cada uma das restantes bridges, marcando o Root Port (R) de cada uma. O Root Port será o porto que fornece o caminho de saída com menor custo até à Root Bridge. Em caso de empate entre dois portos com o mesmo custo, comparam-se dois a dois os campos seguintes (Sender Bridge ID ou ainda Sender Port ID, caso o Sender Bridge ID seja igual em ambas as BPDUs) das BPDU's por eles recebidas. O porto que receber a BPDU com menor valor será o Root Port.
- Resta marcar os designated ports de cada segmento/aresta da rede. Caso uma dada aresta da rede tenha um computador numa das extremidades, a designated port desse troço de rede é na bridge oposta ao computador. Caso a aresta seja uma ligação entre duas bridges, comparam-se as BPDU's que estas enviam para esse segmento da rede. A BPDU que tenha o primeiro valor mais baixo quando comparando os campos entre as duas BPDUs, é a BPDU enviada pelo designated port desse segmento.
- Uma vez que estejam marcados os designated ports de todas as arestas, os portos que sobrarem serão blocked ports.
Nota: Veja-se que qualquer desempate é feito através da comparação do mesmo campo de 2 BPDU's diferentes, da esquerda para a direita.
Este mecanismo depende das BPDU (Bridge Protocol Data Unit), pacotes que são enviados pelas bridges (comutadores) que constituem uma dada rede. Estas BPDU's são enviadas pelas bridges para todos os seus portos e é através da comparação das mesmas que se determina qual a melhor topologia lógica a ser adoptada. Uma BPDU é assim constituída por:
- Root Bridge ID - id da root brigde (comutador raiz).
- Root Path Cost - custo da travessia desde a bridge que enviou a BPDU até à root bridge (ou, alternativamente, o número de ligações/arestas até à root bridge).
- Sender Bridge ID - id da bridge que enviou a BPDU.
- Sender Port ID - nº do porto da brigde que enviou a BPDU.
Nota: Os ID's de cada bridge correspondem aos MAC addresses das mesmas, no entanto pode-se optar por uma representação simbólica com recurso a números mais baixos, como acontece nos exercícios apresentados.
É preciso de reconhecer também a existência de 3 tipos de ports:
- Root Ports - O porto de uma bridge pelo qual a chegada à Root Bridge tem menos custo. Não existe na Root Bridge.
- Designated Ports - Numa dada aresta da rede, o porto que a menos custo chega à Root Bridge. Uma consequência desta definição é que todos os portos da Root Bridge são designated ports. Em cada aresta da rede só existe um designated port.
- Blocked Ports - Portos que, depois da aplicação da spanning tree, são bloqueados para evitar loops na rede.
Como resolver?
- Começa-se por determinar qual a Root Bridge. Por norma é sempre a que tem o ID ou MAC address mais baixo. Como já foi referido acima, marcam-se todos os portos da Root Bridge como Designated Ports (D).
- Avaliam-se cada uma das restantes bridges, marcando o Root Port (R) de cada uma. O Root Port será o porto que fornece o caminho de saída com menor custo até à Root Bridge. Em caso de empate entre dois portos com o mesmo custo, comparam-se dois a dois os campos seguintes (Sender Bridge ID ou ainda Sender Port ID, caso o Sender Bridge ID seja igual em ambas as BPDUs) das BPDU's por eles recebidas. O porto que receber a BPDU com menor valor será o Root Port.
- Resta marcar os designated ports de cada segmento/aresta da rede. Caso uma dada aresta da rede tenha um computador numa das extremidades, a designated port desse troço de rede é na bridge oposta ao computador. Caso a aresta seja uma ligação entre duas bridges, comparam-se as BPDU's que estas enviam para esse segmento da rede. A BPDU que tenha o primeiro valor mais baixo quando comparando os campos entre as duas BPDUs, é a BPDU enviada pelo designated port desse segmento.
- Uma vez que estejam marcados os designated ports de todas as arestas, os portos que sobrarem serão blocked ports.
Nota: Veja-se que qualquer desempate é feito através da comparação do mesmo campo de 2 BPDU's diferentes, da esquerda para a direita.