Client/Server Computing & Socket Programming
|
|
- August Morgan Townsend
- 7 years ago
- Views:
Transcription
1 1 CPSC 826 Intering /Server Computing & Socket Programming Michele Weigle Department of Computer Science Clemson University September 1, Overview Application-layer protocols define:» The types of messages exchanged» The syntax and semantics of messages» The rules for when and how messages are sent Public protocols (defined in RFCs)» HTTP, FTP, SMTP, POP, IMAP, DNS Proprietary protocols» RealAudio, RealVideo» IP telephony» 2 Network Working Group R. Fielding UC Irvine Request for Comments: 2616 J. Gettys Compaq/W3C Obsoletes: 2068 J. Mogul Compaq Category: Standards Track H. Frystyk W3C/MIT L. Masinter Xerox June 1999 P. Leach Microsoft T. Berners-Lee W3C/MIT Abstract Hypertext Transfer Protocol -- HTTP/1.1 The Hypertext Transfer Protocol (HTTP) is an -level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers [47]. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. HTTP has been in use by the World-Wide Web global information initiative since This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068 [33]. 3 Outline The architecture of distributed systems» /Server computing» P2P computing» Hybrid (/Server and P2P) systems The programming model used in constructing distributed systems» Socket programming Example client/server systems and their -level protocols» The World-Wide Web (HTTP)» Reliable file transfer (FTP)» (SMTP & POP)» Domain Name System (DNS) 4
2 5 Outline Example client/server systems and their -level protocols» The World-Wide Web (HTTP)» Reliable file transfer (FTP)» (SMTP & POP)» Domain Name System (DNS) Protocol design issues:» In-band v. out-of-band control signaling» Push v. pull protocols» Persistent v. non-persistent connections /server service architectures» Contacted server responds versus forwards request Outline Example P2P systems and their -level protocols» Gnutella» Napster (hybrid)» KaZaA 6 -Server Architecture Pure P2P Architecture Server:» always-on host» permanent IP address» server farms for scaling s:» communicate with server» may be intermittently connected» may have dynamic IP addresses» do not communicate directly with each other No always-on server Arbitrary end systems directly communicate Peers are intermittently connected and change IP addresses Example: Gnutella Highly scalable But difficult to manage 7 8
3 9 Hybrid of -Server and P2P Transport Services Napster» File transfer P2P» File search centralized: Peers register content at central server Peers query same central server to locate content Instant messaging» Chatting between two users is P2P» Presence detection/location centralized: User registers its IP address with central server when it comes online User contacts central server to find IP addresses of buddies Data loss Some apps (e.g., audio) can tolerate some loss Other apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing Some apps (e.g., telephony, interactive games) require low delay to be effective Bandwidth Some apps (e.g., multimedia) require minimum amount of bandwidth to be effective Other apps ( elastic apps ) make use of whatever bandwidth they get 10 Applications Transport Service Requirements Transport Protocols Services Provided Application file transfer Web documents real-time audio/video stored audio/video interactive games instant messaging Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss Bandwidth elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic Time Sensitive no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no service:» connection-oriented: setup required between client, server» reliable between sending and receiving» flow control: sender won t overwhelm receiver» congestion control: throttle sender when overloaded» does not provide: timing, minimum bandwidth guarantees UDP service:» unreliable data transfer between sending and receiving» does not provide: connection setup, reliability, flow control, congestion control, timing, or minimum bandwidth guarantees Why bother? Why is there a UDP? 11 12
4 13 Applications Application and Transport Protocols Application remote terminal access Web file transfer streaming multimedia telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Dialpad) Underlying protocol or UDP typically UDP The Application Layer The client-server paradigm Typical has two pieces: client and server :» Initiates contact with server ( speaks first )» Requests service from server» For Web, client is implemented in browser; for , in mail er Server:» Provides requested service to client» Always running» May also include a client interface reply request Server 14 /Server Paradigm Socket programming Sockets are the fundamental building block for client/server systems Sockets are created and managed by s» Strong analogies with files a host-local, created/released, OS-controlled interface into which an can both send and receive messages to/from another (remote or local) Two types of services are available via the API:» UDP s: unreliable, datagram-oriented communications» s: reliable, stream-oriented communications 15 /Server Paradigm Socket-programming using A is an created, OS-controlled interface into which an can both send and receive messages to and from another» A door between es and end-to-end protocols controlled by developer controlled by operating system with buffers, variables with buffers, variables controlled by developer controlled by operating system 16
5 17 Socket-programming using programming model A provides a reliable bi-directional communications channel from one to another» A pair of pipes abstraction Socket-programming using Network addressing for s Sockets are addressed using an IP address and port number with buffers, variables End System Local port numbers (e.g., 6500) addresses of hosts (e.g., ) with buffers, variables End System domain name of host e.g., access.cs.clemson.edu DNS 18 Socket-programming using Socket programming in Java Socket-programming using Socket creation in the client-server model creates a local specifying the host and port number of server» Java resolves host names to IP addresses using DNS contacts server» Server must be running» Server must have created that welcomes client s contact Server When the client creates a, the client s establishes connection to server s When contacted by a client, server creates a new for server to communicate with client» This allows the server to talk with multiple clients 19 client host or server 3-way handshake 3-way handshake welcoming connection Server 20
6 21 Socket-programming using Simple client-server example stdin stdout client Server welcoming connection The client s a line of text from standard input and sends the text to the server via a The server receives the line of text from the client and converts the line of characters to all uppercase The server sends the converted line back to the client The client receives the converted text and s it to standard output Socket programming with Example structure s from standard input (infromuser stream), s to server via a (outtoserver stream) Server s line from a Server converts line to uppercase and s back to client s from, (infromserver stream) prints modified line to standard output Standard input Standard output infromuser (4) outtoserver infromserver client (2) (3) (1) 22 Socket programming with Example /server interaction in Java Socket programming with Example Java client Server (running on torpedo1.cs.clemson.edu) create for incoming request (port=6789) welcomesocket = new ServerSocket(...) wait for incoming connection request connection setup = welcomesocket.accept() request from (running on shadow1.cs...) create, connect to torpedo1.cs.clemson.edu, port=6789 = new Socket(...) request using import java.io.*; import java.net.*; class { public static void main(string argv[]) throws Exception { String sentence; String modifiedsentence; // Create (buffered) input stream using standard input BufferedReader infromuser = new BufferedReader( new InputStreamReader(System.in)); System.out.println(" y for input"); reply to reply from program flow // Create client with connection to server at port 6789 data flow 23 Socket = new Socket("torpedo1.cs.clemson.edu", 6789); 24
7 25 Socket programming with Example Java client II Socket programming with Example Java server // Create output stream attached to DataOutputStream outtoserver = new DataOutputStream(.getOutputStream()); // Create (buffered) input stream attached to BufferedReader infromserver = new BufferedReader( new InputStreamReader(.getInputStream())); // Write line to server outtoserver.bytes(sentence + '\n'); import java.io.*; import java.net.*; class Server { public static void main(string argv[]) throws Exception { String clientsentence; String capitalizedsentence; // Create welcoming using port 6789 ServerSocket welcomesocket = new ServerSocket(6789); // Read line from server modifiedsentence = infromserver.line(); System.out.println("FROM SERVER: " + modifiedsentence);.(); } // end main } // end class System.out.println("Server Ready for Connection"); // While loop to handle arbitrary sequence of clients making requests while(true) { // Waits for some client to connect and creates new for connection Socket = welcomesocket.accept(); System.out.println(" Made Connection"); 26 Example Java server II // Create (buffered) input stream attached to connection BufferedReader infrom = new BufferedReader( new InputStreamReader(.getInputStream())); // Create output stream attached to connection DataOutputStream outto = new DataOutputStream(.getOutputStream()); // Read input line from clientsentence = infrom.line(); System.out.println(" sent: " + clientsentence); capitalizedsentence = clientsentence.touppercase() + '\n'; // Write output line to outto.bytes(capitalizedsentence);.(); } // end while; loop back to accept a new client connection } // end main } // end class 27 Socket programming with Example /server interaction in Java Server (running on torpedo1.cs.clemson.edu) create for incoming request (port=6789) welcomesocket = new ServerSocket(...) wait for incoming connection request connection setup = welcomesocket.accept() request from reply to (running on shadow1.cs...) create, connect to torpedo1.cs.clemson.edu, port=6789 = new Socket(...) request using reply from program flow data flow 28
8 29 Socket-programming using UDP UDP programming model A UDP provides an unreliable bi-directional communication channel from one to another» A datagram abstraction Socket programming with UDP Example /server UDP interaction in Java Server (running on torpedo1.cs.clemson.edu) create for incoming request (port=9876) serversocket = new DatagramSocket() create, = new DatagramSocket() request from serversocket reply to serversocket specifying client IP address and port number create address (torpedo1.cs.clemson.edu, port = 9876) and send datagram using reply from program flow data flow 30
Network Applications
Computer Networks Network Applications Based on Computer Networking, 3 rd Edition by Kurose and Ross Network applications Sample applications E-mail Web Instant messaging Remote login P2P file sharing
More informationDistributed Systems. 2. Application Layer
Distributed Systems 2. Application Layer Werner Nutt 1 Network Applications: Examples E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Social
More informationData Communication & Networks G22.2262-001
Data Communication & Networks G22.2262-001 Session 10 - Main Theme Java Sockets Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda
More informationNetwork Programming using sockets
Network Programming using sockets TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets IP datagrams Network-specific frames Underlying
More informationComputer Networks. Examples of network applica3ons. Applica3on Layer
Computer Networks Applica3on Layer 1 Examples of network applica3ons e- mail web instant messaging remote login P2P file sharing mul3- user network games streaming stored video clips social networks voice
More informationPrinciples of Network Applications. Dr. Philip Cannata
Principles of Network Applications Dr. Philip Cannata 1 Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers).
More informationDNS: Domain Names. DNS: Domain Name System. DNS: Root name servers. DNS name servers
DNS: Domain Name System DNS: Domain Names People: many identifiers: SSN, name, Passport # Internet hosts, routers: Always: IP address (32 bit) - used for addressing datagrams Often: name, e.g., nifc14.wsu.edu
More informationCSIS 3230. CSIS 3230 Spring 2012. Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture
Networking, its all about the apps! CSIS 3230 Chapter 2: Layer Concepts Chapter 5.4: Link Layer Addressing Networks exist to support apps Web Social ing Multimedia Communications Email File transfer Remote
More informationComputer Networks & Security 2014/2015
Computer Networks & Security 2014/2015 IP Protocol Stack & Application Layer (02a) Security and Embedded Networked Systems time Protocols A human analogy All Internet communication is governed by protocols!
More informationSocket programming. Socket Programming. Languages and Platforms. Sockets. Rohan Murty Hitesh Ballani. Last Modified: 2/8/2004 8:30:45 AM
Socket Programming Rohan Murty Hitesh Ballani Last Modified: 2/8/2004 8:30:45 AM Slides adapted from Prof. Matthews slides from 2003SP Socket programming Goal: learn how to build client/server application
More informationChapter 2: Application layer
Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2: Application Layer 1 Some network apps e-mail
More informationJava Network. Slides prepared by : Farzana Rahman
Java Network Programming 1 Important Java Packages java.net java.io java.rmi java.security java.lang TCP/IP networking I/O streams & utilities Remote Method Invocation Security policies Threading classes
More information1 Introduction: Network Applications
1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video
More informationComputer Networks. Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se
Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides are adapted
More informationIntroduction to Computer Networks
Introduction to Computer Networks Chen Yu Indiana University Basic Building Blocks for Computer Networks Nodes PC, server, special-purpose hardware, sensors Switches Links: Twisted pair, coaxial cable,
More informationIntrodução aos Sistemas Distribuídos
O que é um Sistema Distribuído? Introdução aos Sistemas Distribuídos Um sistema distribuído consiste num conjunto de máquinas que trabalham de forma coordenada e conjunta para resolver um determinado problema.
More informationDivision of Informatics, University of Edinburgh
CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that
More informationString sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.
164 CHAPTER 2 APPLICATION LAYER connection requests, as done in TCPServer.java. If multiple clients access this application, they will all send their packets into this single door, serversocket. String
More informationLimi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming
Socket Programming Limi Kalita M.Tech Student, Department of Computer Science and Engineering, Assam Down Town University, Guwahati, India. Abstract: The aim of the paper is to introduce sockets, its deployment
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationGoal: learn how to build client/server application that communicate using sockets. An interface between application and network
Socket programming Goal: learn how to build client/server application that communicate using sockets Socket API introduced in BSD4.1 UNIX, 1981 explicitly created, used, released by apps client/server
More informationLearning Outcomes. Networking. Sockets. TCP/IP Networks. Hostnames and DNS TCP/IP
CP4044 Lecture 7 1 Networking Learning Outcomes To understand basic network terminology To be able to communicate using Telnet To be aware of some common network services To be able to implement client
More informationNote! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages
Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages
More informationToday s Lecture. 18-345: Introduction to Telecommunication Networks Lectures 2: Protocol Stack. Applications and Application Protocols
Today s Lecture 18-345: Introduction to Telecommunication Networks Lectures 2: Protocol Stack Peter Steenkiste Spring 2015 www.cs.cmu.edu/~prs/nets-ece Network applications Requirements Latency and bandwidth
More informationData Communications & Networks. Session 2 Main Theme Application Layer. Dr. Jean-Claude Franchitti
Data Communications & Networks Session 2 Main Theme Application Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Adapted from
More information1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; e-mail: SMTP.
Chapter 2 Review Questions 1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; e-mail: SMTP. 2. Network architecture refers to the organization of the communication process
More informationNetwork Communication
Network Communication Outline Sockets Datagrams TCP/IP Client-Server model OSI Model Sockets Endpoint for bidirectional communication between two machines. To connect with each other, each of the client
More informationModule 2 Overview of Computer Networks
Module 2 Overview of Computer Networks Networks and Communication Give me names of all employees Who earn more than $100,000 % ISP intranet % % % backbone satellite link desktop computer: server: network
More informationObjectives of Lecture. Network Architecture. Protocols. Contents
Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking
More informationLecture 28: Internet Protocols
Lecture 28: Internet Protocols 15-110 Principles of Computing, Spring 2016 Dilsun Kaynar, Margaret Reid-Miller, Stephanie Balzer Reminder: Exam 2 Exam 2 will take place next Monday, on April 4. Further
More informationApplication Layer. CMPT371 12-1 Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2
CMPT371 12-1 Application Layer 1 Application Layer Required Reading: Chapter 2 of the text book. Outline of Chapter 2 Network applications HTTP, protocol for web application FTP, file transfer protocol
More informationTransport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
More informationLesson: All About Sockets
All About Sockets http://java.sun.com/docs/books/tutorial/networking/sockets/index.html Page 1 sur 1 The Java TM Tutorial Start of Tutorial > Start of Trail Trail: Custom Networking Lesson: All About Sockets
More informationInternet Concepts. What is a Network?
Internet Concepts Network, Protocol Client/server model TCP/IP Internet Addressing Development of the Global Internet Autumn 2004 Trinity College, Dublin 1 What is a Network? A group of two or more devices,
More informationThe OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:
1.4 Reference Models Now that we have discussed layered networks in the abstract, it is time to look at some examples. In the next two sections we will discuss two important network architectures, the
More informationArchitecture and Performance of the Internet
SC250 Computer Networking I Architecture and Performance of the Internet Prof. Matthias Grossglauser School of Computer and Communication Sciences EPFL http://lcawww.epfl.ch 1 Today's Objectives Understanding
More informationChapter 2 Application Layer. Lecture 5 FTP, Mail. Computer Networking: A Top Down Approach
Chapter 2 Application Layer Lecture 5 FTP, Mail Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter 2: outline 2.1 principles
More informationCourse Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.
Course Name: TCP/IP Networking Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network. TCP/IP is the globally accepted group of protocols
More informationApplication-layer protocols
Application layer Goals: Conceptual aspects of network application protocols Client server paradigm Service models Learn about protocols by examining popular application-level protocols HTTP DNS Application-layer
More informationDomain Name System (DNS)
Domain Name System (DNS) Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Class Location: ICT 121 Lectures: MWF 12:00 12:50 Notes derived from Computer Networking: A Top Down
More informationReview of Networking Basics. Yao Wang Polytechnic University, Brooklyn, NY11201 yao@vision.poly.edu
Review of Networking Basics Yao Wang Polytechnic University, Brooklyn, NY11201 yao@vision.poly.edu These slides are extracted from the slides made by authors of the book (J. F. Kurose and K. Ross), available
More informationApplications & Application-Layer Protocols: The Domain Name System and Peerto-Peer
CPSC 360 Network Programming Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer Systems Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu
More informationCPSC 360 - Network Programming. Email, FTP, and NAT. http://www.cs.clemson.edu/~mweigle/courses/cpsc360
CPSC 360 - Network Programming E, FTP, and NAT Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu April 18, 2005 http://www.cs.clemson.edu/~mweigle/courses/cpsc360
More informationNetwork Edge and Network Core
Computer Networks Network Edge and Network Core Based on Computer Networking, 4 th Edition by Kurose and Ross What s s the Internet: Nuts and Bolts View PC server wireless laptop cellular handheld access
More informationChapter 1 Computer Networks and the Internet
CSF531 Advanced Computer Networks 高 等 電 腦 網 路 Chapter 1 Computer Networks and the Internet 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系 Outline 1.1 What is the Internet? 1.2 Network edge 1.3 Network core 1.4 Access networks
More informationCSCI 491-01 Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Introduction Derek Leonard Hendrix College September 3, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 1: Introduction Our
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationMail User Agent Project
Mail User Agent Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will implement a mail user agent (MUA) that sends mail to other users.
More informationSSC - Communication and Networking Java Socket Programming (II)
SSC - Communication and Networking Java Socket Programming (II) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Multicast in Java User Datagram
More informationLinux MPS Firewall Supplement
Linux MPS Firewall Supplement First Edition April 2007 Table of Contents Introduction...1 Two Options for Building a Firewall...2 Overview of the iptables Command-Line Utility...2 Overview of the set_fwlevel
More informationThe exam has 110 possible points, 10 of which are extra credit. There is a Word Bank on Page 8. Pages 7-8 can be removed from the exam.
CS326e Spring 2014 Midterm Exam Name SOLUTIONS UTEID The exam has 110 possible points, 10 of which are extra credit. There is a Word Bank on Page 8. Pages 7-8 can be removed from the exam. 1. [4 Points]
More informationRemote login (Telnet):
SFWR 4C03: Computer Networks and Computer Security Feb 23-26 2004 Lecturer: Kartik Krishnan Lectures 19-21 Remote login (Telnet): Telnet permits a user to connect to an account on a remote machine. A client
More informationTransport Layer Services Mul9plexing/Demul9plexing. Transport Layer Services
Computer Networks Mul9plexing/Demul9plexing Transport services and protocols provide logical communica+on between app processes running on different hosts protocols run in end systems send side: breaks
More informationEthernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
More informationSocket Programming. Announcement. Lectures moved to
Announcement Lectures moved to 150 GSPP, public policy building, right opposite Cory Hall on Hearst. Effective Jan 31 i.e. next Tuesday Socket Programming Nikhil Shetty GSI, EECS122 Spring 2006 1 Outline
More informationNetwork Programming TDC 561
Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating
More informationUnderstanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX
APPENDIX A Introduction Understanding TCP/IP To fully understand the architecture of Cisco Centri Firewall, you need to understand the TCP/IP architecture on which the Internet is based. This appendix
More informationComputer Networks and the Internet
? Computer the IMT2431 - Data Communication and Network Security January 7, 2008 ? Teachers are Lasse Øverlier and http://www.hig.no/~erikh Lectures and Lab in A126/A115 Course webpage http://www.hig.no/imt/in/emnesider/imt2431
More informationFile Transfer Protocol (FTP) & SSH
http://xkcd.com/949/ File Transfer Protocol (FTP) & SSH Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Some materials copyright 1996-2012 Addison-Wesley J.F Kurose and K.W.
More informationDigital Audio and Video Data
Multimedia Networking Reading: Sections 3.1.2, 3.3, 4.5, and 6.5 CS-375: Computer Networks Dr. Thomas C. Bressoud 1 Digital Audio and Video Data 2 Challenges for Media Streaming Large volume of data Each
More informationTransport layer protocols. Message destination: Socket +Port. Asynchronous vs. Synchronous. Operations of Request-Reply. Sockets
Transport layer protocols Interprocess communication Synchronous and asynchronous comm. Message destination Reliability Ordering Client Server Lecture 15: Operating Systems and Networks Behzad Bordbar
More informationBasic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet
Basic Networking Concepts 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet 1 1. Introduction -A network can be defined as a group of computers and other devices connected
More informationChakchai So-In, Ph.D.
Application Layer Functionality and Protocols Chakchai So-In, Ph.D. Khon Kaen University Department of Computer Science Faculty of Science, Khon Kaen University 123 Mitaparb Rd., Naimaung, Maung, Khon
More informationCS43: Computer Networks Email. Kevin Webb Swarthmore College September 24, 2015
CS43: Computer Networks Email Kevin Webb Swarthmore College September 24, 2015 Three major components: mail (MUA) mail transfer (MTA) simple mail transfer protocol: SMTP User Agent a.k.a. mail reader composing,
More informationpresentation DAD Distributed Applications Development Cristian Toma
Lecture 5 S2 - Summary of Network Protocols Programming in JSE for Distributed Systems Section 2 presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic
More informationThe TCP/IP Reference Model
The TCP/IP Reference Model The TCP/IP Model Comparison to OSI Model Example Networks The TCP/IP Model Origins from ARPANET, DoD research network ARPA - Advanced Research Projects Agency Reliability was
More informationBuilding a Multi-Threaded Web Server
Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous
More informationChapter 11. User Datagram Protocol (UDP)
Chapter 11 User Datagram Protocol (UDP) The McGraw-Hill Companies, Inc., 2000 1 CONTENTS PROCESS-TO-PROCESS COMMUNICATION USER DATAGRAM CHECKSUM UDP OPERATION USE OF UDP UDP PACKAGE The McGraw-Hill Companies,
More informationFTP and email. Computer Networks. FTP: the file transfer protocol
Computer Networks and email Based on Computer Networking, 4 th Edition by Kurose and Ross : the file transfer protocol transfer file to/from remote host client/ model client: side that initiates transfer
More informationComputer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt
Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt 1 Lecture 10: Application Layer 2 Application Layer Where our applications are running Using services provided by
More informationCommon P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype
Peer to Peer Networks Common P2P Examples Napster Morpheus Gnutella Freenet BitTorrent Skype 1 2 Uses of P2P Client-Server Architecture File sharing Instant messaging Voice communication Collaboration
More informationStreaming Stored Audio & Video
Streaming Stored Audio & Video Streaming stored media: Audio/video file is stored in a server Users request audio/video file on demand. Audio/video is rendered within, say, 10 s after request. Interactivity
More informationBeyond Webcams and Videoconferencing: Informal Video Communication on the Web
Beyond Webcams and Videoconferencing: Informal Video Communication on the Web Nicolas Roussel Laboratoire de Recherche en Informatique - CNRS LRI - Bâtiment 490 - Université Paris-Sud 91405 Orsay Cedex,
More informationNetwork Technologies
Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:
More informationICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A
More informationAdvanced Higher Computing. Computer Networks. Homework Sheets
Advanced Higher Computing Computer Networks Homework Sheets Topic : Network Protocols and Standards. Name the organisation responsible for setting international standards and explain why network standards
More informationMultimedia Communications Voice over IP
Multimedia Communications Voice over IP Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore 560012, India Voice over IP (Real time protocols) Internet Telephony
More informationCPS221 Lecture: Layered Network Architecture
CPS221 Lecture: Layered Network Architecture Objectives last revised 9/10/12 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:
More informationProduct Standard General Interworking: Internet Server
General Interworking: Internet Server The Open Group Copyright August 1998, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,
More informationPort Use and Contention in PlanetLab
Port Use and Contention in PlanetLab Jeff Sedayao Intel Corporation David Mazières Department of Computer Science, NYU PDN 03 016 December 2003 Status: Ongoing Draft. Port Use and Contention in PlanetLab
More informationNetwork Models and Protocols
669-5ch01.fm Page 1 Friday, April 12, 2002 2:01 PM C H A P T E R Network Models and Protocols 1 EXAM OBJECTIVES 1.1 Layered Network Models 1.2 The Layers of the TCP/IP 5-Layer Model 1.3 Network Protocols
More informationA host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.
A firewall is a software- or hardware-based network security system that allows or denies network traffic according to a set of rules. Firewalls can be categorized by their location on the network: A network-based
More informationCape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.
Name: 1. What is an Enterprise network and how does it differ from a WAN? 2.,,,, and are key services that ISPs can provide to all customers. 3. Describe in detail what a managed service that an ISP might
More informationApplication Layer -1- Network Tools
EITF25 Internet: Technology and Applications Application Layer -1- Network Tools 2015, Lecture 08 Kaan Bür Previously on EITF25 Addressing above IP Ports, sockets Process-to-process delivery Transport
More informationThe Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390
The Role and uses of Peer-to-Peer in file-sharing Computer Communication & Distributed Systems EDA 390 Jenny Bengtsson Prarthanaa Khokar jenben@dtek.chalmers.se prarthan@dtek.chalmers.se Gothenburg, May
More information2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)
2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) There are three popular applications for exchanging information. Electronic mail exchanges information between people and file
More informationData Communication Networks Introduction
Data Communication Networks Introduction M. R. Pakravan Department of Electrical Engineering Sharif University of Technology Data Networks 1 Introduction The course introduces the underlying concepts and
More information41376 UDP performing get device status Command Workstation (CWS), Harmony, Bi-directional Driver 8021-8022 TCP/UDP
TCP/IP ports that might be used with Canon office equipment (in alphabetical order) 3/1/2009 Axis Print server. This port is used to identify the status the axis print server. This is performed approx
More informationBuilding Applications With Sockets
C C Building Applications With Sockets Topics & Goals: Sockets mechanism & its use App layer design & implementation principles Building applications using sockets D Sockets: Unifying Transport API Simplify
More informationComputer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
More informationFirst Midterm for ECE374 03/09/12 Solution!!
1 First Midterm for ECE374 03/09/12 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam
More information2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring
2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department
More informationChapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
More informationProtocols and Architecture. Protocol Architecture.
Protocols and Architecture Protocol Architecture. Layered structure of hardware and software to support exchange of data between systems/distributed applications Set of rules for transmission of data between
More informationNetwork-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2
Network-Oriented Software Development Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Topics Layering TCP/IP Layering Internet addresses and port numbers Encapsulation
More informationEvolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:
Evolution of the WWW Communication in the WWW World Wide Web (WWW) Access to linked documents, which are distributed over several computers in the History of the WWW Origin 1989 in the nuclear research
More informationNote! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages
Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages
More informationOct 15, 2004 www.dcs.bbk.ac.uk/~gmagoulas/teaching.html 3. Internet : the vast collection of interconnected networks that all use the TCP/IP protocols
E-Commerce Infrastructure II: the World Wide Web The Internet and the World Wide Web are two separate but related things Oct 15, 2004 www.dcs.bbk.ac.uk/~gmagoulas/teaching.html 1 Outline The Internet and
More informationLecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia
Streaming Media Lecture 33 Streaming Audio & Video April 20, 2005 Classes of applications: streaming stored video/audio streaming live video/audio real-time interactive video/audio Examples: distributed
More informationTransparent Redirection of Network Sockets 1
Transparent Redirection of Network Sockets Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri@ai.uwf.edu.
More information