Introduction to Client-Server Model
|
|
- Melanie Byrd
- 6 years ago
- Views:
Transcription
1 Preview Introduction to Client-Server Model Motivation of Client-Server Model Terminologies and Concepts in Client-Server Model Connectionless vs. Connection-Oriented Stateless vs. Stateful Server Identify a client by Stateful Server Server as a Client COSC350, System Software, Fall
2 Motivation of Client-Server Model The fundamental motivation for the client-server paradigm arises from the problem rendezvous. A sender will send a message when it is ready to send. But receiver does not know when sender send a message to the receiver. The client-server model solves the rendezvous problem in a straightforward way. In any pair of communicating applications, one side must start execution and wait (indefinitely) for the other side to contact it. COSC350, System Software, Fall
3 Terminologies in Client-Server Model Client an application that initiates peerto peer communication. Each time client executes, it contacts a server, send a request, and awaits a response. Server any program that waits for incoming communication requests from a client. The server receives a client s request, performs the necessary computation, and returns the result to the client. COSC350, System Software, Fall
4 Terminologies in Client-Server Model A server contains code that handles many issues that can be grouped under security: Authentication verifying the identity of the client Authorization check the permission for the client to access the service Data security guarantee that data is not unintentionally revealed Privacy keep information from unauthorized access Protection guarantee that network application cannot abuse system resource COSC350, System Software, Fall
5 Connectionless vs. Connection-Oriented When programmer designs client-server application software, they must choose types of interaction. Connectionless use User Datagram Protocol (UDP) Connection-Oriented use Transmission Control Protocol (TCP) or use Stream Control Transmission Protocol (SCTP) COSC350, System Software, Fall
6 Connectionless vs. Connection-Oriented Are you getting all of this? Who Cares? Just Send it faster UDP: Connectionless COSC350, System Software, Fall
7 Connectionless vs. Connection-Oriented Are you getting all of this? OK! I am sending again I got it! Can you send again? Slow down! TCP: Connection- Oriented COSC350, System Software, Fall
8 Connectionless vs. Connection-Oriented TCP provide full reliability by taking care of all transmission problems: Verifies data arrives- if not, retransmit segment. Error checking by checking checksum, guarantee error free transmission. TCP uses sequence number to ensure the data arrives in order and eliminate duplicate copy. TCP provides flow control to ensure that the sender does not transmit data faster than receiver can consume it. COSC350, System Software, Fall
9 Connectionless vs. Connection-Oriented UDP do not have any guarantees about reliable delivery When a client sends a request, the request may be lost, duplicated, delayed or delivered out of order. A response from the server to client also might be lost, duplicated, delayed or delivered out of order. If a programmer use UDP for client-server application, application software itself must contain code to take care of such errors. COSC350, System Software, Fall
10 Connectionless vs. Connection-Oriented Program only use UDP if the application Protocol handles reliability, application requires hardware broadcast or multicast, or the overhead for reliability is not needed. UDP is commonly used for streaming audio and video. Streaming media such as Windows Media audio files (.WMA), Real Player (.RM), and others use UDP because it offers speed! The reason UDP is faster than TCP is because there is no form of flow control or error correction. COSC350, System Software, Fall
11 Stateless Vs. Stateful Server A stateless server is a server that treats each request as an independent transaction that is unrelated to any previous request. The motivation of a stateless server lies in protocol reliability. State information in a server can become incorrect if messages are lost, duplicated, or delivered out of order. It cause server might respond incorrectly. COSC350, System Software, Fall
12 Stateless Vs. Stateful Server Ex) Stateless file server Since server does not save any information regarding a client request, each request from a client must specify complete information: operation (read/write), name of file, position in the file, number of bytes to transfer, and data (for writing). COSC350, System Software, Fall
13 Stateless Vs. Stateful Server A stateful server is a server which keeps data about previous requests for a service which can then be used for subsequent requests. Keeping a small amount of information can reduce the size of messages that the client and server exchange, and can allow the server to respond to requests quickly. If the client state change by error (ex. Client site support multiple IP, Client site change IP address), stateful server might send wrong response. COSC350, System Software, Fall
14 Stateless Vs. Stateful Server Ex Stateful file server) A stateful file server maintains a table that holds information about each client and the file currently being accessed. Once a client begins accessing a file (read or write), the server retain information: operation, name of file, and position in the file. After initial request to read from a file, subsequent read request messages only need to contain one field: the number of bytes to read. Once client begins writing data, each subsequent write request messages only need to contain two fields: the number of bytes to write and data. COSC350, System Software, Fall
15 Stateless Vs. Stateful Server Ex Stateful file server Cont.) Consider what will happen if the network duplicates a read request from a client to sateful file server. Server updates its notion of file position each time the client extract data from a file. Server will receive two copies of request since the read request is duplicated. When the first copy arrives, server extracts data from the file, updates the file position and returns the result to client. When the second copy arrives, server extracts data again from the file, updates the file position again and returns the result to the client. Client will receive two different results for one request. Client might discard it or it may reports an error since it received two different results for one request. COSC350, System Software, Fall
16 Stateless Vs. Stateful Server Client A client request read a file to a file server Send read request with client s full information Return a result + a handle to the Client Stateful file Server Create an entry in the state table for the client and save information. Create a handle for the client A client receive two data for one request. Send subsequent requests with the handle. This request is duplicated in the network. Return a result to the Client Return a result to the Client Server receive the first copy of duplicated request. Server extracts data from the file, updates the file position Server receive the second copy of duplicated request. Server extracts data from the file, updates the file position COSC350, System Software, Fall
17 Identify a Client by Stateful Server Two general approaches to identify clients: Endpoint, Handle Endpoints The sever ask the underlying transport protocol to provide identifying information when a request arrives (IP address and Port number used by client). Then, the server uses the endpoint information to identify a particular slot in its state table. Unfortunately, endpoint information can change (ex. A client need to open a new TCP connection due to a network failure). COSC350, System Software, Fall
18 Identify a Client by Stateful Server Two general approaches to identify clients: Endpoint, Handle Handle When the client first sends a request, the client must specify complete information. The server allocates an entry in its state table, and generates a short identifier for the entry called handle which is small integer value. The sever send the handle to the client for use in subsequent request. COSC350, System Software, Fall
19 Identify a Client by Stateful Server Client send request with client s full information Server Send the handle to Client Create an entry in the state table for the client and save information. Create a handle for the client Send subsequent requests with the handle COSC350, System Software, Fall
20 Server as a Client Internet Time Server File Server A Client COSC350, System Software, Fall
21 Server as a Client Programs do not always fit exactly into the definition of client or server. A server can be a client of other server. For example, a file server is currently running on a system without time-of-day clock. Server need to obtain the time of day so it can stamp files with the time of access. The server can get the time of day information from time server. COSC350, System Software, Fall
22 Client/Server Program #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/time.h> #include <netinet/in.h> #include <netdb.h> #include <time.h> #define SA struct sockaddr /* generic socket address */ #define LISTENQ 1024 /* 2nd argument to listen() */ #define MAXLINE 4096 /* max text line length */ COSC 350 System Software, Fall
23 int main() { int len, listenfd, connfd; /* for server and client address */ struct sockaddr_in servaddr, cliaddr; char buff[maxline]; /* for sending message to client */ time_t CurrTime; /*create a socket for server using IPv4 with TCP */ listenfd = socket(af_inet, SOCK_STREAM, 0); /*clear struct sokaddr_in for server */ bzero(&servaddr, sizeof(servaddr)); /* use IPv4 */ servaddr.sin_family = AF_INET; /* allow clients to connect using any one of the host's IP addresses */ servaddr.sin_addr.s_addr = htonl(inaddr_any); /* set daytime server port as htons function format port number to short*/ servaddr.sin_port = htons(1313); } /* bind a space for client request */ bind(listenfd, (SA *) &servaddr, sizeof(servaddr)); /* waiting for client request */ listen(listenfd, LISTENQ); /* seqential server need queue */ while(1) { /* make a space for client address */ len = sizeof(cliaddr); /* accept connection from a client */ connfd = accept(listenfd, (SA *) &cliaddr, &len); /* issue current time as Unix time */ CurrTime = time(null); /* convert Unix time to formated output and a save in buffer */ snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&currtime)); /* send message to client */ write(connfd, buff, strlen(buff)); close(connfd); } COSC 350 System Software, Fall
24 void err_sys(char *); int main(int argc, char **argv) { int sockfd, n; /*socket file descriptor */ char recvline[maxline + 1]; struct sockaddr_in servaddr;/*server address */ if (argc!= 2) err_sys("argument error"); /*create a socket to receive data from server */ if ( (sockfd = socket(af_inet, SOCK_STREAM, 0)) < 0) err_sys("socket error"); /* shall place n zero-valued bytes in the area pointed to by serveraddr */ bzero(&servaddr, sizeof(servaddr)); /* server using IPv4 */ servaddr.sin_family = AF_INET; /* port number used by server. htons function format port number to short*/ servaddr.sin_port = htons(1313); /* converts the character string argv[i] into a network address structure /* in the IPv4 address family, then copies to servaddr.sin_addr. */ if (inet_pton(af_inet, argv[1], &servaddr.sin_addr) <= 0) err_sys("inet_pton error"); /*try to connect to server */ if (connect(sockfd, (SA *) &servaddr, sizeof(servaddr)) < 0) err_sys("connect error"); /* receive information from the daytime server*/ while ( (n = read(sockfd, recvline, MAXLINE)) > 0) { recvline[n] = 0; /* null terminate */ if (fputs(recvline, stdout) == EOF) err_sys("fputs error"); } if (n < 0) err_sys("read error"); exit(0); } void err_sys(char *str) { printf ("%s \n",str); exit (1); } COSC 350 System Software, Fall
25 client server socket() bind() listen() socket() connect() Connection established by TCP three-way handshake accept() No Read() write() Ye Read() s Welcome message + ask for game Yes or No write() read() Shuffle Card Display Five Card write() Send second chance cards info write() read() Read() What is on hand Display Final five cards + what is on hand write() close() close() COSC 350 System Software, Fall
Unix Network Programming Chapter 4. Elementary TCP Sockets 광운대학교컴퓨터과학과 정보통신연구실 석사과정안중현
Unix Network Programming Chapter 4. Elementary TCP Sockets 광운대학교컴퓨터과학과 정보통신연구실 석사과정안중현 4.1 Introduction A Time line of the typical scenario that takes place between a TCP client and server. Describes the
More informationUNIX Network Programming. Overview of Socket API Network Programming Basics
UNIX Network Programming Overview of Socket API Network Programming Basics 1 Client-Server Model Client Machine A Network Server Machine B Web browser and server FTP client and server Telnet client and
More informationLecture 3 Overview! Last Lecture! TCP/UDP and Sockets introduction!
Lecture 3 Overview! Last Lecture! TCP/UDP and Sockets introduction! This Lecture! Elementary TCP sockets! TCP Client-Server example! Source: Stevens book(chapters 4,5), Comer s book (Chapters 20, 21)!
More informationSockets. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Sockets Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Internet Connections (1) Connection Clients and servers communicate by sending streams of
More informationHyo-bong Son Computer Systems Laboratory Sungkyunkwan University
Sockets Hyo-bong Son (proshb@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Client-Server Model Most network application is based on the client-server model: A server
More informationReview. Preview. Closing a TCP Connection. Closing a TCP Connection. Port Numbers 11/27/2017. Packet Exchange for TCP Connection
Review Preview Algorithms and Issues in Client Software Design Client Architecture Identifying the Location of a Parsing an Address Argument Looking Up a Domain Name Looking Up a Well-Known Port by Name
More informationRandall Stewart, Cisco Systems Phill Conrad, University of Delaware
SCTP: An Overview Randall Stewart, Cisco Systems Phill Conrad, University of Delaware 1 Our Objectives Be able to explain what SCTP is, and what its major features are when and why you might use it (instead
More informationPA #2 Reviews. set_name, get_name, del_name. Questions? Will be modified after PA #4 ~
Sockets Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Dong-Yun Lee(dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu PA #2 Reviews set_name, get_name, del_name Will
More informationSockets. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University Embedded Software Lab.
1 Sockets Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University http://nyx.skku.ac.kr Echo Client (1) 2 #include #include #include #include
More informationIntroduction to Socket Programming
Introduction to Socket Programming (Advanced Computer Networks) By Priyank Shah NET ID : pss160530 A Simple Question What are Sockets? Sockets are communication points on the same or different computers
More informationInter-Process Communication. Disclaimer: some slides are adopted from the book authors slides with permission 1
Inter-Process Communication Disclaimer: some slides are adopted from the book authors slides with permission 1 Today Inter-Process Communication (IPC) What is it? What IPC mechanisms are available? 2 Inter-Process
More informationNetwork Programming Worksheet 2. Simple TCP Clients and Servers on *nix with C.
Simple TCP Clients and Servers on *nix with C. Aims. This worksheet introduces a simple client and a simple server to experiment with a daytime service. It shows how telnet can be used to test the server.
More informationCS321: Computer Networks Socket Programming
CS321: Computer Networks Socket Programming Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Socket Programming It shows how the network application programs
More informationPiotr Mielecki Ph. D.
Piotr Mielecki Ph. D. http://mielecki.ristel.pl/ piotr.mielecki@pwr.edu.pl pmielecki@gmail.com Building blocks of client-server applications: Client, Server, Middleware. Simple client-server application:
More informationCS307 Operating Systems Processes
CS307 Processes Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 Process Concept Process a program in execution An operating system executes a variety of
More informationProcesses. Process Concept. The Process. The Process (Cont.) Process Control Block (PCB) Process State
CS307 Process Concept Process a program in execution Processes An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks All these activities are
More informationCS321: Computer Networks Introduction to Application Layer
CS321: Computer Networks Introduction to Application Layer Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Basic Application layer provides services to the
More informationElementary TCP Sockets
Elementary TCP Sockets Chapter 4 UNIX Network Programming Vol. 1, Second Ed. Stevens Distributed Computer Systems 1 socket interface Application 1 Application 2 socket interface user kernel user kernel
More informationSockets. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University Embedded Software Lab.
1 Sockets Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University http://nyx.skku.ac.kr Internet Connections (1) 2 Connection Clients and servers communicate by sending streams of bytes over
More informationsocketservertcl a Tcl extension for using SCM_RIGHTS By Shannon Noe - FlightAware
socketservertcl a Tcl extension for using SCM_RIGHTS By Shannon Noe - FlightAware Presented at the 24th annual Tcl/Tk conference, Houston Texas, October 2017 Abstract: Horizontal scaling is used to distribute
More informationThe BSD UNIX Socket Interface (CS 640 Lecture) Assignment 1. Interprocess Communication (IPC) Work Individually (no groups)
The BSD UNIX Socket Interface (CS 640 Lecture) Assignment 1 Work Individually (no groups) Due Date: in class, Monday, September 19 Robert T Olsen olsen@cswiscedu 7390CS Office Hours: 3-5T, 11-12F - exception
More informationSemester 2, Computer Communication 352 Module 4
Page 4.1; CRICOS Number: 00301J MODULE 4 References: 1. Stevens, Fenner, Rudoff, UNIX Network Programming, vol. 1, Chapter 5. OBJECTIVE Provide detail description on TCP Client-Server Example. Discuss
More informationNETWORK AND SYSTEM PROGRAMMING. I/O Multiplexing: select and poll function
NETWORK AND SYSTEM PROGRAMMING LAB 15 I/O Multiplexing: select and poll function 15.1 objectives What is a Concurrent server Use of Select System call Use of Poll System call 15.2 What is concurrent server?
More informationClient-server model The course that gives CMU its Zip! Network programming Nov 27, Using ports to identify services.
15-213 The course that gives CMU its Zip! Network programming Nov 27, 2001 Topics Client- model Sockets interface Echo and Client- model Every network application is based on the - model: Application is
More informationCS 3516: Computer Networks
Welcome to CS 3516: Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: AK219 Fall 2018 A-term 1 Some slides are originally from the course materials of the textbook Computer Networking: A Top
More informationCSC209H Lecture 9. Dan Zingaro. March 11, 2015
CSC209H Lecture 9 Dan Zingaro March 11, 2015 Socket Programming (Kerrisk Ch 56, 57, 59) Pipes and signals are only useful for processes communicating on the same machine Sockets are a general interprocess
More informationProgramming with TCP/IP. Ram Dantu
1 Programming with TCP/IP Ram Dantu 2 Client Server Computing Although the Internet provides a basic communication service, the protocol software cannot initiate contact with, or accept contact from, a
More informationThe Berkeley Sockets API. Networked Systems Architecture 3 Lecture 4
The Berkeley Sockets API Networked Systems Architecture 3 Lecture 4 The Berkeley Sockets API Widely used low-level C networking API First introduced in 4.3BSD Unix Now available on most platforms: Linux,
More informationNETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science
NETWORK PROGRAMMING CSC- 341 25 Instructor: Junaid Tariq, Lecturer, Department of Computer Science 26 9 Lecture Sockets as means for inter-process communication (IPC) application layer Client Process Socket
More informationOral. Total. Dated Sign (2) (5) (3) (2)
R N Oral Total Dated Sign (2) (5) (3) (2) Assignment Group- A_07 Problem Definition Write a program using TCP socket for wired network for following Say Hello to Each other ( For all students) File transfer
More informationExperiential Learning Workshop on Basics of Socket Programming
Experiential Learning Workshop on Basics of Socket June 28, 2018 Dr. Ram P Rustagi Professor, CSE Dept KSIT, Bangalore rprustagi@ksit.edu.in Resources https://rprustagi.com/elnt/experiential- Learning.html
More informationAnnouncement (1) Due date for PA3 is changed (~ next week) PA4 will also be started in the next class. Not submitted. Not scored
Announcement (1) Due date for PA3 is changed (~ next week) PA4 will also be started in the next class Not submitted Not scored 1 Concurrent Programming Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon
More informationNetwork Programming in C: The Berkeley Sockets API. Networked Systems 3 Laboratory Sessions
Network Programming in C: The Berkeley Sockets API Networked Systems 3 Laboratory Sessions The Berkeley Sockets API Widely used low-level C networking API First introduced in 4.3BSD Unix Now available
More informationNetwork Programming in C. Networked Systems 3 Laboratory Sessions and Problem Sets
Network Programming in C Networked Systems 3 Laboratory Sessions and Problem Sets Lab Timetable, Aims, and Objectives Teaching Week Activity 14 Introduction 15 Warm-up exercise 16 17 Web client 18 19 20
More informationInter-Process Communication. Disclaimer: some slides are adopted from the book authors slides with permission 1
Inter-Process Communication Disclaimer: some slides are adopted from the book authors slides with permission 1 Today Inter-Process Communication (IPC) What is it? What IPC mechanisms are available? 2 Inter-Process
More informationDistributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017
Distributed Systems 02. Networking Paul Krzyzanowski Rutgers University Fall 2017 1 Inter-computer communication Without shared memory, computers need to communicate Direct link Direct links aren't practical
More informationNetwork Programming November 3, 2008
15-213 Network Programming November 3, 2008 Topics Programmer s view of the Internet (review) Sockets interface Writing clients and servers class20.ppt A Client-Server Transaction Most network applications
More informationCONCURRENCY MODEL. UNIX Programming 2014 Fall by Euiseong Seo
CONCURRENCY MODEL UNIX Programming 2014 Fall by Euiseong Seo Echo Server Revisited int main (int argc, char *argv[]) {... listenfd = socket(af_inet, SOCK_STREAM, 0); bzero((char *)&saddr, sizeof(saddr));
More informationCS 640: Computer Networking
CS 640: Computer Networking Yu-Chi Lai Lecture 3 Network Programming Topics Client-server model Sockets interface Socket primitives Example code for echoclient and echoserver Debugging With GDB Programming
More information/* * porting from BSD to SVR4 */ #ifdef USE_BSD # include <machine/param.h> #endif
* This is a free program sample that may be reproduced in any form. * The author's information should be retained to preserve its identity. * * Date written: January 1, 2002 * Written by: Peraphon Sophatsathit
More informationECE 435 Network Engineering Lecture 2
ECE 435 Network Engineering Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 31 August 2017 Announcements Homework 1 will be posted. Will be on website, will announce
More informationData and Computer Communications. Tenth Edition by William Stallings
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education - Prentice Hall, 2013 CHAPTER 2 Protocol
More informationTutorial on Socket Programming
Tutorial on Socket Programming Computer Networks - CSC 458 Department of Computer Science Hao Wang (Slides are mainly from Seyed Hossein Mortazavi, Monia Ghobadi, and Amin Tootoonchian, ) 1 Outline Client-server
More informationSocket Programming. CSIS0234A Computer and Communication Networks. Socket Programming in C
1 CSIS0234A Computer and Communication Networks Socket Programming in C References Beej's Guide to Network Programming Official homepage: http://beej.us/guide/bgnet/ Local mirror http://www.cs.hku.hk/~c0234a/bgnet/
More informationSockets 15H2. Inshik Song
Sockets 15H2 Inshik Song Internet CAU www server (www.cau.ac.kr) Your web browser (Internet Explorer/Safari) Sockets 2 How do we find the server? Every computer on the Internet has an Internet address.
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Programming with Network Sockets Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Sockets We ve looked at shared memory vs.
More informationMSc Integrated Electronics Networks Assignment. Investigation of TCP/IP Sockets and Ports. Gavin Cameron
MSc Integrated Electronics Networks Assignment Investigation of TCP/IP Sockets and Ports Gavin Cameron Introduction TCP and IP (Transmission Control Protocol / Internet Protocol) are two protocols from
More informationTransport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol
Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the
More informationSocket Programming. Dr. -Ing. Abdalkarim Awad. Informatik 7 Rechnernetze und Kommunikationssysteme
Socket Programming Dr. -Ing. Abdalkarim Awad Informatik 7 Rechnernetze und Kommunikationssysteme Before we start Can you find the ip address of an interface? Can you find the mac address of an interface?
More informationProcesses communicating. Network Communication. Sockets. Addressing processes 4/15/2013
Processes communicating Network Communication Process: program running within a host. within same host, two processes communicate using inter-process communication (defined by OS). processes in different
More informationSocket Programming for TCP and UDP
CSCI4430 Data Communication and Computer Networks Socket Programming for TCP and UDP ZHANG, Mi Jan. 19, 2017 Outline Socket Programming for TCP Introduction What is TCP What is socket TCP socket programming
More informationThe User Datagram Protocol
The User Datagram Protocol Stefan D. Bruda Winter 2018 UDP Very similar to the TCP in terms of API Dissimilar with TCP in terms of innards (and hence programming techniques) Many-to-many communication.
More informationECE 435 Network Engineering Lecture 2
ECE 435 Network Engineering Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 6 September 2018 Announcements Homework 1 will be posted. Will be on website, will announce
More informationCSE 333 Lecture 16 - network programming intro
CSE 333 Lecture 16 - network programming intro Hal Perkins Department of Computer Science & Engineering University of Washington Today Network programming - dive into the Berkeley / POSIX sockets API -
More informationLecture 7. Followup. Review. Communication Interface. Socket Communication. Client-Server Model. Socket Programming January 28, 2005
Followup symbolic link (soft link): pathname, can be across file systems, replacement of file will be active on all symbolic links, consumes at least an inode. hard link: pointers to an inode, only in
More informationApplications and Layered Architectures. Chapter 2 Communication Networks Leon-Garcia, Widjaja
Applications and Layered Architectures Chapter 2 Communication Networks Leon-Garcia, Widjaja Network Architecture Architecture: Any design or orderly arrangement perceived by man. The goals of a network:
More informationUDP CONNECT TO A SERVER
UDP The User Datagram Protocol Stefan D. Bruda Winter 2018 Very similar to the TCP in terms of API Dissimilar with TCP in terms of innards (and hence programming techniques) Many-to-many communication.
More informationThe Client Server Model and Software Design
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 Introduction
More informationSocket Programming TCP UDP
Socket Programming TCP UDP Introduction Computer Network hosts, routers, communication channels Hosts run applications Routers forward information Packets: sequence of bytes contain control information
More informationComputer Systems Laboratory Sungkyunkwan University
Concurrent Programming Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Echo Server Revisited int main (int argc, char *argv[]) {... listenfd = socket(af_inet, SOCK_STREAM, 0); bzero((char
More informationLecture 24. Thursday, November 19 CS 375 UNIX System Programming - Lecture 24 1
Lecture 24 Log into Linux. Copy directory /home/hwang/cs375/lecture24 Final project posted. Due during finals week. Reminder: No class next Tuesday (11/24) Questions? Thursday, November 19 CS 375 UNIX
More informationGroup-A Assignment No. 6
Group-A Assignment No. 6 R N Oral Total Dated Sign (2) (5) (3) (10) Title : File Transfer using TCP Socket Problem Definition: Use Python for Socket Programming to connect two or more PCs to share a text
More informationCPSC 213. Introduction to Computer Systems. Inter-Process Communication. Unit 2f
CPSC 213 Introduction to Computer Systems Unit 2f Inter-Process Communication 1 Reading For Next Three Lectures Textbook The Client Server Programming Model - Web Servers 2nd ed: 11.1-11.5 1st ed: 12.1-12.5
More informationComputer Network Lab, SS Fachgebiet Technische Informatik, Joachim Zumbrägel. Overview. Sockets. Sockets in C.
Computer Network Lab 2016 Fachgebiet Technische Informatik, Joachim Zumbrägel Overview Sockets Sockets in C Sockets in Delphi 1 Inter process communication There are two possibilities when two processes
More information04 Elementary. Client/Server. CEN 463 Network Programming. Dr. Mostafa Hassan Dahshan. King Saud University
CEN 463 Network Programming 04 Elementary TCP Sockets Dr. Mostafa Hassan Dahshan College of Computer and Information Sciences King Saud University Elementary TCP Client/Server 2 socket Function First function
More informationCSE 333 SECTION 7. C++ Virtual Functions and Client-Side Network Programming
CSE 333 SECTION 7 C++ Virtual Functions and Client-Side Network Programming Overview Virtual functions summary and worksheet Domain Name Service (DNS) Client side network programming steps and calls dig
More informationClient Server Computing
Client Server Computing Although the Internet provides a basic communication service, the protocol software cannot initiate contact with, or accept contact from, a remote computer. Instead, two application
More informationCSE 333 SECTION 8. Sockets, Network Programming
CSE 333 SECTION 8 Sockets, Network Programming Overview Domain Name Service (DNS) Client side network programming steps and calls Server side network programming steps and calls dig and ncat tools Network
More informationConcurrent Programming
Concurrent Programming Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Jinhong Kim( jinhong.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Echo Server Revisited int
More informationA GENERALIZED FRAMEWORK FOR CATV TRANSMISSION ON FUTURE BISDN
A GENERALIZED FRAMEWORK FOR CATV TRANSMISSION ON FUTURE BISDN Geng-Sheng (G.S.) Kuo Department of Information Management, National Central University Chung-Li, Taiwan 32054, R.O.C. TEL: +886 3 4263086
More informationNetwork Communication
Network Communication Processes communicating Process: program running within a host. q within same host, two processes communicate using inter- process communica6on (defined by OS). q processes in different
More informationOutline. Distributed Computer Systems. Socket Basics An end-point for a IP network connection. Ports. Sockets and the OS. Transport Layer.
Outline Distributed Computer Systems Socket basics Socket details (TCP and UDP) Socket options Final notes Sockets Socket Basics An end-point for a IP network connection what the application layer plugs
More informationNetwork Socket Programming - 3 BUPT/QMUL
Network Socket Programming - 3 BUPT/QMUL 2017-3-27 Agenda Basic concepts in NP Introduction to IP & TCP/UDP Introduction to Sockets 2 Introduction to Sockets Reviews of some helpful points Sockets interface
More informationUnix Network Programming
Introduction to Computer Networks Polly Huang EE NTU Unix Network Programming The socket struct and data handling System calls Based on Beej's Guide to Network Programming 1 The Unix Socket A file descriptor
More informationDepartment of Computer Science
Department of Computer Science Notes on Interprocess Communication in Unix Jean Dollimore,Oct.1990, last revised Feb. 1996 These notes explain how you can write "distributed programs" in C or C++ running
More informationChapter 6. The Transport Layer. Transport Layer 3-1
Chapter 6 The Transport Layer Transport Layer 3-1 Transport services and protocols provide logical communication between app processes running on different hosts transport protocols run in end systems
More informationA Socket Example. Haris Andrianakis & Angelos Stavrou George Mason University
A Socket Example & George Mason University Everything is a file descriptor Most socket system calls operate on file descriptors Server - Quick view socket() bind() listen() accept() send(), recv() close()
More informationSystem Programming. Sockets
Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introducing 2 3 Internet
More informationNetwork Socket Programming - 3 BUPT/QMUL
Network Socket Programming - 3 BUPT/QMUL 2018-04-02 Agenda Basic concepts in NP Introduction to IP & TCP/UDP Introduction to Sockets 2 Introduction to Sockets Reviews of some helpful points Sockets interface
More informationA REPORT ON DNS Client Application
A REPORT ON DNS Client Application By Alladi Santhosh Himshi Bachchas Raghavender Sahdev 2011A7PS086H 2011A7PS172H 2011A7PS257H At BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI HYDERABAD Campus Contents:
More informationSocket Programming 2007/03/28
Socket Programming 2007/03/28 Reference W. Richard Stevens, Unix Network Programming 2/e Volume 1,1998 James F. Kurose and Keith W. Ross, "Computer Networks: A Top-Down Approach Featuring the Internet
More informationSystem Programming. Sockets: examples
Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Socket based client/server
More informationContext. Distributed Systems: Sockets Programming. Alberto Bosio, Associate Professor UM Microelectronic Departement
Distributed Systems: Sockets Programming Alberto Bosio, Associate Professor UM Microelectronic Departement bosio@lirmm.fr Context Computer Network hosts, routers, communication channels Hosts run applications
More informationUNIT IV- SOCKETS Part A
1. Define sockets - SOCKETS Part A A socket is a construct to provide a communication between computers. It hides the underlying networking concepts and provides us with an interface to communicate between
More informationTotal Score is updated. The score of PA4 will be changed! Please check it. Will be changed
Announcement Total Score is updated Please check it Will be changed The score of PA4 will be changed! 1 Concurrent Programming Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu)
More informationUNIT IV - SOCKET OPTIONS, ELEMENTARY UDP SOCKETS
UNIT IV - SOCKET OPTIONS, ELEMENTARY UDP SOCKETS Socket options getsocket and setsocket functions generic socket options IP socket options ICMP socket options TCP socket options Elementary UDP sockets
More informationCSE 333 Lecture network programming intro
CSE 333 Lecture 17 -- network programming intro Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW3 due Thursday night HW4 out Friday morning -
More informationConcurrent Programming. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Concurrent Programming Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Echo Server Revisited int main (int argc, char *argv[]) {... listenfd = socket(af_inet,
More informationHow do we Communicate? Introduction to Unix Network Programming. What does Alice do? What does Bob do? Two simplest networking programs
Introduction to Unix Network Programming Reference: Stevens Unix Network Programming How do we Communicate? Send a mail from Alice to Bob Bob Alice in Champaign, Bob in Hollywood Example: US Postal Service
More informationSocket Programming. Sungkyunkwan University. Hyunseung Choo Copyright Networking Laboratory
Socket Programming Sungkyunkwan University Hyunseung Choo choo@skku.edu Copyright 2000-2019 Networking Laboratory Contents Goals Client-Server mechanism Introduction to socket Programming with socket on
More informationSockets and Parallel Computing. CS439: Principles of Computer Systems April 11, 2018
Sockets and Parallel Computing CS439: Principles of Computer Systems April 11, 2018 Last Time Introduction to Networks OSI Model (7 layers) Layer 1: hardware Layer 2: Ethernet (frames) SAN, LAN, WAN Layer
More informationNetwork programming(i) Lenuta Alboaie
Network programming(i) Lenuta Alboaie adria@info.uaic.ro 2017 2018 Computer Network http://www.info.uaic.ro/~computernetworks 1 Content Client/server paradigm API for network programming BSD Socket Characteristics
More informationCSE 333 SECTION 7. Client-Side Network Programming
CSE 333 SECTION 7 Client-Side Network Programming Overview Domain Name Service (DNS) Client side network programming steps and calls dig and ncat tools Network programming for the client side Recall the
More informationChapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport
More informationLecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24
Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202
More informationCSE/EE 461 Lecture 14. Connections. Last Time. This Time. We began on the Transport layer. Focus How do we send information reliably?
CSE/EE 461 Lecture 14 Connections Last Time We began on the Transport layer Focus How do we send information reliably? Topics ARQ and sliding windows Application Presentation Session Transport Network
More informationCS 471 Operating Systems. Spring 2016 Midterm Exam Time 2 & 1/2 hours. Open Book & Notes
CS 471 Operating Systems Spring 2016 Midterm Exam Time 2 & 1/2 hours Open Book & Notes Name: Unix Login: Question 1 (20 points) A. What is the output of the following program if executed as: % Q1A Q1A.c
More informationLab 0. Yvan Petillot. Networks - Lab 0 1
Lab 0 Yvan Petillot Networks - Lab 0 1 What You Will Do In This Lab. The purpose of this lab is to help you become familiar with the UNIX/LINUX on the lab network. This means being able to do editing,
More informationUNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E.
UNIX Sockets Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E. Socket and Process Communication application layer User Process Socket transport layer (TCP/UDP) network layer (IP)
More information