Tuesday, December 15, 2015
Common errors in the homework exercise
When dealing with congestion control ...
- 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.
- 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).
- 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.
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.
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:
- 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.
- Same as 1 but where first segment of 8th RTT is lost.
- 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).
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:
Please answer the following questions:
- If that webpage is downloaded using an HTTP 1.0 browser that cannot do parallel downloads, how many RTTs will it take?
- Same as 1 but now the browser allows up to 10 parallel downloads to take place.
- Now your browsers does use HTTP 1.1 and
concurrentpersistent connections are enabled on the server. How many RTTs will it take the full download of the page? - Same as 3 but assuming objects are split into two different servers.
- Same as 4 if now client and server will use pipelining with 10 up to elements per request.
- 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?).
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
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.
Lab#1 text.
Friday, September 18, 2015
Even Mr. Robot is doing the next lecture reading
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).
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.
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
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.
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.
You can borrow it from the library. You can get the chapter's slides here.
Thursday, May 21, 2015
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.
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 startthis 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).
Our subject's lectures for the second term start
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.
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.
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
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.
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.
Subscribe to:
Posts (Atom)