Spring 2014

Internetworking VT 2014 Period 4, IK1550 and IK1552 Internetworking

Tue Apr 29 23:17:12 CEST 2014


Announcements

On 29 April 2014, Amir Roozbeh will give a guest (industrial) lecture "Resource Allocation in Network Enabled Cloud: An extension to OSPF-TE" during the first hour of class. This is the topic of his master's thesis and his conference paper (that won a Best paper award at UCC '13).

Page is still under construction - contents may be inconsistent


IK1550 Internetworking is a 6 ECTS credits course designed for undergraduates.

IK1552 Internetworking is a 7.5 ECTS credits course designed for undergraduates.

Information is available on:

  • Aim
  • Prerequisites
  • Contents
  • Schedule
  • Literature and Course Material (Textbook, Reference books and other references)
  • Lecture Plan and Lecture Material (OH slides)
  • Examination Requirements and Registrations
  • Staff Associated with the Course
  • Registering for the Course
  • Other on-line Course Material (More References)
  • Announcements
  • Evaluation
  • Previous versions of the course

Aim

This course will give both practical and general knowledge on the protocols that are the basis of the Internet. After this course you should have a good knowledge about Internet protocols and internetworking architecture. You should have a general knowledge aiding you in reading research and standardization documents in the area.

Learning Outcomes

Following this course a student should be able to:

  • Understand the principles on which internetworking is based - which define the Internet (both what it is and why it has proven to be so succesful)
  • Understand TCP/IP protocol stack, layering, encapsulation and multiplexing
    • Understand multiplexing, demultiplexing, upward and downward multiplexing
    • Encapsulation as used for Mobile IP, Virtual Private Networks (VPNs), IP security, ... and other tunnelling protocols
    • Understand how information is encoded in headers and how the choice of this encoding and field size may effect the use and evolution of a protocol
    • Understand how data is encoded in the body of a packet and how this may effect internetworking - especially in the presence of firewall and network address translators.
  • Understand IP Addressing, subnetting and address resolution - including the interaction of protocols across layers
  • Understand a number of higher layer protocols including the security risks and performance limitations of each
  • Understand the basic details of routing and routing protocols (RIP, BGP, OSPF) - with an emphasis on their limitations and behaviors
  • Understand autoconfiguration and naming (BOOTP, DHCP, DNS, DDNS, DNSsec, ENUM, ... ) - with an emphasis on risks, limitations, scaling, and evolution
  • Understand the nature and pressures on the design and operations of internets - particularily on scaling, performance, delay bounds, due to new Internet applications (VoIP, streaming, games, peer-to-peer, etc.
  • Understand the advantages and disadvantages of IPv6 (in comparison to IPv4)
  • Read the current literature at the level of conference papers in this area.
    • While you may not be able to understand all of the papers in journals, magazines, and conferences in this area - you should be able to read 90% or more of them and have good comprehension. In this area it is especially important that develop a habit of reading the journals, trade papers, etc. In addition, you should also be aware of both standardization activities, new products/services, and public policy in the area.
  • Demonstrate knowledge of this area in writing.
    • By writing a paper suitable for submission to a trade paper or national conference in the area.

Prerequisites

  • IK1203 Nätverk och kommunikation/Networks and Communication, Datorkommunikation och datornät/Data and Computer Communications or equivalent knowledge in Computer Communications
  • Students who have not completed the prerequisites should obtain permission of the instructor, before registering for the course.

Contents

The course consists of 14 hours of lectures, 14 hours of recitation (övningar) and 40-100 hours of written assignment.

Lectures will be given in English. Lecture notes will be available via the course web site in advance of the relevant lecture(s).

Recitations

Recitations will be based on exercises from the main literature. Some extra recitations may be made available via the course web site.

Topics

  • What the Internet is and why it has proven to be so succesful.
  • What protocols are required to allow internetworking (IP, TCP, UDP, ICMP, etc.)
  • Understanding of TCP/IP protocol stack, layering, encapsulation and multiplexing
  • IP Addressing, subnetting and resolution
  • Transport protocols, including UDP and TCP
  • Details of routing and routing protocols (RIP, BGP, OSPF)
  • Autoconfiguration and naming (BOOTP, DHCP, DNS)
  • Internet applications (VoIP, SMTP, etc)
  • Multicasting, VPNs, Mobile IP, and security
  • IPv6 and some differences with IPv4

Examination Requirements

  • The basic requirement (for both courses) is the written paper, those who do not submit an acceptable paper can take an oral exam (see "komplettering").
  • IK1552 requires an additional written assignment. Details of this will be presented in class.

Exam Schedule

Oral exams will be scheduled individually (if necessary).

Written report

  • An assigned paper requiring roughly 40-100h of work by each student
  • Registration: Friday 02-May-14, to maguire@kth.se with the "Subject: IK1550 topic" or "Subject: IK1552 topic" giving the topic selected
  • Potential topics will be discussed in class.
  • Written report
    • The length of the final report should be ~7-8 pages (roughly 3,000 words) for each student; it should not be longer than 8 pages for each student - papers which are longer than 8 pages will have a maximum grade of "E". (detailed measurements, configuration scripts, etc. can be in additional pages as an appendix or appendices).
    • The report should clearly describe: 1) what you have done; 2) if you have done some implementation and measurements you should describe the methods and tools used, along with the test or implementation results, and your analysis.
    • Final Report: written report due before Friday 23-May-2014 23:59
    • Send email with URL link to a PDF file to maguire@kth.se
    • Late assignments will not be accepted (i.e., there is no guarantee that they will graded in time for the end of the term)
    • Note that it is pemissible to start working well in advance of the deadlines! Thus send the instructor your selection of topic as soon as you have selected one.
    • Language: the report can be written in Swedish or English - (I can provide better feedback if the report is written in English)

A sample paper is:
http://www.ibiblio.org/mdma-release/http-prob.html by Simon E Spero).

Each of the sample papers below appears here by permision of the authors - the copyright belongs to the respective authors.

From IK1550 - 2009:

  • Elis Kullberg, Live migration of Virtual Machines: Sustaining active TCP-sessions, 3 Sept. 2009
  • Sara Klingberg, IPRED: En lösning för framtiden?, 27 May 2009 - note that this paper provides an interesting alternative explaination for the change in traffic after IPRED went into effect.

From 2G1305 - 2006 (4 point papers):

  • Erik Carlborg Fröberg, André Eriksson, and Polly Yeung, "BitTorrent och traffic shaping", 26 October 2006

Note that the papers below represent papers that were done for 1 point, rather than the 4 points which the current papers are to be worth.

From 2G1305 - 2005:

  • Stefan Lundström and Daniel Hassellöf, "SCTP-performance and security, 25 May 2005
  • Henrik Österdahl, "A comparison of TCP and SCTP performance using the HTTP protocol, 25 May 2005
  • Mikael Rudholm, "Lastbalansering för webbservrar", 24 May 2005
  • Åsa Pehrsson, TLS session resumption impact on HTTP performance, 8 September 2005

From 2G1305 - 2002:

  • Filip Tysk, "Design and evaluation of a TCP proxy which provides secure tunneling to another TCP proxy." 26 September 2002
  • Rodrigo Sierra, Fair queuing in data networks, 6 December 2002.

Some useful information for writing your reports

  • For your document, you should be sure to use A4 sized paper rather than US letter.
  • For those using LaTeX, you can improve the look of the document by:
    • switching to using PostScipt fonts (instructions)
    • You can also turn off hyphenation or at least limit its use with "\hyphenpenalty=5000 \tolerance=1000"
    • BibTex entries for W3C publications
    • BibTex entries for RFCs
    • IEEE and ACM provide BibTeX entires for their publcations via the web page for each publication
    • Use the bytefield package to draw packet structures
  • For those using Microsoft's Word: It is possible to convert .bib a suitable format using JabRef. (see also http://wiki.lyx.org/BibTeX/Programs)
  • I encourage students to use Zotero for their reference management. Of course you can also use a commercial tool or other tool. The key is that you should be using a tool to facilitate working with your references and reference material. You can find examples of using Zotero in my II2202 lecture notes on powertools. I encourage you to use my Zotero style IEEElike-with-access as it provides a rather complete reference (including DOI, ISBN, or URL where relevant). There are Zotero plugins for OpenOffice/LibreOffice and Microsoft's Word.

Some common flaws in reports

  • Incomplete references - see the references in the lecture notes for examples of references
  • Missing important citations
  • Statements made without justification or supporting citations
  • Poor (or no) editing
  • Failure to spell check the document
  • Documents which it is clear that no one looked at after formatting - often these have breaks in the middle of sentences, missing phrases, ... .
  • Lack of page numbers
  • Unreadable text in figures
  • Failure to label elements of figures adequately
  • Use of contractions
  • Use of acronyms or abbreviations without properly introducing them; often failure to use these acroynms and abbreviations consistently through the rest of the paper
  • Redundant text
  • Using figures from others without the copyright owner's permission
  • Using too few refences, so the paper looks like simply a cut an paste edit of these references.
  • Single sentence paragraphs
  • Lack of vertical white space between paragraphs, which in some cases makes it hard to understand where new paragraphs beging
  • Lack of a date - every document should have a date, in addition to title and author(s)
  • Lack of section, subsection, ... number - makes cross references difficult (i.e., using hierarchically numbered headings)

To cite the source of a figure that you have been inspired by you can say: "Figure xxx: yyyyyyyyyyy (adapted from figure zzz of [z])"
For examples slides: 1:43 (PDF page 86), 1:72 (PDF page 115), 6:19 (PDF page 401), and 13:62 (PDF page 841). of http://www.ict.kth.se/courses/IK1550/Internetworking-2013.pdf

It is also possible to directly include figures from others but on if they have given you permission, they you say what they required you to say when they gave you permission, for example:
Figure xxx: yyyyyyyyyyy (Appears here with the permission of ZZZZ. The figure originally appeared as figure xxx on page ww of [z].)

For creative commons works, see http://creativecommons.org.au/content/attributingccmaterials.pdf and (also http://wiki.creativecommons.org/FAQ#How_do_I_properly_attribute_a_Creative_Commons_licensed_work.3F)

To help track down where a figure appears see: http://howto.wired.com/wiki/Figure_Out_Where_a_Photo_Originated

Grading

A very good paper should be either a very good review or present a new idea, while an outstanding or excellent paper should be truely innovative.

ECTS grades

  • To get an "A" you need to write an outstanding or excellent paper.
  • To get a "B" you need to write a very good paper, i.e., it should be either a very good review or present a new idea.
  • To get a "C" you need to write a paper which shows that you understand the basic ideas underlying internetworking and that you understand one (or more) particular aspects at the level of an average undergraduate student in the area.
  • To get a "D" you need to demonstrate that you understand the basic ideas underlying internetworking, however, your depth of knowledge is shallow in the topic of your paper.
  • If your paper has some errors (including incomplete references) the grade will be an "E".
  • If your paper has serious errors the grade will be an "F".

If your paper is close to passing, but not at the passing level, then you will be offered the opportunity for "komplettering", i.e., students whose written paper does not pass can submit a revised version of their paper (or a completely new paper) - which will be evaluated.

Code of Honor and Regulations

It is KTH policy that there is zero tolerance for cheating, plagiarism, etc. - for details see http://www.kth.se/dokument/student/student_rights.pdf See also the KTH Ethics Policies


Literature

Main Text-Book

The course will mainly be based on the book: James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, Sixth Edition, Pearson Education, 2012, ISBN-13: 9780273768968, ISBN-10 0-27376-896-4

Available from Kårbokhandeln KTH campus or in Kista. Also available from internet booksellers.

Note that there is on-line material for the 6th edition of the textbook; this includes animations and other useful material. Additional material (access requires the code from your textbook).

Differences from the 2nd edition are list on page xxxi of the 3rd edition. The most significant for this course is that the 3rd edition covers: SCTP, more about security, and more examples (using ping, netstat, etc.).

Reading guide: read the entire book.

Additional Reference Books

  • Behrouz A. Forouzan, TCP/IP Protocol Suite, 3rd edition, McGraw-Hill, publication date January 2005, (Copyright 2006) 896 pages, ISBN 0-07-296772-2 (hardbound) or 0-07-111583-8 (softbound)
  • Russell Bradford, The Art of Computer Networking, Pearson Education Limited, Prentice Hall, 2007, 304 pages, ISBN 978-0-321-30676-0 ( links collected by the textbook's author)
  • Mobile IP: Design Principles and Practices by Charles E. Perkins, Addison-Wesley, 1998, ISBN 0-201-63469-4.
  • Mobile IP: the Internet Unplugged by James D. Solomon, Prentice Hall, 1998, ISBN 0-13-856246-6.
  • Muhhub Hassan and Raj Jain, Higher Performance TCP/IP Networking: Concepts, Issues, and Solutions Pearson Prentice-Hall, 2004, ISBN 0-13-127257-8.

Supplementary readings

Every student should read: R. Bush and D. Meyer, "Some Internet Architectural Guidelines and Philosophy", Internet Request for Comments, ISSN 2070-1721, RFC 3439 (Informational), RFC Editor, December 2002.

For socket programming see:

  • Richard Stevens, UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentice Hall, 1998, ISBN 0-13-490012-X.Comment: An excellent book on programming network software. The source code and errata list.
  • Brian "Beej" Hall, "Beej's Guide to Network Programming: Using Internet Sockets", 04/08/2004 07:22:02 PM
  • "Prepared Statement of Vinton G. Cerf, Vice President and Chief Internet Evangelist, Google Inc.", at U.S. Senate Committee on Commerce, Science, and Transportation Hearing on "Network Neutrality", February 7, 2006
  • J. Scott Marcus, Pieter Nooren, Jonathan Cave, and Kenneth R. Carter, "Network Neutrality: Challenges and responses in the EU and in the U.S.", IP/A/IMCO/ST/2011-02, May 2001.
  • S. Kurkowski, T. Camp, and M. Coagrosso. MANET simulation studies: the Incredibles. ACM SIGMOBILE Mobile Computing and Communications Review, 9(4), October 2005.
  • Christian Benvenuti, Understanding Linux Network Internals, O'Reilly, 2006, ISBN 0-596-00255-6
  • Katie Hafner and Mathew Lyon, Where Wizards Stay Up Late: The Origins of the Internet, 1996, Simon & Schuster, ISBN 0-684-81201-0
  • Robert Malmgren, Praktisk nätsäkerhet, Internet Academy Press, Stockholm, Sweden, 2003, ISBN 91-85035-02-5
  • Anurag Kumar, D. Manjunath, and Joy Kuri, Communication Networking: An Analytical Approach, Elsevier Morgan Kaufmann Publishers, 2004, ISBN 0-12-428751-4, ISBN-13: 978-0124287518
  • Russell Bradford, Rob Simmonds, and Brian Unger. "Packet Reading for Network Emulation", Proceedings MASCOTS 2001: The IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, August 2001, pp. 150-157. [An excellent source for learning about reading and writing link layer frames and raw packets.] (link to paper from the first author's home page)
  • Chris Sanders, "Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems", No Starch Press, May 2008, 172 pp.
  • Kevin D. Mitnick and William L. Simon, The Art of Deception: Controlling the Human Element of Security, Wiley Publishing, 2002, 0-7645-4280-X.
  • Andrew Lih, The Wikipedia Revolution: How a Bunch of Nobodies Created the World's Greatest Encyclopedia, Hyperion 2009, 272 pages, ISBN-10: 1401303714 and ISBN-13: 978-1401303716 http://wikipediarevolution.com/The_Book.html
  • William Cheswick, Steven M. Bellovin, and Aviel D. Rubin, Firewalls and Internet Security: Repelling the Wily Hacker, Second Edition, Addison-Wesley, 2003, 464 pages. ISBN-10: 020163466X, ISBN-13: 978-0201634662 http://www.wilyhacker.com/
  • Gary R. Wright and W. Richard Stevens, TCP/IP Illustrated, Volume 2: The Implementation, Addison-Wesley, 1995, ISBN 0-201-63354-X

Useful URLs

Note that ethereal is now Wireshark. For an interesting BLOG which has excellent examples of using Wireshark for network care and maintenance see Chris Sander's Blog

Shawn Ostermann's tcptrace is a very useful tool for looking at the details of TCP traffic.

Seagull - multi-protocol traffic generator


Lecture Plan and Lecture Material (OH slides)

Schedule

Note that in the following "xx" means "xx:00", not "xx:15", i.e., the lectures and recitations begin on the hour (as noted in their schedules).

Lecture notes for 2014:

Schedule for Period 4 2014:

WeekDay of weekDateTimeRoomNotes
13 Tuesday 2014-03-25 13:00-15:00 Ka-431 Lecture 1
Thursday 2014-03-27 08:00-10:00 Ka-431 Lecture 2 (recording 1b) via KTH Play
Friday 2014-03-28 10:00-12:00 Ka-431 Lecture 3
14 Tuesday 2014-04-01 13:00-15:00 Ka-431 Lecture 4 (recording 3a) and (recording 3a - wide) via KTH Play (wide)
Wednesday 2014-04-02 15:00-17:00 Ka-530 Lecture 5
Thursday 2014-04-03 13:00-15:00 Ka-530 Lecture 6
16 Tuesday 2014-04-15 13:00-15:00 Ka-431 Lecture 7
Wednesday 2014-04-16 15:00-17:00 Ka-431 Lecture 8 (Module 5 TCP last) and (module 6 recording) Module 5 TCP last and Module 6 via KTH Play
Thursday 2014-04-17 13:00-15:00 Ka-530 Lecture 9 (recording) Module 7 via KTH Play
17 Tuesday 2014-04-22 08:00-10:00 Ka-530 Lecture 10 (recording) Module 8 via KTH Play
Wednesday 2014-04-23 15:00-17:00 Ka-431 Lecture 11 (recording) Module 9 via KTH Play
Thursday 2014-04-24 13:00-15:00 Ka-438 Lecture 12 (recording - Module 10) and (recording - Module 11) Module 10 and Module 11 via KTH Play
18 Monday 2014-04-28 10:00-12:00 Ka-530 Lecture 13 (recording - Module 12) and (recording - Module 13 first half) Module 12 and Module 13 - first half via KTH Play
Tuesday 2014-04-29 10:00-12:00 Ka-431 Lecture 14 (recording Guest lecture) and (recording - Module 13 (second half)) Guest lecture and Module 13 second half via KTH Play

Note that the classroom for the spring session is in the Forum building on the Kista campus.
A set of make up lectures can potentially be given for students who have a difficult time attending the above sessions.

Note also that the lectures and recitations (Övningar) are intermixed


Staff Associated with the Course


Registering

Use the normal process for registering. For most students this means you should speak with your study advisor (studievägledare).

For Industrial Economics (I) students see the program for KSI (A), year 3.


Previous versions of the course (see menu on left)

  • Spring 2013
  • Spring 2012
  • Spring 2011
  • Spring 2010
  • Spring 2009
  • Spring 2008
  • Fall 2006 and Spring 2007
  • Spring 2006
  • Spring 2005

Other on-line Course Material


Sources for Further Information


Page History

DateUpdate
2016.03.26 replaced the links to the videos from DreamBroker to KTH Play
2016.02.17 correct some of the URLs when moving this and other old pages to KTH Social
2014.04.29 added recording sof modules 12 and 13 and guest lecture
2014.04.25 added lecture notes for module 13 and added recording for module 11
2014.04.24 added recording for module 10
2014.04.23 added lecture notes for module 12 and added recording for module 9
2014.04.22 added lecture notes for module 11 and recordings for Module 8
2014.04.21 added lecture notes for module 10
2014.04.20 added lecture notes for module 9
2014.04.19 added recording via DreamBroker for modules last of 5, 6, and 7
2014.04.17 added recording for modules 6 and 7
2014.04.14 added lecture notes for modules 7 and 8
2014.04.13 corrected headings on Module 6 notes file
2014.04.02 added wide recording of yesterday's class
2014.04.01 added recording of today's class
2014.03.31 added lecture notes for modules 5 and 6
2014.03.27 added recording of today's class
2014.03.27 shifted location of the lecture notes for modules 1..4
2014.03.26 added lecture notes for modules 2,3, and 4
2014.03.25 added lecture notes for module 1
2013.11.20 added times and dates for lectures & recitations for 2014
2013.11.07 added reference Vincent Bernat's blog entry about ip route cache
2012.09.30 correct a spelling error
2012.07.29 added reference to network bridge performance measurement thesis
2012.05.27 first version for 2014

© Copyright 2014,2016 G.Q.Maguire Jr. (maguire@kth.se)
All Rights Reserved.
Last modified: 2016.03.26/p>

Valid HTML 4.01!

Feedback Nyheter