cs 4119: computer networks henning schulzrinne dept. of computer science columbia university hgs
Post on 22-Dec-2015
235 views
TRANSCRIPT
CS 4119: Computer Networks
Henning SchulzrinneDept. of Computer ScienceColumbia Universityhttp://www.cs.columbia.edu/~hgs
Why learn about computer networks? Almost all modern software
applications are distributed from enterprise applications to
video games General useful principles:
dealing with asynchronicity unreliable components
predictable end systems (network) life is random and
unpredictable work with other
implementations that you have never met before
Theory: congestion control routing
How does the world really work? email, the web, P2P
applications, DSL, … Learning to create
professional-grade network applications not just use libraries as black
boxes
CS4119 as Foundation
Lots of Columbia Computer Science classes build on this: COMS 4180 Network Security COMS 6181 Advanced Internet Services COMS 6998 Advanced Internet Routing COMS 6180 Modeling & Performance Evaluation COMS 6125 Web-enhanced Information Management ELEN 6950 & 6951 Wireless & Mobile Networks + projects in a variety of research groups
Course Information Introductory (first) course in computer
networking Who is this course for?
Undergraduates (senior), MS students, first-year PhD students
Prerequisites: Algorithms, operating systems, programming
skills in C Course materials:
text: Computer Networking: A Top Down Approach Featuring the Internet, Jim Kurose & Keith Ross, Addison Wesley, 3rd edition 2005
WWW readings Class notes
Course Information (more) Class WWW site:
http://www.cs.columbia.edu/4119 Web Bulletin Board Workload
written homework assignments 4 20%
programming assignments 3 20%
lab assignments 1-2 10%
midterm 1 20%
final exam 1 30%
A bit about myself
UMass Amherst, Bell Labs, GMD Fokus (now Fraunhofer), Columbia
Research interest in networking (IRT research group at Columbia) performance and reliability multimedia systems security
Active in Internet protocol standardization IETF
Part 1: Introduction
What is the Internet? What is a protocol? The network edge, core, and access networks Physical media Delay and loss in Packet-Switched Networks Protocol layers, service models Internet backbones, NAPs and ISPs Standardization A brief history of computer networking & Internet
Part 2: Application Layer
Principles of application-layer protocols The World Wide Web: HTTP File transfer: FTP Electronic mail in the Internet The Internet's directory dervice: DNS Socket programming
Part 3: Transport Layer
Transport-layer services and principles Multiplexing and demultiplexing applications Connectionless transport: UDP Principles of reliable of data transfer TCP case study Principles of congestion control TCP congestion control
Part 4: Network Layer
Introduction and network service model Routing principles Hierarchical routing IP: the Internet Protocol Routing in the Internet What is inside a router?
Part 5: Link Layer & LANs
Introduction, services Error detection and correction Multiple access protocols and LANs LAN addresses and ARP Ethernet Hubs, Bridges and Switches Wireless LANs: IEEE 802.11 PPP: the Point-to-Point Protocol ATM