SSL Tunneling Protocol for Proxies

In these times when security is becoming ever more important the SSL Tunneling Protocol is extremely important, it allows a web proxy server to act as a tunnel for SSL enhanced protocols. The protocol is used when any connected client makes a HTTP request to the proxy server and asks for a SSL tunnel to be initiated.  On the HTTP protocol level, the handshake required to initiate the SSL tunneling connection is simple.  There is little difference to an ordinary HTTP request except that a new ‘Connect’ method is used and the parameter passed is not a full URL but instead a destination port number and hostname separated by a colon.

The port number is always required with ‘CONNECT’ requests because the tunneling method is generic and there is no protocol specified, hence default port numbers cannot be used reliably.  The general syntax for the request is as below ;

CONNECT  <host>:<port> HTTP/1.0

HTTP Request Headers

Empty Line

The successful response would be a connection established message, followed by another empty line. After the successful response the connection will then pass all the data transparently to the destination server and pass through any replies from the server. In practice what is happening is the proxy is validating the initial request, establishes the connection and then takes a step back. After this initial stage the proxy merely forwards data back and forth between the client and the server. If either side closes the connection then the proxy will cause both connections to be closed and no mor tunneling will take place until a new connection is established between the server and client.

The proxy does have the ability to respond to error messages within the SSL tunnel. If this error is generated in the initial stages then the connection will not be established, if it is already connected then the proxy will close the connection after the error response has been sent. However it is important to remember especially where security is important that this SSL tunneling protocol is not specific to SSL and therefore has no in depth security. The tunnelling mechanism used in this instance is a generic one and can in fact be used for any protocol. This means that there is no requirement either for the proxy to support SSL either as the server is merely establishing a connection and then forwarding data without any processing.

Further Reading

BBC Iplayer Ireland – Here’s How you Can Watch

http://www.iplayerabroad.com/bbc-iplayer-ireland/

Virtual LAN – Layer 3 VLAN

The network layer of the OS Protocol stack is often simply known as Layer 3.   It is important for network troubleshooting as it is where routing takes place one level above the data link layer (Layer 2) which is where switching and bridging happens.  A VLAN (virtual LAN) is a subnetwork of an internetwork however it is normally defined using a switched network topology.

So what do we mean by a switched network?  Well simply put it is a series of devices such as computers attached directly to some sort of multiport switching device.  A network switch acts like a connecting medium between the ports which computers are connected to.  In the perfect switching environment each port has only one device connected to it, however in reality it’s likely to be another network device like a bridge or hub which has many more clients indirectly connected to the switch.   The perfect scenario has no conflict between different devices trying to use the same network cable, performance is maximized here because there is no waiting or latency while information is transmitted such as you would get on Ethernet.   Just like the simple VPNs we use across the internet to watch BBC USA whilst hiding your IP address they VLANs segment and protect traffic.

An important reason for segmenting networks initially then connecting them together again using routers is that it minimizes the size of broadcast domains with fewer devices competing for access.  Switched topologies also reduce the level of contention  and many networks have to evolve into large flat switched networks.  If you remove routers though there is a price to pay both in ease of administration and being able to securely manage specific segments or devices.   If you need to retain some sort of topological layout in this scenario, VLANs are probably the only feasible option.

A VLAN restores the advantages of a segmented network to a flat switched network.  Network administrators can use VLANs to create pseudo segments in a open network across the switches.   This is important for creating security segments and managing large networks as the computers which are joined to the VLAN can exists anywhere on the network.  So for example you can create a high security VLAN to connect secured servers together where they can be managed and secured as a group.  These servers can exist on different switches, different ports and across buildings and departments.

The next stage is to take these individual VLANs which connect many groups of computers and extend the model.  Indeed a device can be a member of multiple VLANs and messages can be broadcast to specific devices by sending them to specific VLANs only.    The issue with this setup is that routers still need to transmit packets across these different VLANs, there is still a requirement for data to be transported which can cause contention and performance issues.

Here we see the techniques of Layer 3 switching being useful where a routing algorithm is used to discover the fastest path through the switched network.   Once a destination is actually located, a shorter layer 2 switched path can be used.   This procedure is possible because the VLANS will actually overlay the physical switching fabric of the network.   Obviously there is more to these techniques and indeed the design and construction of efficient switched networks is a large and interesting field.

Further Reading:

John Simmons, american version of Netflix? Galsworthy Publications, 2013

No Comments Networking, Protocols

VPN (Virtual Private Network)

The technology sector is at the moment somewhat confused about what a VPN actually is.   However the confusion is understandable as the VPN has continually evolved over the last few years into a somewhat different networking technology.   In the passed, the VPN could be described as a private network which is able to carry voice and data usually built into existing carrier services.

This is not how a VPN is defined commonly today, it’s probably best to split into the following different definitions.

  • Voice VPN – a single carrier which handle all the voice call switching.  The ‘virtual’ in VPN here implies that a virtual voice switching network has been created within the switching equipment.  This is probably the most dated definition under the concept of traditional carrier based voice vpns.
  • Carrier Based Data VPN – Traditional packet, cell switching and frame networks normally carry data in discrete bundles which are then routed through a complex mesh of networks and switches to their destination. These networks would be shared between many owners and users.   A VPN would be a web of individual virtual circuits which form a virtual private network over another carriers packet-switched network.
  • Internet VPN – this is probably the definition which is most relevant today, similar to the previous carrier based data network.   Here an IP network is the underlying transport and the common medium the shared hardware of the internet.

The internet VPN like this is the most common today probably because it is by far the easiest and cheapest one to set up.   There might not be the same bandwidth and data quality guarantees than a traditional virtual circuit, however the popularity of simple VPN client and server accessible from anywhere in the world is a powerful tool for many reasons.

What’s more the internet VPN can be created and used by almost anyone without exception.  Companies for instance will often install generic VPN client software on their laptops so any employee can dial in to the corporate servers using any internet connection safely and securely.   This means that employees can work remotely from almost any location all they need is a simple internet connection and an account on the VPN server.

A decade ago these were used over simple dial up modems but now most countries have a fairly large internet access infrastructure allowing high speed access from most public places and from home internet connection.   The other advantage is that an internet VPN requires no real investment in hardware apart from the central server.  Users can leverage the internet connection of their ISP or even a hotel wifi access point, a fairly insecure setup but if you connect through a virtual private network then all your data is securely encrypted and protected from prying eyes.

John Hammond

http://www.proxyusa.com/