Advanced Computer Networks (CSL858) Vinay Ribeiro
Goals of Course Develop a strong understanding of network technologies from the physical to application layer design choices strengths and weaknesses Get a feel of networking research Develop healthy critical eye reading key research papers working with simulators, test beds etc. Enhance communication skills and team work form project teams make class presentations
Syllabus 1. Brief history of Computer Networks 2. Protocol layering 3. Point-to-point data communications 4. Error detection and correction 5. Multiple access schemes 6. Internetworking 7. Congestion control and Quality-of-Service 8. Applications
Course Web Page and Mailing List Web Page http://www.cse.iitd.ernet.in/~vinay/courses/csl858.html Mailing list (join today!) Subscribe from course web page Instructor s email: vinay.ribeiro [at] gmail
Evaluation Assignments (25pts) Minor Exam (15pts) Major Exam (30pts) Project (30pts)
Project Details Form teams of 3 students Choose a topic from the list on course web page Form a project web-page and email the link to the instructor (Optional) Use material from your project web-page to contribute to any web-based education project (example: Connexions, cnx.org)
Brief History of Computer Networking
Why History? Understanding of the past is fundamental to an understanding of the present Where did technology come from? Societal conditions Discoveries Culture Economic factors Today s technology will be history soon!
History of Computer Networking Communication Computers Computer Networking
History of Computer Networking Focus on some key breakthroughs Claude Shannon John Von Neumann ARPANET
Von Neumann (1903-1957) Major contributions to quantum physics, functional analysis, set theory, economics, computer science, topology, numerical analysis, hydrodynamics (of explosions), statistics... Pioneer of modern digital computer published (1945) a paper entitled First Draft of a report to the EDVAC presented all of the basic elements of a stored-program computer
Von Neumann Machine Other contributor: Konrad Zuse (1936) (courtesy maxmon.com wikipedia.org) A memory containing both data and instructions. Also to allow both data and instruction memory locations to be read from, and written to, in any desired order A calculating unit capable of performing both arithmetic and logical operations on the data A control unit, which could interpret an instruction retrieved from the memory and select alternative courses of action based on the results of previous operations Concept of Reprogrammable Computer
Claude Shannon (1916-2001) Boolean Algebra: His 1937 master's thesis, A Symbolic Analysis of Relay and Switching Circuits Boolean algebra and binary arithmetic could be used to simplify the arrangement of the electromechanical relays used in telephone switches Used arrangements of relays to solve Boolean algebra problems Information Theory: In 1948 published A Mathematical Theory of Communication article. Invented concepts such as Entropy of an information source and Capacity of a communication channel. (courtesy: wikipedia.org)
Information Entropy random data source sde1rtn. receiver source of information random data generation (as far as receiver concerned) What is the uncertainty in the source data?
Entropy p x i 0.3 Assume source draws data randomly 0.2 Call outcome X 0.1 Takes values Prob X = x i := p x i Entropy : x 1, x 2,..., x n n H X = i=1 p x i log 2 p x i bits/symbol x i Compression rate H X
Channel Capacity the amount of information that can be reliably transmitted over a communication channel noise source X channel Y receiver Mathematical definition C=max p x I X ;Y where I(X,Y) is called the mutual information between X and Y can transmit information with zero error at any rate smaller than the capacity C impossible to transmit information at rate larger than capacity C
Source-Channel Separation Theorem A source X with entropy H(X) can be transmitted error-free over a channel with capacity C if and only if H<C source Source coder Channel coder channel Channel decoder Source decoder receiver image jpeg Reed-Muller (introduces Reed-Muller jpeg image coder coder errors) decoder decoder Key idea: separate the coders for source and channel
ARPANET Project Soviet Union appeared to be #1 scientifically US needed to bring together the brain-power resident in discrete pockets at universities and research institutions to strengthen telecom infrastructure against nuclear attack Advanced Research Projects Agency Network (ARPANET) Distributed (no single point of failure), and widespread Combine diverse computing resources Use packet switching
ARPANET Internet ARPANET 1969 Internet (2004) (courtesy: som.csudh.edu) (courtesy: internetworldstat.com) What is the future going to be like?
Computers In the Paint! We will have computers in the paint - Nacho Navarro Computers in Household appliances (networked) Body (monitoring health) Environment (sensor networks) Vehicles Paint?? New types of computers Molecular computers Quantum computers
Protocol Layering
Protocol Layering Networking suite divided into layers Layer: Essentially a piece of code running some protocol related to a networking task Protocol: convention or standard that controls or enables networking tasks What are some tasks? Why divide into layers?
Analogy of Postal Network Registered post need confirmation of receipt
OSI model Different layers, different functionality
Layers in Internet
Need for Standard Protocols Proposals usually submitted as RFCs (Request for Comments) Standards bodies (e.g. Internet Engineering Task Force IETF) debate Produce document defining standard