Tuesday, December 27, 2011

Pending text readings

Last class went without a previous reading (my mistake). I should have told you sections 8.2.2 and 8.3 were required. Anyway, you can do this over the holidays.

Next and last class will include another quick written test. As usual it will happen at the beginning of the class, so be on time or you'll have less time (if any) for the test.

Ah, by the way, next class reading is Kurose's section 8.5 about Secure Socket Layer.

Thursday, December 22, 2011

Reminder

Today there will be no lab session as you all asked me to postpone it after the holidays.

Tuesday, December 13, 2011

More information about the projects

Let me explain what the projects are about. In a nutshell, each project is a programming assignment that can be presented (once completed) to the rest of students in the lab. Lab sessions #9 and #10 will be devoted to these presentations. Each presentation is a short public presentation of your work for about 10 minutes including questions and answers.

You can do without the public presentation, but your mark will reflect that too. You can turn your project even after the 1st term exam, but again, your mark will be adjusted accordingly with the delay (turning your project in March or later will award you no score).

No written report is needed and you choose what type of media (if any) you use for the public presentation of your project.

Each project is developed by one or two students (your choice). Once again I insist that cheating or copying other student's work is against the rules and strongly discouraged. Those caught engaged in such a behavior will face disciplinary measures.

More homework to do and next class reading

A few exercises, some of them with solutions included, are available here. Take it easy as they are due for next week's Friday December 23rd.

Next class reading is:

  • Kurose's Section 1.6, 8.1, 8.2-intro and 8.2.1 (yes, it's chapter 8).

Monday, December 12, 2011

Nokia with Windows Phone : My Lumia 800 Experience

Emilio Coronado is Software Product Manager in Nokia who has participated in the latest development of Nokia with Microsoft WP7 Mango, and is directly responsible of the software on the upcoming new devices, he can explain his experience working with several companies like Microsoft, Qualcomm, Nokia, etc. across several countries, on multidisciplinary and multicultural teams.

Emilio is a former student of ETSINF and a friendly guy, so I'm sure you will enjoy his presentation next December 22nd, 12:30h in the classroom 1G 1.7.

Friday, December 9, 2011

Friday, December 2, 2011

Next class stuff, and some other goodies ...

While some of you try to develop your own TCP reset attacks over the long holidays ahead, I want to remind you that, by popular request and unanimous agreement of the students present, the class of next Friday December 9th will be held Monday December 12th at 16:30. Please read Kurose's section 3.7 but not 3.7.1 nor "Fairness" nor "Marcroscopic ...".

As I mentioned in the classroom, you have to choose one programming assignment out of the list of proposed projects. Next class a decision of which project goes to which student will be made, but your preferences will be taken into account. Please note that each programming assignment can be done by a group of two or by a single student. However, not enough projects have been proposed so as to each student may have a unique project. Last two lab sessions will be used for students to present their solutions to the class (which is mandatory). In those projects developed by a group of two, the two students will get the same mark but the presenter will be chosen randomly.

Presentation slots are 10 minutes long, so each session allows up to 9 presenters.



Thursday, December 1, 2011

Server code and stress test code

We have used in the lab a TCP chat server. You can find the code in here and you can get this other program to stress the server a bit.

Lab#7: Multiprotocol servers

You can download it from the file repository. The topic today is how to create a server that handles several protocols at once. How can a server use both TCP and UDP versions of an application protocol? We will see that.

Tuesday, November 22, 2011

Lab#6: UDP sockets

Oops, wrong image :-D
This week's lab is about how to use UDP in Java. UDP is a connectionless transport protocol that provides no guarantee but to be fast and simple. Unfortunately, UDP handling in Java is all but simple. To start with, you need two different clasess, DatagramSocket and DatagramPacket to send and receive data. And these do not even address how to perform a DNS query. For that, you'll need another class: InetAddress. But this is not where the trouble end. You need to switch back and forth from byte arrays to strings for some applications, and this job is not very cleanly done either. So welcome to some heavy coding session.

Friday, November 18, 2011

Lecture#10 Reading

It is Kurose's section 3.5 about TCP.

This time I won't believe you don't have any questions so please, post your doubts and questions as a comment so I can address them properly in my lecture.


Thursday, November 17, 2011

Port Mirroring

To monitor network traffic on a switched Ethernet network some help from the switch hardware is needed.  Cisco calls this port mirroring and it allows all the traffic of certain ports to appear on a given port (where a sniffer like Wireshark can record it).

As I mentioned in the class, sniffers can be detected when connected to a wired network using some clever tricks, though there are certain countermeasures too.

Some of you (Jordi I reckon) mentioned problems about sniffing on WPA networks, I guess this thread summarizes all about it.

Monday, November 14, 2011

Lab#5: Threads

Sometimes we need applications to perform two or more tasks at a time. Blocking calls may stop all program activity. If you are not happy with that, threads can help you have just only one of them blocked while your program continues doing other tasks.

You can get the lab text here.

By the way, no previous reading for next lecture.

Tuesday, November 8, 2011

Lab#4: More sockets

Now available at the usual place. In this lab we will explore how to create an iterative server.

Thursday, November 3, 2011

Reminder

Tomorrow Nov, 4th, 2011, there is no Redes class (it is supposed to be a Tuesday schedule instead).  So don't forget it.

Monday, October 31, 2011

Lab#3 Sockets

This week will start the Java Network Programming labs (first out of five) in the lab. You can get the non self-explanatory guide from here.


There are many good sources to learn from. But I think the best advice I can give you is that network programming is like riding a bike: you learn by doing it.

While on the campus network you can access a huge collection of Safari Books Online. A relevant one is this one.

But among many online resources, the Java Tutorial is worth trying. They even have a Sockets section you may enjoy reading.

Please remember that Java is free and open. You can easily download JDK to your system, so you can both compile and run any examples. I encourage to do so.

Saturday, October 29, 2011

Do you want to learn Node.js?

If you like Javascript, now you can run it outside of your browser. Not sure it is a great thing, but you may see that you can put your HTTP knowledge to use as you'll be able to follow the video.

Friday, October 28, 2011

Computer mysteries

I do not know why the domain upvnet.upv.es was not solved during the class but as soon as I got back to my office it worked as shown below:



$ nslookup -type=MX upvnet.upv.es
Server: 158.42.249.8
Address: 158.42.249.8#53


upvnet.upv.es mail exchanger = 10 albali.cc.upv.es.
upvnet.upv.es mail exchanger = 20 mxv.cc.upv.es.
upvnet.upv.es mail exchanger = 30 mx2.cc.upv.es.
upvnet.upv.es mail exchanger = 50 vega.cc.upv.es.
upvnet.upv.es mail exchanger = 10 mx4.cc.upv.es.

You can see there are five different servers to be used with the precedence indicated by the numbers, the lower  the number the more is preferred.

Please read sections 3.1 to 3.3 before next lecture.

Monday, October 24, 2011

Second lab

It's available here. It is about SMTP, POP3, FTP and DNS application protocols.

Friday, October 21, 2011

Lecture#7 previous reading

I forgot [again] to mention it at the end of the class: It's Kurose section 2.5 about the Domain Name System (DNS), a basic building block of almost all Internet services.


Wednesday, October 19, 2011

Lab#1

I've just got the first lab text. You can get it from the usual place

I'll explain some of it during the Lab.

We'll use this link for exercises #6 and #7 though.

Sunday, October 16, 2011

Lecture#6 previous reading

Last class I forgot to tell you what to read for the next lecture. Here it is:


Don't forget to post a comment if there is something you want me to elaborate in the next lecture. Don't leave for the last five minutes of the class to make your interesting questions.

Tuesday, October 11, 2011

Getting ready for the first lab

Next week we will start the Labs. In order to get ready for Lab#1 you need to get familiar with Wireshark application. You can read this document that explains how it works. As it is free software, you should have no problem downloading and installing it in your home computer, no matter what operating system you use there is a version available. I want you to capture the traffic to port 53 while you visit one or more web pages and to send me an email detailing the source and destination IP addresses and source and destiantion ports of the captured traffic.

Friday, October 7, 2011

Next week reading

Just as a reminder, please read section 2.2 of the book by October 14th lecture. Anything you find difficult or requiring more explanation, please add it as a comment to this entry.

Next lecture will explain how the World Wide Web service works and the different components it is made of, including the application protocol HTTP.

Thursday, October 6, 2011

More exercises to do at home

These are a few more exercises to do at home. Please submit your solutions by email before October 14th class.

Tuesday, October 4, 2011

Transmission time

Last lecture left us with a confusing view of what transmission time really means. A bit of searching around did not help me a lot. The problem is that different people interpret the term in different ways:

  1. Same as transmission delay = L /  R (the one I meant)
  2. The amount of time it takes a bit to go from the start of the link to its destination node (first bit transmission time + propagation delay)
  3. Transmission time is the time it takes a message to reach its destination from is source. It is the time between the first bit leaving the sender and the last bit arriving the receiver. The first bit leaves earlier and arrives earlier; the last bit leaves later and arrives later (packet transmission time + propagation delay).
Just to avoid trouble the best thing to do use to use the term transmission delay instead. Simple, isn't it?


Update: After discussing the problem with a friend of mine, he decided to make a move and fixed the wikipedia entry. Now it is also shown as meaning "1".

Class dynamics

This subject covers a wide variety of concepts. In the past our lectures have tried to cover them all. Now we are trying a different approach. That is why it is important that you read the section of the book mentioned at the end of each class before the next lecture. Next class you should have read section 2.1 of Kurose's book.

What we need to establish is a way for you to let me know, before the lecture, which topics of the reading you have had trouble understanding.

Please post as a comment any topic you want me to cover in more detail in the next lecture.

Sunday, September 25, 2011

Homework

These exercises are due this Friday. You do not need to make it pretty. Scan (or photograph) your solution's page and email it to me at misan@disca.upv.es


Please include the text [Exercises] on the subject line of your submission.

Monday, September 19, 2011

First class notes

Remember that the slides I used in the classroom can be found in the blog's file repository (top-right link). The IETF site was mentioned in the classroom too, where open discussions may lead to Request For Comments documents that are publicly available.

Please remember that you are welcome to post comments anytime in this blog. Even anonymous comments are welcome, though that might change in the future. The good thing about comments, that may include any question is that they are visible for all the audience: A question solved as a comment may help other readers too.

Please note that attendance recording has started now but being a manual process errors can happen. Should you find any error, please contact me so it can be fixed.

By the way, my search of the first chapter of the book led me to this link from the publisher. Please note it is 2nd Edition so it may be a bit outdated in some of the comments.

You should read sections 1.1, 1.2 & 1.3 for this class and sections 1.4 & 1.4.1 for September 23rd class.

Wednesday, September 7, 2011

Welcome

This site will be holding subject-related info for the first Computer Networks subject of the Computer Engineering degree at Universitat Politècnica de Valencia.

Whether we will use this instead of PoliformaT or not it is still to be determined. If you are like me, you will appreciate to work in the open, passwordless world, where the rest of the world can have a look at what we do here. Thanks to this approach being followed by others, I was able to refresh my knowledge of 3D graphics this summer with the course material of subjects taught at Stanford university.