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) fig. 17.3fig –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) fig. 2.2fig. 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 starts and waits for requests from clients Examples –telent, ftp, http (web browsing),
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” – –Each digit represents 8 bits of IP address Used internally for all communication
Domain Name Mnemonic name for a computer on the Internet – 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 API Operationawait_contactmake_contactMeaning used by a server to wait for contact from a client Used by client to contact a server
Simple API Example.2 Operationcname_to_comp appname_to_appnumMeaning used to translate a computer name to an equivalent internal binary value translate program name to internal binary value
Simple API Example.3 Operationsendrecysend_eofMeaning 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 echoserverechoserver User on another computer runs echoclientechoclient X 22000
Example #2: Chat Miniature version of chat Allows two users to communicate User on computer X runs chatserverchatserver User on another computer runs chatclientchatclient X 25000
Example #3: Web Server User on computer X runs webserverwebserver User on another computer runs browser and enters URL: Simple web client web clientweb client