Client Server model Chuan-Ming Liu Computer Science and Information Engineering Spring 2004, NTUT TAIWAN CS旧E.NTUT. TAWAN
CSIE, NTUT, TAIWAN 1 Client Server Model Chuan-Ming Liu Computer Science and Information Engineering Spring 2004, NTUT TAIWAN
Client-Server model Software design ° Concurrent Processing CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 2 Client-Server Model • Software Design • Concurrent Processing
Motivation Scenario a user tries to start two programs on separate machines and have them communicate Program I starts Program 2 starts Send message to its peer No connecton can be set No response; exit Not running; Refuse CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 3 Motivation Scenario: A user tries to start two programs on separate machines and have them communicate. Program 1 starts Send message to its peer No response; exit Not running; Refuse Program 2 starts No connection can be set up
Client-Server model One side in any pair of communicating application must start execution and wait for the other side to contact it Since the client-server model places responsibility for rendezvous problem on application, TCP/P does not need to provide mechanisms that automatically create a running program when a message arrives Instead, a program must be waiting to accept communication before any request arrive CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 4 Client-Server Model • One side in any pair of communicating application must start execution and wait for the other side to contact it. • Since the client-server model places responsibility for rendezvous problem on application, TCP/IP does not need to provide mechanisms that automatically create a running program when a message arrives. Instead, a program must be waiting to accept communication before any request arrive
Terminology and concepts Clients and servers Privilege and complexity Standard v.s. nonstandard client software Parameterization of client Connectionless v.s. Connection-oriented Servers Stateless v.s. Stateful Servers Identifying a client CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 5 Terminology and Concepts • Clients and Servers • Privilege and Complexity • Standard v.s. Nonstandard Client Software • Parameterization of Clients • Connectionless v.s. Connection-oriented Servers • Stateless v.s. Stateful Servers • Identifying a Client
Clients and servers Client An application that initiates peer-to-peer communication, e.g. web browser Easier to build than servers s System privileges usually unnecessary Server Program that waits for incoming communication requests from a client CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 6 Clients and Servers • Client * An application that initiates peer-to-peer communication, e.g. web browser * Easier to build than servers * System privileges usually unnecessary • Server Program that waits for incoming communication requests from a client
Privilege and complexity Server software often needs to access to objects that Os protects Server can not rely on the usual OS check since its privilege status allow to access any file Security issues Authentication authorization Data Security Privacy Protection CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 7 Privilege and Complexity • Server software often needs to access to objects that OS protects • Server can not rely on the usual OS check since its privilege status allow to access any file • Security issues: – Authentication – Authorization – Data Security – Privacy – Protection
Privilege and complexity The combination of special privileges and concurrent operation usually makes servers more difticult to design and implementation CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 8 Privilege and Complexity • The combination of special privileges and concurrent operation usually makes servers more difficult to design and implementation
Standard v.s. Nonstandard Client Software Standard application services Defined by TCP/IP Assigned well-known, universally recognized protocol port Non-standard application services All other services which is not standard Or, locally-defined application services CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 9 Standard v.s. Nonstandard Client Software • Standard application services – Defined by TCP/IP – Assigned well-known, universally recognized protocol port • Non-standard application services – All other services which is not standard – Or, locally-defined application services
Standard v.s. Nonstandard Client Software Standard application service examples Remote login teLnEt protocol E-mail client, SmtP or Pop protocol File transfer client, FTP protocol Web browser Http protocol Non-standard application service examples Music or video transfer Voice communication Distributed database access CSIE NTUT TANAN
CSIE, NTUT, TAIWAN 10 Standard v.s. Nonstandard Client Software • Standard application service examples – Remote login, TELNET protocol – E-mail client, SMTP or POP protocol – File transfer client, FTP protocol – Web browser, HTTP protocol • Non-standard application service examples – Music or video transfer – Voice communication – Distributed database access