Predefinição:RCO 1110231 2019-1
Professor
Professor: Tiago Semprebom
Email: tisemp@ifsc.edu.br
Atendimento paralelo: 3a feira 17:30h - 18:30 h (sala de professores de telecomunicações II)
Endereço web do grupo: http://groups.google.com/group/ifsc_res
Endereço de e-mail da disciplina: ifsc_res@googlegroups.com
IMPORTANTE: o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação, e aguardar o parecer da coordenação. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação, e assim a reprovação na disciplina.
Plano de Ensino
Notas
Matrícula | A1 | A2 | A3 | A4 | Rel. Tec. | Final |
---|---|---|---|---|---|---|
201823806749 | 0,0 | 0,0 | 0,0 | 0,0 | OK | 0,0 |
201811103467 | 0,0 | 0,0 | 0,0 | 0,0 | OK | 0,0 |
172001603800 | 0,0 | 0,0 | 0,0 | 0,0 | NOK | 0,0 |
201811103475 | 0,0 | 0,0 | 0,0 | 0,0 | OK | 0,0 |
201811101502 | 0,0 | 0,0 | 0,0 | 0,0 | OK | 0,0 |
F: faltou
(X): conceito da recuperação
negrito: com direito a recuperação
Curiosidades
- Monitoramento do tráfego RNP - PoP-SC
- Monitoramento do tráfego RNP - Nacional
- Rede Clara Internacional
- Futura infraestrutura de rede da RNP
- Animated map shows the undersea cables that power the internet
- Submarine Cable Map 2018
- Redes WiFi no mundo
- History of the Internet
- History of the Internet - legendado
- Warriors of the Net
- Warriors of the Net - legendado
- Browser Wars
- Browser Wars - legendado
- Browser Wars - dublado
- Localização geográfica de IPs
- IPv6 no Brasil
- Fragmentação no IPv4 e IPv6
- Laboratório de IPv6 - Livro didático contendo vários roteiros para entendimento do IPv6
- Estatísticas Google sobre IPv6
- HTTP/2 Frequently Asked Questions
- Iniciação à máquinas de estados
Uma representação artística das interligações na Internet
Materiais de aula
Slides
Listas de exercícios
- Lista de exercícios 1
- Lista de exercícios 2
- Lista de exercícios 3
- Lista de exercícios 4
- Lista de exercícios 5
- Lista de exercícios 6
- Lista de exercícios 7
- Lista de exercícios 8
- Lista de exercícios 9
Apostilas
Aulas
11/02/19: Apresentação da disciplina
- Apresentação da disciplina, plano de aula, laboratórios e métodos de avaliação.
- Revisão de conceitos do Projeto Integrador I
- Introdução a Redes de Computadores [slides]
18/02/19: Introdução às Redes de Computadores
- Serviço orientado à conexão (TCP).
- Serviço não orientado à conexão (UDP).
- Comutação de circuitos vs Comutação de pacotes.
- FDMA e TDMA.
25/02/19: Introdução à Redes de Computadores
- Redes de acesso e meio físico;
- Resolução de exercícios (Lista 1).
- sem atividade letivas.
11/03/19: Introdução à Redes de Computadores
- Arquitetura em Camadas;
- Correção lista de exercício I
Nesta atividade serão vistos algumas ferramentas utilizadas para obter informações relacionadas às configurações de uma rede de computadores.
Ferramentas básicas: Ping e Traceroute |
---|
Objetivos
Conceitos introdutórios para uso do laboratórioA rede do laboratório em uso segue o modelo apresentado no diagrama da Figura 1. Roteiro de atividadesifconfigO aplicativo ifconfig pode ser utilizado para visualizar a configuração ou configurar uma interface de host em redes TCP/IP. Se nenhum argumento for passado na chamada do ifconfig, o comando mostra a configuração atual de cada interface de rede. Consultar as páginas man ifconfig do Linux para maiores detalhes sobre o funcionamento deste aplicativo, o qual permite ativar/desativar a interface, configurar o endereço IP, definir o tamanho da MTU, redefinir o endereço de hardware se a interface suporta, redefinir a interrupção utilizada pelo dispositivo, entre outros.
|
25/03/2019: Camada de Aplicação
- Atividade em Laboratório (Laboratório de Redes de Computadores)
- Configuração da máquina virtual VM VirtualBox em modo de tela cheia:
- No terminal do mate e digitar os comandos a seguir:
- sudo apt-get update
- sudo apt install build-essential module-assistant dkms
- sudo m-a prepare
Após esta instalação, podemos clicar em Dispositivos, e ir na opção Inserir imagem de CD dos adicionais para convidado e executar a aplicação que irá abrir.
- Material complementar: Editor vi
- Realização do Teste 1 (Avaliação 1: Introdução às Redes de Computadores)
- Questionário no Sigaa;
01/04/2019: Ferramentas básicas: WireShark e tcpdump
KUROSE, J.F & ROSS, K. W. Todos os direitos reservados
Objetivos
- Conhecer aplicativos para verificar os parâmetros do TCP/IP
- Familiarização com os sniffers de rede WireShark e tcpdump.
Materiais de apoio
Ferramentas básicas: WireShark e tcpdump |
---|
IntroduçãoO entendimento de protocolos de redes pode ser bastante aprofundado através da “observação de protocolos funcionando” e “da manipulação de protocolos” - observando a sequência de mensagens trocadas entre duas entidades, entrando nos detalhes da operação do protocolo, e fazendo com que os protocolos realizem certas ações e então observando estas ações e as consequências. A ferramenta básica para observar as mensagens trocadas entre as entidades em execução é chamada de sniffer. Como o nome sugere, um sniffer captura mensagens sendo enviadas/recebidas pelo seu computador; ele também tipicamente armazena e/ou apresenta os conteúdos dos vários campos dos protocolos nestas mensagens capturadas. Um sniffer isoladamente é um elemento passivo. Ele observa as mensagens sendo enviadas e recebidas pelas aplicações e protocolos executando no seu computador, mas jamais envia pacotes. Similarmente, os pacotes recebidos nunca são explicitamente endereçados ao sniffer. Ao invés disso, um sniffer recebe uma cópia de pacotes que são enviados/recebidos para/de aplicações e protocolos executando no seu computador. A Figura 1 mostra a estrutura de um sniffer. À direita da Figura 2 estão os protocolos (neste caso, protocolos da Internet) e aplicações (tais como navegador web ou cliente FTP) que normalmente executam no seu computador. O sniffer, exibido dentro do retângulo tracejado na Figura 2 é uma adição aos softwares usuais no seu computador, e consiste de duas partes: a biblioteca de captura de pacotes e o analisador de pacotes. A biblioteca de captura de pacotes recebe uma cópia de cada quadro da camada de enlace que é enviado do ou recebido pelo seu computador. Lembre que mensagens trocadas por protocolos das camadas mais altas tais como HTTP, FTP, TCP, UDP, DNS ou IP, são todos eventualmente encapsulados em quadros que são transmitidos para o meio físico como um cabo Ethernet. Na Figura 2, assume-se que o meio físico é uma Ethernet, e desta forma, os protocolos das camadas superiores são eventualmente encapsulados em um quadro Ethernet. Capturar todos os quadros fornece todas as mensagens enviadas/recebidas de/por todos os protocolos e aplicações executando em seu computador. O analisador de pacotes exibe os conteúdos de todos os campos dentro de uma mensagem de protocolo. Para que isso seja feito, o analisador de pacotes deve “entender” a estrutura de todas as mensagens trocadas pelos protocolos. Por exemplo, suponha que estamos interessados em mostrar os vários campos nas mensagens trocadas pelo protocolo HTTP na Figura 5. O analisador de pacotes entende o formato dos quadros Ethernet, e desta forma pode identificar o datagrama IP dentro de um quadro. Ele também entende o formato do datagrama IP, para que ele possa extrair o segmento TCP dentro do datagrama IP. Ele entende a estrutura do segmento TCP, para que possa extrair a mensagem HTTP contida no segmento. Finalmente, ele entende o protocolo HTTP e então, por exemplo, sabe que os primeiros bytes de uma mensagem HTTP contém a cadeia “GET”, “POST” ou “HEAD”. Nós utilizaremos o sniffer Wireshark (http://www.wireshark.org) para estes laboratórios, o que nos permite exibir os conteúdos das mensagens sendo enviadas/recebidas de/por protocolos em diferentes camadas da pilha de protocolos. Tecnicamente falando, Wireshark é um analisador de pacotes que pode ser executado em computadores com Windows, Linux/UNIX e MAC. É um analisador de pacotes ideal para nossos laboratórios, pois é estável, tem uma grande base de usuários e é bem documentado incluindo um guia de usuário (http://www.wireshark.org/docs/wsug_html/), páginas de manual (http://www.wireshark.org/docs/man-pages/), e uma seção de FAQ detalhada (http://www.wireshark.org/faq.html), funcionalidade rica que inclui a capacidade de analisar mais que 500 protocolos, e uma interface com o usuário bem projetada. Ele funciona em computadores ligados a uma Ethernet para conectar-se à Internet, bem como protocolos ponto a ponto, tal como PPP.
Quando você executar o programa Wireshark, a interface com o usuário exibida na Figura 3 aparecerá. Inicialmente, nenhum dado será apresentado nas janelas. A interface do Wireshark tem seis componentes principais:
Roteiro de atividades
Tcpdump
|
08/04/19: Camada de Aplicação
15/04/19: Camada de Aplicação
- Protocolos da Camada de Aplicação: HTTP, FTP, SMTP, POP e DNS.
- Lista de Exercício: III
- Revisão para Avaliação 1.
22/04/19: Camada de Aplicação
- Avaliação 1 (sala 02).
29/04/19: Camada de Aplicação
- Vista de prova.
DNS: Domain Name System | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DNS: Domain Name SystemSe você gasta algum tempo na internet mandando e-mails ou navegando pela web, está utilizando servidores de domínios sem mesmo perceber. O sistema DNS (Domain Name System) forma uma das maiores, mais ativas e mais distribuídas bases de dados do planeta. Sem o DNS, a internet acabaria rapidamente. Quando você navega na internet ou manda uma mensagem de e-mail, você estará utilizando um nome de domínio. Por exemplo, a URL "http://www.hsw.com.br" contém o nome de domínio howstuffworks.com. Assim como o endereço de e-mail "iknow@howstuffworks.com." Nomes como “howstuffworks.com” são facilmente lembrados pelas pessoas, mas não ajudam em nada as máquinas. Todas elas usam endereços de IP para se referirem umas às outras. A máquina a que as pessoas se referem como "www.hsw.com.br", por exemplo, possui o endereço IP 216.183.103.150. Toda vez que se usa um nome de domínio, os servidores de domínios da internet (DNS) estarão traduzindo os nomes de domínio legíveis em endereços de IP reconhecidos pelas máquinas. Durante um dia de navegação e envio de e-mails, os servidores de domínios podem ser acessados inúmeras vezes. Os servidores de domínios traduzem nomes de domínios em endereços de IP. Isto parece uma tarefa simples, e seria, exceto por cinco razões:
O sistema DNS é uma base de dados, e nenhuma outra em todo o globo recebe tantas requisições. É a única, também, modificada por milhões de pessoas todos os dias. Isso é o que faz o sistema DNS tão singular. Endereços IPPara manter todas as máquinas da Internet em perfeito funcionamento, cada uma delas é associada a um único endereço chamado endereço de IP. IP significa protocolo da Internet, e é um número de 32 bits normalmente apresentado como quatro “octetos” em um “número decimal pontuado.” Um endereço de IP comum se parece com esse: 216.183.103.150
Os quatro números em um endereço de IP são chamados de octetos por possuírem valores entre 0 e 255 (256 possibilidades por octeto). Toda máquina na Internet possui seu próprio endereço de IP (na verdade, tem ao menos UM endereço). Um servidor tem um endereço IP estático, que raramente muda. Uma máquina doméstica, que se conecta através de um modem, muitas vezes possui um endereço de IP designado pelo provedor no momento da conexão. Este endereço IP é único a cada sessão e pode mudar na próxima vez que houver uma conexão. Considerando isto, um provedor precisa apenas de um endereço IP para cada modem que dá suporte, ao invés de um para cada cliente (isso vale para ADSL ou conexões 3G também). Se você estiver usando um computador com sistema operacional Linux, você pode ver seu endereço IP por meio do seguinte comando: aluno@M2:~$ ifconfig
eth0 Link encap:Ethernet Endereço de HW 84:2b:2b:7c:54:f5
inet end.: 172.18.80.251 Bcast:172.18.127.255 Masc:255.255.128.0
endereço inet6: fe80::862b:2bff:fe7c:54f5/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:3634552 erros:0 descartados:145885 excesso:0 quadro:0
Pacotes TX:608253 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:888269786 (888.2 MB) TX bytes:195176030 (195.1 MB)
IRQ:21 Memória:f7fe0000-f8000000
No exemplo acima, a interface de rede eth0 (que é o dispositivo de hardware ou software que liga o computador fisicamente a Internet) possui o endereço IP 172.18.80.251. As demais informações descrevem outros parâmetros e características da interface de rede, e serão estudados em momento oportuno (mas não agora ;-). Para que as máquinas acessem a Internet, é necessário apenas um endereço de IP para se conectar a um servidor. Você poderia digitar em seu navegador, por exemplo, a URL http://200.135.190.95 e alcançaria a máquina que contém o servidor web do IFSC. Porém essa forma de endereçar servidores na Internet é pouco prática. Nomes de domínio são estritamente usados para a nossa conveniência. Nomes de domíniosSe precisássemos lembrar de todos os endereços de IP das páginas da Web que visitamos diariamente, ficaríamos malucos. Seres humanos não são bons em lembrar séries de números. No entanto, somos bons na lembrança de palavras, por isso usamos os nomes de domínios. Você possui, provavelmente, vários nomes de domínios guardados em sua cabeça. Como por exemplo:
As partes COM, EDU e UK destes servidores são chamadas de domínios principais ou domínios de primeiro nível. Existem vários domínios principais, incluindo COM, EDU, GOV, MIL, NET, ORG e INT, assim como as singulares combinações de duas letras para cada país (em inglês). Em cada domínio principal existe uma enorme lista de domínios secundários. No domínio principal COM, por exemplo, tem-se:
Cada nome no domínio principal COM precisa ser único, mas podem existir réplicas entre os domínios. Por exemplo, howstuffworks.com e howstuffworks.org são duas máquinas completamente diferentes. No caso de bbc.co.uk, este é um domínio terciário. São possíveis até 127 níveis, no entanto, mais do que quatro são raros. A palavra mais à esquerda, como www ou encarta, é nome de hospedagem, que determina o nome de uma máquina específica (com um endereço de IP próprio) em um domínio. Um domínio concedido pode conter milhões de nomes de hospedagem desde que sejam únicos. Por causa desta determinação de todos os nomes em um domínio serem únicos, é necessário que uma entidade controle a lista destes servidores e garanta que nenhuma duplicação aconteça. O domínio COM, por exemplo, não pode conter dois nomes iguais e uma empresa chamada Network Solutions (em inglês) é a responsável por manter esta lista. Ao registrar um nome de domínio, o processo passa por um dos inúmeros registradores que trabalham na Network Solutions para adicionar nomes à lista. Ao mesmo tempo, é mantida uma base de dados chamada whois (em inglês) que contém informações sobre o proprietário e o servidor de cada domínio. Se você acessar o formulário whois (em inglês), encontrará informações acerca de qualquer domínio existente. Apesar de ser importante possuir uma autoridade central cuidando da base de dados referente aos nomes no domínio principal COM (e nos outros), você pode não querer centralizar a base de dados de todas as informações do domínio. A Microsoft, por exemplo, tem inúmeros endereços de IP e de nomes de hospedagens. Esta empresa quer manter seu próprio servidor de domínio pelo microsoft.com. Similarmente, a Grã-Bretanha quer administrar os domínios principais uk e a Austrália os domínios au, assim como nós brasileiros queremos administrar os domínios br. Por esta razão, o sistema DNS é um sistema partilhado. A Microsoft é completamente responsável pela manutenção do servidor microsoft.com: ela mantém as máquinas que implementam sua parte do sistema DNS, podendo mudar a base de dados de seu domínio sempre que necessitar, pois possui seus próprios servidores de domínio. Todo domínio possui um servidor em algum lugar, responsável por lidar com as requisições, onde há uma pessoa mantendo os registros deste DNS. Esta é uma das partes mais extraordinárias deste sistema: ele está completamente espalhado por todo o planeta em milhões de máquinas, administradas por milhões de pessoas e, ainda assim, se comporta como uma base de dados única e integrada. Servidores DNSServidores DNS fazem duas coisas o tempo todo:
Quando uma solicitação chega, o servidor pode exercer uma das quatro opções:
Ao digitar uma URL em seu navegador, o primeiro passo que este faz é converter o nome do domínio e da hospedagem em um endereço IP, para que o navegador solicite uma página da web à máquina que possui esse endereço de IP. Para fazer esta conversão, o navegador se comunica com um servidor DNS. Ao configurar seu computador para se conectar a Internet, você (ou o software instalado para se conectar ao seu provedor) precisa informar ao computador qual o servidor DNS que deve ser usado para a conversão de nomes de domínios em endereços de IP. Para ver qual o servidor DNS configurado em seu computador (assumindo que ele esteja com Linux), use o comando nslookup: aluno@M2:~$ nslookup www.ifsc.edu.br
Server: 200.135.37.65
Address: 200.135.37.65#53
Non-authoritative answer:
Name: www.ifsc.edu.br
Address: 200.18.10.13
A estrutura das informações mantidas no DNSComo deve ter ficado claro na seção anterior, DNS (Domain Name System) é uma base de dados distribuída e hierárquica. Nela se armazenam informações para mapear nomes de máquinas da Internet para endereços IP e vice-versa, informação para roteamento de email, e outros dados utilizados por aplicações da Internet. A informação armazenada no DNS é identificada por nomes de domínio que são organizados em uma árvore, de acordo com as divisões administrativas ou organizacionais. Cada nodo dessa árvore, chamado de domínio, possui um rótulo (na seção anterior isso foi denominado hospedagem). O nome de domínio de um nodo é a concatenação de todos os rótulos no caminho do nodo até a raiz. Isto é representado como uma string de rótulos listados da direita pra esquerda e separados por pontos (ex: ifsc.edu.br, sj.ifsc.edu.br). Um rótulo precisa ser único somente dentro do domínio pai a que pertence. Por exemplo, um nome de domínio de uma máquina no IFSC pode ser mail.ifsc.edu.br, em que br é o domínio do topo da hierarquia ao qual mail.sj.ifsc.edu.br pertence. Já edu é um subdomíno de br, ifsc um subdomínio de edu, e mail o nome da máquina em questão. Por razões administrativas, o espaço de nomes é dividido em áreas chamadas de zonas, cada uma iniciando em um nodo e se estendendo para baixo para os nodos folhas ou nodos onde outras zonas iniciam. Os dados de cada zona são guardados em um servidor de nomes, que responde a consultas sobre uma zona usando o protocolo DNS. Clientes buscam informação no DNS usando uma biblioteca de resolução (resolver library), que envia as consultas para um ou mais servidores de nomes e interpreta as respostas. (tirado do manual do BIND9) Ver também o livro sobre DNS e BIND da O'Reilly. Você pode consultar a IANA para conhecer as delegações dos top-level domains como o .br, por exemplo. A IANA é responsável por coordenar estas delegações em confirmidade com suas políticas. Consulte: top-level domains Registros DNSCada rótulo na hierarquia DNS possui um conjunto de informações associadas a si. Essas informações são guardas em registros de diferentes tipos, dependendo de seu significado e propósito. Cada consulta ao DNS retorna assim as informações do registro pedido associado ao rótulo. Por exemplo, para ver o registro de endereço IP associado a www.ifsc.edu.br pode-se executar o comando dig (o resultado teve alguns comentários removidos): tisemp@sj-lin-des2-744934:~$ dig www.ifsc.edu.br
;; QUESTION SECTION:
;www.ifsc.edu.br. IN A
;; ANSWER SECTION:
www.ifsc.edu.br. 310 IN A 200.135.190.95
;; AUTHORITY SECTION:
ifsc.edu.br. 3592 IN NS adns1.pop-sc.rnp.br.
ifsc.edu.br. 3592 IN NS ns1.ifsc.edu.br.
ifsc.edu.br. 3592 IN NS ns2.ifsc.edu.br.
ifsc.edu.br. 3592 IN NS adns2.pop-sc.rnp.br.
;; ADDITIONAL SECTION:
ns1.ifsc.edu.br. 3592 IN A 200.135.190.1
ns2.ifsc.edu.br. 1061 IN A 200.135.190.3
adns1.pop-sc.rnp.br. 493216 IN A 200.237.192.10
adns1.pop-sc.rnp.br. 493216 IN AAAA 2801:80:a88:4000::10
adns2.pop-sc.rnp.br. 493216 IN A 200.135.14.10
adns2.pop-sc.rnp.br. 493216 IN AAAA 2001:12f0:200:a014::10
Cada uma das informações acima mostra um determinado registro e seu conteúdo, como descrito na tabela abaixo:
Obs: TTL é o tempo de validade (em segundos) da informação retornada do servidor de nomes, e classe é o tipo de endereço (no caso IN equivale a endereços Internet). Os tipos de registros mais comuns são:
Uma zona assim é composta de um conjunto de registros com todas as informações dos domínios nela contidos. O conteúdo de uma zona, contendo o domínio example.com, pode ser visualizado abaixo: example.com 86400 IN SOA ns1.example.com. hostmaster.example.com. (
2002022401 ; serial
10800 ; refresh
15 ; retry
604800 ; expire
10800 ; minimum
)
IN NS ns1.example.com.
IN NS ns2.smokeyjoe.com.
IN MX 10 mail.another.com.
IN TXT "v=spf1 mx -all"
ns1 IN A 192.168.0.1
www IN A 192.168.0.2
ftp IN CNAME www.example.com.
bill IN A 192.168.0.3
fred IN A 192.168.0.4
Atividade
|
06/05/19: Camada de Transporte
- Introdução à Camada de Transporte;
- Resolução da Lista de exercícios 5
13/05/19: Camada de Transporte
- Protocolos Dutados:
- Volta-N;
- Retransmissão Seletiva.
20/05/19: Camada de Transporte
- Controle de Fluxo e Congestionamento do TCP.
- Resolução da Lista de exercícios 5
27/05/19: Camada de Transporte
- As atividades de hoje buscarão mostrar as características básicas de comunicações com protocolos de transporte.
Experimento TCP x UDP |
---|
Aplicações e protocolos de transporteFaça uma rápida pesquisa e descubra que protocolos de transporte (e que ports) são usados por estas aplicações:
Que protocolo de transporte predomina nesse conjunto ? Tipos de protocolos de transporte: TCP x UDPNestes experimentos, serão evidenciadas diferenças entre os protocolos TCP e UDP. Experimento 1Ambos protocolos de transporte podem ser usados por aplicações que precisem se comunicar. Porém cada um deles têm certas propriedades, então a escolha precisa ser feita dependendo do tipo de comunicação a ser feita pela aplicação. Por exemplo, o que aconteceria se um arquivo fosse transferido de um computador a outro com ambos protocolos ?
Experimento 2Transferências usando cada um desses protocolos podem apresentar características bem distintas. Neste segundo experimento, serão feitas transferências simultâneas de arquivos a partir de um mesmo servidor, comparando-se o resultado obtido com TCP e UDP. Essas transferência ocorrerão entre os computadores do laboratório e um servidor externo ao laboratório, como mostrado na figura abaixo:
|
03/06/19: Avaliação Camada de Transporte
- Local: sala 02.
- Horário: 19h.