TDMA Emulator - logic The implementation of the logic the emulator mainly based on five classes: Users Connections TDMAEmulator Sniffer/ Sender  Use Jpcap:

Slides:



Advertisements
Similar presentations
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Socket Programming 0.
Advertisements

Introduction to Network Analysis and Sniffer Pro
CHATROOM PROJECT Supervised by DAN WITZNER HANSEN Group Members ESWAR EMMADI SURESH KUMAR DONTHA.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
1 L53 Networking (2). 2 OBJECTIVES In this chapter you will learn:  To understand Java networking with URLs, sockets and datagrams.  To implement Java.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Java Socket Support Presentation by: Lijun Yuan Course Number: cs616.
Client Server Model The client machine (or the client process) makes the request for some resource or service, and the server machine (the server process)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture and Protocols Socket Programming Instructor: Dr. Mohamed Hefeeda.
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
VSP Video Station Protocol Presented by : Mittelman Dana Ben-Hamo Revital Ariel Tal Instructor : Sela Guy Presented by : Mittelman Dana Ben-Hamo Revital.
Chat Room Project (IM- E2003) Supervised by : Dan Witzner Hansen Group Member: Xijie Lu Vu Pham To IT University of Copenhagen 23rd Jan.2004.
Layer 2 Switch  Layer 2 Switching is hardware based.  Uses the host's Media Access Control (MAC) address.  Uses Application Specific Integrated Circuits.
Connecting LANs, Backbone Networks, and Virtual LANs
Sockets CIS 370 Fall 2009, UMassD. Introduction  Sockets provide a simple programming interface which is consistent for processes on the same machine.
Socket Programming -What is it ? -Why bother ?. Basic Interface for programming networks at transport level It is communication end point Used for inter.
CSCD433 Advanced Networks Fall 2011 Raw vs. Cooked Sockets.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 12 Communicating over.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
Our Last Class!!  summary  what does the future look like?
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW Networking COMP # 21.
Professor OKAMURA Laboratory. Othman Othman M.M. 1.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
The Socket API Unit – Background 4.2 The Socket Metaphor In IPC
 TCP (Transport Control Protocol) is a connection-oriented protocol that provides a reliable flow of data between two computers.  TCP/IP Stack Application.
Hyung-Min Lee ©Networking Lab., 2001 Chapter 8 ARP and RARP.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
Linux Networking and Security
Othman Othman M.M., Koji Okamura Kyushu University 1.
Chapter 2 Applications and Layered Architectures Sockets.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
L 2 - 1 3( 1/ 20) : Java Network Programming. The Socket API The previous contents describe client-server interaction that application programs use when.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
Queues, Pipes and Sockets. QUEUE A structure with a series of data elements with the first element waiting for an operation Used when an element is not.
Click to edit Master subtitle style
Position of application layer. Application layer duties.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Networking Basics CCNA 1 Chapter 11.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Dynamic Host Configuration Protocol (DHCP)
1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)
Client/Server Socket Programming Project
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Part 4: Network Applications Client-server interaction, example applications.
UNIT-6. Basics of Networking TCP/IP Sockets Simple Client Server program Multiple clients Sending file from Server to Client Parallel search server.
Networking Components Assignment 3 Corbin Watkins.
1 CSCD 330 Network Programming Fall 2013 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright Lecture 8a Application.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
Java’s networking capabilities are declared by the classes and interfaces of package java.net, through which Java offers stream-based communications that.
Cisco Study Guide
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 33 Networking.
Chapter 8 ARP(Address Resolution Protocol)
MCA – 405 Elective –I (A) Java Programming & Technology
ARP and RARP Objectives Chapter 7 Upon completion you will be able to:
Socket Programming Cal Poly Pomona Young CS380.
Computer Communication & Networks
Routing and Switching Essentials v6.0
Network Virtualization
Chapter 15: File System Internals
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Presentation transcript:

TDMA Emulator - logic The implementation of the logic the emulator mainly based on five classes: Users Connections TDMAEmulator Sniffer/ Sender  Use Jpcap: Java class package that allows Java applications to capture and/or send packets to the network. Jpcap is based on libpcap/winpcap and Raw Socket API. Therefore, Jpcap is supposed to work on any OS on which libpcap/winpcap has been implemented

TDMA Emulator – Mode of operation Mode of operation 1: ◦ The emulator enables connections to it, in order for users (clients/servers) to sign in/out ◦ Activated by the user – the emulator listens to both networks traffic, the sniffer chooses the packets destined to the other network (by inspecting the IP address) and passes them along to the Emulator ◦ The emulator queues them in its buffer Mode of operation 2: ◦ Emulator removes packets from the buffer in cyclic order, for each fetched packet it transmits it to the appropriate network (sniffer replaces the Ethernet layer according to IP layer) ◦ Each process of fetching and sending users packets from the buffer is limited with configured time slot, whether the user use it (it has packets) or not the configured time slot must pass before proceeding to the next user in the buffer ◦ Buffer size is constant and configurable, a user gets number of entries according to its priority

Emulator components diagram

Users Manages the list of packets for each user. The class holds user's information, statistics regarding packets sending and the a list of packets that are to be sent. User is identified by IP address and the port that the packets are to be sent from. Users o packets : LinkedList o ID : String o priority : int o averageUsage : double  addPacket  getPacket  updateUsage

Connection Responsible for accepting new members to the system or removing them. Each user should register before using the system. The connection listener can reject a connection if the user is already registered or there is no place for additional users. The listener works till the stopListening function is invoked. Connection o tdma : TDMAEmulator o listener : ServerSocket o connection : Socket  listen  stopListening

TDMAEmulator The managing class of the system. It is responsible for creating connections, initiating sniffers, managing all the users and sending the packets to their destination. TDMAEmulator o clientSniffer : Sniffer o serverSniffer : Sniffer o clientCon : Connection o serverCon : Connection o queue : LinkedList  addPacket  addUser  removeUser  listen  stopListening  transmit  sendPacket

TDMAEmulator (cont.) The class implement the TDMA algorithm by letting one user at a time to use the entire bandwidth for a defined amount of time. Each user is given its time slot even if it doesn't have any information to send. The class holds a queue of users, where for each user it holds a collection of the packets this user wants to send.

Client/Server – Class diagram TDMAobject  connectToEmulator  disconnectFromEmulator HTTPClient  connectToServer  disconnectFromServer  GetHTTP HTTPServer  ListenToClient Server  openFileAndSend  ListenToClient

TDMAobject: A basic object that all the projects inherits from it. Connects/ disconnects from the emulator. HttpClient: Every instance sends requests to one server. Reads the data from the server. Update the results array - the time elapsed from sending a request till all the file received by the client.

Server: A basic Server object that all the servers inherits from it. Sends data to client. The listenToclient method is pure virtual – each type of server implements it differently. HttpServer: Multithreaded server that listens to client requests. Sends the data according to the request. Data is sent according to the servers prio. (num of slots given by the emulator)

Manager: The manager initiates the system according to a configuration file. It manages the client and servers and saves the results. TDMAobject o TDMAobjects. o ResultsArray.  Init  sort_and_exe  CreateFtpClient  CreateFtpServer