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.

Monday, June 22, 2015

Re-take exam has been marked

Final grades can be seen on the purple column, already reflecting the retake marks.

Sunday, June 21, 2015

FASTER

FASTER is a 60 Tbps underwater cable between USA and Japan. This article provides you some pictures about the process of setting it up. You may want to enable your translator unless you can read Japanese language.

Friday, June 19, 2015

Exam remainder

Next Monday June 22nd re-take exam will be held at 11:30h. Building 1G, Classroom 1-4.

Monday, June 15, 2015

Term and course marks are out

Please double check that the attendance record is correct and that your different marks make sense. Final mark is the average of the two terms. Term mark is 20% lab, 20% class activities and attendance, and 60% written exam.

Friday, June 5, 2015

Second term exam

Just as a reminder, next Monday June 8th the second term exam will be held at 11:30h. Building 1G classroom 1.4

And in case you do not remember, Network Layer, Link Layer and Physical Layer are what it is included.

Estimated exam duration is 2 hours.

Monday, June 1, 2015

Physical layer resources

As I mentioned in the classroom. Physical Layer is not covered in Kurose's book. So you can study it using other books. I reckon the best choice can be Andrew Tanenbaum's Computer Networks Chapter 2.

You can borrow it from the library. You can get the chapter's slides here.

Thursday, May 14, 2015

Previous exam

The semester is almost over. Just one last short chapter about the Physical Layer to go. Here you have one exam from last year for you to check your skills.

You can ask me questions about what you do not understand in any of the exercises and, if there is the need, I could solve in the classroom any of them.

Tuesday, February 24, 2015

Labs restart tomorrow

Just as I mentioned in the last lecture, this week lab sessions start for the second term with a new teacher. You can get all the labs text from this zip.

Monday, January 26, 2015

Back to the game

Please remember next Wednesday 28th at 10:00 the retake exam will be held. As with the previous one, the use of calculators or phones is not allowed.

Our subject's lectures for the second term start this Friday next Wednesday 12:30, so I see you all in the classroom. We will start with the first section of Chapter 4 from the textbook.

Please note exams have been marked and those who attended the retake should have received an email with a link to check the marking of your exam (if you should and you have not received the email, please let me know).

Tuesday, January 20, 2015

1st term marks are out

You can find them on the link

I know that some of you could not make it for various reasons and I expect you for the retake. In case you are wondering, you can go to the retake exam next week even when you did not do last Monday's exam).

My first impression is that some of you did not study enough for the exam as I reckon this exam was within what was expected and still average performance is poor.

Please note the blue background column represents the mark of the whole term, all things considered (class, homework, labs, exam).

You can review your marking in this link. If you find any error, please let me know so I can fix it. Marked exams will be available only for week.

You do not need to obtain a minimum mark on any term, your first time mark will be averaged with your second term one. However, if you have a very low mark now, it is advisable you try to improve it in the retake exam (if you want to). Students doing the retake exam need to know that the new mark they obtain will be replacing the mark they scored in the first exam. If you score more poorly in the retake exam you can actually worsen your mark.

Solved exam 1st term

You can download 1st term solved exam from here. Solved exam is in Spanish. Please let me know if you have any problem with the answers. I am now busy marking the exams so you can have them ASAP.

Monday, January 19, 2015

A couple of questions that you may have

Some exercises use 2 MSS as the initial valuefor the congestion window, why is that?
It's ok. In the book and in the classroom an initial value of 1 MSS is used instead. Modern TCP implementations are commonly using 2 MSS instead. That is why you can see this value sometimes.


What happens after a loss event in TCP congestion control?
In the book and in the classroom we have mentioned the new threshold value is half of current congestion window[RFC2001]. However, once you factor in that flow-control does limit the sending capability of the sender, what we call the transmission window is the number of segments that can actually be transmitted and it is equal to min(receiverWindow, congestionWindow). Modern TCP implementations use half of the used transmission window as the new value for the threshold after a loss event[RFC2581]. That means that the new threshold could be lower than just half of the congestion window.

----
The only purpose of this information is for your own peace of mind, given that some of you have detected some contradiction between the book/lectures and some of the solved exercises out there.

Wednesday, January 14, 2015

First term exam

Exam will be held in classroom 1G 1.4 next Monday January 19th at 15:00h.

Wednesday, January 7, 2015

And we are back from winter break

Welcome you all. This week we'll have the last lecture of the term and then we will have the exam's pause next. I want to remind you that some solved exams can be found online.  You can get some more past exams from an older blog but please note that last exam format is no longer what you would expect but it is still useful for checking your own understanding.

Please be reminded that during the exam's pause you are still entitled to stop by my office with any questions you may have about the subject. As usual, send me an email for an appointment.