12
CS 4119: Computer Networks Henning Schulzrinne Dept. of Computer Science Columbia University http://www.cs.columbia.edu/ ~hgs

CS 4119: Computer Networks Henning Schulzrinne Dept. of Computer Science Columbia University hgs

  • View
    235

  • Download
    4

Embed Size (px)

Citation preview

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

Time permitting

Securitysee Network Security

Multicast Overlay and peer-to-peer networks Multimedia

see Advanced Internet Services