COP 4930 Computer Network Projects

Download Report

Transcript COP 4930 Computer Network Projects

COP 4930
Computer Network
Projects
Summer C 2004
Prof. Roy B. Levow
Lecture 1
Introduction
Network: system for connecting computer
using a single transmission technology
 Internet: set of networks connected by
routers that are configured to pass traffic
among any computers attached to
networks in the set (fig. 17.3)

– Internetworking - universal service over a
collection of networks
The Internet

A single global network
– Many interconnected networks
Roots in military network called Arpanet
 Fundamental changes from centralized to
distributed computing
 Incorporated features for reliability and
robustness

– Multiple links
– Distributed routing
The Internet.2
 TCP/IP
protocol made
internetworking possible
– Developed after Arpanet
– Switchover occurred in 1983
 Exponential
growth - doubling every
18 months (fig. 2.2)
Packet Networks and
 Packet
transmission
– Data exchange over a network using
small transmission units
 Packet
switching
– Packets are transmitted from one node
to another from source to destination
– Each node receives packet and
retransmits it to next node along route
to destination
Network Applications
 Network
applications - programs that
use a network
– Usually organized as client-server
applications
 Server
clients
starts and waits for requests from
 Examples
– telent, ftp, http (web browsing), email
Complexity of Networking
 Many
different technologies
– Hardware
– Software
 No
unifying theory
 Confusing terminology
– Many TLAs
– Constant change
IP Address
 32
bit binary identifier for computer
on the Internet
 Ususally written as 4 decimal
numbers separated by a “dot”
– 131.91.128.83
– Each digit represents 8 bits of IP
address
 Used
internally for all communication
Domain Name
 Mnemonic
name for a computer on
the Internet
– www.fau.edu
 Components
separated by “dot”
 Forms a forest of names with the
rightmost, top-level, domain as the
root
 Software translates to IP address
Probing the Internet
 Various
utilities provide information
about computers on the internet
– ping – is it possible to connect to the
specified computer
– traceroute (tracert) – lists nodes along
route taken by a packet from source to
destination
– nslookup – get information about a
node from IP address or domain name
Network Programming
 Network
allows arbitrary applications
to communicate
 Programmer does not need to
understand network technologies
 Network facilities accessed through
an Application Program Interface
Basic Paradigm for
Network Communication
 Establish
contact
 Exchange data (in both directions
 Terminate connection
Establishing Contact
 Occurs
between a pair of applications
 One application starts (first) and
waits for contact
– Called the server
 Other
application initiates contact
– Called the client
Identifying a Service
 Two
components of identification
– A host computer running the service
– The particular service on the computer
 Component
identification
– Computer: domain name or IP address
– Application: service name or port
 Service
routines translate between
names and numbers
Simple API Example
Operation
await_contact
make_contact
Meaning
used by a server to wait
for contact from a
client
Used by client to contact
a server
Simple API Example.2
Operation
cname_to_comp
appname_to_appnum
Meaning
used to translate a
computer name to
an equivalent
internal binary
value
translate program
name to internal
binary value
Simple API Example.3
Operation
send
recy
send_eof
Meaning
used by either client or
server to send data
used by either client or
server to receive data
used by both client or server
after they have finished
sending data
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
Example #2: Chat
 Miniature
version of chat
 Allows two users to communicate
 User on computer X runs
chatserver 25000
 User
on another computer runs
chatclient X 25000
Example #3: Web Server
 User
on computer X runs
webserver 27000
 User
on another computer runs
browser and enters URL:
http://X:27000/index.html
 Simple
web client