CS 455/555 - Intro to Networks and Communication
Spring 2013: Tues/Thurs 11am-12:15pm, Const 1009

Print - Admin



  • Dr. Michele Weigle
  • mweigle at cs.odu.edu
  • E&CS 3214
  • Office Hours:
    M 1:30-3pm
    Th 9:30-10:45am





Wed, Apr 24 @ 2:10pm - Final Paper submission

You may submit your final paper by tomorrow night by 11:59pm (instead of during class as originally stated).

Please email me a PDF named lastname-paper.pdf (instead of using Blackboard as originally stated). If you have it ready, please also bring me a hard copy to class.

Thu, Apr 18 @ 9:34am - Final Exam Study Guide

I've just posted the final exam study guide. As with the midterm, I'll answer questions about this, the midterm study guide, or any of our homeworks on the review day.

Tue, Apr 16 @ 1:30pm - Wireless, Prog 4, and Final Paper

We didn't get to Wireless today, so if you're interested, you can see my slides from the last time I taught this class at http://www.cs.odu.edu/~mweigle/CS455-S11/Sched?action=download&upname=6-Wireless.pdf

Prog 4 - In RDT 3.0, the sender sets a timer when it sends a data packet. If a duplicate ACK is received, the sender keeps the timer running. Because of how I've suggested that you implement the timeout (using setSoTimeout), the timer will reset whenever you receive anything (even a duplicate ACK). To make things easier on you, you may allow the timer to reset when you receive a duplicate ACK (i.e., you don't have to do anything special).

The final papers will be graded on a total of 40 points, with 10 points in each of the following categories:

  • F (format) - did the paper meet the formatting/length requirements?
  • G (grammar/spelling) - quality of English grammar, sentence structure, spelling, proof-reading
  • O (organization) - are paragraphs logically ordered (i.e., does the paper flow)?, are sentences in the paragraphs logically arranged?
  • C (content) - does the paper describe the topic technically?, are there incorrect statements?

Mon, Apr 15 @ 8:45am - HW 4 Clarifications

HW 4 Question 24 was worded incorrectly. Here's how it should read (unfortunately, I can't edit the assignment in Bb.)

Q24) Suppose an application generates chunks of 40 bytes of data every 20 ms. Every 500 ms, the application encapsulates the collected data into a TCP segment and then an IP datagram. What percentage of each datagram will be overhead?

Also, for Question 30, in the text area, just indicate if you submitted the PDF by email or in class.

Thu, Apr 4 @ 8:50pm - New Resources Added to Links Page

Under Video Notes and Applets (resources from the KR textbook):

  • Chapter 3 - TCP Congestion Control video note
  • Chapter 4 - IP Fragmentation applet
  • Chapter 4 - Dijkstra's Algorithm video note

Also note that you can find the Dijkstra's algorithm animated gif link under Networking Links and CIDR tools under Tools.

Sun, Mar 31 @ 4:15pm - Office Hours Cancelled Monday

I have to cancel office hours on Monday. I will hold normal office hours on Thursday morning (9:30-10:45am). As always, send me an email if you have a question.

Mon, Mar 25 @ 8:51am - HW 3 Typo

On Question 23, there's a typo. Please use 40,000 bytes as the size of the file that Host A sends to Host B.

Thu, Mar 21 @ 12:30pm - HW 3 Deadline Extended

We didn't quite finish talking about TCP Congestion Control today, so the due date for HW 3 has been extended to next Thursday (Mar 28).

Wed, Mar 13 @ 4:45pm - Prog 2 Clarifications

I've had a couple of questions from different students about the RTT, timestamps, and seed in Program 2.

RTT - The goal of this assignment is to create a program to act like the Unix 'ping' program. Ping measures the round-trip time (RTT) between two hosts. It sends a special message and records the time it was sent. Then when it receives the reply to that message, it calculates the RTT (time received - time sent).

timestamp - Your ping client should generate a timestamp to send in a message to the server. The timestamp you obtain from the operating system is the current date and time in Unix timestamp notation (number of seconds (or milliseconds) since Jan 1, 1970). I've provided the Java and Python commands you need to obtain this timestamp on the Prog 2 assignment page.

seed - To generate artificial loss and delay, we will use a random number generator (RNG). RNGs typically will return a different value each time you ask for a number. In order to generate a repeatable pattern of values from the RNG, you use a seed (which is just an integer value). The next time you want to generate that same pattern of values, you supply the same seed. The use of seeds will allow me to generate the exact same pattern of loss and delay when grading each student's program.

client vs. server delays - The server delays will be determined by the RNG. The client delays (RTTs) are calculated by the client. They will generally be only a few ms different than the server delay, but never less. It depends on the network traffic and operating system load while your program is running.

FYI - I'll be traveling for the next few days and will likely be out of email contact. I will be holding regular office hours on Monday (1:30-3p) if you have additional questions.

Tue, Mar 5 @ 9:45am - Mid-Semester Feedback

Please complete the course survey (found under Assignments on Blackboard). Your responses are anonymous and will help me make any adjustments that are needed for the remainder of the semester and to improve future offerings of the course.

Thu, Feb 28 @ 1:50pm - HW 3 and Final Paper assigned

The Final Paper assignment has been posted on the class schedule, and the HW 3 assignment has been posted on Blackboard.

Thu, Feb 21 @ 4:04pm - HW 2 Graded

I've posted grades for HW 2 on Blackboard and updated your current average. HW 2 for CS 555 was out of 180 points, and for CS 455 out of 165 points.

Thu, Feb 21 @ 10:05am - Overview of RDT variants

RDT 1.0 - reliable over reliable channel (no errors, no loss)
RDT 2.0 - reliable over unreliable channel w/bit errors

  • add data checksum and ACK/NAK to handle data bit errors
  • rexmit on NAK
  • doesn't cover ACK/NAK bit errors

RDT 2.1 - reliable over unreliable channel w/bit errors

  • add checksum to ACK/NAK to handle bit errors
  • add seqno to data to handle duplicate packets
  • recvr discards duplicate data, sends ACK

RDT 2.2 - reliable over unreliable w/bit errors - NAK-free

  • add seqno to ACKs to replace NAKs
  • recvr sends ACK for last data received OK
  • duplicate ACK = NAK, rexmit on duplicate ACK

RDT 3.0 - reliable over unreliable w/bit errors and loss

  • add timeout at sender to handle lost packets (data or ACK)
  • only rexmit on timeout
  • no change to receiver

Tue, Feb 19 @ 9:24am - Updates

On the schedule page, I've added links to Prog 2 and the Mid-Term Study Guide. I've also uploaded an example mid-term exam from Fall 2007 to Blackboard (in the "Modules" section).

Mon, Feb 18 @ 2:05pm - HW 2, Q 23-25 clarification

Ignore the sentence "She wants to ensure that a typical user will be able to download the entire main webpage (including all objects) in less than 300 ms." It's an artifact of the question's pre-Blackboard version.

Sun, Feb 17 @ 5:27pm - HW 2, more question clarifications

Q 4 - The question is asking about what things are required to address (ie, contact, or identify) a communicating process.

Q 31 - DNS - You may use either of the known servers in the cache to do the lookup.

Q 34, 35 - Parallel connections

  • Parallel connections can go to the same server, but we're ignoring serialization effects of going to the same server. So, in effect there's no difference between parallel connections that go to the same server or ones that go to different server.
  • Parallel connections are created in the order the objects appear in the base page. A new connection can be created (ie, object can be requested) as soon as there is a parallel connection that has completed its request/response cycle. So, at most there can be xx connections open at the same time (where xx is the number of parallel connections).

Thu, Feb 14 @ 4:42pm - HW 2, Ques 36

I incorrectly answered a question about #36 on HW 2 in class today. You do not need to consider the transmission delay of the object over the 2 Mbps access link when calculating the average response time. If you have already submitted the HW with this as your assumption, I'll double-check the answers manually.

Wed, Feb 13 @ 4:12pm - More Links

I've re-arranged the Links page a little, to bring some of the textbook links up higher. Note the video notes and applets. I'll show some of these (applets, at least) in class tomorrow. Use these for additional practice or to go over concepts that might be confusing.

Fri, Feb 8 @ 2:50pm - HW1 extra question

I've graded all of the HW1s, your grades are in Blackboard.

For those of you who did not get full credit for Question 24 (the most missed question), you may try again. I've added a HW1-extra under Assignments. It's the same style as Question 24, but with different numbers. The score you get on this question will replace your Question 24 score - only if it is higher (so you don't lose points for attempting this one).

Since this is just one question, it is due Tuesday (Feb 12) by 11:59pm.

Tue, Feb 5 @ 3:10pm - HW 2

Homework 2 has been assigned and is due Tues, Feb 19 before 11:59pm. It is available on Blackboard under "Assignments".

Sun, Feb 3 @ 8:53pm (during the Super Bowl) - HW 1 Questions

  • Question 8 - The Internet protocol layers should be put in order from top to bottom, with "top" being marked as 1.
  • Question 13 - The text of the question is the same as question 12, but it should read as this instead: "Two hosts are connected by a m meter link with a propagation speed along the link of s meters/sec. The link speed is R bps and Host A is to send a packet of size L bits to Host B."
  • Questions 19-20 - You may use either traceroute.org or the command-line traceroute (tracert on Windows) command. Note that the command-line version will likely not work from inside campus.

Tue, Jan 29 @ 2:30pm - HW 1

Homework 1 has been assigned and is due Tues, Feb 5 before 11:59pm. It is available on Blackboard under "Assignments".

Wed, Jan 23 @ 10:04am - Updates

I've added a link to Dr. Zeil's online Intro to Java (CS 382) notes under "Java Links".

I've been told that Systems is recommending that we use the Linux machines (linux.cs.odu.edu) instead of the fast alias. Everything should work just the same (has both Java and Python).

Sat, Jan 19 @ 8:38pm - Program 1 Questions (updated)

What error message should be printed if both arguments are incorrect?

If there are 2 arguments, then check for the URL first. If the URL is incorrect, print the URL error message and exit.

Will the protocol (http://) always be included in the URL argument?

No, do not assume that http:// will always be included. See example 6.

What if the hostname is not valid?

You do not need to validate the hostname for this assignment. Anything after http://, but before the path should be considered part of the hostname.

Do we have to use command-line arguments (as in the examples)?

Yes, this is a hard requirement. Your programs will be tested by a script that provides only command-line arguments. No input will be provided to the program after it begins execution. See the Java tips in the assignment for more information on command-line arguments.

Wed, Jan 16 @ 12:39pm - Program 1 in Blackboard

I've setup Blackboard to accept Program 1 submission. The instructions for submitting assignments on Blackboard have been updated.

Note that Blackboard now does allow you to create multiple submissions without having to contact me. The time of your last attempt will be counted as your submission date. Re-submissions submitted after the assignment deadline are not guaranteed to be graded. If I have started grading your assignment, I will not grade another version submitted after the due date.

Mon, Jan 7 @ 8:40am - Room Change

Note the room change. To accomodate a larger enrollment, we've been moved to Constant Hall 1009.

Wed, Nov 10 @ 9:01am - What is This Course About?

I'll be updating these pages as we get closer to the semester, but check out the Spring 2011 offering for more information about what to expect.