We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Modified over 5 years ago
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Position of application layer
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer Duties
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapters Chapter 24 Client-Server Model Chapter 25 Domain Name System Chapter 26 SMTP and FTP Chapter 27 HTTP and WWW Chapter 28 Multimedia
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 24: OBJECTIVES Client-Server Model: Socket Interface
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Client-Server Model Most common way by which a computer can ask for the services of another computer. Relationship: The purpose of a network is to provide services to users. User at local site wants to receive a service from a computer at a remote site. A computer runs a program to either request a service from another computer or provide a service to another computer. Application programs running at two end computers and communicating with each other. They are entities that communicate with each other, not computers or users. Important queries: Should both applications be able to request services and provide services, or should they just do one or the other? One solution is to have an application program client. Machine request a service from another application program server.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application program provide services only to one specific application program installed somewhere in an internet, or should it provide services for any application program that requests this service? Server providing a service for any client, not a particular client. When should an application program be running – all the time or just when there is a need for the service? Client program, which requests a service, should run only when it is needed. Server program, which provides a service, should run all the time because it does not know when its services will be needed. Should there be only one universal application program that can provide any type of service a users wants? Or should there be one application program for each type of service? Application program is available for specific service.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Concurrency Concurrency in Clients Clients can be run on a machine either iteratively or concurrently. Running iteratively: means running them one by one; one client must start, run, and terminate before the machine can start another client. Concurrent clients: Two or more clients can run at the same time. Concurrency in Servers Iterative server: Can process only one request at a time; it receives a request, processes it, and sends the response to the requestor before it handles another request. Concurrent server: Can process many requests at a time; share its time between many requests.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Client-Server Model Client-Server Relationship
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Figure 24.3 Connectionless iterative server It uses connectionless protocol: UDP. Server processes one request at a time. Server uses one single port [well-known port]
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Figure 24.4 Connection-oriented Concurrent Server Uses connection-oriented Protocol: TCP Connection-oriented: request is a stream of bytes that can arrive in several segments and the response can occupy several segments. At first connection is established. Use one well-known port and many ephemeral ports Server issues passive-open at well-known port. Client initially approaches this port. After connection is made, server assigns a temporary port to free the well-known port. Data transfer via ephemeral port.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Processes In UNIX, program is a code. The code defines all the variables and actions to be performed on those variables. Process is an instance of a program. When the operating system executes a program, an instance of the program, a process, is created. Operating system can create several processes from one program, which means several instances of the same program are running at the same time [concurrently]. Memory is allocated for each process separately.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Figure 24.5 Socket structure Socket Interface Sockets Communication structure that we need in socket programming is called socket. Socket acts as an endpoint. Two processes need a socket at each end to communicate with each other. Family: Protocol group [IPv6, IPv4, UNIX domain protocols,…] Type: Type of socket [Stream, packet or raw socket] Protocol: set to zero for TCP and UDP. Local socket address: Local IP and port address Remote socket address: Remote IP and port address
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Figure 24.6 Socket types Stream socket: Connection-oriented protocol [TCP]; uses a pair of stream sockets to connect one application program to another across the Internet. Datagram socket: Connectionless protocol [UDP]; Uses a pair of datagram sockets. Raw socket: For ICMP or OSPF that directly use the services of IP.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connectionless Iterative Server Server duties: Create a socket Bind: Asks OS to enter information in the socket related to the server. Repeat Receive a request Process Send Client duties: Create a socket. No need for binding as OS normally fills in the information in the socket. Repeat Send Receive Destroy: The client has no more request, it will ask operating system to destroy it.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Figure 24.7 Socket interface for connectionless iterative server
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connection-oriented Concurrent Server One buffer for each connection. Segments from clients are stored in appropriate buffers and handled concurrently by the server. Server duties: Create a socket Bind: Asks OS to enter information in the socket related to the server. Listen: Asks OS to be passive and listen to the client. Repeat Create a child process Create a new socket Repeating: Read [byte-oriented], Process, Write Destroy the temporary socket Client duties: Create a socket. Connect. Repeat: Write, Read Destroy
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Figure 24.8 Socket interface for connection-oriented concurrent server
Umut Girit One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Socket Programming 0.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 28 Real-Time Traffic over the Internet.
CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
Data Communications and Networking (Third Edition)
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
Outline Introduction to Application Layer Peer-to-peer paradigm Client-server paradigm Domain Name System (DNS) Flat-naming vs hierarchical-naming.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
1 Java Networking – Part I CS , Spring 2008/9.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies The user clicks on a link to indicate which document is to be retrieved.
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
© 2020 SlidePlayer.com Inc. All rights reserved.