What TCP port to use with SeaCat
Introduction
SeaCat requires to specify one TCP port that is eventually used for client-gateway communication. Clients connect to this port to establish TLS channel that is used to exchange requests and related responses. SPDY-based communication protocol is used for traffic in this channel.
SeaCat: Protocol stack
TCP ports reachability
Google performed investigation during WebSocket implementation (late 2009) that showed surprising facts about success rate of client-to-server connections:
- HTTP port 80: 67%
- Custom TCP port (61985): 86%
- HTTPS port 443: 95%
The reason for low HTTP score is that the Internet is today full of proxies and firewalls that are configured to be transparent to HTTP traffic. However, non-HTTP traffic doesn't successfully pass them. Detailed reasoning can be found here: SPDY Essentials presentation from Google at approx. 18th minute of the video.
443 or custom port
SeaCat communication protocol is up to Session layer compatible with HTTPS protocol stack, HTTPS client that connects to SeaCat gateway is politely rejected with no harm on both sides. SeaCat traffic is indistinguishable from HTTPS traffic for intermediates on the network path, and,therefore, it shares the same success rate of connections. For these reasons TCP port 443 is recommended choice for SeaCat.
If for whatever reason you cannot use this port, use any TCP port above 1024 (non-reserved ports). You will likely got little bit worst connection success rate but still useful for practical deployments in common network scenarios.
Need help?
Do you want to review your SeaCat-related design proposal?
Do you have a question we didn’t cover?
Do you want to give some feedback?
Feel free to contact us support@teskalabs.com.
You Might Be Interested in Reading These Articles

A beginner-friendly intro to the Correlator for effective cybersecurity detection
At TeskaLabs, we know that a cybersecurity system is only as effective as its ability to detect threats. That's why we developed a powerful tool that will prove essential in your arsenal: the Correlator.
Published on March 15, 2024

From State Machine to Stateless Microservice
In my last blog post, I wrote about implementing a state machine inside a microservice I call Remote Control that will automate deployments of our products and monitor the cluster. Here I would like to describe how all this was wrong and why I had to rewrite the code completely.
Published on February 15, 2023

What’s The Difference Between Seacat and VPN?
One of the most common questions people asked us is if SeaCat some kind of a VPN? It's not. Virtual Private Network (VPN) extends a private network across a public network, providing secure connectivity from/to a mobile device. Every application on this device, thus now has access to the private network through the channel opened by VPN. This is safe up to a certain level because it is almost impossible to ensure the integrity of every application on the devices. Especially now when there are apps for everything, and users can download them from Google Play and the Apple store.
Published on November 25, 2014