COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.
-
Upload
charleen-young -
Category
Documents
-
view
212 -
download
0
Transcript of COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.
COP 4930COP 4930Computer Network Computer Network
ProjectsProjects
Summer C 2004Summer C 2004
Prof. Roy B. LevowProf. Roy B. Levow
Lecture 1Lecture 1
IntroductionIntroduction
NetworkNetwork: system for connecting computer : system for connecting computer using a single transmission technologyusing a single transmission technology
InternetInternet: set of networks connected by : set of networks connected by routers that are configured to pass traffic routers that are configured to pass traffic among any computers attached to among any computers attached to networks in the set (networks in the set (fig. 17.3fig. 17.3))– Internetworking - universal service over a Internetworking - universal service over a
collection of networkscollection of networks
The InternetThe Internet
A single global networkA single global network– Many interconnected networksMany interconnected networks
Roots in military network called Arpanet Roots in military network called Arpanet Fundamental changes from centralized to Fundamental changes from centralized to
distributed computing distributed computing Incorporated features for reliability and Incorporated features for reliability and
robustness robustness – Multiple links Multiple links – Distributed routing Distributed routing
The Internet.2The Internet.2
TCP/IP protocol made TCP/IP protocol made internetworkinginternetworking possible possible – Developed Developed afterafter Arpanet Arpanet – Switchover occurred in 1983 Switchover occurred in 1983
Exponential growth - doubling every Exponential growth - doubling every 18 months (18 months (fig. 2.2fig. 2.2))
Packet Networks andPacket Networks and
Packet transmission Packet transmission – Data exchange over a network using Data exchange over a network using
small transmission unitssmall transmission units Packet switchingPacket switching
– Packets are transmitted from one node Packets are transmitted from one node to another from source to destinationto another from source to destination
– Each node receives packet and Each node receives packet and retransmits it to next node along route retransmits it to next node along route to destinationto destination
Network ApplicationsNetwork Applications
Network applications - programs that Network applications - programs that use a networkuse a network– Usually organized as client-server Usually organized as client-server
applicationsapplicationsServer starts and waits for requests from Server starts and waits for requests from
clientsclients
ExamplesExamples– telent, ftp, http (web browsing), emailtelent, ftp, http (web browsing), email
Complexity of NetworkingComplexity of Networking
Many different technologiesMany different technologies– HardwareHardware– SoftwareSoftware
No unifying theoryNo unifying theory Confusing terminologyConfusing terminology
– Many TLAsMany TLAs– Constant changeConstant change
IP AddressIP Address
32 bit binary identifier for computer 32 bit binary identifier for computer on the Interneton the Internet
Ususally written as 4 decimal Ususally written as 4 decimal numbers separated by a “dot” numbers separated by a “dot” – 131.91.128.83131.91.128.83– Each digit represents 8 bits of IP addressEach digit represents 8 bits of IP address
Used internally for all communicationUsed internally for all communication
Domain NameDomain Name
Mnemonic name for a computer on Mnemonic name for a computer on the Internetthe Internet– www.fau.eduwww.fau.edu
Components separated by “dot”Components separated by “dot” Forms a forest of names with the Forms a forest of names with the
rightmost, top-level, domain as the rightmost, top-level, domain as the rootroot
Software translates to IP addressSoftware translates to IP address
Probing the InternetProbing the Internet
Various utilities provide information Various utilities provide information about computers on the internetabout computers on the internet– ping – is it possible to connect to the ping – is it possible to connect to the
specified computerspecified computer– traceroute (tracert) – lists nodes along traceroute (tracert) – lists nodes along
route taken by a packet from source to route taken by a packet from source to destinationdestination
– nslookup – get information about a node nslookup – get information about a node from IP address or domain namefrom IP address or domain name
Network ProgrammingNetwork 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 Basic Paradigm for Network CommunicationNetwork Communication
Establish contact Exchange data (in both directionsExchange data (in both directions Terminate connectionTerminate connection
Establishing ContactEstablishing Contact
Occurs between a pair of applicationsOccurs between a pair of applications One application starts (first) and One application starts (first) and
waits for contactwaits for contact– Called the Called the serverserver
Other application initiates contactOther application initiates contact– Called the Called the clientclient
Identifying a ServiceIdentifying a Service
Two components of identificationTwo components of identification– A host computer running the serviceA host computer running the service– The particular service on the computerThe particular service on the computer
Component identificationComponent identification– Computer: domain name or IP addressComputer: domain name or IP address– Application: service name or Application: service name or portport
Service routines translate between Service routines translate between names and numbersnames and numbers
Simple API ExampleSimple API Example
OperationOperation
await_contactawait_contact
make_contactmake_contact
MeaningMeaningused by a server to wait
for contact from a client
Used by client to contact Used by client to contact a servera server
Simple API Example.2Simple API Example.2
OperationOperation
cname_to_compcname_to_comp
appname_to_appnum
MeaningMeaningused to translate a
computer name to an equivalent internal binary value
translate program name to internal binary value
Simple API Example.3Simple API Example.3
OperationOperation
sendsend
recyrecy
send_eofsend_eof
MeaningMeaning
used by either client or used by either client or server to send dataserver to send data
used by either client or used by either client or server to receive dataserver to receive data
used by both client or server used by both client or server after they have finished after they have finished sending datasending data
Example #1: EchoExample #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: ChatExample #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 ServerExample #3: Web Server
User on computer X runswebserver 27000
User on another computer runs browser and enters URL:
http://X:27000/index.html
Simple web clientSimple web client