Anda di halaman 1dari 6

Universidade Federal de Minas Gerais Departamento de Cincia da Computao e ca

Redes de Computadores
Ultima alteraao: 18 de maio de 2010 c

Professor: Dorgival Olavo Guedes Neto1 (Sala 4022) Local: ICEx, sala 2013 Horrio: segundas e quartas, 9:25 `s 11:05 a a Estagirio em docncia: a ser denido a e D vidas: Utilize o Moodle. u No envie mail diretamente para o professor ou monitor, exceto para o caso de a precisar discutir cdigo! o

Informaes gerais co
Objetivo
Abordar os princ pios bsicos da rea de redes de computadores com uma nfase na noo de a a e ca sistemas, usando uma viso voltada para a Internet. a Ao nal do curso o aluno deve ser capaz de identicar os principais elementos de um sistema distribu operando em rede, analisar compromissos no desenvolvimento de soluoes para prodo c blemas como conteno de recursos, controle de uxo, roteamento e endereamento, bem como ca c descrever os princ pios de operao da Internet com relao a esses fatores. ca ca Os conceitos da disciplina sero exercitados atravs de pequenos exerc a e cios prticos voltados a para a vericao de caracter ca sticas espec cas de redes e do desenvolvimento de uma aplicao ca distribu de complexidade mdia. da e

Ementa
Conceitos de sistemas distribu dos, redes de computadores, protocolos e servios de comuc nicao. Arquitetura de redes de computadores. Camadas inferiores do modelo de referncia ca e de ISO: f sica, enlace, redes e transporte. Redes locais, interligao de redes; especicao de ca ca protocolos.

Programa
O curso cobrir a maior parte do livro texto adotado, com nfase maior nos princ a e pios bsicos da a rea. Questes mais avanadas e de interesse mais recente, como segurana e aplicaes multim a o c c co dia, sero tratadas de forma mais supercial. Os alunos so encorajados a ler no livro as sees que a a co no sero discutidas em sala de aula. a a Conceitos gerais da rea de redes de computadores a Introduo ao desenvolvimento de aplicaes em redes ca co Algumas aplicaes relevantes: DNS, Web, Correio eletrnico co o Protocolos m-a-m: entrega convel, abstraoes poss a c veis Controle de congestionamento e alocao de recursos (QoS) ca Interconexo de redes: endereamento e roteamento a c Chaveamento de pacotes: encaminhamento Aspectos de conexo direta de computadores: codicao, deteco de erros, enquadramento a ca ca Tecnologias de rede local: Ethernet, redes em anel, redes sem o Princ pios gerais de segurana em redes c
1 http://www.dcc.ufmg.br/ dorgival/

Calendrio a

Aula 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Data 01/03 03/03 08/03 10/03 15/03 17/03 22/03 24/03 29/03 31/03 05/04 07/04 12/04 14/04 19/04 21/04 26/04 28/04 03/05 05/05 10/05 12/05 17/05 19/05 24/05 26/05 31/05 02/06 07/06 09/06 14/06 16/06 21/06 23/06 28/06 30/06 05/07 07/07

Assunto Introduo. Conceitos gerais. ca Conceitos gerais. Roteamento, comutao. Redes de acesso ca Redes de acesso. Meios f sicos. Desempenho. Arquitetura em camadas. Estrutura das redes. Histrico. o Programao em redes e discusso do TP1. ca a Introduo ao ambiente de desenvolvimento. ca Aplicaes: princ co pios gerais, Web Aplicaes: Web, correio eletrnico co o Aplicaes: correio eletrnico, DNS co o Primeira prova: cap tulos 1 e 2 Camada de transporte: multiplexao, UDP, tranmisso convel ca a a Transmisso convel, janela deslizante. a a Janela deslizante. TCP: conexes o TCP: janela, controle de uxo, mquina de estados a TCP: mquina de estados, temporizaes adaptativas a co Feriado: Tiradentes Feriado: Mostra das Proses (recesso) o Feriado: Mostra das Proses (recesso) o TCP: controle de congestionamento Segunda prova: cap tulo 3 Camada de rede: princ pios Endereos IP c Encaminhamento, fragmentao ca Roteamento: distance vector. Roteamento: link state, BGP. Discusso do TP3. Uso de fork para gerenciar programas. a Escalabilidade do roteamento. Protocolos auxiliares. IPv6. Camada de enlace: princ pios gerais, deteco de erros. ca Terceira prova: cap tulo 4 Protocolos de acesso mltiplo u Ethernet. ARP. Hubs, pontes e switches Chaves com aprendizado, rvores geradoras a Outras tecnologias: PPP, ATM, Frame Relay Outras tecnologias. Princ pios de segurana em redes c Quarta prova: cap tulo 5 No h aula prevista a a No h aula prevista a a No h aula prevista a a

Obs.

TP1 -

TP2 - - TP1

TP3 - - TP2 (IEEE ICC) (IEEE ICC)

- TP3

Avaliao ca
Os pontos sero dividos entre provas e trabalhos. H algumas listas de exerc a a cios dispon veis para ajudar na preparao para as provas, mas elas no valem pontos. ca a

Provas
Sero quatro, cada uma valendo quinze pontos, com datas e matria a serem denidas ao longo a e do curso. As datas sero sempre as denidas no calendrio do curso. a a Primeira prova: cap tulos 1 e 2 (inclui a parte de programao com sockets). ca Segunda prova: cap tulos 2 e 3 Terceira prova: a denir. Quarta prova: a denir. Informe o professor assim que poss no caso de no poder fazer uma das provas. Comprovel a missos prossionais no so em geral justicativa para ausncia. a a e

Listas de exerc cios


Apesar de no valerem pontos, listas de exerc sobre a matria de cada prova estaro dispon a cio e a veis para auxiliar no entendimento dos conceitos. Recomendo fortemente que todos faam as listas c ` medida que a matria for discutida. Utilizem os fruns de cada lista para discutir as respostas a e o e tirar suas dvidas no Moodle. u Primeira lista: caps. 1 e 2. Segunda lista: cap. 3. Terceira lista: cap. 4.

Trabalhos prticos a
Sero trs, valendo 40 % da nota nal. a e TP1: Um servidor Web simples Trabalho individual ou em dupla. (10 pontos). TP2: Sistema de troca de mensagens em ambiente com falhas Trabalho individual ou em dupla. (15 pontos). TP3: Aplicao peer-to-peer para troca de arquivos Trabalho individual ou em dupla. ca (15 pontos). Orientaes sobre o ambiente de desenvolvimento co As prticas devem ser desenvolvidas no ambiente Linux usando as linguagens ANSI C/ANSI C++, a sem bibliotecas adicionais alm das bibliotecas padro de cada linguagem (e do Linux, obviamente). e a Uma boa opo, para aqueles que tm acesso a um computador em casa, instalar uma verso ca e e a de Linux. Isso pode ser feito com uma instalao como a Ubuntu a partir do CD, ou voc pode ca e instalar o Virtual box, ferramenta gratuita e de software livre que permite voc executar um S.O. e em uma janela, dentro de outro S.O. (como o Windows, por exemplo). No caso do Ubuntu, certique-se que os seguintes pacotes sejam instalados: gcc, gcc-doc, glibc-doc, manpages, manpages-dev, ddd. Excepcionalmente, os TPs podero ser desenvolvidos em Java (a ser conrmado). a Mais detalhes sobre a instalao do Virtual Box e do uso do ambiente Linux sero fornecidos ca a em sala.

Sobre prazos e formato de entrega: Todos os trabalhos devem ser entregues eletronicamente, como um arquivo .zip ou .tar.gz, contendo todo os fontes relacionado ao trabalho em questo no inclua arquivos objeto (.o, .obj) nem a a arquivos executveis (a.out, .exe, etc.); um relatrio deve fazer parte da entrega, detalhando a o aspectos principais do trabalho executado. A entrega eletrnica deve ser feita at o horrio indicado no Moodle. Usualmente, esse horrio o e a a sempre anterior ao in da aula no dia marcado. e cio Trabalhos entregues depois do prazo sero penalizados em 12,5 % se entregues nas 24 horas a seguintes, em 25 % se entregues at as 48 horas e 50 % para as 24 horas depois disso. (Isto , o e e atraso mximo aceitvel para ainda valer algo de trs dias.) a a e e Para evitar problemas, comece a fazer cada trabalho assim que ele for denido. O prazo planejado para cada entrega prev trabalho cont e nuo durante o per odo; deixar para fazer tudo nos ultimos dias no vai dar certo, acreditem. a Parte da avaliao dos trabalhos poder ser feita na forma de questes escritas nas provas ca a o tericas e/ou por entrevistas individuais. o Conra as datas dos trabalhos no calendrio do curso a

Referncias e links uteis e


Livro-Texto
Kurose, J, Ross, K., Redes de Computadores e a Internet: uma nova abordagem, Addison Wesley (ou Computer Networking a top-down approach) qualquer edio. ca O livro apresenta uma abordagem top-down, oposta ` que se tornou padro na rea, com a a a resultados muito bons.

Bibliograa suplementar
Practical TCP/IP Sockets in C: practical guide for programmers de Donahoo e Calvert (boa referncia para sockets em geral; h tambm uma verso para Java). Uma referncia e a e a e condensada do uso de sockets, com bons exemplos de programao. Bastante recomendvel ca a para quem for seguir programando com sockets no futuro. Redes de Protocolos: Protocolos de Internet em Ao, Jeanna Matthews, Ed. LTC. Diversos ca aspectos prticos de protocolos sero analisados com base em material desenvolvido nesse a a livro. Douglas Comer, Interligacao em Rede com TCP IP Vol I: Princ pios, protocolos e arquiterura, Campus (ou InternetWorking with TCP IP Vol. I, Prentice Hall) Um timo livro sobre Internet e TCP/IP, com um bom n de detalhes sobre os protocolos. o vel E considerado uma referncia bsica sobre TCP/IP em geral. e a Stevens, W.R., Unix Network Programming, 2nd ed., Prentice Hall (no sei se h traduo) a a ca Referncia imprescind para quem pretende desenvolver aplicaes avanadas que utilizem e vel co c a rede utilizando a interface sockets. J apareceu at no cinema! a e Stevens, W.R., TCP/IP Illustrated, Vol. 1: The Protocols, Vol.3: TCP for Transactions, HTTP, NNTP, and the Unix Domain Protocols (pelo menos o primeiro volume foi traduzido: TCP/IP Ilustrado, no sei a editora) a Referncia extremamente completa sobre os detalhes de funcionamento e implementao e ca dos protocolos da arquitetura TCP/IP. O vol. 2 s interessa para especialistas em sistemas o operacionais e implementao de protocolos de rede. ca Existem outros bons livros sobre redes de computadores por a mas eles no trazem o material , a com a profundidade e organizao desejadas para este curso, portanto no so recomendados como ca a a

substituto para o livro texto adotado. Entretanto, alunos em busca de uma outra viso sobre o a tema podem querer consultar esses livros eventualmente: Redes de Computadores: uma abordagem de sistemas, Larry Peterson e Bruce Davie, Ed. Campus. Traduo da terceira edio do livro Computer Networks, a systems approach, ca ca Ed. Morgan Kaufmann. Livro normalmente adotado nas minhas turmas de Cincia da Computao, tem uma nfase e ca e maior em software. Andrew Tanenbaum, Redes de Computadores, 3a Ed., Campus (ou Computer Networks, Prentice Hall) Livro muito utilizado em cursos de Redes de Computadores em geral, cobre os principais aspectos da rea, incluindo vrias tecnologias de redes. H quem adore esse livro; eu acho a a a o texto um pouco confuso e cansativo, com alguns pontos tratados com mais profundidade que a necessria, outros tratados muito supercialmente. a Stallings, W., Data and Computer Communications, Prentice Hall Um livro com um enfoque maior nas camadas inferiores do modelo OSI/ISO, bastante abrangente em termos das tecnologias abordadas. Keshav, S., An Engineering Approach to Computer Networking, Addison-Wesley Como o nome indica, um livro mais voltado para aspectos de engenharia e redes de transmisso de dados (camadas inferiores da pilha de protocolos). Grande parte do material tem a mais interesse para prossionais de telefonia e transmisso de dados, por enfocar muitos a detalhes da rede telefnica e da rede ATM. o

Links uteis
Como instalar o linux no HD ou usando VMWare Sockets H vrias referncias na Web sob como desenvolver programas utilizando soquetes. Em particular, a a e podemos destacar: BSD Sockets: A Quick and Dirty Primer Um tutorial curto com analogias ao sistema telefnico. No cobre coisas avanadas como o select(), mas um timo lugar para comear. o a c e o c Beejs Guide to Network Programming Um guia bastante interessante, discutindo todas as funes, uma por vez, com cdigo de exemplo que normalmente est no n co o a vel certo de complexidade. Um bom lugar para entender o uso do select, por exemplo. Alis, l voc a a e encontra o esqueleto de um servidor de chat. Tente organizar o cdigo melhor, pelo o menos, se voc for us-lo! e a Unix socket FAQ Coleo das perguntas mais frequentes sobre o uso de soquetes e de select() ca em particular. Normalmente contm muito mais detalhes do que necessrio neste caso, e e a mas nunca se sabe...

Vrios outros links, tutoriais e outros recursos sobre programao em Unix em geral e em soca ca kets em particular podem ser encontrados na pgina http://www.cs.bualo.edu/ milun/unix.programming.html. a Assuntos variados Alguns links uteis que trazem mais detalhes sobre tpicos espec o cos discutidos durante o curso. C: o tutorial Programming in C tem muitas informaes importantes, como o uso de co sinais, etc. Codicao: detalhes de diferentes tcnicas de codicao. ca e ca

Artigos
A lista a seguir apresenta um conjunto de artigos de extrema relevncia para a rea de redes. Muia a tos deles apresentam conceitos bsicos de aplicao ampla, outros possuem um interesse histrico, a ca o alguns discutem pesquisas recentes ou caminhos futuros para a rea. Praticamente todos eles sera vem bem como exemplos de trabalhos com uma viso abrangente de sistemas, onde os problemas a so analisados e as solues denidas com uma preocupao constante com o sistema como um a co ca todo.

Conceitos gerais de projeto de sistemas


A Note on Distributed Computing (RT Sun Microsystems Labs 1994) End-To-End Arguments In System Design - Saltzer, Reed, Clark (ACM TCS 1984) Hints for Computer System Design (ACM SOSP 1983)

Arquiteturas de rede
OSI Reference Model The ISO Model of Architecture for Open Systems Interconnection (IEEE TComm 1980) The Design Philosophy of the DARPA Internet Protocols (SIGCOMM88) The x-kernel: an architecture for implementing network protocols (IEEE TSE 1991) Perspective on the ARPANET reference model (RFC871, 1982)

Enlace e meio f sico


When the CRC and TCP checksum disagree (SIGCOMM2000)

TCP/IP
Congestion Avoidance and Control (SIGCOMM88) TCP Performance (Cisco IP Journal, 3(2) 2000) The Future of TCP (Cisco IP Journal 3(3), 2000)

Roteamento
End-to-End Routing Behavior in the Internet (SIGCOMM96) Internet Routing Instability (SIGCOMM97) The End-to-End Eects of Internet Path Selection (SIGCOMM99)

Tendncias e

Rethinking the design of the Internet: the end-to-end arguments vs. the brave new world - Blument (esse link s deve ser acess o vel a partir de mquinas na UFMG); a Uma discusso sobre a validade do princ a pio na Internet do futuro, com QoS, CDNs, etc. Tussle in Cyberspace: Dening Tomorrows Internet Looking Over the Fence at Networks: A Neighbors View of Networking Research Creating the New Public Network (Institute for the Promotion of the IP Utility)

Anda mungkin juga menyukai