Programação de Redes
1.2005
Tópicos
Avançados em Processamento Paralelo e Distribuído I
Horário: 2a
feira, das 9 às 13 na sala 232 (aulas começaram no dia 14/3/2005)
Avisos
24/05/2005 inclusão da
apresentação do Prof Nikolaos Tsarmpopoulos sobre redes ad-hoc em malha
23/05/2005 inclusão do material
de Timothy Roscoe do SBRC/WRMP em Fortaleza (referências 12 e 13).
23/04/2005: inclusão de
material prático sobre uso de Planet Lab.
4/04/2005: indicação de
material para discussão inicial de Planet Lab.
29/03/2005: Para adquirir
experiência em programação usando sockets, solicita-se fazer os deveres de casa
("homeworks") 2 e 3 do curso de Hollinger. Dever no. 2 envolve
implementar um servidor procurador ("proxy") para HTTP. O enunciado
se encontra aqui,
e o prazo de entrega é 15/4. Dever no. 3 trata de um servidor TFTP, com o
enunciado aqui,
e prazo de entrega em 30/4.
21/03/2005: Recomenda-se
fortemente a participação do SBRC2005, a ser realizado em Fortaleza entre 9 e
13/5. Haverá um tutorial sobre PlanetLab dado por Timothy Roscoe da Intel
Research, um dos seus criadores. (v. www.sbrc2005.ufc.br)
Objetivos
- Aquisição de conhecimentos conceituais e
práticos relativos ao desenvolvimento de software para ambiente de redes,
incluindo protocolos de suporte e de aplicação. Será suposto prévio
conhecimento de programação em linguagens como C, C++ e Java.
Tópicos
- Apresentação do programa (14/3)
- Programação distribuído usando sockets com
IPv4 e IPv6 (introdução a sockets, 21/3 e 28/3). Material usado veio de
várias fontes, inclusive "Beej's Guide to Network Programming Using
Internet Sockets" e "Curso sobre Programação de Redes do prof
David Hollinger" (v. bibliografia abaixo), especialmente as
transparências "tcpsock.ppt",
"multiplex.ppt", "client_server.ppt"e
"inetd.ppt".)
- O ambiente PlanetLab (começa em 4/4).
Material dos referências 7 e 10 da lista
www (abaixo), com transparências do curso de Peterson (ref 5: os arquivos overview.pdf
e arch.pdf)
e de Roscoe (roscoe-2003.pdf). Discussão de
exercícios de programação no ambiente Planet Lab (18/4) baseada nas
transparências de Roscoe (2ª aula da referência
11) e especialmente no primeiro exercício.
- Web services
- Desenvolvimento de protocolos de suporte
Bibliografia (será
complementada depois)
Livros
-
Stevens, W.R. Unix Network Programming,
Prentice-Hall, 1990 (2a edição com 2 vols,
1998 e 1999; 3ª edição do Vol 1, com co-autores Bill Fenner e Andrew Rudoff,
2003 ).
(capítulo sobre Berkeley Sockets disponível no Xerox da entrada do prédio novo)
Websites do autor sobre seus livros, incluindo o código dos exemplos:
1ª edição: www.kohala.com/start/unp.html
2ª edição, vol 1: www.kohala.com/start/unpv12e.html
2ª edição, vol 2: www.kohala.com/start/unpv22e/unpv22e.html
WWW
- www.planet-lab.org Planet Lab - contém uma grande
riqueza de informações
- www.w3.org/2002/ws Web services
- www.ecst.csuchico.edu/~beej/guide/net/ Beej's Guide to Network Programming
Using Internet Sockets
- www.cs.rpi.edu/~hollingd/netprog2002 Curso sobre Programação de Redes do prof
David Hollinger (RPI)
- http://www.cs.princeton.edu/courses/archive/fall03/cs597B/
Curso de Peterson sobre Planetary-scale services
- Intel Outlines Strategy For Making The
Internet Smarter, Safer, More Reliable And Useful Press
Release, September 9, 2004, Intel.
- A Blueprint for Introducing Disruptive
Technology into the Internet. Larry Peterson, Tom Anderson,
David Culler, and Timothy Roscoe. HotNets 2002.
- A Note on Distributed Computing.
Samuel C. Kendall, Jim Waldo, Ann Wollrath and Geoff Wyant. Sun
Microsystems Technical Report TR-94-29, November 1994.
- Hints for Computer System Design.
Butler W. Lampson. CM Operating Systems Rev. 15, 5, October 1983.
- Operating
System Support for Planetary-Scale Network Services , Andy Bavier, Mic
Bowman, Brent Chun, David Culler, Scott Karlin, Steve Muir, Larry
Peterson, Timothy Roscoe, Tammo Spalink, Mike Wawrzoniak
- http://cs199.planet-lab.org. Curso na UC Berkeley sobre "
Wide Area Application Design, Deployment,
and Management", ministrado por Timothy Roscoe e Brent Chun.
- Palestra de Timothy
Roscoe no SBRC/WRNP sobre virtualização
de redes.
- Tutorial de Timothy
Roscoe no SBRC sobre Planet Lab. Versões 1/página e 3/página.
Modificada em 24/5/2005