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