SlideShare a Scribd company logo
1 of 128
SF-RMR ( http://code.google.com/p/sf-rmr/ ) Port multiplexing Software framework for  rule based  client-server communication (as opposed to standard  port based ). 2010 by Alen Milincevic
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object],[object Object],[object Object]
# listening port for  SF-RMR  socket port  80 # just some rules triggers (IP PORT ID TRIGGER) rule 1 28 . 169 . 1 .1 8 080  HTTP  HEAD rule 1 28 . 169 . 1 .1 8 080  HTTP GET rule 1 28 . 169 . 1 .1 8 080  HTTP  POST rule 1 28 . 169 . 1 .1 8 080  HTTP  OPTIONS rule 12 8 . 169 . 1 .1 9001 UP <U> This creates a  port 80 server socket  to outside world , rerouting HTTP and some other protocol to the real server sockets, 8080 and 9001 respectively. Everything is on the same IP adress in this example.
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
 
advanced work modes
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Socket chaining, filtering
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
 
[object Object]
[object Object]
 
choosing correct protocol rules
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
 
config, rules and limits
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Dynamic rule handling
Static rule handling ,[object Object],[object Object],[object Object]
Dynamic rule handling ,[object Object],[object Object],[object Object],[object Object]
How is it accomplished? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
First line filter class Checks the first protocol line and allows for either prefiltering of data, data validation or sending a generated pre-response, if neccessary. The general format is: import java.io.*; public class Firstlinehandler { public String streamHandle(BufferedReader br) { // The actual handling is done here // result should be either something handeled or null } }
Upstream and downstream filtering This can be used for filtering or more complicated purposes (i.e. logging, monitoring, etc.). General form is: public class FilteringExample { public String streamConvert(String line) { // some conversion or other stuff is done // returns the filtered line } } Prefiler class is used in the same manner.
Dynamic redirection and fallback These can be used in order to handle diynamic redirection (not from the config). General form is: public class RuleHandler { public MultiplexingRelayStream HandleRule(String line) { // Returns either a valid formated redirection destination // or null if invalid (or wished so) } }
Static redirection order 1. first line is waited for 2. first line is evaluated from configuration 3. based on the rule, redirection is performed
Dynamic redirection order 1. first line is waited for ( firstline filter  can be applied) 2. prefiltering is applied ( prefilter  can be applied) 2. first line is evaluated from configuration ( dynamic redirection filter  can be applied) 3. based on the rule, redirection is performed (either static configuration redirecting, or  fallback filter  can be used)
Redirection handling itself 1.  dynamic redirection  is used (if configured) 2.  static configuration  is used,  if  1.  unsuccessfull 3.  fallback redirection  is used,  if  2.  unsuccessfull If neither dynamic redirection, nor fallback redirection are configured, then only the default static redirection from configuration is used (default behaviour).
Connector ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implementing connector ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Rules,options
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
 
executing proceses (socksifying)
[object Object]
Any proces input/output can be redirected over the network, instead being localy bound. This makes it a remote proces, which can be used localy. This brings also an added value, that the proces could be run on a more powerfull machine and/or in a cloud, while the actual input/output data could be presented in a remote location.
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Java system properties
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
These examples apply to original Java, some versions: System property Meaning java.net.preferIPv4Stack Preferered protocol stack, IPv4 instead of IPv6 java.net.preferIPv6Addresses This controls whether IPv6 (true) or IPv4 (false) addresses are used. http.proxyHost the host name of the proxy server http.proxyPort the port number, the default value being 80 http.nonProxyHosts a list of hosts that should be reached directly, bypassing the proxy. socksProxyHost the host name of the SOCKS proxy server socksProxyPort the port number, the default value being 1080
http://download.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/index.html http://download.oracle.com/javase/1.4.2/docs/guide/net/properties.html http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
[object Object],[object Object],[object Object]
 
UDP sockets
What are TCP sockets? ,[object Object],[object Object],[object Object],[object Object],[object Object]
What are UDP sockets? ,[object Object],[object Object],[object Object],[object Object]
UDP versus TCP ,[object Object],[object Object]
Why use UDP? Some protocols heavy depend on it (i.e. video and audio transmissions, time transmissions etc.). Always, when there is no need to transfer 100% of data, but to transfer on time.
How to use UDP? In configuration file, there are local rule options: option Rule_ID isUDP 1  -> this uses UDP instead of TCP on relay side option Rule_ID streamedUDP 0  -> This creates an “UDP stream” client option Rule_ID streamedUDP 8080  -> This would create an “UDP stream” server, which would be listening to UDP port 8080. “ UDP stream” server UDP mode is similar as “reverse TCP” mode, albeit UDP itself is a connection-less protocol, therefore these modes work similar. It only metters towards the relay side, if other applications need one or another.
 
usage scenarios
[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object]
Where can it be downloaded? ,[object Object]

More Related Content

What's hot

第15讲 Stp
第15讲 Stp第15讲 Stp
第15讲 Stp
F.l. Yu
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
Mohd Arif
 

What's hot (20)

Spanning Tree Protocol
Spanning Tree ProtocolSpanning Tree Protocol
Spanning Tree Protocol
 
第15讲 Stp
第15讲 Stp第15讲 Stp
第15讲 Stp
 
Ch21
Ch21Ch21
Ch21
 
LTE RACH Procedure
LTE RACH ProcedureLTE RACH Procedure
LTE RACH Procedure
 
Alp Stp
Alp StpAlp Stp
Alp Stp
 
Lte random-access-procedure
Lte random-access-procedureLte random-access-procedure
Lte random-access-procedure
 
Mobile computing : Indirect TCP
Mobile computing : Indirect TCPMobile computing : Indirect TCP
Mobile computing : Indirect TCP
 
Testing tool for an automated ticketing system
Testing tool for an automated ticketing systemTesting tool for an automated ticketing system
Testing tool for an automated ticketing system
 
SystemC Ports
SystemC PortsSystemC Ports
SystemC Ports
 
FTP & TFTP
FTP & TFTPFTP & TFTP
FTP & TFTP
 
Tcp snoop protocols
Tcp snoop protocols  Tcp snoop protocols
Tcp snoop protocols
 
RACH Procedures
RACH ProceduresRACH Procedures
RACH Procedures
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
Lte rach configuration and capacity
Lte rach configuration and capacityLte rach configuration and capacity
Lte rach configuration and capacity
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
Transaction TCP
Transaction TCPTransaction TCP
Transaction TCP
 
Chap 11
Chap 11Chap 11
Chap 11
 
How STP and RSTP Works
How STP and RSTP WorksHow STP and RSTP Works
How STP and RSTP Works
 
Tftp client server communication
Tftp client server communicationTftp client server communication
Tftp client server communication
 
A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BP...
A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BP...A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BP...
A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BP...
 

Viewers also liked (6)

Big data & hadoop
Big data & hadoopBig data & hadoop
Big data & hadoop
 
Residents past & present
Residents   past & presentResidents   past & present
Residents past & present
 
Catalogo natal
Catalogo natalCatalogo natal
Catalogo natal
 
Dog Pre-Adoption Renovation Project
Dog Pre-Adoption Renovation ProjectDog Pre-Adoption Renovation Project
Dog Pre-Adoption Renovation Project
 
Catalogo natal
Catalogo natalCatalogo natal
Catalogo natal
 
World war 2 powerpoint
World war 2 powerpointWorld war 2 powerpoint
World war 2 powerpoint
 

Similar to Sf rmr - Servicing Forwarding Remote Multiplexing Relay

Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 
Introduction to Thrift
Introduction to ThriftIntroduction to Thrift
Introduction to Thrift
Dvir Volk
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar
 
Point to-point-protocol
Point to-point-protocolPoint to-point-protocol
Point to-point-protocol
amigurumi21
 

Similar to Sf rmr - Servicing Forwarding Remote Multiplexing Relay (20)

weblogic perfomence tuning
weblogic perfomence tuningweblogic perfomence tuning
weblogic perfomence tuning
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Ch09
Ch09Ch09
Ch09
 
XML-RPC and SOAP (April 2003)
XML-RPC and SOAP (April 2003)XML-RPC and SOAP (April 2003)
XML-RPC and SOAP (April 2003)
 
jkljklj
jkljkljjkljklj
jkljklj
 
redGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionredGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solution
 
configuration of switch campus network
configuration of switch campus networkconfiguration of switch campus network
configuration of switch campus network
 
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
 
Bt0072 computer networks 2
Bt0072 computer networks  2Bt0072 computer networks  2
Bt0072 computer networks 2
 
Introduction to Thrift
Introduction to ThriftIntroduction to Thrift
Introduction to Thrift
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
Point to-point-protocol
Point to-point-protocolPoint to-point-protocol
Point to-point-protocol
 
Advanced soa and web services
Advanced soa and web servicesAdvanced soa and web services
Advanced soa and web services
 
Python networking
Python networkingPython networking
Python networking
 
TCP WRAPPERS and XINETD
TCP WRAPPERS and XINETD TCP WRAPPERS and XINETD
TCP WRAPPERS and XINETD
 
Lession2 Xinetd
Lession2 XinetdLession2 Xinetd
Lession2 Xinetd
 
internet protocols
internet protocolsinternet protocols
internet protocols
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
 
Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016
 
QoS Classification on Cisco IOS Router
QoS Classification on Cisco IOS RouterQoS Classification on Cisco IOS Router
QoS Classification on Cisco IOS Router
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Sf rmr - Servicing Forwarding Remote Multiplexing Relay

  • 1. SF-RMR ( http://code.google.com/p/sf-rmr/ ) Port multiplexing Software framework for rule based client-server communication (as opposed to standard port based ). 2010 by Alen Milincevic
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.  
  • 8.
  • 9. # listening port for SF-RMR socket port 80 # just some rules triggers (IP PORT ID TRIGGER) rule 1 28 . 169 . 1 .1 8 080 HTTP HEAD rule 1 28 . 169 . 1 .1 8 080 HTTP GET rule 1 28 . 169 . 1 .1 8 080 HTTP POST rule 1 28 . 169 . 1 .1 8 080 HTTP OPTIONS rule 12 8 . 169 . 1 .1 9001 UP <U> This creates a port 80 server socket to outside world , rerouting HTTP and some other protocol to the real server sockets, 8080 and 9001 respectively. Everything is on the same IP adress in this example.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.  
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.  
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.  
  • 39.
  • 40.
  • 41.  
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.  
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.  
  • 69.
  • 70.
  • 71.
  • 72. First line filter class Checks the first protocol line and allows for either prefiltering of data, data validation or sending a generated pre-response, if neccessary. The general format is: import java.io.*; public class Firstlinehandler { public String streamHandle(BufferedReader br) { // The actual handling is done here // result should be either something handeled or null } }
  • 73. Upstream and downstream filtering This can be used for filtering or more complicated purposes (i.e. logging, monitoring, etc.). General form is: public class FilteringExample { public String streamConvert(String line) { // some conversion or other stuff is done // returns the filtered line } } Prefiler class is used in the same manner.
  • 74. Dynamic redirection and fallback These can be used in order to handle diynamic redirection (not from the config). General form is: public class RuleHandler { public MultiplexingRelayStream HandleRule(String line) { // Returns either a valid formated redirection destination // or null if invalid (or wished so) } }
  • 75. Static redirection order 1. first line is waited for 2. first line is evaluated from configuration 3. based on the rule, redirection is performed
  • 76. Dynamic redirection order 1. first line is waited for ( firstline filter can be applied) 2. prefiltering is applied ( prefilter can be applied) 2. first line is evaluated from configuration ( dynamic redirection filter can be applied) 3. based on the rule, redirection is performed (either static configuration redirecting, or fallback filter can be used)
  • 77. Redirection handling itself 1. dynamic redirection is used (if configured) 2. static configuration is used, if 1. unsuccessfull 3. fallback redirection is used, if 2. unsuccessfull If neither dynamic redirection, nor fallback redirection are configured, then only the default static redirection from configuration is used (default behaviour).
  • 78.
  • 79.
  • 80.  
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.  
  • 95.
  • 96. Any proces input/output can be redirected over the network, instead being localy bound. This makes it a remote proces, which can be used localy. This brings also an added value, that the proces could be run on a more powerfull machine and/or in a cloud, while the actual input/output data could be presented in a remote location.
  • 97.
  • 98.
  • 99.  
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107. These examples apply to original Java, some versions: System property Meaning java.net.preferIPv4Stack Preferered protocol stack, IPv4 instead of IPv6 java.net.preferIPv6Addresses This controls whether IPv6 (true) or IPv4 (false) addresses are used. http.proxyHost the host name of the proxy server http.proxyPort the port number, the default value being 80 http.nonProxyHosts a list of hosts that should be reached directly, bypassing the proxy. socksProxyHost the host name of the SOCKS proxy server socksProxyPort the port number, the default value being 1080
  • 109.
  • 110.  
  • 112.
  • 113.
  • 114.
  • 115. Why use UDP? Some protocols heavy depend on it (i.e. video and audio transmissions, time transmissions etc.). Always, when there is no need to transfer 100% of data, but to transfer on time.
  • 116. How to use UDP? In configuration file, there are local rule options: option Rule_ID isUDP 1 -> this uses UDP instead of TCP on relay side option Rule_ID streamedUDP 0 -> This creates an “UDP stream” client option Rule_ID streamedUDP 8080 -> This would create an “UDP stream” server, which would be listening to UDP port 8080. “ UDP stream” server UDP mode is similar as “reverse TCP” mode, albeit UDP itself is a connection-less protocol, therefore these modes work similar. It only metters towards the relay side, if other applications need one or another.
  • 117.  
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.