COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

20
COP 4930 COP 4930 Computer Network Computer Network Projects Projects Summer C 2004 Summer C 2004 Prof. Roy B. Levow Prof. Roy B. Levow Lecture 1 Lecture 1

Transcript of COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

Page 1: 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

Page 2: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 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

Page 3: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 4: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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))

Page 5: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 6: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 7: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 8: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 9: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 10: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 11: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 12: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

Basic Paradigm for Basic Paradigm for Network CommunicationNetwork Communication

Establish contact Exchange data (in both directionsExchange data (in both directions Terminate connectionTerminate connection

Page 13: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 14: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 15: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 16: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 17: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 18: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 19: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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

Page 20: COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.

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