Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall

Slides:



Advertisements
Similar presentations
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Advertisements

Taekyung Kim 0x410 ~ 0x International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international.
Data Communications and Networking (Third Edition)
Socket Programming.
1 Java Networking – Part I CS , Spring 2008/9.
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.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
1 Review of Important Networking Concepts Introductory material. This module uses the example from the previous module to review important networking concepts:
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006.
1 Version 3.0 Module 9 TCP/IP Protocol and IP Addressing.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
COMPUTER NETWORKS.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
CS 356 Systems Security Spring Dr. Indrajit Ray
1 TCP/IP architecture A set of protocols allowing communication across diverse networks Out of ARPANET Emphasize on robustness regarding to failure Emphasize.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Chapter Eleven An Introduction to TCP/IP. Objectives To compare TCP/IP’s layered structure to OSI To review the structure of an IP address To look at.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
TCP/IP Protocol Suite - examples
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Advanced Programming Rabie A. Ramadan.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Chapter 9.
Chapter 2 Network Models
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Cisco 1 - Networking Basics Perrine. J Page 19/17/2015 Chapter 9 What transport layer protocol does TFTP use? 1.TCP 2.IP 3.UDP 4.CFTP.
Layered Protocol. 2 Types of Networks by Logical Connectivity Peer to Peer and Client-Server Peer-to-peer Networks  Every computer can communicate directly.
SEED Infotech Pvt. Ltd. 1 Networking in Java. SEED Infotech Pvt. Ltd. 2 Objectives of This Session Describe issues related to any type of network using.
Our Last Class!!  summary  what does the future look like?
Huda AL_Omairl - Network 71 Protocols and Network Software.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Component 9 – Networking and Health Information Exchange Unit 1-1 ISO Open Systems Interconnection (OSI) This material was developed by Duke University,
1 Version 3.0 Module 11 TCP Application and Transport.
Okay, here’s a scenario… You’re sitting at a computer…. Type in www. yourcompany.com As soon as you click on search your browser will ask your Operation.
Network Protocol Hierarchies
CHAPTER 2 PCs on the Internet Suraya Alias. The TCP/IP Suite of Protocols Internet applications – client/server applications ◦The client requested data.
CSP Implementing a network 1 Implementing a network Lecturer: Smilen Dimitrov Cross-sensorial processing – MED7.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
Ch 1. Computer Networks and the Internet Myungchul Kim
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
ECE453 – Introduction to Computer Networks Lecture 17 – Top – Down Approach (A Review)
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
Data Communications and Networks
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
TELE202 Lecture 15 Socket programming 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »TCP/UDP (2) »Source: chapter 17 ¥This Lecture »Socket programming.
Position of application layer. Application layer duties.
Presented by Rebecca Meinhold But How Does the Internet Work?
Chapter 27 Socket API Interface The interface between an application program and the communication protocols in an operating system is known as the Application.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 3: TCP/IP Architecture.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Net 221D:Computer Networks Fundamentals
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
1 K. Salah Application Layer Module K. Salah Network layer duties.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Network Architecture Introductory material
Client-Server Interaction
Review of Important Networking Concepts
TCP/IP Protocol Suite: Review
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Presentation transcript:

Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall

Outline 1. Local Area Network (LAN) 2. Client-Server Model 3. Client-Server Communication 4. Socket 5. Summary

Local Area Network (LAN) Application: workstation Coverage: small area Speed: high Latency: low Endpoint: node

Local Area Network (LAN) Hub A central point for LAN Sends the data from one port to other ports Switch Moves data in the port from input to output Finds the destination port to create a connection between the ports. Concentrator or repeater Recreate the route for moving data Bridge: Connects two LANs Router Find the next point for sensing packet Connects different types of network

Local Area Network (LAN) Connection modes: Circuit-switching (virtual circuit network): Path: dedicated Bandwidth: constant & unvaried Packet: constant & unvaried Latency: constant Packet-switching (datagram network): Path: shared Bandwidth: variable Packet: variable Latency: variable

Client-server model The client-server model of computing is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.* Request (Client) -response (Server) messaging pattern Communication protocol Schedule system Portal * "Distributed Application Architecture". Sun Microsystem. Retrieved

Client-server model Client & server Client: running on the local machine Server: running on the remote machine Client: application program runs only if needed Server: application program runs all time

Client-server model Protocols Client: Concurrency: multiple clients runs at the same time Alternatively: Another client can only run when the previous client finishes running Server: Concurrency: a server can process multiple requests at the same time Alternatively: a server can only process one request at the same time

Client-server model Layers (Open Systems Interconnection-OSI model)

Client-server model Layers (Open Systems Interconnection-OSI model) Layer 1 (Physical): Communication medium E.g. HSB, Wi-Fi Layer 2 (Data Link): Data organization Ethernet switch: including hosts & switches to define local area network (LAN) E.g. Ethernet MAC, Point - to - Point Protocol (PPP) Layer 3 (Network): Pass and routes E.g. Item Processing (IP)

Client-server model Layers (Open Systems Interconnection-OSI model) Layer 4 (Transport): Interface for end-to-end communication Data flow control Layer 5 (Session): Services to coordinate dialogue and manage data exchange Software implemented switch Manage multiple logical connections Keep track of who is talking: establish & end communications E.g. Hypertext Transfer Protocol (HTTP), Secure Sockets Layer (SSL)

Client-server model Layers (Open Systems Interconnection-OSI model) Layer 6 (Presentation): Data representation Concerned with the meaning of data bits Convert between machine representations E.g. JavaScript Object Notation (JSON), Extensible Markup Language (XML) Layer 7 (Application): Application management E.g. (SMTP, POP, IMAP)

Client-server communication Addressing machines Each host has a unique MAC address (48 bits) E.g. Each host is given a unique IP address IP address is IPv4 (32-bit): e.g. IPv6 (128-bit): e.g.

Client-server communication Address translation Translation from domain name to IP address Domain Name System (DNS): e.g. Translation from IP address to Ethernet Address Resolution Protocol (ARP)

Client-server communication Application Programming Interface (API) API provides an access to the network Core services of API provided by the operating system

Client-server communication Connection-oriented protocols Steps: Create connection Select protocol Access data Terminate connection API provides an access to the network Core services of API provided by the operating system

Client-server communication Connectionless protocols API provides an access to the network Core services of API provided by the operating system

Socket (network) Network socket A endpoint that establishes a communication between network input and network output

Socket (network) Structure of network socket Family: defines the protocol (IPv4, IPv6) Type: sets the exchange-type Protocol: Local address: fuses local IP and application port address Remote address: fuses remote IP and application port address Exchange-type: Stream: applies TCP Datagram: applies User Datagram Protocol (UDP) Raw: applies IP

Socket (network) Connectionless server (UDP) Blind server Repeat infinitely Client role: Create a socket Server roles: Create socket Receives a request Processes the user’s request Sends the response Destroy a socket

Socket (network) Connectionless server (UDP)

Socket (network) Connection oriented server Blind/passive server Repeat infinitely Parent-child server: after accepting the connection requests, server creates a child server to process the user’s request temporally Client role: Create a socket

Socket (network) Connection oriented server Server roles (Parent server): Create a socket Listens to the server’s request Create a child server Receives a request Processes the user’s request Sends the response Server roles (Child server): Reads the stream Processes the stream Writes the stream

Socket (network) Connection oriented server

Socket (network) Data structure sockaddr_in: sin_family: 16-bit protocol sin_port: 16-bit port number s_addr: 32-bit Internet address hostent: h_name: text address of host h_alias: alias names h_addrtype: address type h_length: address length h_addr_list: additional comments

Socket (network) Commands Socket: creates a socket gethostbyname: returns the host address by name gethostname: returns the host name connect: requests a connection bind: assigns an address and port number to a socket listen: server is ready for listening connection requests accept: accepts a connection request send: sends data to user recv: receives data from a socket close: closes a socket

Summary LAN: Hub, switch, concentrator (repeater), bridge, router Circuit-switching & packet-switching Client-server model: Client roles and server roles Protocols 7 layers Client-server communication Addressing machine, address translation, API Connection-oriented and connectionless protocols

Summary (cont.) Socket Connectionless server Connection-oriented server Data structure Commands