Kayra Hopkins Loretta Macklem

Slides:



Advertisements
Similar presentations
Client Server. Server Client Model Servers- Wait for requests from clients - Sends requested data to client - May have to communicate with other servers.
Advertisements

MIDDLE EAST TECHNICAL UNIVERSITY COMPUTER ENGINEERING DEPARTMENT CENG 491 – COMPUTER ENGINEERING DESIGN I DSK4BRM.
STUN Date: Speaker: Hui-Hsiung Chung 1.
 As defined in RFC 826 ARP consists of the following messages ■ ARP Request ■ ARP Reply.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Socket Programming.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
Chapter 13 Mobile IP. Outline  ADDRESSING  AGENTS  THREE PHASES  AGENT DISCOVERY  REGISTRATION  DATA TRANSFER  INEFFICIENCY IN MOBILE IP.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persistent chat room Authors: Hazanovitch Evgeny Hazanovitch.
Chapter 29 Structure of Computer Names Domain Names Within an Organization The DNS Client-Server Model The DNS Server Hierarchy Resolving a Name Optimization.
Remote mailbox access gateway Software lab project.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Authentication Advanced Software Engineering (CSE870) Instructor: Dr. B. Cheng Contact info: chengb at cse dot msu dot edu Eduardo Diaz Dan Fiedler Andres.
Proxy Cache Leonid Romanovsky Olga Fomenko Winter 2003 Instructor: Konstantin Sinyuk.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Chapter 18 RADIUS. RADIUS  Remote Authentication Dial-In User Service  Protocol used for communication between NAS and AAA server  Supports authentication,
Copyright 2003 CCNA 1 Chapter 7 TCP/IP Protocol Suite and IP Addressing By Your Name.
FTP. SMS based FTP Introduction Existing System Proposed Solution Block Diagram Hardware and Software Features Benefits Future Scope Conclusion.
Packet Filtering. 2 Objectives Describe packets and packet filtering Explain the approaches to packet filtering Recommend specific filtering rules.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
SOCKS Group: Challenger Member: Lichun Zhan. Agenda Introduction SOCKS v4 SOCKS v5 Summary Conclusion References Questions.
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.
Chapter 4 Networking and the Internet Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) speaker : Wenping Zhang date :
Enabling Embedded Systems to access Internet Resources.
POAD Distributed System Case Study: A Medical Informatics System Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Mobile IP Chapter 19. Introduction Mobile IP is designed to allow portable computers to move from one network to another Associated with wireless technologies.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
Quick Implementation of a WAP Push Gateway Wen-Hung Su Fu Jen Catholic University Computer Science and Information Engineering Department Moblie Communication.
Remote Procedure Calls Adam Smith, Rodrigo Groppa, and Peter Tonner.
What to remember from Chap 13 (Logical architecture)
The Intranet.
Hypertext transfer family of protocols (HTTP, HTTPS, SOAP) CSE 870 Miniproject on Frameworks Advanced Software Engineering Contact: Dr. B. Cheng, chengb.
Reflecting Proxies Mini != Small Jon Babbage Tony Lambert Michael Malinak Paul Middlin CSE870 Advanced Software Engineering, Spring 2001 Instructor: Dr.
Prepared by Emre Aydemir & Arif Çanakoglu CMPE 473 Project
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Client/Server Socket Programming Project
SOCKS By BITSnBYTES (Bhargavi, Maya, Priya, Rajini and Shruti)
Web Services from 10,000 feet Part I Tom Perkins NTPCUG CertSIG XML Web Services.
RIA to visualize the health of a project Team #4 Midterm presentation February 28,2008.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Meeting Scheduling System Capstone Project - Team#5 Fall2007.
Ben - Gurion University Department Of Communication Systems Engineering DNS For Cell Phones Yoav Peer, Eugene Volchek Instructor: Dr. Chen Avin.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
1 Framework Presentation Project Participants: Karun Biyani Manish Mehta Pradeep Vincent CSE870 Advanced Software Engineering, Spring 2001 Instructor:
Introduction To Application Layer
Software Design Refinement Using Design Patterns
The Intranet.
Processes The most important processes used in Web-based systems and their internal organization.
Advanced scheduling and reminders
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Framework Presentation
Working at a Small-to-Medium Business or ISP – Chapter 7
Team Members: Member1, … Spring 2013
POOJA Programmer, CSE Department
AAA: A Survey and a Policy- Based Architecture and Framework
Applications Layer Functionality & Protocols
COMPUTER NETWORKS PRESENTATION
Computer Networks Protocols
Message Passing Systems Version 2
Last Class: Communication in Distributed Systems
Frameworks POP3, IMAP2, IMAP4rev1
Realizing a Peer-to-Peer System using a common API
Message Passing Systems
Presentation transcript:

Kayra Hopkins Loretta Macklem Proxy Protocols SOCKS 4, 4a, and 5 Advanced Software Engineering (CSE870) Instructor: Dr. B. Cheng Contact info: chengb at cse dot msu dot edu Kayra Hopkins Loretta Macklem

Outline Introduction Frameworks Demo Extra Credit Implementation

Introduction SOCKS - an Internet protocol that allows client-server applications to transparently use the services of a network.

SOCKS Protocols SOCKS 4 SOCKS 4a SOCKS 5 No authentication Simple connect and bind connections supported SOCKS 4a Domain resolution SOCKS 5 Authentication plus UDP connection supported

Frameworks Framework - a reusable design for a software system expressed as Set of abstract classes The way their instances collaborate for a specific type of software

Use of Frameworks for SOCKS SOCKS versions have a large amount of common functionality First step was to identify all major common functionality.

Whitebox Commonalities Differences (points of extension) Identify if client or server can access IP requested Creating a connection to a server Receiving messages Forwarding messages Sending reply messages Authentication Differences (points of extension) Parsing the request message Forming the reply message Creating new types of authentication

Whitebox, cont. Design Pattern Iterator Pattern Username/Password Login Domain Resolution Authentication

Whitebox Class Diagram

Magenta is Design Pattern, Green is where user implements functionality, Blue is abstract class

Greybox Changes Authentication is now an interface At the time only one protocol used authentication so we thought it would be the easiest to change for greybox

Red is interfaces, Magenta is Design Pattern, Green is where user implements functionality, Blue is abstract class

Blackbox All extension are done through interfaces

Red is interfaces, Magenta is Design Pattern, Green is where user implements functionality

State Diagram Connected Connection Denied

Demo

Problems We Encountered Figuring out how to get the information from the request messages without having the control loop be changed much Solution - have implementation of parsing the request message have a function which returns an array with all of the needed values to be passed to reply message implementation

What We Learned No comment on whether making a whitebox is easier than making a blackbox Able to identify where we have used frameworks previously without knowing it

Applying Our Framework to MISys Decided to place all patient records on a separate server, apart from the application MISys uses proxy to connect to other server and obtain patient information

Class Diagram   MISys SOCKS Framework

Framework accesses Patient or Appointment Records Makes call to obtain Patient or Appt Records Connects to MISysMainUI class Connects to Iterator Class

MISys Demo

Questions?