Go beyond. Make the connection.

A Graduate Degree Program with Unlimited Opportunities – MINT

MINT 704 Course Description Winter 2008

MINT 704 The Internet Protocol Suite course Outline

Calendar Description:

*3 (fi 6) (variable,36 hours) Rationale and organization of the Internet protocols. IP, UDP, TCP, ICMP, ARP. Addressing and routing; intradomain routing protocols. Transport layer congestion control and flow control. IP over everything. Offered jointly by the Department of Electrical and Computing Engineering and the Department of Computing Science.

General Information:

Term: Winter 2008

Date: January 12, 13, 26, 27, February 9 and 10, 2008

Day & Time: Saturdays and Sundays 0900-1700

Location: ETLE 1 008

Overview:

The overall goal of this course is to get you to the point that you're able to look at network traffic “on the wire”, explore and diagnose protocol interactions, understand IP addressing, forwarding and routing, and finally be able to create some basic protocols yourself. The course presents the basic concepts and tools you will need to understand network traffic, diagnose problems, and understand how and why particular configuration items are required in switches, routers and endpoint hosts.

Objectives:

1.Learn how various protocols format data for transport across a network, and understand protocol behaviors and responses.

2.Understand Internet addressing and routing.

3.Learn how to use sockets as the foundation for Internet protocols.

Course Topics:

    Acquiring and using packet traces to understand protocol interactions and network activity. Application layer down to data link layer, and then a look at some aspects of network security.

    IPv4 addressing. Subnets and masking. Forwarding at L2 and L3. Intradomain routing.

    Using sockets for basic client and server programs. Raw sockets. Some aspects of programming for network security.

Course Work and Evaluation:

Assignments will be given using questions from two of the texts (Matthews and Graham). This will form 50% of the mark.

Students will also work through the third text on socket programming at their own pace, and then demonstrate mastery of the material in the course project. This will form the other 50% of the mark.

Course Material:

The following books will be used extensively in this course:

    1.Sean Walton, "Linux Socket Programming", Sams, 2001.

    2.B. Graham, "TCP/IP Addressing", AP Professional, 1st edition, 1997.

    3.J. Matthews, "Computer Networking: Internet Protocols in Action", John Wiley & Sons, 2005

The first book is available online through Safari Books Online which you can access through the U of A library. In Walton's book we will cover all of the chapters on client programming and two of the chapters on servers (chapters 6 and 8). The material on multi-process and multithreaded servers is appropriate for a second course and will not be covered in 704. We will also leave all of Part III on object-oriented methods for a subsequent course. Finally we will cover two of the advanced topics in the book: SSL, and raw sockets. The Graham book is out-of-print but it's my favorite explanation of addressing and I've gotten permission from the publisher to have it reproduced and stocked in the bookstore for you. It will only cost you about $30.

The book by Matthews is in-print and will be stocked in the bookstore. You will need to install the software from the book on a laptop, and bring that laptop with you to class.

Academic Integrity:

The University of Alberta is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the Code of Student Behaviour (online at www.ualberta.ca/secretariat/appeals.htm) and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University. (GFC 29 SEP 2003)

Collaboration:

While you may discuss your individual coursework with other students, the work claimed and submitted in your name must be your own. That said, there are assignment and project-specific policies on how much source code from publicly available sources may be borrowed. Always give proper credit to the original developers in your source code and documentation. Ask permission beforehand if you intend to recycle your work from another course in this course.

University Policies:

The University of Alberta policies include, but are not limited to, the following:

    (Section 23.4(2) of the University Calendar)

    (Section 23.5 of the University Calendar)

    (Section 30 of the GFC Policy Manual)

    Regulations listed in the GFC Policy Manual and the University Calendar will be used in resolving any discrepancies.

University Of Alberta - Faculty Of Engineering University Of Alberta - Faculty Of Science University Of Alberta