Thursday, January 28, 2016

Monday, January 18, 2016

1st term marks are out

The final mark for the term is out on the attendance sheet. Re-take is still pending though, so those unhappy with your current performance have another chance at first term contents in about a week (January 28th).

For those who will not go to the re-take this is then my farewell, as I won't continue with you during the second term.

In case it is not self-evident, purple color column, in "Marks" tab, is what you are looking for.

Solved exam



If you think any of your answers have been erroneously marked, please send me an email so I can look into it.

Thursday, January 7, 2016

1st term exam

Next Monday, January 11th at 8:30 in 1G building, classroom 0.3, we will have the 1st term exam.

Some additional info:

  • No cellphones or calculators can be used during the exam. 
  • If you cannot finish any calculation you may just leave the expression of it as your response to the exercise (it is as good as the correct number output provided it renders the same number when evaluated). 
  • Pencils, fountain pens, felt-tip markers and ballpens are all equally accepted.
  • Legible writing is always a plus.
  • You can write your answers either in English or Spanish.
  • Spanish version of the exam will be available to those asking for it.
  • Estimated exam duration 2h.
  • Bring your student ID card to the exam.

Tuesday, December 15, 2015

Solved class test

Common errors in the homework exercise

When dealing with congestion control ...

  1. A round-trip time takes to complete, that means congestion window will evolved during a single RTT. First RTT is number one. The value for cwnd at the end of RTT one should be 2 if at the beginning of it cwnd=1 and segment was acknowledged during the RTT.
  2. If you are using Fast Recovery remember that while cwnd = FlightSize/2 + 3 temporarily, this changes to congwin = FlightSize/2 as soon as you get acknowledged the missing segment. That means that in the 2nd question, congwin goes to 17+3, and keeps going up as more ACKs are received during that RTT, but as soon as the missing segment is received, cwnd goes back to 17  (step 3, page 4, RFC 2001).
  3. Transition between slow-start and congestion avoidance may happen in the middle of a RTT. In the 3rd question, when threshold is 18, congestion window will not go from 16 to 32 within a single RTT but instead will go from 16 to 18 and then mode will change to congestion avoidance so the rest of the [14] ACKs during that round trip time will only increase congestion window by one (it can be argued it will be a bit less than one and closer to 14/16 or more precisely cwnd=18.76 at the end of the RTT if the 1/cwnd increment per ACK received is used). 
Please note that for our exercise FlightSize = cwnd as application data is always available and transmission is not restricted by flow control. 

Monday, December 14, 2015

Videos to keep you entertained

Madrid Polytechnic University has a video series on cryptography (in Spanish) you may want to have
a look at.

Friday, December 11, 2015

Public Key Cryptography

A video was presented in the classroom today:



This is the second part in case you want to watch it:


If you want to dig it deeper, you can follow this Khan Academy playlist.

Sunday, November 29, 2015

Homework


On a TCP connection that has just starter, where initial Threshold value is 32000bytes and MSS=1000 bytes:
  1. What is the Congestion Window value after 16 RTT if we assume there is an endless data supply from the application layer, sender's window is unlimitted and flow control is allowing any possible segment transmission.
  2. Same as 1 but where first segment of 8th RTT is lost.
  3. Same as 1 but there is a time out event of the first segment of 10th RTT.
Exercises are due by December 11th lecture.

Note on Fast Recovery: Due to some of your questions let me clarify the scope of the exercise. Fast Recovery was not mentioned in the lectures trying to make things simpler, as Fast Recovery is an optional part of congestion control. For the sake of simplicity we can do without it, but if you want to provide a more accurate response, here you have the explanation about it (borrowed from RFC 2581).

 The fast retransmit and fast recovery algorithms are usually
   implemented together as follows.

   1.  When the third duplicate ACK is received, set ssthresh to no more
       than the value given in equation 3.

       ssthresh = max (FlightSize / 2, 2*SMSS)            (3)
   2.  Retransmit the lost segment and set cwnd to ssthresh plus 3*SMSS.
       This artificially "inflates" the congestion window by the number
       of segments (three) that have left the network and which the
       receiver has buffered.

   3.  For each additional duplicate ACK received, increment cwnd by
       SMSS.  This artificially inflates the congestion window in order
       to reflect the additional segment that has left the network.

   4.  Transmit a segment, if allowed by the new value of cwnd and the
       receiver's advertised window.

   5.  When the next ACK arrives that acknowledges new data, set cwnd to
       ssthresh (the value set in step 1).  This is termed "deflating"
       the window.

       This ACK should be the acknowledgment elicited by the
       retransmission from step 1, one RTT after the retransmission
       (though it may arrive sooner in the presence of significant out-
       of-order delivery of data segments at the receiver).
       Additionally, this ACK should acknowledge all the intermediate
       segments sent between the lost segment and the receipt of the
       third duplicate ACK, if none of these were lost.

Please note the use of FlightSize/2 and and not cwnd/2 after a loss event. The purpose of it all is to consider only the effectively used part of the congestion window instead of its total size. FlightSize represents the amount of data already transmitted but pending of acknowledgment. 

Friday, November 13, 2015

Thursday, November 12, 2015

Tuesday, November 3, 2015

Next lecture: Principles of reliable data transfer

Next Friday, November 6th Reliable Data Transfer [section 3.4] from the book will be presented. Additionally, a short written test on Chapter 2 (Application Layer) will be conducted during the class too.

Wednesday, October 28, 2015

Next lecture: DNS

In the next class (Friday, October 30th) DNS will be presented. Please have a look to section 2.5 of the book.

Thursday, October 8, 2015

Homework

The homepage of EL PAIS required 327 different http requests (that's 327 different objects, some of them advertising, that are loaded from one or more web servers).

Please answer the following questions:

  1. If that webpage is downloaded using an HTTP 1.0 browser that cannot do parallel downloads, how many RTTs will it take?
  2. Same as 1 but now the browser allows up to 10 parallel downloads to take place.
  3. Now your browsers does use HTTP 1.1 and concurrent persistent connections are enabled on the server. How many RTTs will it take the full download of the page?
  4. Same as 3 but assuming objects are split into two different servers.
  5. Same as 4 if now client and server will use pipelining with 10 up to elements per request.
  6. Same as 5 if now each client can have two connections to each server.
Next lecture we will cover section 2.4 of the book.

Remember class of October 16th is cancelled as I will be out of town (please discuss among your classmates a suitable date for recovering that class. Maybe a Monday that you have an exam scheduled?).


Marking aftermath

None of you got questions 4, 5 or 6 right. That is most likely because the exercise was asking you more than what was explained in the classroom, so let us use some time to fix that:

When a webpage is downloaded from several severs, it means some of the objects of the page come from different servers. When no detail is provided we assume an even distribution of the files across the servers involved. 

But always keep in mind that it all started from a single file download (aka html file) costing 2 RTTs at the very beginning. Failing to remember that detail may get you in trouble.

That is why, question four, that tells us two servers are hosting the 327 files, is solved considering first that first [html] file is obtained from server#1 at a cost of 2RTT and it is then when we learn about the remaining 326 files still to be downloaded. We assume an even distribution, so server#1 contains 163 of them and so does server#2. Persistent connections are being used, no for server#1 there is no need of a new connection, but it is definitely needed for server#2, so it will be this server the one that will end the download later, so let us focus on it: After connection to server#2 is done (at a cost of 1 RTT) the 163 objects are downloaded one after the other through this same connection, totalling 163 RTTs. 

So when we add  2 RTT (first page) + 1 RTT (server#2 connection) + 163 RTT (extra objects) we obtain 166 RTT that is the expected answer. 

Similar reasoning is to be applied to questions 5 and 6.


Wednesday, October 7, 2015

You can find the files for the laboratory sessions in your PoliformaT  ->  Red: Recursos / Group 2E / Labs Subir un nivel


Tuesday, October 6, 2015

Labs start this week

Just as a reminder, the labs will start on October 7th, at "Laboratori de Xarxes", second floor, building 1G.

Lab#1 text.

Friday, September 18, 2015

Even Mr. Robot is doing the next lecture reading


So do not be shy and present your reading summary on the next class and earn some points !!

In case you do not remember are sections 1.4 and 1.5 from Kurose's book.

Friday, September 11, 2015

First and second lectures


You may want to read sections 1.1, 1.1.1 & 1.1.2 (of Kurose's
Computer Network 5th ed) to review the content presented in the first lecture we had today.

Next week we will cover topics from 1.1.3, 1.2 (1-3) & 1.3 (1-3) sections. Make sure you read it and
have ready an outline you can present to the audience in the classroom next Friday (in exchange for 5% of your classroom points, max two outlines presented in class per student).

Documentary about Internet beginnings


Tuesday, September 8, 2015

Welcome to the 2015-16 course edition

One year more we are about to start this course. For those of you that want to have some material in advance I have good news and bad news:

The good news is that we follow a textbook so it is all there and you can re-read it at your own pace. The bad news is that we will not be using the book slides or any other slides.

However, you can get the course syllabus from here.