Transcript Chapter 1-3

Computer Networks
1
Chapter 1-3
Introduction
2
Topic 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.
3
You Will Learn
Terminology
Communication basics
Media
and signals
Asynchronous and synchronous communication
Relationships among bandwidth, throughput, and
noise
Frequency-division and time-division multiplexing
4
You Will Learn (continued)
 Networking
and network technologies
 Packet
switching
 Framing, parity, and error detection
 Local and wide area technologies
 Network addressing
 Connection and extension (repeaters, bridges, hubs,
switches)
 Topologies and wiring (star, ring, bus)
 Next-hop forwarding
 Shortest path computation
 Measures of delay and throughput
 Protocol layers
5
You Will Learn (continued)
 Internets and
Internetworking
 Motivation
and concept
 Internet Protocol (IP) datagram format and addressing
 Internet routers and routing
 Address binding (ARP)
 Internet control messages (ICMP)
 User Datagram Protocol (UDP)
 Transmission Control Protocol (TCP)
 Protocol ports and demultiplexing
6
You Will Learn (continued)
Network
applications
Client-server
paradigm
Domain name system (DNS)
File transfer (FTP)
Remote login (TELNET)
Email transfer (SMTP)
7
What You Will NOT Learn
Commercial aspects
Products
Vendors
Prices
Network
How to
operating systems
purchase/configure/operate
8
Background Required
Ability to
program in C
Knowledge of low-level programming
constructs
Familiarity with basic tools
Text
editor
Compiler / linker / loader
9
Background Required
(continued)
Basic
knowledge of operating systems
Terminology
Functionality
Processes
Desire
and concurrent processing
to learn
10
Motivation for Networking
Information access
Interaction among cooperative application
programs
Resource sharing
11
Practical Results
Email
File transfer
/ access
Web browsing
Remote login / execution
The Internet
12
What a Network Includes
Transmission hardware
Special-purpose hardware
devices
Interconnect
transmission media
Control transmission
Run protocol software
Protocol software
Encodes
and formats data
Detects and corrects problems
13
What a Network Does
Provides communication that
is
Reliable
Fair
Efficient
From
one application to another
14
What a Network Does
(continued)
Automatically detects and corrects
Data
corruption
Data loss
Duplication
Out-of-order delivery
Automatically finds optimal path from
source
to destination
15
Network Programming
Network
allows arbitrary applications to
communicate
Programmer does not need to understand
network technologies
Network facilities are accessed through an
Application Program Interface
16
Basic Paradigm for Internet
Communication
Establish contact
Exchange data (bi-directional)
Terminate contact
17
Establishing Contact
Performed by
pair of applications
One application waits for contact (called
server)
Other application initiates contact (called
client)
18
Identifying a Waiting Application
Conceptually two
items specified
Computer
Application
on that computer
Terminology
Computer
identified by domain name
Application identified by program name
19
Representations and
Translations
Humans use names
such as
computer:
www.netbook.cs.purdue.edu
application: ftp
Network
protocols require binary values
Library routines exist to translate from names
to numbers
20
Example API
21
Example #1: Echo
Useful for
network testing
Server returns exact copy of data sent
User on computer X runs
echoserver 22000
User
on another computer runs
echoclient X 22000
22
Example #2: Chat
Miniature version of
Internet chat service
Allows two users to communicate
User on computer X runs
chatserver 25000
User
on another computer runs
chatclient X 25000
23
Example Application: Web Server
User
on computer X runs
webserver 27000
User
on another computer runs browser and
enters URL:
http://X:27000/index.html
24
Example Code Using API: Echoserver
25
Echoserver (2 of 2)
Actually works
on the Internet
API calls replace conventional I/O
No networking knowledge required
26
Example Code Using API: Webserver
27
Webserver (2 of 6)
28
Webserver (3 of 6)
29
Webserver (4 of 6)
30
Webserver (5 of 6)
31
Webserver (6 of 6)
32
Summary
Studying networks is important because
The
world is interconnected
Applications now operate in a distributed
environment
This course
Covers
networking and internetworking
Explains the mystery
Will be hard work
33
Summary (continued)
Computer networks
Deliver
data from source to destination
Automatically find optimal paths
Handle problems that occur
We
will learn how
34