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