Network Technologies (TCP/IP Suite) Tahir Azim
Agenda Logistics Introduction
Logistics Lectures: Thu 9:00 - 9:50 am, Fri 2:20-4:10 pm Course home page: Class Yahoo! group and mailing list: Office hours: Tahir: Thursday 2:00 pm – 4:00 pm References: Course based on last year’s TCP/IP course by Umar Kalim and CS244A Networks Course at Stanford by Prof Nick McKeown Many slides reused from Umar Kalim and Nick McKeown
Assignments Hopefully, the most interesting part of the whole course Written Assignments (5%) 3-4 Problem Sets To reinforce understanding of TCP and IP concepts Mostly mathematical but also include trying out network tools and utilities e.g. Ethereal, traceroute, MonALISA Programming Assignments (15%) C/C++ Sockets Projects based on the Stanford Virtual Network System (VNS) Simplified IP router implementation Simple TCP implementation Hard! There will be extra hints and code snippets to simplify it for you
Quizzes and Exams Quizzes (10%) Six quizzes, which will all be un-announced Missed quizzes cannot be retaken The best 4 out of the 6 quizzes will count towards the total OHTs (25%) Finals (45%)
Plagiarism Policy IMPORTANT! Anyone found guilty of plagiarizing any material from another student or from the Web, without proper references, will have all their Quiz and Assignment marks cancelled. When references are cited, students will be asked to describe their work verbally.
Books Required: Computer Networks: A Systems Approach, Peterson & Davie, 3rd edition. Optional: Computer Networking: A Top-Down Approach Featuring the Internet, Third Edition. Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition) Various papers and RFCs from time to time
Course Schedule Topic Duration Logistics and Course Introduction(0.5 weeks) Basic Concepts Definitions Layered Architectures and the OSI stack Queuing & Routing (2 weeks) Internet Protocol (IP) IP Addressing Fragmentation & Reassembly (1 weeks) Subnetting and CIDR(1 week) Packet Forwarding(1 week) Routing Algorithms Distance Vector Routing (Bellman-Ford) Link State Routing (OSPF) (2 weeks) Inter-AS routing (BGP)(0.5 week) Dynamic Host Configuration Protocol (DHCP), Network Address Translation (NAT) (1.5 weeks) Transport Layer Protocols and User Datagram Protocol (UDP)(0.5 week)
Course Schedule (continued…) Topic Duration Transport Layer Protocols and Reliable Data Transmission TCP (2 weeks) TCP Congestion Control(1 weeks) TCP Congestion Avoidance(0.5 weeks) Quality of Service(1 weeks) Application Protocols (HTTP, FTP)(1.5 week) VPNs, SNMP(1 week)
Let’s start! But first… any questions?
The Mail Service Nick Dave Stanford MIT Admin
Characteristics of the mail system Each envelope is individually routed. No time guarantee for delivery. No guarantee of delivery in sequence. No guarantee of delivery at all! Things get lost How can we acknowledge delivery? Retransmission How to determine when to retransmit? Timeout? Need local copies of contents of each envelope. How long to keep each copy. What if an acknowledgement is lost?
An Introduction to the mail system NickDave Stanford MIT Admin Application Layer Transport Layer Network Layer Link Layer
An Introduction to the Internet NickDave Leland.Stanford.edu Athena.MIT.edu Network Layer Link Layer Application Layer Transport Layer O.S. HeaderDataHeaderData Datagram
Characteristics of the Internet Each packet is individually routed. No time guarantee for delivery. No guarantee of delivery in sequence. No guarantee of delivery at all! Things get lost Acknowledgements Retransmission How to determine when to retransmit? Timeout? Need local copies of contents of each packet. How long to keep each copy? What if an acknowledgement is lost?
Characteristics of the Internet (2) No guarantee of integrity of data. Packets can be fragmented. Packets may be duplicated.
Layering in the Internet Transport Layer Provides reliable, in-sequence delivery of data from end-to-end on behalf of application. Network Layer Provides “best-effort”, but unreliable, delivery of datagrams. Link Layer Carries data over (usually) point-to-point links between hosts and routers; or between routers and routers.
An Introduction to the mail system NickDave Stanford MIT Admin Application Layer Transport Layer Network Layer Link Layer
Some questions about the mail system How many sorting offices are needed and where should they be located? How much sorting capacity is needed? Should we allocate for Mother’s Day? How can we guarantee timely delivery? What prevents delay guarantees? Or delay variation guarantees? How do we protect against fraudulent mail deliverers, or fraudulent senders?