Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kayra Hopkins Loretta Macklem

Similar presentations


Presentation on theme: "Kayra Hopkins Loretta Macklem"— Presentation transcript:

1 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

2 Outline Introduction Frameworks Demo Extra Credit Implementation

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

4 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

5 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

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

7 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

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

9 Whitebox Class Diagram

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

11

12 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

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

14 Blackbox All extension are done through interfaces

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

16 State Diagram Connected Connection Denied

17 Demo

18 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

19 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

20 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

21 Class Diagram MISys SOCKS Framework

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

23 MISys Demo

24 Questions?


Download ppt "Kayra Hopkins Loretta Macklem"

Similar presentations


Ads by Google