the client server model and software design
play

The Client Server Model and Software Design Prof. Chuan-Ming Liu - PowerPoint PPT Presentation

Mobile Computing & Software Engineering Lab The Client Server Model and Software Design Prof. Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Taipei, TAIWAN MCSE Lab, NTUT, TAIWAN 1


  1. Mobile Computing & Software Engineering Lab The Client Server Model and Software Design Prof. Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Taipei, TAIWAN MCSE Lab, NTUT, TAIWAN 1

  2. Mobile Computing & Software Engineering Lab Introduction Short review for OSI model Peer-to-peer communication Client-server paradigm NTUT, TAIWAN 2

  3. Mobile Computing & Software Engineering Lab Layering Divide a task into pieces and then solve each piece independently (or nearly so). Establishing a well-defined interface between layers makes porting easier. Major Advantages: ♦ Code Reuse ♦ Extensibility NTUT, TAIWAN 3

  4. Mobile Computing & Software Engineering Lab Layering Example: Federal Express Letter in envelope, address on outside FedX guy adds addressing information, barcode. Local office drives to airport and delivers to hub. Sent via airplane to nearest city. Delivered to right office Delivered to right person NTUT, TAIWAN 4

  5. Mobile Computing & Software Engineering Lab FedX Layers Addressed Letter Envelope Addressed Letter Envelope NTUT, TAIWAN 5

  6. Mobile Computing & Software Engineering Lab Layered Software Systems Network software Operating systems Windowing systems NTUT, TAIWAN 6

  7. Mobile Computing & Software Engineering Lab Unix is a Layered System Applications Libraries System Calls Kernel NTUT, TAIWAN 7

  8. Mobile Computing & Software Engineering Lab OSI Reference Model The International Standards Organization ( ISO ) proposal for the standardization of the various protocols used in computer networks (specifically those networks used to connect open systems) is called the Open Systems Interconnection Reference Model (1984), or simply the OSI model . NTUT, TAIWAN 8

  9. Mobile Computing & Software Engineering Lab OSI Model Although the OSI model is a just a model (not a specification), it is generally regarded as the most complete model (as well it should be - nearly all of the popular network protocol suites in use today were developed before the OSI model was defined). NTUT, TAIWAN 9

  10. Mobile Computing & Software Engineering Lab OSI <-> Network Software Although this course is about network programming (and not about networking in general), an understanding of a complete network model is essential. NTUT, TAIWAN 10

  11. Mobile Computing & Software Engineering Lab OSI 7 Layer Model: 7 Application High level protocols 6 Presentation 5 Session 4 Transport 3 Network 2 Data-Link 1 Physical Low level protocols NTUT, TAIWAN 11

  12. Mobile Computing & Software Engineering Lab Simplified Network Model Process Process Interface Protocols Transport Transport Peer-to-peer Protocols Network Network Data Link Data Link NTUT, TAIWAN 12

  13. Mobile Computing & Software Engineering Lab What’s a Protocol? An agreed upon convention for communication. both endpoints need to understand the protocol. Protocols must be formally defined and unambiguous! We will study lots of existing protocols and perhaps develop a few of our own. NTUT, TAIWAN 13

  14. Mobile Computing & Software Engineering Lab Interface and Process Process Interface Protocols Peer-to-peer Transport Transport Peer-to-peer Protocols Protocols Network Network Data Link Data Link Interface protocols describe the communication between layers on the same endpoint. Peer-to-peer protocols describe communication between peers at the same layer. NTUT, TAIWAN 14

  15. Mobile Computing & Software Engineering Lab Physical Layer Coordinates the functions required to transmit a bit stream over a physical medium Concerns Physical characteristics of interfaces and medium Representation of bits Data rate (Transmission rate): bits/sec Synchronization of bits NTUT, TAIWAN 15

  16. Mobile Computing & Software Engineering Lab Physical Layer Line configuration Point-to-point Multipoint Physical topology mesh, star, ring, or bus. Transmission mode simplex, half-duplex, or full-duplex NTUT, TAIWAN 16

  17. Mobile Computing & Software Engineering Lab 17 Physical Layer NTUT, TAIWAN

  18. Mobile Computing & Software Engineering Lab Data Link Layer Transforms the physical layer to a reliable link Makes the physical layer appear error free to upper layer Responsible for Framing frames Physical addressing (physical address) Header defines the sender and/or receiver Receiver is the device connected to the next NTUT, TAIWAN 18

  19. Mobile Computing & Software Engineering Lab Data Link Layer Flow control Error control Access control Multi-home: computer having two or more NICs NTUT, TAIWAN 19

  20. Mobile Computing & Software Engineering Lab 20 Data Link Layer NTUT, TAIWAN

  21. Mobile Computing & Software Engineering Lab 21 Node-to-node Delivery NTUT, TAIWAN

  22. Mobile Computing & Software Engineering Lab Network Layer Responsible for the source-to-destination delivery of a packet Responsibilities: Logical addressing (IP address) Routing NTUT, TAIWAN 22

  23. Mobile Computing & Software Engineering Lab 23 Network Layer NTUT, TAIWAN

  24. Mobile Computing & Software Engineering Lab 24 End-to-end Delivery NTUT, TAIWAN

  25. Mobile Computing & Software Engineering Lab Transport Layer Source-to-destination (end-to-end) delivery of the entire message Functions include: Service-point addressing (port) Segmentation and reassembly Connection control connectionless v.s. connection-oriented Flow control Error control NTUT, TAIWAN 25

  26. Mobile Computing & Software Engineering Lab 26 Transport Layer NTUT, TAIWAN

  27. Mobile Computing & Software Engineering Lab Reliable end-to-end delivery of a message NTUT, TAIWAN 27

  28. Mobile Computing & Software Engineering Lab Session Layer Network dialog controller establishes, maintains, and synchronizes the interaction between communicating systems Functions include: Dialog control Synchronization (checkpoint) NTUT, TAIWAN 28

  29. Mobile Computing & Software Engineering Lab 29 Session Layer NTUT, TAIWAN

  30. Mobile Computing & Software Engineering Lab Presentation Layer Concerned with the syntax an semantics of the information exchanged between two systems Responsibilities include Translation Encryption Compression NTUT, TAIWAN 30

  31. Mobile Computing & Software Engineering Lab 31 Presentation Layer NTUT, TAIWAN

  32. Mobile Computing & Software Engineering Lab Application Layer Interface for users to access the network Services include Network virtual terminal File transfer, access, and management (FTAM) Mail services Directory services NTUT, TAIWAN 32

  33. Mobile Computing & Software Engineering Lab 33 Application Layer NTUT, TAIWAN

  34. Mobile Computing & Software Engineering Lab 34 Summary of Layers NTUT, TAIWAN

  35. Mobile Computing & Software Engineering Lab TCP/IP Protocol Suite Physical Layer Data link Layer Correspond to OSI model Network Layer Transport Layer Last three layers in OSI Application Layer No specific protocol defined in physical and data link layers in TCP/IP NTUT, TAIWAN 35

  36. Mobile Computing & Software Engineering Lab 36 TCP/IP and OSI model NTUT, TAIWAN

  37. Mobile Computing & Software Engineering Lab Network Layer Internetwork layer Support IP: Internetworking Protocol ARP: Address Resolution Protocol RARP: Reverse Address Resolution Protocol ICMP: Internet Control Message Protocol IGMP: Internet Group Message protocol NTUT, TAIWAN 37

  38. Mobile Computing & Software Engineering Lab Internetworking Protocol (IP) Transmission mechanism Datagram : data unit to be sent in IP Unreliable and connectionless Best-effort delivery service Host-to-host protocol NTUT, TAIWAN 38

  39. Mobile Computing & Software Engineering Lab Transport Layer TCP and UDP: delivery of a message from a process to another process User Datagram Protocol (UDP) Transmission Control Protocol (TCP) NTUT, TAIWAN 39

  40. Mobile Computing & Software Engineering Lab TCP/IP Provides basic mechanisms used to transfer data Allows a programmer to establish communication between applications Provides peer-to-peer communication One organizational method to use TCP/IP is the client-server paradigm NTUT, TAIWAN 40

  41. Mobile Computing & Software Engineering Lab Motivation Scenario: A user tries to start two programs on separate machines and have them communicate. Program 2 starts Program 1 starts Send message to its peer No connection can be set up No response; exit Not running; Refuse NTUT, TAIWAN 41

  42. Mobile Computing & Software Engineering Lab 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 . NTUT, TAIWAN 42

Recommend


More recommend