Thursday, December 27, 2012

Holidays' Homework

Please remember that last chance for presenting your project is  Tuesday January 8, 2013 and that in the class of Friday January 11 a short quiz will be held.

Keeping you busy over the holidays is not our goal, but a few exercises may prepare you for the quiz. So here you have some exercises that are due Friday 11, 2013.


  1. Host A connects to host B using TCP to perform an HTTP request. Host B closes the connection once it has provided a response. Request size is 500 bytes and response size is 3000 bytes. The initial sequence number on A is 1000 and the initial sequence number on B is 5000. MSS for both hosts is 1460 bytes. Please detail the sequence of TCP segments exchanged from the beginning till the end of the connection (for each segment list: sender, sequence number, acknowledgement sequence number, active flags and number of data bytes) under the following conditions:
    1. No flow control, no congestion control. Regular acknowledgements.
    2. Same as before but using duplicate delayed acknowledgements.
    3. Same as (2) but using congestion control. What is the congestion window size on each end when FIN is received?
  2. Write a simple UDP echo server. (No need to create a class or method, just the main server loop).
  3. During a TCP connection, one end receives a segment with recv_window = 0. What does it mean? What does this end do if there is application data to be transmitted?
  4. Assuming all TCP segments transmitted are acknowledged right away, what is the value of the congestion window after sending 35 segments after a Timeout if Threshold = 32?

Thursday, December 20, 2012

Chapter 5: Information Security

Last class I started using an old presentation that I mentioned it was available. We will focus only on its first part.

More detailed explanation of some topics can be found in Kurose's Chapter 8, whose slides I have posted in our file repository.


Monday, December 17, 2012

Project's presentation

Tomorrow's lab will be used for the first batch of presentations of your programming projects. Those of you that cannot make it tomorrow will have a chance the last lab of the term after the holidays.  If you cannot make it even by then, you still can show me your work before the term exam, but your mark will be lower than those who presented the work in public.

Tomorrow presentations will be short, 10 minutes maximum, and for each one you will mark the project and its presentation.

Thursday, December 13, 2012

TCP options

We have mentioned MSS option in the classroom and you can read about it in section 3.1 of this document. Remember MSS is not a value both ends of a TCP connection have to agree upon.

Selective repeat is another interesting TCP option, that is covered by RFC 2018.

Long fat networks are those with a large bandwidth * delay product. For these networks, a new option is created so window sizes higher than 64KB be used. This is achieved with a new option that scales the windows (receiver, transmitter and congestion) up by a certain multiplier.

Another useful and commonly used option is Time-stamping, that it is covered together with the former in RFC 1323.

Tuesday, December 11, 2012

Exam grades

Monday's exam has been marked. You can see the results in the Marks tab of the course's spreadsheet book. Congratulations on those of you that obtained brilliant results, all the merit is yours.

Update: There is a link to the marked exams. Please let me know if you find any error. Please note this content will be deleted soon.

Lab#8

I'm late. But here you have the lab and the additional file.

Friday, December 7, 2012

Exam Reminder

For those of you living inside a cave, next Monday is the first written exam (out of four).  If you are not living inside of a cave you are expected to take the exam too. So see you all next Monday morning at 10 o'clock in room 1G 0.1.

Some material you may want to have a look at ...



  • Applet to show the relationship between transmission and propagation delay.
  • Applet that shows how packets queue and may eventually dropped.
  • Solved exercises for chapter 1 and 2.


Tuesday, December 4, 2012

Seventh lab: Multiprotocol servers

A multiprotocol server is a server that can handle more than one protocol, for example an echo server that can handle both TCP and UDP clients, or a server who can handle FTP and HTTP.

This lab will introduce you on how to implement them.

Monday, December 3, 2012

TCP congestion control

This week's lecture is about TCP congestion control. A smart mechanism built into each TCP connection to fight against network congestion. You can read sections 3.6 & 3.7 of Kurose's book.

This mechanism can be thought as if the network were performing a flow-control on each connection. Senders should not transmit at a pace high enough for the network to become congested. We will explain how this is achieved with no explicit notification from the network.

While this Thrusday is a holiday, it will be a regular week for us in the subject.

Wednesday, November 28, 2012

Homework has been marked

You can find it in the usual place. Results are not great, but there is a slight improvement compared to our previous homework.

This time the questions' goal was for you to go the extra mile. As only the foundations of sliding window protocols were presented in the classroom and I expected you to at least read the links provided before being able of answering the questions. Some of you did good but again, I am worried that others did not.

If we take into account that you could use any source of information and that there was plenty of time (IMHO) I would expect better results. Please remember that I am available and you can stop by my office (with an appointment) even if your questions are about pending homework.

Do not let your doubts hanging in there till the day before the exam!

On-line content

There is plenty of useful information on the Internet and not all universities close their content. Prof. Jain teaches a similar subject at Washington University in St. Louis. But unlike me, he has audio recordings of his lectures synchronized with the slides. It is a good idea to practice another English accent too.

Of course, this is not a rare event. You can find many other great universities with course material freely available.

Monday, November 26, 2012

Sixth lab: UDP Sockets

This lab teaches you taht the use of UDP sockets is quite different from TCP. While the service offered is simpler, the programming details become a bit awkward. There are three main classes involved:
  1. InetAddress used mostly for DNS queries and for representing destination addresses.
  2. DatagramSocket as the endpoint of each datagram exchange.
  3. DatagramPacket as the data exchanged through DatagramSocket objects.
InetAddress methods getByName and getAllByName will be used to obtain the IP adresses of a host. And send and receive methods of DatagramSocket objects will be used for exchanging DatagramPacket objects between hosts. 

Remember that UDP has not the concept of a connection, so a server can receive datagrams belonging to different conversations (with different clients) through the same socket. 

There is not such a thing as a DatagramServerSocket.

Friday, November 23, 2012

Network Programming projects

I have created a list of the assigned projects. While a single project may be developed by two groups, I rather prefer to avoid overlapping whenever possible. You may find some students with a project that is not from the list, this is ok as far as you get my approval to your proposal.

Wednesday, November 21, 2012

Sliding window protocols

You may want to review the details about sliding window protocols and how they use the Go-back-N or the Selective-Repeat approaches to deal with transmission errors before answering the following questions:

  1. What is the preferred window size (N) for each case (Go-back-N and Selective-Repeat) for a case where propagation delay is D seconds and link rate is R bps?
  2. Why a too large window is a bad idea?
  3. What is the relationship with the maximum size of the transmission window (N) and the number of bits used for the sequence numbers on both, Go-back-N and Selective Repeat?
  4. What is the interest of the delay-bandwidth product when choosing the window size?

This homework is due for the next lab, November 27th. 

Sample Solution

Monday, November 19, 2012

Fifth lab: Multithreading in Java

This new lab is about how can we create a Java program that can handle more than one execution flow (or thread). Sometimes we need our program to do two things are once (ie. wait for more clients while handling the one client already connected) and multi-thread programs can do this.

The idea is that a given class that inherits from Thread class can re-write the public void run() method with the desired code for a thread. Then you can instantiate and start several objects to run the same code.

Thursday, November 15, 2012

Network Programming Projects

The list of projects available is as follows:

  • POP3 client: that shows the list of messages available in a mailbox.
  • Redundant transmission: UDP data is sent twice to different ports to improve reliability
  • HTTPdownloader: creates a copy on your local filesystem of a given webpage.
  • Netcat: It is java-based clone of the nc command we have used in the lab.
  • MyLittleBitly: It is a url shrinker and redirector server.
  • Enable Wifi: It controls the enabling and disabling of your home wireless router.
  • HTTPproxy: It is basic proxy server.
  • Binary file dropbox: It receives binary files from clients and stores them in the filesystem.
  • scannerPlus: It is a basic port-scanning tool (using it in Finland is a felony).
  • TCPsensor: It is a tool for checking whether servers are alive or not.
  • Webcam grabber: It is a tool that will download images from a public webcam every few minutes.
You can get a file with the specifications of all the projects from our file repository. Projects can be developed individually or by a group of two people. Public presentation during the last two lab sessions of the lab is a must if you want to opt to the highest mark, peer assessment will be used then.

As I mentioned in the classroom, I am open to other proposals from you regarding personal projects you have been doing. Please note you need me to agree on your proposal before proceeding with it.

Reminder

Remember: this Friday we will have test in the classroom reviewing Chapter 2 concepts (mostly HTTP, SMTP, POP3 and DNS). It will be a short test.

Monday, November 12, 2012

Fourth lab

This lab is about iterative (aka sequential) TCP servers. You will learn how you can create server using SeverSocket class and what the basic structure of a sequential server is.

Iterative servers are those that only handle one client at a time (a bit like a shop attendendant). If two (or more) clients connect to the same server, only one will be serviced while the remaining clients wait for the former to be serviced. Once the server finishes serving one client, it will proceed with the next one.

Thursday, November 8, 2012

Yet another use of DNS service

A recent vulnerability has brought my attention to another use of DNS service I have not heard about before. I hope you will enjoy reading about it. Public key cryptography will be covered in the subject soon.

Here you have some hands-on experience about this vulnerability.

Tuesday, November 6, 2012

Next class (#8)

We are starting Chapter 4: Transport Layer and we will start reviewing UDP protocol, which provides the connectionless service. You can have a look at sections 3.1, 3.2 & 3.3 of the book. Yes we know our chapter name and the book's do not match, sorry about that.

This week lab we've started to learn how to use TCP & UDP using java. Now you know how to create one or thousands of connections. Use your knowledge wisely :-)

See you on Friday.

Monday, November 5, 2012

Sockets Labs

We missed the lab last week due to change of schedule, but we are going to start this week with Chapter 3: The sockets interface in the lab (covered in sections 2.7 & 2.8 of the book). You can download the slides. Or you can view them online below: Java Network Programming

We are covering the following topics in the upcoming labs:

  1. TCP clients
  2. TCP servers
  3. Muliple threads
  4. UDP services
  5. Multiprotocol servers

Saturday, October 27, 2012

Third lab

Though you've asked me to move the third lab to next week, you can have a look at it now.

Remember that next Tuesday, November 2nd, we will have the lecture of that week instead of on Friday by popular request.

Friday, October 26, 2012

Units

It was mentioned in the classroom, but given the trouble I can see it has caused you, I would insist on the units we will use. You can have a look at the wikipedia kilobyte entry.

Unless we explicitly use the terms kiB, MiB or GiB or kibit, Mibit or Gibit we always imply units to be powers of 10. So:

1 kByte = 1000 bytes  ( = 8000 bits )
1 MByte = 1000.000 bytes
1 GByte = 10^9 bytes

and

1 kbit = 1000 bits
1 Mbit = 10^6 bits
1 Gbit = 10^9 bits.

Same applies when we mention data rates (bps or Bytes/sec) and file sizes (kB, MB, GB).

Please note that all this is the industry standard too.

Only storage space used to used powers of two as units.

Thursday, October 25, 2012

A security vulnerability

Remember the mandatory Host: header of HTTP/1.1. This is where this vulnerability is on a certain web application framework.

Wednesday, October 24, 2012

Hands-on projects at ETSINF

Last year's ARA students (a group of them) asked for a space for developing group projects somehow related with the studies but not within a given subject entirely. We welcome student initiative and space for a such activities was made available by ETSINF.

This year the same resources (and a better equipped workshop) is available again for personal and/or group projects. This is the public call that was made. That includes a link to the request form in case your team wants to use that resources. If you need some help or advice do not hesitate asking me.

Just in case you wonder, these projects are not pre-defined nor will award you any credits to your studies though you may learn stuff and maybe make new friends (or totally ruin your already scarce social life, who knows).

Monday, October 22, 2012

And we are back ...

Second lab is about several other protocols we will see less of them in the classroom.


Wednesday, October 17, 2012

Homework

Next lecture readings are Kurose's 2.4 section and [browse] RFC 2045

Individual homework due next class October 26th.

  1. Determine the number of bits a geosynchronous satellite link may contain if we know the data-rate is 1Mbps and ground station is located in the equator line. (Remember)
  2. Same as before but if ground station is located in Valencia.
  3. Two hosts are communicated through a path containing three intermediate routers. If all links' rate is 1Mbps. How long does it take for a 78 KByte file transmitted from one host to be fully received at the other end if packet size is 512 bits.
  4. Using the link of problem one, how long does it take for the ground station to upload a 78 KByte file to the satellite (maybe a software update) if packet size is 512 bits and a 20 bits acknowledgment packet has to be send back (and received) before a new data packet can be transmitted? 

Monday, October 15, 2012

First lab

Remember this week we start with the Laboratory sessions 90 min each (10 each semester). For the first one you may want to get familiar with some of the options of wireshark software.

Wednesday, October 10, 2012

Next week news

Next week Laboratory sessions will start. You can download the lab script.

Please remember that next Monday October 15th, @9:00am there will be the lecture corresponding to October 19th (when I am out of town). The lecture will be held in the usual place: classroom 1E.1.0.

By the way, some very interesting material can be found in this link containing different applets that may help you clarify some of the concepts we are presenting by means of different simulations.

Saturday, October 6, 2012

A faster WiFi to replace the current fastest one.

Till now, Wifi (IEEE 802.11) was using two frequency bands: 2.4GHz and 5GHz.  Now a new band is planned. It promises to speed up wireless communications even more than IEEE 802.11ac (latest standard).

Thursday, October 4, 2012

Chapter 2 slides

I thought you may want to have them, so here they are. I might use some of the drawings so they can be helpful as far as you do not think slides are a good study tool, because they are not.

Given the activity level on the doodle thing, I guess you are like me: just looking the topic to see what we are up tomorrow. However, if that is the case, I hope you've used some of your time with the homework too.

Wednesday, October 3, 2012

Moving October 19th lecture

As I mentioned in the classroom I have scheduled a trip to Germany for a technical meeting and I cannot give the lecture of October 19th. This lecture has to be moved and I expect you to decide which day is preferred. Albert suggested to start lectures on Friday (as usual) at 8:00 for two days. I felt it might be a bit tough, but giving it a second thought it is only for two days. Think about it. If you like this approach, please leave a comment on the blog saying so.

On the other hand, we can have the class moved to another day and a Monday seems the ideal candidate. I have created a poll so you can express your preference for this solution. If you prefer this, please provide your answer to the poll.

Monday, October 1, 2012

Another reading

Last lecture, Jorge asked me about Network Security. I mentioned him an article I wrote a while ago about a security incident at UPV. It is not a primer on network security but it shows some common problems. You can get the PDF in Spanish or the English version.

There is an interesting multimedia initiative about Network Security you can find interesting.

I was interviewed by the American magazine Circuit Cellar.

These readings are not mandatory at all.

Friday, September 28, 2012

Class test marks

Class test has been marked. Most of you did well, congrutaltions. Those who did not, now know you need to re-read the book and class notes.

Remember you can always schedule an appointment for me to explain you what you did not get right during lectures.

From marking the tests it became clear to me that my explanation of propagation delay was not good (as many of you got your answer wrong). First, let me explain what propagation delay is not:

  • Propagation delay is not the response time.
  • Propagation delay is not the sum of different delay sources.
  • Propagation delay is not the time it takes for a packet to be received since it was sent.
Propagation delay is the time it takes for a signal to travel the distance from transmitter to receiver. Please do not confuse transmitter with sender nor receiver with destination. First, let me explain this difference: each time a packet is retransmitted, there is a transmitter, a receiver and a link connecting the two together. In a packet switching network. Packets will flow from sender to destination as a sequence of retransmissions through different links.

While propagation delay D is measured in seconds, it is interesting to note that for a given bit rate R, propagation delay can be computed in terms of meters/bit (as if bits had some physical dimension). As 1/R is the time it takes for a bit to be transmitted and at a propagation speed S this time is equivalent to a distance = S / (1/R). Therefore, the product S x R has the dimension meters/bit and it represents what fraction of space a bit uses when propagating along the link. 

As the link distance X is known too. A second conclusion we can get is the number of bits the link can hold "while propagating" as the expression X / ( S x R ). Does your brain hurt? If so, relax for a while before heading to this week's homework.

Four links and a homework.

Wireshark program was mentioned in today's lecture. You can get it for free. Wireshark is a network sniffer and protocol analyzer software. A tool to perform to give you x-ray vision for your network traffic.

You can get canned network traffic captures. If you want to learn a bit about capture filters to perform you own capture.

Wikipedia take on ISO/OSI reference model.

And finally, there is a set of solved exercises about chapter one that you should do at home. I started translating them but I kind of got tired in the second page, so I am posting the Spanish version.

Just as a reminder, next lecture previous reading is section 2.1 of the book.

Monday, September 24, 2012

Smoking hot!

This week another speed record. Please note that for us, not only raw speed counts but also the distance  achieved here.

By the way, this week's reading is section 1.3 & 1.5.

I mistakenly mentioned section 2.1 in the classroom, that will be the reading for next week.

Friday, September 14, 2012

English fun

I mentioned the word "router" today in the classroom. I did mention that Bristish and American accent is quite different for this word. Do you want to hear 18 different pronunciations of the word?

You can read a bit about the Spanish research network and European one.

By the way, I forgot to mention next class reading are sections 1.2 & 1.3 of Kurose's book.

And just in case, here you have Chapter 1 slides from the 6th Ed of the book (similar to 5th version but finally without the annoying Comic Sans font).

Monday, September 10, 2012

First chapter of the textbook available in PDF

Linus Torvalds claimed that many things in life are better when they are free (you may want to research this quote for some fun). The first chapter of the textbook we use for this subject is made available for free download by the publisher.

You may want to grab it while it lasts. The only drawback is that this file belongs to the Spanish version of the book. Or is it an advantage? Please let me know you opinion on this with a comment (it won't bite you).

Please note there is a newer version of the book (6th edition) just published in English. You can borrow the  5th edition from the school library.

Reading section 1.1 before the first lecture will help you follow it better. If you have any questions before the class it is a good thing you sent me an email so I can properly address it in my lecture. We will follow this method along the course so we can make the classroom more efficient (any doubts from your readings or exercises you can email it to me before the lecture).

Just in case you doubt it: Tomorrow September 11 (oops, what a date) we won't start the Lab sessions as erroneously states the school time-table web app. 

Thursday, September 6, 2012

A short history of the Internet

A nice introduction to the origins of the Internet. 


Here you have this course's syllabus.

Wednesday, September 5, 2012

Welcome to new students course 2012-13

Feel free to look back in previous posts. From now on, all the posts will pertain to this new course and I hope you will enjoy the course, but mostly I do expect you to learn all the basics about Computer Networks along this year. This what this course is all about, the basic concepts of TCP/IP networks.

I have been using a blog instead of other vehicles for distributing the course information. We will discuss this on the very first day to establish whether we keep this system or you prefer me to switch to other type of platform.

Please note that this blog is open to people outside of the course, make sure you feel comfortable about it. Attendance record and marks are made public in a transparent way from day one.

Blog format allows me to be posting news, labs or any other relevant information about the course, while you have on the right-hand side the course spreadsheet covering attendance and mark information and a file repository all relevant files can be downloaded from. Did I mention no username/password is ever required?

Friday, June 1, 2012

Funny sounds

I have mentioned in the classroom that dial-up modems were used for Internet access long time ago. You may find interesting to actually hear how they sound. It is shown in this page.

Thursday, May 24, 2012

Marks of the last exam

As you may have noticed, there has been some problems with the latest exam and its marking process. I apologize for all that. Some [unarmed] people have stopped by my office this evening and we've jointly reviewed the marking process.

It's been found that the right set of answers were not fed to the automatic marking software. As a result most of you have obtained an undeserved poor mark.

You may find below the used and the corrected key for the two types of exam (A- Modelo 1 and B- Modelo 2) and your own answers so you can recalculate your correct mark (and email it to me).
  20120524183829433 All

Monday, May 14, 2012

Monday, May 7, 2012

Change of plans

Due to popular demand, presentation of the P+2 optional assignment due this Wednesday is postponed for next Wednesday, May 16th, same time, same place.

Please remember this Friday is a holiday, so no lecture this week.

Tuesday, May 1, 2012

Lab exam

Don't forget to attend the Lab exam tomorrow morning at 8:00am in the lab.

Update: Solved exam is available.

Monday, April 30, 2012

Second test has been marked

Mark shown [column X7] is the number of correct answers, remember the test contained a total of 15 questions.

Monday, April 23, 2012

And the 8th and last lab

Is available now.

But remember we will have next week a lab exam and the other a public presentation of assignments. So this one is the last one adding more stuff to study only.

Friday, April 20, 2012

Exercise 4 CRC-16 calculation

Mask represents the generator polynomial
(A001 == x^16 + x^15 + x^2 + 1 where x^16 is gone and LSB represents x^15).

Data bits are fed from LSB to MSB
At each iteration CRC is shifted to the right one bit
If data bit and LSB in CRC do not match, then crc ^= mask

So for data = 0x41
initial crc = 0x0000
first bit = 1
does not match crc's LSB so shift + xor
crc=0xa001
second bit = 0
does not match crc's LSB so shift + xor
crc=0xf001
third bit = 0
does not match crc's LSB so shift + xor
crc=0xd801
fourth bit = 0
does not match crc's LSB so shift + xor
crc=0xcc01
fifth bit = 0
does not match crc's LSB so shift + xor
crc=0xc601
sixth bit = 0
does not match crc's LSB so shift + xor
crc=0xc301
seventh bit = 1
shift only
crc=0x6180
eighth bit = 0
shift only
crc=0x30c0

Optional assignment

This assignment will be based on a peer-to-peer protocol invented for the occasion. The so-called "P+2" protocol has been created to be one of the simplest P2P protocols (but not any simpler). You need to read and to understand the protocol specification.

Your job is to create a basic peer that will consist of a server and of a client part. Only the client part interacts with the user.

For helping you out in the developing process I have created both a sample peer and a test tool.

The test program is intended to be run in the same computer as your server code, so you only need to provide the port information.
$ java P2Tester 7777
>>> CONNECT OK
158.42.53.17:7777
158.42.53.17:8899
1.1.1.1:1234

P2P.class
QueryServer.class
ListManagement.class
Peers.class
FileServer.class

>>> READ FROM FILE (first ten bytes): FileServer.class
ca fe ba be 00 00 00 32 00 72

To run the sample peer you have to type:

java -jar P2P.jar folder port known_listserver:port

You can also find interesting the following implementation guide:



p_2

Please ignore any dates mentioned in the documents above, as it belongs to last year's dates.

The day assignments can be shown and presented in the lab is May 9th. Turning it in at a later date is possible but then public show won't be possible. At any rate, the assignment won't be accepted after May 31st.

Wednesday, April 4, 2012

Easter fun

Once you're fed up of looking for hidden eggs this Easter you can do some exercises. I have added these three sets. Some of them are solved some are not.

Friday, March 30, 2012

Sixth lab

There is a new lab available for next Wednesday April 4th. And next you can enjoy your holidays with no additional reading required.

Tuesday, March 27, 2012

Friday, March 23, 2012

Solved & marked test

If you advance the document you can see your marked exam.Control IP

Wednesday, March 21, 2012

Yet another example of latency reduction = money

A couple of new links are going to be built to reduce data traffic latency between London and Tokyo.

Tuesday, March 13, 2012

This week reading

I know it might be a bit tight for doing it before tomorrow's lecture, but consider doing it later too. This week we venture into the next layer which is Data Link Layer. Please read Kurose's sections 5.1 & 5.2.

By the way, remember that Wednesday March 14th will act as a Friday, so we will have a lecture instead of a lab.

Saturday, March 10, 2012

Fourth lab: Network Address Translation

This week a new lab introduces some practical aspects of NAT.

This time please bring your written solution to the lab.

Friday, March 9, 2012

More homework

A new set of exercises has been published. Please complete exercises 1,2,3 & 4 and submit your solutions before March 22nd.

Tuesday, March 6, 2012

Third lab (second term)

It's been published on the file repository a new lab about DHCP protocol.


Update: 1st term exam re-take is marked. All of the attendants improved their marks, congratulations, especially to José Vicente outstanding performance.

Sunday, February 26, 2012

Second term, Second Lab

You can download it from here. Some work is to be done at home and brought to the lab.

Remember to read section 4.4.3 of Kurose for next lecture.

Wednesday, February 22, 2012

Next lecture reading

Next lecture is about routing algorithms.  Recommended reading is Kurose's 4.5.

Friday, February 17, 2012

Back to the lab

The first lab of the second term is out.

See you next Wednesday 8:00am in the lab.

Thursday, February 16, 2012

Wednesday, February 15, 2012

Next lecture materials

José Manuel asked about the lack of broadcast addresses in IPv6. Broadcast addressing has been removed for IPv6 but Multicast remains and Anycast has been added. But please note that reaching all the nodes on the local link (similar to IPv4 broadcast) can be achieved with IPv6 address ff02::1.

Some of the special addresses in IPv6 can be found here. A more detailed summary can be found on Wikipedia. You can see it is not as simple as IPv4.

Next lecture reading is Kurose's 4.4.2.

Some sub-netting and super-netting exercises are available. Feel free to choose four of them and send them solved to me by email before February 24th.

Wednesday, February 8, 2012

Some review questions

This is some homework due February 17th (only three of these questions of your choice need to be answered). Click on the text to see a lager version of it.


Next lecture previous reading is Kurose's 4.2.2 & 4.4.1.

Monday, February 6, 2012

Interesting video about Wifi security

We are not yet there, but it will be covered during this second term. I have found this video interesting to watch as it contains several sensible recommendations about securing wifi networks like the one you may have at home.




You may also find interesting this documentary, but this time you'll need to find it for yourself, as I am not aware of an steaming version of it.

Tuesday, January 31, 2012

Second term

And we are back!

Next Friday is our first lecture and the required reading are sections 4.1 and 4.2.1 of Kurose's. See you there.

Please note that semester marks have been published now (green column).

Update: By popular request first second term lecture has been moved to Wednesday February 8th. It will be held in classroom 1G 1.6 from 16:00 to 18:00.

Exercise 6

Some of you shown some concern about exercise number six of the exam. As a result I have reviewed the marking and a few of you have got your mark risen a bit. The main problem is twofold: whether you increase the congestion window by two or one after each acknowledge during slow start and what is the policy during congestion avoidance.

You can have a look at the proposed solution trace. And the policies on each case are as follows:

  • Threshold: Same value on both sides of 3 MSS during all the exercise.
  • Slow Start: each ACK increases CongWin value by one MSS.
  • Congestion Avoidance: If during one RTT CongWin bytes are ACKed then CongWin is increased by one MSS (CongWin remains unchanged otherwise). 
However, those that may have chosen to increase by two MSS per ACK (given the fact delayed acknowledgments are used) during slow start also scored ok. Those that used a fractional increase of CongWin during Congestion Avoidance (ie. to increase MSS/CongWin per ACK) can also have a correct answer.

Friday, January 27, 2012

Interesting Java book

My friend Oscar Belmonte who is a professor at Jaume I university has published this interesting Java book you can download for free.

1st term marks and marked exams

You can have a look here at the test you did in the last class of the semester:

20120127104231838
The marked exams are going to be emailed to each one of you today, so you can see what you did right or wrong. A solved exam will be published soon too.

Friday, January 13, 2012

How come SSL type field is not encrypted?

All fields of SSL record header are not encrypted but its content is taken into account for MAC calculation. So if an attacker changes them, that record will be signal as invalid once MAC is verified by the receiver.

Tuesday, January 10, 2012

Last session for presenting your project

As we have one session pending for the rest of the projects to be presented publicly, we will held that session next Monday, 16th January 2012 in "Seminario 3", in the 3rd floor or 1G building. See you there.

Monday, January 9, 2012

Last lecture of the semester

For this last lecture the previous reading is Kurose2010, section 8.5
Next Thursday in the lab the first eight projects will be presented. The format of that session is as follows:
  • Each presenter has ten minutes to explain his project, that includes what the project is about, the actual code and a demo.
  • Attendants will rate each presenter from 1 to 5 (larger is better) in a list that will be handed over to the instructor at the end of the session.
  • Presentations may use (if desired) a set of slides (not required).
  • Students may address the audience in the language of their choice.