120 likes | 357 Views
CS 4119: Computer Networks. Henning Schulzrinne Dept. of Computer Science Columbia University http://www.cs.columbia.edu/~hgs. Almost all modern software applications are distributed from enterprise applications to video games General useful principles: dealing with asynchronicity
E N D
CS 4119: Computer Networks Henning Schulzrinne Dept. of Computer Science Columbia University http://www.cs.columbia.edu/~hgs
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 Why learn about computer networks?
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
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
Class WWW site: http://www.cs.columbia.edu/4119 Web Bulletin Board Workload Course Information (more)
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
Time permitting • Security • see Network Security • Multicast • Overlay and peer-to-peer networks • Multimedia • see Advanced Internet Services