Computer Networks/DV2 Lab
|
|
- Derick Bond
- 5 years ago
- Views:
Transcription
1 Computer Networks/DV2 Lab Room: BB 219 Additional Information: 1. Practical Training: Network planning and installation of a file server 2. Practical Training: Web server installation and dynamic Web pages 3. Practical Training: Installation and configuration of a Firewall 4. Practical Training: Installation of a VPN for the connection of two networks 5. Practical Training: Programming; Client/Server connection over Sockets 6. Practical Training: Network Monitoring Name: Matriculation No.: Supervisor Signature: Equipment for each group: - 1 Server computer (OS: Windows Server 2016 Standard, virtual machine) - 1 Client computer (OS: Windows 7, virtual machine) - 1 Computer as Router / Gateway (OS: Linux) - 1 Switch and network cables Hint: We are using virtual computers for our client and our server operating system. The Software which is running on our physical computer (so called Host-System) is VMware Workstation 12 Player. It has to be considered that each machine (virtual and physical computer) has a specific IP address. 1. Introduction Communication over sockets is a standard technique usually used for platform independent data exchange between applications. In the context of this practical training we will develop a bi-directional communication between two software applications. We will base our communication on the client-server principle and program the sockets needed for it with the help of the programming language Delphi. 2. Client-Server Model The client-server model is one of the ideas around which network computing revolves. It describes the relationship between two computer programs, service providers (i.e. servers) and service requesters, called clients. Usually clients and servers operate on different hardware. Servers most often feature high-performance central processors, more memory, and larger disk drives than clients. A server stores resources such as files, databases, Web sites, and shares them to clients on the network. Contact: Joachim Zumbrägel BB 320 Tel: 0203/ joachim.zumbraegel@uni-due.de Clients are typically computers with network software applications installed, which request and receive information over the network. Due to the growing global communication industry, however, mobile devices are also frequently used as clients in the global mobile network. A client 1 2
2 does not share any of its resources, but requests a server's content or service function. In some cases a given device can function both as a client and a server for the same application. Furthermore, a device that is a server for one application can simultaneously act as a client for a different application, when requesting services from other servers. It is often the case where several browser clients try and access the same Web page on a Web server at the same time (quasi simultaneously). Figure 2.2 shows two different possibilities for port communication between a server and several client applications. Either each client communicates over a different port with the server or a single port is made available for all clients. Client 1 Port 1 Client X Port Z Request Port N Server providing resources and/or services Response Client N Server Client Y Fig. 2.2: Client-Server communication over several and over one dedicated ports Server Client Devices Fig. 2.1: Client-Server Communication Figure 2.1 illustrates the basic idea of the client-server communication model. The server takes care of services and resources being available to the requesting clients. The clients request and make use of the provided data by the server. The number of clients to the server is unknown, however it could be limited in order to prevent storage capacity deficiency or reduce the processing load, therefore increasing the server s performance. Usually several clients' applications try to access the same service on a single server. Let us take the application of a Web server as an example. Communication over several ports is impractical and uncommon. Rather, it is customary for standardized network services such as FTP, Mail and HTTP to be assigned a fixed port. IANA (Internet Assigned Number Authority) declared that ports from 0 to 1023 are reserved for such services, while dynamic and/or private ports are in the range of to Reserved ports (0-1023) are often targets of hacker attacks, because the services they provide are running under special rights (i.e. Super-User rights under LINUX). 3. Internet Sockets Fundamentals An internet socket is the endpoint of a bidirectional communication flow across a TCP/IP computer network. It is the interface to the network s transport layer (layer 4 in the ISO/OSI model). 3 4
3 When a client connects to a server, a new internet socket is created on each end. Each socket is mapped by the OS to a communicating application process. Both sockets would deliver incoming data packets to the appropriate application process, based on a combination of local and remote IP addresses and port numbers. An Internet socket is characterized by a unique combination of: Protocol (used to establish the communication) Local socket address (Local IP address and port number) Remote socket address (Remote IP address and port number) A socket address is the combination of an IP address and a port into a single identity. When several clients connect to a server concurrently, the server creates one socket for each client, and these sockets share the same local socket address (the server's socket address). However, each of these sockets is considered different by the server's OS, since the remote socket address defined by each client is different. The client s operating system manages the source port and makes sure the built socket address is unique. Therefore, neither the user nor the programmer has to take care about the socket address when a client connects to a server, because unique dedicated sockets are created for each connection. Within the operating system and the application that created a socket, the socket is referred to by a unique integer number called socket number. Communicating local and remote sockets are called socket pairs. Each socket pair is describes by 5 elements (on both local and remote sides), which make it unique. These five parameters are: Protocol (used in the communication) Source IP address Local Socket Address Source port Destination IP Address Remote Socket Address Destination port The following parameters (3 for source and 3 for destination) define one endpoint of the socket pair connection: [Protocol; Local Address; Local port] together with [Protocol; Remote Address; Remote port]. When each application process defines its own endpoint, a connection is established by use of the socket functions. With a connected socket structure, data exchange is feasible. Activating Port 1. Listening on port Creating new connection 2. Assignment of a new Socket 3. Communication over Socket # 1 Communication over Socket # 2 Communication over Socket # N Fig 3.1: Server communication over single port Figure 3.1 illustrates the server communication with clients over a single dedicated port. First the server activates a port (step 1). Then if the client wants to exchange data with the server, a new socket is created and 5 6
4 assigned to that connection (step 2). Another connection could be subsequently established on that port. Communication is now accomplished through the assigned socket (step 3). There are two different types of sockets. The choice of the socket type automatically specifies the kind of data exchange: Stream sockets are connection-oriented and reliable. Connection-oriented implies that a fixed connection is established, between the two application processes involved (similar to a dedicated line), over which data can flow in both directions. The created connection remains until one of the application processes ends it. Data is transported over the connection in the form of a continuous byte stream. Reliable, because the arrival of data sent over a stream socket to a certain destination is guaranteed. Moreover, the data should arrive in the same order it was sent. Stream sockets are often called TCP sockets. Datagram Sockets are connectionless and not reliable. Connectionless, because no fixed connection between the two application processes involved is established. Data is sent in the form of packets. Since no connection to the destination socket exists, its address must be explicitly indicated. Not reliable suggests that only sending the packet is guaranteed, but not that it will actually reach its destination. Datagram sockets are often called UDP sockets. 4. Socket programming under Windows Any operating system nowadays, provides protocols and the operating software required for them to realize data transfer over different networks. Therefore, the software developer does not have to create the commanding software for the internet protocols, when he wants to write an application transmitting data over the Internet. Software development is not limited to a certain platform or operating system. The source code of an application could be compiled under different operating systems. This applies to Internet applications, as well. For example, the company Netscape developed an Internet browser that works for both the Unix/Linux operating systems, Mac OS and the Microsoft Windows OS. Access to the commanding software for the internet protocols for UNIX is made possible through the BSD Socket API (Berkeley Software Distribution Socket Application Programming Interface). Applications do not access the actual protocol software rather the transmitted data is handed over to the socket, which forms an interface to the Internet. This uniform programming interface gives the software developer the protocol functions independent of the implemented protocol stack. To access an internet application the socket uniform interface comes into play instead of assigned protocol stacks like TCP/IP or SPX/IPX. When Microsoft equipped its operating system Windows with Internet access functions, the BSD Socket API was included, so that Internet applications could be easily imported to the Windows platform. This API was extended to comprise Windows specific functions and is called WinSock API, or simply WinSock. To this date there are two WinSock specifications: Version 1.x, a 16-Bit implementation for Windows 3.11, Windows 95,Windows NT 3.51,Windows NT 4. Version 2.x, a 32-Bit implementation for Windows NT/2000/XP and as an update for Windows 95/98 Both versions are placed against each other in Figure 4.1. It shows the Windows Open Service Architecture (WOSA) and clarifies the interfaces of the WinSock architecture. The WinSock 2 API is an interface for upper applications. It provides application developers with a uniform specification, therefore allowing programmers to develop applications without specific knowledge of the underlying network protocols. The interface to the protocol software is called WinSock 2 SPI (Service Provider Interface). The file "ws2_32.dll" offers the application interface under the Windows OS. Below the protocol software, the hardware driver API is located. It allows access to the hardware driver and the network. 7 8
5 Since the Windows APIs are written in the "C" programming language, the Visual Component LIBRARY (VCL) will be used for socket development under Delphi. The VCL encapsulates the WinSock functions. Because of that socket encapsulation, programming socket applications with Delphi is much simpler than with classical "C" programming. WinSock 1.1 API Protocol Stack API WinSock 1.1 Application Anwendung winsock.dll (16 bit) wsock32.dll (32 bit) WinSock 2 Application Anwendung ws2_32.dll (32 bit) WinSock 2 API WinSock 2 SPI 5. Socket programming with Delphi Delphi is a powerful visual programming environment. It allows development of fastidious applications for the MS Windows operating systems. Its syntax is similar to the programming language Pascal. Since most of you have little or no experience with the Delphi programming language, we will give you a small introduction before the actual tasks of this practical training. As previously mentioned Delphi encapsulates the WinSock functions. It has predefined components (TClientSocket, TServerSocket), which contain the functionality of a client socket and a server socket. The way to handle such components is not complex. Delphi is based on the principle of a working surface called form, on which different type of graphic and non-graphic components can be placed. The components are selected from register cards and placed via left mouse-click on the form. Protocol Protokollsoftware e.g. z.b. TCP/IP Hardware Driver API Hardware Driver, Packet Driver Hardware Interface Network (Hardware) Interface Network Netzwerk Fig. 4.1: WinSock Architecture Form Internet register card ClientSocket Component Fig. 5.1: Delphi interface ServerSocket Component This procedure applies to all components. Moreover, each of them has a variety of characteristics, which can be manipulated during the development time. Another aspect of these components is the events connected to them. 9 10
6 For example, a switching surface possesses the event OnClick. That is, if a button is clicked at run time, the procedure assigned to the OnClick event of this switching surface is called in. Figure 5.2 shows the form of our example code, which is used to explain the general working process of the client-server communication. Apart from the components - Client socket and Server socket, the form contains a Verbinden and Listen buttons. Server Open a socket (socket) Name the socket (bind) Client Open a socket (socket) Listen for incoming client connections (listen) Connect to sever (connect) Fig. 5.2: Form of our example code Individual steps are described through the source code. In order to make the methods, procedures and characteristics of the socket communication available, we have to select the Server socket and Client socket components from the register card Internet and place them on the form. Figure 5.3 describes the sequence of the client-server socket communication. First a receiving port must be open on the server side. Opening the server socket with Delphi is accomplished as follows: At first we create a button on the form and name it Listen. By clicking on that button the procedure ListenClick, which assigns and activates a port for the server socket component, is called in. Because each Server socket component can administrate only one port, a separate component must be created on the form for each port. Accept client connections (accept) Send / Receive Data (send / receive) Close connection (close) Send / Receive Data (send / receive) Close connection (close) Fig. 5.3: Sequence of client-server socket communication 11 12
7 procedure TForm1.ListenClick(Sender: TObject); ServerSocket.Port := 1111; ServerSocket.Open; Afterwards a connection between client and server can be established. For the client application we place a button on the form named Verbinden, which calls in the procedure VerbindenClick if the button is pressed. In this procedure the client socket can be configured with required data. procedure TForm1.VerbindenClick(Sender: TObject); ClientSocket1.Address := ; ClientSocket1.Port := 1111; ClientSocket1.Open; After the creation of a new socket on the server side (in response to a Client s connection request), the Client socket confirms the connection to the new server socket; for this purpose the event OnConnect and therefore the function ClientSocket1Connect is called in on the client socket. By use of this function we can send data to the server (here we send the test message "Hallo"), Procedure TForm1.ClientSocket1Connect(Sender: ClientSocket1.Socket.SendText( Hallo ); Since the socket is used as a parameter for the connection handed over, the following procedure has the same effect: procedure TForm1.ClientSocket1Connect(Sender: Socket.SendText( Hallo ); (1) (3) (2) (3) This way of writing code has the advantage that the event procedures can be used by several components, since the instructions do not depend on the component s name. More explanation will be given during the practical training. If the data sent by the client socket reaches the server socket, the event "OnClientRead" and therefore the function "ServerSocket1ClientRead" of the server socket component occurs. procedure TForm1.ServerSocket1ClientRead(Sender: var EmpfangenerText : string; EmpfangenerText := ServerSocket1.Socket. Connections[0].ReceiveText; The variable EmpfangerText contains the text received by the server socket and could be used for further processing. Even here the function ServerSocket1ClientRead receives as parameter the socket, which triggers the event. For that reason the following function has the same effect: procedure TForm1.ServerSocket1ClientRead(Sender: var EmpfangenerText : string; EmpfangenerText := Socket.ReceiveText; This way of writing code has the advantage that the server component is not limited to a connection and can process several clients. If the client socket writes onto the socket connection, the event OnWrite occurs. If all data is transferred to the server, the socket can be closed. procedure TForm1.ClientSocket1Write(Sender: ClientSocket1.Close; (5) (4) (4) 13 14
8 The instructions in the procedure can be formulated as follows: procedure TForm1.ClientSocket1Write(Sender: Socket.Close; (5) 6. Exercises Before we concern ourselves with the actual tasks, we will first look at two sample applications created with Delphi. Proceed as follows: Start Delphi on the server and the client (Start Programs Borland Delphi 7 Delphi 7) After Delphi loads navigate to File Open On the server navigate to and open the project located in: D:\netlab\P5\Server\server.dpr On the client navigate to and open the project located in: D:\netlab\P5\Client\client.dpr Press the F9 key. The following windows should appear on the client and server machines respectively. 1. Try to establish a connection between the two sample applications. Consider the order, in which the applications should be run and also mind the attributes you should input. Remark: Before we carry on with the actual tasks, the Delphi programming environment and the sample programs will be described, which should help you in the solutions of the upcoming tasks. 2. Extend the client application in such a way, that it sends automatically the string "Client Request" immediately after the connection to the server is established. 3. Extend the server application in such a way, that it sends automatically the string Server answer back to the client application when it receives the string "Client Request" from it. 4. Further extend the server application in such a way, that it accepts and keeps connections ONLY from your client computer. All other clients should receive the string "Service not available" as answer upon connection try-out and should not be able to communicate further with the server application
9 Notes: Literature: W.Richard Stevens: Unix Network Programming V (Volume 1), Prentice-Hall, shows how to program sockets in C. 17
Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API
Network Programming Outline Definitions Dr. Thaier Hayajneh Computer Engineering Department Berkeley API Socket definition and types Introduction to Sockets 1 2 Process Process Process Layer TCP SCTP UDP
More informationComputer Networks/DV2 Lab
Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://www.fb9dv.uni-duisburg.de/ti/en/education/teaching/ss18/netlab 1. Practical Training: Network planning and installation of a file server
More informationComputer Networks Lab
Computer Networks Lab Room: BB 219 Additional Information: http://ti.uni-due.de/ti/en/education/teaching/ss18/netlab 1. Practical Training: Network planning and installation of a file server 2. Practical
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 informationJAVA SOCKET PROGRAMMING
JAVA SOCKET PROGRAMMING WHAT IS A SOCKET? Socket The combination of an IP address and a port number. (RFC 793 original TCP specification) The name of the Berkeley-derived application programming interfaces
More informationComputer Communication Networks Socket Programming
Computer Communication Networks Socket Programming ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Application Programming Interface Interface exported by the network Since most network protocols are implemented
More informationIEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services
IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services Lecture 7 - Network Programming Albert Au Yeung 18th October, 2018 1 / 48 Computer Networking 2 / 48 Data Communication Exchange
More informationPresentation Services. Presentation Services: Motivation
Presentation Services need for a presentation services ASN.1 declaring data type encoding data types implementation issues reading: Tannenbaum 7.3.2 Presentation Services: Motivation Question: suppose
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 informationIntroduction to Computer Networks. CS 166: Introduction to Computer Systems Security
Introduction to Computer Networks CS 166: Introduction to Computer Systems Security Network Communication Communication in modern networks is characterized by the following fundamental principles Packet
More informationWe will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2
CSE 422 Notes, Set 2 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5 th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures
More informationC18: Network Fundamentals and Reliable Sockets
CISC 3120 C18: Network Fundamentals and Reliable Sockets Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/16/2018 CUNY Brooklyn College 1 Outline Networking fundamentals Network
More informationIT 341: Introduction to System
IT 341: Introduction to System Administration Private IP Addresses and the Internet Using IP Addresses to Communicate Over the Internet Network Address Translation Private IP Addresses and the Internet
More informationUnix Network Programming
Unix Network Programming Remote Communication Dr Hamed Vahdat-Nejad Network Applications Types: Client Server Exampels: A web browser (client) Ap communicating with a Web server An FTP client Fetching
More informationC19: User Datagram and Multicast
CISC 3120 C19: User Datagram and Multicast Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/18/2018 CUNY Brooklyn College 1 Outline Recap Network fundamentals IPv4, IPv6 addresses
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 informationA Study on Intrusion Detection Techniques in a TCP/IP Environment
A Study on Intrusion Detection Techniques in a TCP/IP Environment C. A. Voglis and S. A. Paschos Department of Computer Science University of Ioannina GREECE Abstract: The TCP/IP protocol suite is the
More informationLecture 2. Outline. Layering and Protocols. Network Architecture. Layering and Protocols. Layering and Protocols. Chapter 1 - Foundation
Lecture 2 Outline Wireshark Project 1 posted, due in a week Lab from a different textbook Work through the lab and answer questions at the end Chapter 1 - Foundation 1.1 Applications 1.2 Requirements 1.3
More informationApplication Programming Interfaces
Application Programming Interfaces The TCP/IP protocol suite provides only the protocols that can be used by processes to communicate across a network. Though standarized, how these protocols are implemented
More informationOBJECT ORIENTED PROGRAMMING
1 OBJECT ORIENTED PROGRAMMING Lecture 14 Networking Basics Outline 2 Networking Basics Socket IP Address DNS Client/Server Networking Class & Interface URL Demonstrating URL Networking 3 Java is practically
More informationTCP and Concurrency. The third assignment at DA
TCP and Concurrency The third assignment at DA2402 2009-03-05 Jonas Lundberg/Ola Flygt adapted to Java by Marcus Edvinsson maintained by Marcus Edvinsson Matematiska och systemtekniska institutionen, MSI
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 informationOutline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems
Outline CSCI 4061 Introduction to Operating Systems ing Overview Layering and Protocols TCP/IP Protocol Family Client-Server Model Instructor: Abhishek Chandra 2 Inter-Process Communication Intra-node:
More informationJoseph Faber Wonderful Talking Machine (1845)
Joseph Faber Wonderful Talking Machine (1845) Connected World Human-to-Human communication Human-Machine interaction Machine-to-Machine communication (M2M) Internet-of-Things (IOT) Internet of Things How
More informationLab - Using Wireshark to Examine a UDP DNS Capture
Topology Objectives Part 1: Record a PC s IP Configuration Information Part 2: Use Wireshark to Capture DNS Queries and Responses Part 3: Analyze Captured DNS or UDP Packets Background / Scenario If you
More informationBITS-Pilani Hyderabad Campus
BITS-Pilani Hyderabad Campus CS C461/IS C461/CS F303/ IS F303 (Computer Networks) Laboratory 4 Aim: To give an introduction to Socket Programming in TCP and UDP. TCP Socket Programming: A socket is the
More informationAvaya Port Matrix: Avaya Proprietary Use pursuant to the terms of your signed agreement or Avaya policy.
Avaya Matrix: Release 3.0 Issue 2 April 2016 April 2016 Avaya Matrix: 3.0 1 ALL INFORMATION IS BELIEVED TO BE CORRECT AT THE TIME OF PUBLICATION AND IS PROVIDED "AS IS". AVAYA INC. DISCLAIMS ALL WARRANTIES,
More informationLab - Using Wireshark to Examine a UDP DNS Capture
Topology Objectives Part 1: Record a PC s IP Configuration Information Part 2: Use Wireshark to Capture DNS Queries and Responses Part 3: Analyze Captured DNS or UDP Packets Background / Scenario If you
More informationSignificance of TCP/IP Model Divya Shree Assistant Professor (Resource Person), Department of computer science and engineering, UIET, MDU, Rohtak
Significance of TCP/IP Model Divya Shree Assistant Professor (Resource Person), Department of computer science and engineering, UIET, MDU, Rohtak Abstract: TCP/IP (Transmission Control Protocol/Internet
More informationCSE 461 Connections. David Wetherall
CSE 461 Connections David Wetherall djw@cs.washington.edu Connections Focus How do we (reliably) connect processes? This is the transport layer Topics Naming processes TCP / UDP Connection setup / teardown
More information03 The Internet Model and TCP/IP
SE 4C03 Winter 2003 03 The Internet Model and TCP/IP Instructor: W. M. Farmer Revised: 16 January 2003 1 The OSI Model In 1977 the International Standards Organization (ISO) offered the Open Systems Interconnection
More informationTransport Layer (TCP/UDP)
Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides
More informationIntroduction to the TCP/IP protocol suite
Introduction to the TCP/IP protocol suite slide 1 TCP/IP has been around for longer than the ISO OSI 7 layer model the ISO OSI 7 layer model is useful as a reference model for explaining the function of
More informationISO OSI 7 Layer model and the TCP/IP protocol stack. Introduction to the TCP/IP protocol suite. Networking Glossary
slide Introduction to the TCP/IP protocol suite slide 2 ISO OSI 7 Layer model and the TCP/IP protocol stack TCP/IP has been around for longer than the ISO OSI 7layer model there is not an exact match between
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 informationCOMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)
COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure
More informationBusiness Data Networks and Security 10th Edition by Panko Test Bank
Business Data Networks and Security 10th Edition by Panko Test Bank Chapter 2 Network Standards 1) Internet standards are published as. A) RFCs B) IETFs C) TCP/IPs D) Internet Protocols Question: 1a Objective:
More informationA Technical Overview of the Lucent Managed Firewall
Lucent Managed Version 2.0 A Technical Overview of the Lucent Managed This document provides a technical overview of the Lucent Managed architecture. Key technical features and potential application scenarios
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 informationHistory of TCP/IP and Internet (continued) TCP/IP. History of TCP/IP and Internet. History of TCP/IP and Internet
History of TCP/IP and Internet (continued) slide 3 TCP/IP slide 1 DARPA was the main funding agency for packet-switched research in the USA DOD began working on the Internet in the mid 1970s design a protocol
More information4. The transport layer
4.1 The port number One of the most important information contained in the header of a segment are the destination and the source port numbers. The port numbers are necessary to identify the application
More informationHomework 4 assignment for ECE374 Posted: 04/06/15 Due: 04/13/15
ECE374: Homework 4 1 Homework 4 assignment for ECE374 Posted: 04/06/15 Due: 04/13/15 Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can
More informationDefining Networks with the OSI Model. Module 2
Defining Networks with the OSI Model Module 2 Objectives Skills Concepts Objective Domain Description Objective Domain Number Understanding OSI Basics Defining the Communications Subnetwork Defining the
More informationCommunication in Distributed Systems: Sockets Programming. Operating Systems
Communication in Distributed Systems: Sockets Programming Operating Systems TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets
More informationComputer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks
Outline: Computer Networks Introduction General course information. Some basic concepts for computer s. Network programming. General Course Information Course Web page http://www.cs.rochester.edu/~kshen/csc257-fall2009
More informationNetworks and distributed computing
Networks and distributed computing Abstractions provided for networks network card has fixed MAC address -> deliver message to computer on LAN -> machine-to-machine communication -> unordered messages
More informationMeasuring MPLS overhead
Measuring MPLS overhead A. Pescapè +*, S. P. Romano +, M. Esposito +*, S. Avallone +, G. Ventre +* * ITEM - Laboratorio Nazionale CINI per l Informatica e la Telematica Multimediali Via Diocleziano, 328
More informationA Client-Server Exchange
Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends
More informationNetwork Protocols - Revision
Network Protocols - Revision Luke Anderson luke@lukeanderson.com.au 18 th May 2018 University Of Sydney Overview 1. The Layers 1.1 OSI Model 1.2 Layer 1: Physical 1.3 Layer 2: Data Link MAC Addresses 1.4
More informationFigure 1: Graphical representation of a client-server application
CS/EE 145a : Networking Lab #1 http://www.its.caltech.edu/ eecs145/ Due: October 24, 2007 1 Introduction The development of network-based software has been around for many years. Since its conception,
More information(Refer Slide Time: 1:09)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion
More informationCPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014
CPEG514 Advanced Computer Networks Atef Abu Salim University of Nizwa Spring 2013/2014 Today s Class Topics Course Syllabus Computer Networks LANs and WANs The Internet Protocols, Layers and Interfaces
More informationDifferent Layers Lecture 21
Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts
More informationLecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport
Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. opens a TCP transport session
More informationClient-Server Interaction and Network Applications
CPSC 360 Network Programming Client-Server Interaction and Network Applications Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu January 21, 2005 http://www.cs.clemson.edu/~mweigle/courses/cpsc360
More informationEE 610 Part 2: Encapsulation and network utilities
EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems
More informationCPS221 Lecture: Layered Network Architecture
CPS221 Lecture: Layered Network Architecture Objectives last revised 9/8/14 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:
More informationUser Datagram Protocol UDP
59 User Datagram Protocol UDP Aleksander Malinowski Bradley University Bogdan M. Wilamowski Auburn University 59.1 Introduction... 59-1 59.2 Protocol Operation... 59-1 UDP Datagram Port Number Assignments
More informationTransport Layer. Chapter 3: Transport Layer
Transport Layer EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 29-Jan-18 1-1 Chapter 3: Transport Layer our goals: understand principles behind layer services: multiplexing,
More informationEECS122 Communications Networks Socket Programming. Jörn Altmann
EECS122 Communications Networks Socket Programming Jörn Altmann Questions that will be Addressed During the Lecture What mechanisms are available for a programmer who writes network applications? How to
More informationSystem Programming. Introduction to computer networks
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 Introduction to Computer
More informationCSCD 330 Network Programming Spring 2018
CSCD 330 Network Programming Spring 2018 Lecture 6 Application Layer Socket Programming in Java Reading for Java Client/Server see Relevant Links Some Material in these slides from J.F Kurose and K.W.
More informationWhat is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network.
What is a Network? TCP / IP Computer network a set of computers using common protocols to communicate over connecting transmission media. Protocol a formal description of message formats and the rules
More informationTCP/IP THE TCP/IP ARCHITECTURE
TCP/IP-1 The Internet Protocol (IP) enables communications across a vast and heterogeneous collection of networks that are based on different technologies. Any host computer that is connected to the Internet
More informationCS 351 Design of Large Programs Java and Socket Communication
CS 351 Design of Large Programs Java and Socket Communication Instructor: Joel Castellanos e-mail: joel@unm.edu 4/6/2017 Transmission Control Protocol The Transmission Control Protocol (TCP) is one of
More informationCCNA 1 Chapter 7 v5.0 Exam Answers 2013
CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the
More informationSOCKET. Valerio Di Valerio
SOCKET Valerio Di Valerio The Problem! Communication between computers connected to a network Network Network applications! A set of processes distributed over a network that communicate via messages!
More information3.2 COMMUNICATION AND INTERNET TECHNOLOGIES
3.2 COMMUNICATION AND INTERNET TECHNOLOGIES 3.2.1 PROTOCOLS PROTOCOL Protocol a set of rules governing the way that devices communicate with each other. With networks and the Internet, we need to allow
More informationChapter 6. The Protocol TCP/IP. Introduction to Protocols
Chapter 6 The Protocol TCP/IP 1 Introduction to Protocols A protocol is a set of rules that governs the communications between computers on a network. These rules include guidelines that regulate the following
More informationLab 1: Packet Sniffing and Wireshark
Lab 1: Packet Sniffing and Wireshark Fengwei Zhang Wayne State University Course: Cyber Security Practice 1 Packet Sniffer Packet sniffer is a basic tool for observing network packet exchanges in a computer
More informationUNIT 5 MANAGING COMPUTER NETWORKS LEVEL 3 NETWORK PROTOCOLS
UNIT 5 MANAGING COMPUTER NETWORKS LEVEL 3 NETWORK PROTOCOLS NETWORK PROTOCOLS A network manager needs to be aware of a number of different protocols, especially those that exist in the Application Layer
More information19: Networking. Networking Hardware. Mark Handley
19: Networking Mark Handley Networking Hardware Lots of different hardware: Modem byte at a time, FDDI, SONET packet at a time ATM (including some DSL) 53-byte cell at a time Reality is that most networking
More informationChapter 11. User Datagram Protocol (UDP)
Chapter 11 User Datagram Protocol (UDP) Outline Process-to-process communication User datagram Checksum UDP operation Use of UDP UDP package Figure 11-1 Position of UDP in the TCP/IP Protocol Suite The
More informationCS164 Final Exam Winter 2013
CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect
More informationA set of processes distributed over a network that communicate via messages. Processes communicate via services offered by the operating system
SOCKET Network applications A set of processes distributed over a network that communicate via messages Ex: Browser Web, BitTorrent, ecc Processes communicate via services offered by the operating system
More informationOSI and TCP/IP Models
EECS 3214 Department of Electrical Engineering & Computer Science York University 18-01-08 12:12 1 OSI and / Models 2 1 / Encapsula5on (Packet) (Frame) 3 / Model and Example Protocols A list of protocols
More informationThe Fundamentals. Port Assignments. Common Protocols. Data Encapsulation. Protocol Communication. Tevfik Ko!ar
CSC 4304 - Systems Programming Fall 2008 Lecture - XXII Network Programming Tevfik Ko!ar Louisiana State University December 2 nd, 2008 1 The Fundamentals The Computer Systems Research Group (CSRG) at
More informationInternet Architecture
Internet Architecture Lecture 3: How TCP/IP Works & Understanding the Internet's Software Structure Assistant Teacher Samraa Adnan Al-Asadi 1 How TCP/IP Works Packet: A piece of data broken down into pieces
More informationJAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication
JAVA Network API To be discussed 1 - java.net... 1 2 - Connection-Oriented vs. Connectionless Communication... 1 3 - Connectionless:... 1 4 - Networking Protocols... 2 5 - Sockets... 2 6 - Multicast Addressing...
More informationb) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.
Objectives CPS221 Lecture: Layered Network Architecture last revised 6/22/10 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:
More informationAvaya Port Matrix: Avaya Aura Appliance Virtualization Platform 7.0
Avaya Port Matrix: Avaya Aura Appliance Virtualization Platform 7.0 Issue 1.0 August 24, 2015 August 2015 Avaya Port Matrix: Avaya Aura Appliance Virtualization Platform 7.0 1 ALL INFORMATION IS BELIEVED
More informationAdvanced Java Programming. Networking
Advanced Java Programming Networking Eran Werner and Ohad Barzilay Tel-Aviv University Advanced Java Programming, Spring 2006 1 Overview of networking Advanced Java Programming, Spring 2006 2 TCP/IP protocol
More informationTransport Layer. Gursharan Singh Tatla. Upendra Sharma. 1
Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message
More informationOSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1
OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role
More information4.0.1 CHAPTER INTRODUCTION
4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,
More informationCS 326: Operating Systems. Networking. Lecture 17
CS 326: Operating Systems Networking Lecture 17 Today s Schedule Project 3 Overview, Q&A Networking Basics Messaging 4/23/18 CS 326: Operating Systems 2 Today s Schedule Project 3 Overview, Q&A Networking
More informationOperating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,
More informationIntroduction to Sockets 9/25/14
Introduction to Sockets 9/25/14 81 Remote communication Inter-process communication is at the heart of all distributed systems Using the network protocol stack on a node is the only way to communicate
More informationChapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control
Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside
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 informationApplication Note. Providing Secure Remote Access to Industrial Control Systems Using McAfee Firewall Enterprise (Sidewinder )
Application Note Providing Secure Remote Access to Industrial Control Systems Using McAfee Firewall Enterprise (Sidewinder ) This document describes how to configure McAfee Firewall Enterprise to provide
More informationCyberP3i Course Module Series
CyberP3i Course Module Series Spring 2017 Designer: Dr. Lixin Wang, Associate Professor Firewall Configuration Firewall Configuration Learning Objectives 1. Be familiar with firewalls and types of firewalls
More informationUNIT 1 TCP/IP PROGRAMMING CONCEPTS
UNIT 1 TCP/IP PROGRAMMING CONCEPTS TCP/IP Programming Concepts Structure Page Nos. 1.0 Introduction 5 1.1 Objectives 5 1.2 Client Server Communication 6 1.2.1 Designing Client/Server Programs 7 1.2.2 Socket
More informationContinuous Real Time Data Transfer with UDP/IP
Continuous Real Time Data Transfer with UDP/IP 1 Emil Farkas and 2 Iuliu Szekely 1 Wiener Strasse 27 Leopoldsdorf I. M., A-2285, Austria, farkas_emil@yahoo.com 2 Transilvania University of Brasov, Eroilor
More informationApplication Rules - Allows the users to add or modify or remove Custom ruleset for firewall settings.
Application Rules - Allows the users to add or modify or remove Custom ruleset for firewall settings. Step [1]: Go to Endpoint Manager> CONFIGURATION TEMPLATES > Profiles Step [2]: Click Create icon and
More informationNetworking and socket communica2on
Networking and socket communica2on CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2014 Networking basics Overview Difference between: clients and servers Addressing IP addresses,
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 informationPART IV. Internetworking Using TCP/IP
PART IV Internetworking Using TCP/IP Internet architecture, addressing, binding, encapsulation, and protocols in the TCP/IP suite Chapters 20 Internetworking: Concepts, Architecture, and Protocols 21 IP:
More informationQUIZ: Longest Matching Prefix
QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22
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 information