cs716 advanced computer networks by dr. amir qayyum

37
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum

Upload: zora

Post on 20-Jan-2016

65 views

Category:

Documents


3 download

DESCRIPTION

CS716 Advanced Computer Networks By Dr. Amir Qayyum. Lecture No. 1. Instructor’s Introduction. Ph.D. Mobile Wireless Net., Univ. of Paris-Sud, France Elect. Engg.,U.E.T. Lahore M.S. Comp. Engg., E.S.I.M., France D.E.A. Parallel Comp. Arch., Univ. of Paris-Sud, France - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS716 Advanced Computer Networks By Dr. Amir Qayyum

1

CS716

Advanced Computer Networks

By Dr. Amir Qayyum

Page 2: CS716 Advanced Computer Networks By Dr. Amir Qayyum

Lecture No. 1

Page 3: CS716 Advanced Computer Networks By Dr. Amir Qayyum

3

Instructor’s Introduction• Ph.D. Mobile Wireless Net., Univ. of Paris-Sud, France

– Elect. Engg.,U.E.T. Lahore– M.S. Comp. Engg., E.S.I.M., France– D.E.A. Parallel Comp. Arch., Univ. of Paris-Sud, France

• Active participant of MANET wg of IETF since 1997– Co-author of an RFC on routing protocol for MANETs

• Associated with INRIA, France as a research fellow– Worked on Praxitele, PRIMA and IPANEMA projects

• Protocol implement. experience at Enabling Technologies– Implementation of RTP-RTCP/UDP-TCP/IP stack for a RISC

based packet processor, including CRTP, PPP/MP, IPsec, QoS.

• Currently working at CARE Pvt. Ltd. and CASE– Design/development of long-range, secure mobile ad hoc networks

Page 4: CS716 Advanced Computer Networks By Dr. Amir Qayyum

4

Significance and Rationale of course

• Networks and telecommunication is getting more and more importance

• Future telecomm networks will be more oriented toward “networks” rather than “communication”

• Widespread Internet, diffused in our daily life is a ground reality; its beneficial to understand it

• Its fun to play with protocols (software) and able to design exciting new type of networks

Page 5: CS716 Advanced Computer Networks By Dr. Amir Qayyum

5

Foundation Course in Network Stream

• This Computer Networks course is a foundation course for “Networks” as the Area of Specialization

• It is a required pre-requisite course for the following advanced level courses in networking– Performance Analysis of Communication Networks

– Integrated Services over Packet Networks

– Computer Network Security

– Mobile Networking

• It is a recommended pre-requisite for the course:– Network and System Programming

Page 6: CS716 Advanced Computer Networks By Dr. Amir Qayyum

6

Course Material

• Reference books– Many textbooks on Networking may be consulted

• Lot of research papers!– Many will be made available on course web site

• RFCs and Internet drafts– Related to TCP/IP suite and other protocols

• Web resources– Tutorials, white papers, reports, etc.

Page 7: CS716 Advanced Computer Networks By Dr. Amir Qayyum

7

Text Book

• Larry L. Peterson and Bruce S. Davies, Computer Networks: A Systems Approach– Third Edition [2003], Morgan Kaufmann

Publishers, San Mateo, California, USA

• W. Richard Stevens, UNIX Network Programming, Volume 1, (Networking APIs: Sockets and XTI)– Second Edition, Prentice Hall

– Recommended ONLY for programming part

Page 8: CS716 Advanced Computer Networks By Dr. Amir Qayyum

8

Prerequisites

• Required:

• An undergraduate level course on computer networks

• Good knowledge of C language, preferably in Unix/Linux– e.g. C and Data Structures course

Page 9: CS716 Advanced Computer Networks By Dr. Amir Qayyum

9

Course Evaluation

• Assignments

• Quizzes

• Research Papers

• Term Projects / Reports

• Midterm exam

• Final exam

Page 10: CS716 Advanced Computer Networks By Dr. Amir Qayyum

10

Expectations

What do you want (or expect) to learn from

this course ?

Page 11: CS716 Advanced Computer Networks By Dr. Amir Qayyum

11

Expectations

• This course IS about …– Network principles and concepts

– General purpose computer networks

– Internet perspective• Major components of the Internet protocol suite

– Network software

– Designing and building a system

Page 12: CS716 Advanced Computer Networks By Dr. Amir Qayyum

12

Expectations

• This course IS NOT about …– Survey of existing protocol standards

– Specialized networks (e.g. CATV, telephone)

– OSI perspective

– Network hardware• Data transmission on physical layer

– Queuing theory (we do survey, if time permits)

Page 13: CS716 Advanced Computer Networks By Dr. Amir Qayyum

13

Expectations

We will learn

why

networks are like they are

Page 14: CS716 Advanced Computer Networks By Dr. Amir Qayyum

14

Objectives: Principles and Concepts

• At the end of this course, you should be able to:– Identify the problems that arise in networked

communication

– Explain advantages/disadvantages of existing solutions to these problems in different networking scenarios

– Evaluate novel approaches to these problems

– Understand the components of Internet protocol suite

– Understand the implications of a given solution for performance in various networking environments

Page 15: CS716 Advanced Computer Networks By Dr. Amir Qayyum

15

Objectives: Programming

• At the end of this course, you should be able to:– Identify and describe the purpose of each component

of the TCP/IP protocol suite

– Develop client-server applications using TCP/IP

– Understand the impact of trends in network hardware on network software issues

– Understand over 1000 useful (or useless) VUAs

Page 16: CS716 Advanced Computer Networks By Dr. Amir Qayyum

16

Course Contents

• Overview• Introduction to network programming• Direct link networks• Packet switching• Internetworking• End-to-end protocols• Congestion control and resource allocation• End-to-end data• Applications• Performance analysis and queuing theory (?)

Page 17: CS716 Advanced Computer Networks By Dr. Amir Qayyum

17

Introduction

• Outline– Statistical Multiplexing– Inter-Process Communication– Performance Metrics– Network Architecture

Page 18: CS716 Advanced Computer Networks By Dr. Amir Qayyum

18

What is Your Over-ambitious Goal ?

• Build a computer network which– Can grow to global proportions

– Support diverse applications

• Then … think about– Underlying building blocks

• Which available technologies to use

– Integrating the blocks to communicate• Which software architecture to use

Page 19: CS716 Advanced Computer Networks By Dr. Amir Qayyum

Network Design

Before looking inside a computer network, first agree on what a computer network is?

Page 20: CS716 Advanced Computer Networks By Dr. Amir Qayyum

20

Computer Network ?

• Set of serial lines to attach terminals to mainframe ?

• Telephone network carrying voice traffic ?

• Cable network to disseminate video signals ?

Specialized to handle:

Keystrokes

Voice

Video

Page 21: CS716 Advanced Computer Networks By Dr. Amir Qayyum

21

What Distinguishes a Computer Network ?

• Generality• Built from general purpose

programmable hardware• Supports wide range of applications

Page 22: CS716 Advanced Computer Networks By Dr. Amir Qayyum

22

Applications – Users’ Contact with the Network

• Most people know the Internet through its applications– Web, email, streaming audio and video, chat, …

• Applications present an intuitively simple interface– Textual and graphical objects– Simple “clicks” to maneuver the application

• However, users are not aware of what happens in the network with their simple “clicks” !!!

Page 23: CS716 Advanced Computer Networks By Dr. Amir Qayyum

23

Applications – Consumers of Networks

• On a simple click, several messages may be exchanged over the Internet

• In a web browser, 17 messages may be exchanged– up to six messages to translate the server name

– three messages to set up a TCP connection

– four messages to send HTTP “get” request + response

– four messages to tear down the TCP connection

• Moreover, millions of messages are exchanged each day by Internet nodes to make their presence and services known

Page 24: CS716 Advanced Computer Networks By Dr. Amir Qayyum

24

Applications – the Driving Force

• Streaming audio and video is an emerging application– Source generates and sends the video stream in messages across

the Internet

• Video-on-demand: reads a preexisting movie– One-way data transfer

• Videoconferencing: interactive session– Very tight timing constraints

• Diversity of applications that can be built on top of the Internet hint at the complexity of the Internet design

Page 25: CS716 Advanced Computer Networks By Dr. Amir Qayyum

25

Our Road Map …

• Fortunately, we are not the first to build a computer network

• Lets start exploring the path that others have already dig deep

• By asking (and answering) why networks are designed the way they are

Page 26: CS716 Advanced Computer Networks By Dr. Amir Qayyum

26

Network Overview• What must a network provide ?

– Connectivity– Cost-effective sharing– Functionality– Performance

• How are networks designed and built ?– Layering– Protocols– Standards

Page 27: CS716 Advanced Computer Networks By Dr. Amir Qayyum

27

Perspective

• For network user– Connectivity: for services required; error

free delivery within acceptable time limits

• For network designer– Efficiency: cost-effective design, fair

allocation and efficient use of resources

• For network operator– Maintenance: easy to administer, fault

localization & isolation, usage accounting

Page 28: CS716 Advanced Computer Networks By Dr. Amir Qayyum

28

Building Blocks

• Nodes: PC, special-purpose hardware…– Hosts– Switches

• Links: coax cable, optical fiber…– Point-to-point

– Multiple access…

Page 29: CS716 Advanced Computer Networks By Dr. Amir Qayyum

29

Why not connect each node with every other node ?

• Number of computers that can be connected becomes very limited

• Number of wires coming out of each node becomes unmanageable

• Amount of physical hardware/devices required becomes very expensive

• Solution: indirect connectivity using intermediate data forwarding nodes

Page 30: CS716 Advanced Computer Networks By Dr. Amir Qayyum

30

Switched Networks

– Two or more nodes connected by a link

– Circular nodes (switches) implement the network

– Squared nodes (hosts) use the network

• A network can be defined recursively as...

Page 31: CS716 Advanced Computer Networks By Dr. Amir Qayyum

31

Switched Networks

– Two or more networks connected by one or more nodes: internetworks

– Circular nodes (router or gateway) interconnects the networks

– A cloud denotes “any type of independent network”

• A network can be defined recursively as...

Page 32: CS716 Advanced Computer Networks By Dr. Amir Qayyum

32

A Network

A network can be defined recursively as

Two or more nodes connected by a physical link

OR

Two or more networks connected by one or more nodes

Page 33: CS716 Advanced Computer Networks By Dr. Amir Qayyum

33

Components of a Network

Page 34: CS716 Advanced Computer Networks By Dr. Amir Qayyum

34

Switching Strategies

• Circuit switching: carry bit streams

a. establishes a dedicated circuit

b. links reserved for use by communication channel

c. send/receive bit stream at constant rate

d. example: original telephone network

• Packet switching: store-and-forward messagesa. operates on discrete

blocks of datab. utilizes resources

dynamically according to traffic demand

c. send/receive messages at variable rate

d. example: Internet

Page 35: CS716 Advanced Computer Networks By Dr. Amir Qayyum

35

What next ?

• Hosts are directly or indirectly connected to each other

• Can we now provide host-host connectivity ?

• Nodes must be able to say which host it wants to communicate with

Page 36: CS716 Advanced Computer Networks By Dr. Amir Qayyum

36

Addressing and Routing

• Address: byte-string that identifies a node– Usually unique

• Routing: forwarding decisions– Process of determining how to forward messages to the

destination node based on its address

• Types of addresses– unicast: node-specific

– broadcast: all nodes on a network

– multicast: some subset of nodes on a network

Page 37: CS716 Advanced Computer Networks By Dr. Amir Qayyum

37

Wrap-up

• A network can be constructed from nesting of networks

• An address is required for each node that is reachable on the network

• Address is used to route messages toward appropriate destination