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