This course addresses some fundamental topics in computer and telecommunication networks such as routing, congestion, multicast, integrated services, ... that are not covered in other courses on networking.
Specific topics may change from year to year, and efforts are made to keep the course in line with advances in networking, and with "hot topics," while, at the same time, maintaining it with a general enough perspective so as to avoid tecnicalities and "a la mode" approaches.
Mathematics is used as needed, specially for topics in congestion control, but in general no advanced math is necessary. Students are required not to frighten in front of an integral or a derivative, and some basic notions of frequency, transmission speed, and lienar algebra to understand simple coding techniques are useful. Probability and stochastic manipulation should be common background of all scientists ... including computer scientist, so if you do not know what is a random variable or a stochastic process, or if you are puzzled by the words "Markov Chain", or finally you think that a Poisson Arrivals may poison you, well, seriously think about studying some fundamentals. A good and easy-to-read book on these topics, covering all we need and more is: "Kishor Trivedi, Probability and Statistics with Reliability, Queuing, and Computer Science Applications, John Wiley and Sons, New York, 2001".
Past Academic year: bottom page
Welcome to the 2013/2014 edition of this course. It is one of the core courses characterizing the "Internet Technolgy" area, but also in general the "Systems and Networks" curricula, and it is fundamental to undestand, e.g., how embedded systems interact with the rest of the world.
Indeed, networkin is toda at the core of almost all informatics and computer science, as a PC isolated from the internet or special purpose computers (embedded systems) unable to communicate are simply unconceivable. The topic of the course is the Internet itself, its architecture, its technologies, its limitations, its strengths and ... its bugs; but we also make "incursions" in other networking and communications realms.
We will explore some topics in the three main layers:
I will teach most of the classes, but we will have the opportunity to have some in-depth seminars by other researchers.
Please, refer to ESSE3 for the formalities and the official program.
Our program this year will conduct us from IP routing and Multicast to TCP congestion problems up to some fundamental multimedia protocols in the internet like SIP (and some H.323), to NATting techniques, and P2P IPTV systems.
We do not have, as usual, a single official textbook. The reason is that finding 'advanced' topics in textbooks is not easy, if at all possible.
Some good basic networking books exist that cover all the material you are supposed to know from basic networking courses and also some of the material we cover.
Here are a couple of them:
Douglas Comer also wrote several advanced books on many different facets of the Internet.These books are very good and cover all our material ... indeed much more than we actually do, but the material is sparse over several books, and it is not "efficient" to buy 3-4 books to exploit 20-30 pages each.
A written "network design" plus oral complement. The written will consist in 1-2 "large" exercises or themes, where you have to demonstrate a global understanding of the material studied, and also the maturity to use it, or simply to organize material you know in a suitable way for the time assigned (which is short, just 1.5 hours). In general there is not a single correct solution, but several alternatives can be taken, some smarter than others. The oral will be 2-4 days after the written part, and to access the oral the written part must be sufficient. The oral is the same as for those doing a project.
As an alternative (advisable for all who liked this sourse and have interest in networking) to the written part of the exam, you can undertake a project. Projects are "practical", i.e., they either require to develope something (e.g., an improvement to our P2P real-time video streaming application PeerStreamer ), or to experiment with different alternatives, e.g., measure the performance of different protocol alternatives. They can be done in groups. The effort per person should be around 2-3 weeks work. After the project is finished you can have the oral part.
The oral will cover all we did in class, and is normally in form of a discussion, often joining together different parts and taking the notions there as an excuse to broaden the subject and investigate how familiar you have become with networking concepts.
There is nothing like a "list of projects". Projects are assigned on-demand, based on your interests and attitudes. So:
Past written texts and results
Upcoming written dates
The oral part of the exam should be done within 10-15 days from the written part, finding a suitable schedule with the professor. Detailed instruction will be given at the exam.
Refer to ESSE3 for the remaining bureaucracy.
UPDATED: Three sample exercises with some instruction solutions and an indication of the time needed to solve them.
A sample text and a possible solution sketch
Advice: RFCs pointers are offered for additional in-depth study, the ones indicated are normally not the only one related to one argument, but they are the "founding" ones. Study is expected to complement lessons, not to "learn by hart" the RFCs, which is useless since they are full of details not really necessary to understand a protocol, but necessary to guarantee interoperability in implementation.
Internet pointers, when appropriate and given, can be used to complements the notes taken in class. Please, try to avoid "googling around" with keywords of the lessons, because you end up finding tons of bad (often wrong!!) material and wasting a lot of time.
The most obvious place to query, ask for clarifications, rise doubts and so on is the class, so that everybody can intervene and be aware of clarifications. Moreover, our lessons can be influenced by your questions and curiosities, so expressign them in class can lead to a "personalized" course in the end.
Further minor queries can be done at the end (or before) the lesson.
If additional time is needed for complex queries or long problems send me an e-mail for an appointment. Try to specify the reason in the e-mail, this helps me preparing the answer and helps you formalizing it. Please, avoid dropping-by the office. Normally I cannot receive you on the fly and the only result is a waste of time. I do not set up a formal receiving hour: you can come at any time, just take an appointment.
If you have small quick doubts I can also try to solve them via e-mail, so that you don't need to come to my office for a 30 second answer!