1 Computer Networks DA2402. 2 Chapter 1-3 Introduction.

Post on 12-Jan-2016

213 views 1 download

Tags:

Transcript of 1 Computer Networks DA2402. 2 Chapter 1-3 Introduction.

1

Computer NetworksDA2402

Computer NetworksDA2402

2

Chapter 1-3Chapter 1-3

Introduction

3

Topic and ScopeTopic and Scope

Computer networks and internets: an overview of concepts, terminology, and technologies that form the basis for digital communication in private corporate networks and the global Internet.

4

You Will LearnYou Will Learn

TerminologyCommunication basics

Media and signalsAsynchronous and synchronous communicationRelationships among bandwidth, throughput, and

noiseFrequency-division and time-division

multiplexing

5

You Will Learn (continued)You Will Learn (continued)Networking and network technologies

Packet switchingFraming, parity, and error detectionLocal and wide area technologiesNetwork addressingConnection and extension (repeaters, bridges, hubs, switches)Topologies and wiring (star, ring, bus)Next-hop forwardingShortest path computationMeasures of delay and throughputProtocol layers

6

You Will Learn (continued)You Will Learn (continued)Internets and Internetworking

Motivation and conceptInternet Protocol (IP) datagram format and addressing Internet routers and routingAddress binding (ARP)Internet control messages (ICMP)User Datagram Protocol (UDP)Transmission Control Protocol (TCP)Protocol ports and demultiplexing

7

You Will Learn (continued)You Will Learn (continued)

Network applicationsClient-server paradigmDomain name system (DNS)File transfer (FTP)Remote login (TELNET)Email transfer (SMTP)

8

What You Will NOT LearnWhat You Will NOT Learn

Commercial aspectsProductsVendorsPricesNetwork operating systems

How to purchase/configure/operate

9

Background RequiredBackground Required

Ability to program (in Java)Familiarity with basic tools

Text editorCompiler / linker / loader

10

Background Required (continued)

Background Required (continued)

Basic knowledge of operating systemsTerminologyFunctionalityProcesses and concurrent processing

Desire to learn

11

Motivation for NetworkingMotivation for Networking

Information accessInteraction among cooperative application

programsResource sharing

12

Practical ResultsPractical Results

EmailFile transfer / accessWeb browsingRemote login / execution The Internet

13

What a Network IncludesWhat a Network Includes

Transmission hardwareSpecial-purpose hardware devices

Interconnect transmission mediaControl transmissionRun protocol software

Protocol softwareEncodes and formats dataDetects and corrects problems

14

What a Network DoesWhat a Network Does

Provides communication that isReliableFairEfficientFrom one application to another

15

What a Network Does (continued)

What a Network Does (continued)

Automatically detects and correctsData corruptionData lossDuplicationOut-of-order delivery

Automatically finds optimal path from source to destination

16

Network ProgrammingNetwork Programming

Network allows arbitrary applications to communicate

Programmer does not need to understand network technologies

Network facilities are accessed through an Application Program Interface

17

Basic Paradigm for Internet Communication

Basic Paradigm for Internet Communication

Establish contactExchange data (bi-directional)Terminate contact

18

Establishing ContactEstablishing Contact

Performed by pair of applicationsOne application waits for contact (called

server)Other application initiates contact (called

client)

19

Identifying a Waiting Application

Identifying a Waiting Application

Conceptually two items specifiedComputerApplication on that computer

TerminologyComputer identified by domain nameApplication identified by program name

20

Representations and Translations

Representations and Translations

Humans use names such ascomputer: www.netbook.cs.purdue.eduapplication: ftp

Network protocols require binary valuesLibrary routines exist to translate from names

to numbers

21

Example APIExample API

22

Example #1: EchoExample #1: Echo

Useful for network testingServer returns exact copy of data sentUser on computer X runs

echoserver 22000User on another computer runs

echoclient X 22000

23

Example #2: ChatExample #2: Chat

Miniature version of Internet chat serviceAllows two users to communicateUser on computer X runs

chatserver 25000User on another computer runs

chatclient X 25000

24

Example Application: Web Server

Example Application: Web Server

User on computer X runs

webserver 27000User on another computer runs browser and

enters URL:

http://X:27000/index.html

25

Example Code Using API: Echoserver

Example Code Using API: Echoserver

26

Echoserver (2 of 2)Echoserver (2 of 2)

Actually works on the InternetAPI calls replace conventional I/ONo networking knowledge required

27

Example Code Using API: Webserver

Example Code Using API: Webserver

28

Webserver (2 of 6)Webserver (2 of 6)

29

Webserver (3 of 6)Webserver (3 of 6)

30

Webserver (4 of 6)Webserver (4 of 6)

31

Webserver (5 of 6)Webserver (5 of 6)

32

Webserver (6 of 6)Webserver (6 of 6)

33

SummarySummary

Studying networks is important becauseThe world is interconnectedApplications now operate in a distributed

environmentThis course

Covers networking and internetworkingExplains the mysteryWill be hard work

34

Summary (continued)Summary (continued)

Computer networksDeliver data from source to destinationAutomatically find optimal pathsHandle problems that occur

We will learn how