190 likes | 314 Views
Distributed Computing. Networking. Master-slave: A large, central computer controls small I/O devices Peer-to-peer Allows arbitrary communication between computers; Does not distinguish between connected computers; An ex: Internet
E N D
Networking • Master-slave: • A large, central computer controls small I/O devices • Peer-to-peer • Allows arbitrary communication between computers; • Does not distinguish between connected computers; • An ex: Internet • Distributed computing---any interaction among computers that share access to a peer-to-peer network. Computer Networks Applications
Distributed computing on the Internet • E-mail • FTP • WWW • Buy a book from Amazon • Print a document • Transmit a fax Computer Networks Applications
Client-Server Paradigm • The scheme used by all types of distributed applications; • Server: • a computer that offers services; • Ex: Web server, e-mail server, ftp … • Client: a computer that uses these services; • A client addresses a request to a server which replies accordingly; Computer Networks Applications
Client-Server Paradigm (cont.) • Client and Server have to use the same protocol; • TCP/IP for communication over the Internet; • HTTP for Web page transfer; • The server has to be running before the client contacts it; • A server-computer usually runs several copies of the same program • A computer may run more than one program at the same time • The operating system switches between programs • a server may provide services to several clients simultaneously Computer Networks Applications
Client programs • Is an arbitrary application program that becomes a client temporarily when remote access is needed, but also performs other computation locally • Is invoked directly by a user, and executes for one session; • Runs locally on a user personal computer • Initiates contact with a server • Can access multiple services as needed, but actively contacts one remote server at a time. • Does not require special hardware, or sophisticated operating system Computer Networks Applications
Server programs • Is a special-purpose program, dedicated to providing one service • Can handle several clients at the same time; • Is invoked automatically when the system boots, and continues to execute; • Runs on a shared computer ( not personal) • Waits passively for contact from arbitrary remote clients; • Requires powerful hardware and a sophisticated operating system Computer Networks Applications
Names for computers • each computer is assigned a unique address, called Internet address or IP address; • Each address is a 32-bit binary number; • each address is divided into two parts: a prefix and a suffix; • Prefix: identifies the physical network to which the computer is attached; • Suffix: identifies each computer attached to that network; • Ex: 128.6.25.4; 207.189.97.220 Computer Networks Applications
Names for computers (cont.) • IP addresses are difficult to remember and use • Instead, people prefer alphabetic, mnemonic names for computers • Internet allows: • A user to name its machine; • A user to enter a computer name instead of an IP address; • And provides a service that automatically translates between a name and an address Computer Networks Applications
Names for computers (cont.) • May denote • the type of computer: pc1,pc2,.. • functionality: www, mail, router, admin,… • name of the owner: john, jane,… • Characters from comic strips: calvin,… • Roman gods: andromeda, pegasus,… • However: each computer must have a unique name Computer Networks Applications
Making names unique • The full name of a computer consists of its local name and a suffix, denoting the company; • Ex: rbs.rutgers.edu, www.barnesandnoble.com • IN USA, the last part of the name identifies the type of the company; Computer Networks Applications
Structure of computer names • Internet naming scheme is called: Domain Name System (DNS) • A DNS name is formed by a sequence of names separated by periods; ex: andromeda.rutgers.edu • DNS specifies values for the most significant segment, called top-level DNS; Computer Networks Applications
Getting a domain name • Each organization must apply for a name under one of the existing top-level domains; • Ex: • Foobar company might apply for foobar under top-level domain com; • If approved Foobar Corporation will be assigned the domain foobar.com; • A computer called www, inside Foobar Corporation, will have the name: www.foobar.com Computer Networks Applications
Domain names within an organizations • DNS does not specify • how many segments in a name; • What each segment represent • it is up to each organization to choose how many segments and what they denote; • Large organizations, having many computers may introduce additional hierarchical structure; • EX: consider that Foobar has two divisions: one that makes candy bars, and one for soap. • Then a computer john, in soap division will have the full name of john.soap.foobar.com Computer Networks Applications
Domains names outside US • Most countries append the 2 letter country code to each domain name; • Ex: interop.co.jp, minster.york.ac.uk Computer Networks Applications
Translating a name to an equivalent IP address • A name must be translated into an IP address before computers can communicate; • Each organization has a domain name server that maintains the list of all computers in that organization and their IP address; • When an application needs to translate an address: • Contacts the DNS • Sends it the name • The DNS responds with the IP address • an example of client-server paradigm Computer Networks Applications
Domain Name Servers • A computer needs to know the location of one DNS; • If the local DNS does not store the IP address of the name given, it contacts other DNSs , until it finds the response; • The client always receives the answer from the local DNS. Computer Networks Applications
Conclusion • IP addresses: 4 numbers separated by periods; ex: 128.10.25.21 • Domain name: strings separated by periods: mine.rbs.rutgers.edu • However, there is no connection between the name and the digits Computer Networks Applications