26
Advanced Computer Networks (CSL858) Vinay Ribeiro

Advanced Computer Networks (CSL858)vinay/courses/CSL858/classnotes/history.pdf · Advanced Computer Networks ... • Enhance communication skills and team work – form project teams

  • Upload
    phamdan

  • View
    225

  • Download
    2

Embed Size (px)

Citation preview

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

• 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

(courtesy maxmon.comwikipedia.org)

Concept of Reprogrammable Computer

Other contributor: Konrad Zuse (1936)

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

• source of information “random” data generation (as far as receiver concerned)

• What is the “uncertainty” in the source data?

source receiversde1rtn.…

“random” data

Entropy

• Assume source draws data randomly

• Call outcome

• Takes values

Entropy : H X =−∑i=1

n

p x i log2 px ibits /symbol

X

x1 , x2 , ... , xn

Prob X= xi:=p xi

Compression rate ≥ H X

p x i

x i

0.3

0.2

0.1

Channel Capacity• the amount of information that can be reliably transmitted over a

communication channel

• Mathematical definition

where I(X,Y) is called the mutual information between X and Y

source receiverchannelX Y

noise

• can transmit information with zero error at any rate smaller than the capacity C

• impossible to transmit information at rate larger than capacity C

C=max p x I X ;Y

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

Key idea: separate the coders for source and channel

source receiverSourcecoder

Channelcoder channel Channel

decoderSourcedecoder

image jpeg Reed-Muller (introduces Reed-Muller jpeg image coder coder errors) decoder decoder

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