tcping | Ping look-alike that uses TCP SYN packets | Networking library
kandi X-RAY | tcping Summary
kandi X-RAY | tcping Summary
Ping look-alike that uses TCP SYN packets to get around firewalls and ICMP blackholes. tcpping is a quick utility designed to emulate standard 'ping' in nearly every meaningful way and only diverge when necessary. It sends out forged TCP SYN packets and listens for a SYN/ACK or RST from the server or intermediary. It counts and reports on these results using an interface that is nearly identical to standard UNIX ping. --- Why Use Instead of Ping -------------------------------------------------. On the global Internet, some routers or systems will firewall ICMP messages while allowing TCP packets. Furthermore, some routers or hosts will 'deprioritize' ICMP ping (echo) messages destined for itself or others -- when the network gets busy, these get dropped. However, virtually all public servers and the majority of private systems have at least one TCP port open and will respond to requests on it quickly and reliably. This provides greater accuracy (or any accuracy at all) for determining if a host is available. It also yields more reliable timing for sensitive latency and loss measurements as deprioritized packets will not be a true measure of latency for normal traffic (better simulated by TCP packets). It was originally written by Steven Kehlet (blog at kehlet.cx); it was taken over, bugfixed, and now maintained (with the original author's blessing) by Jim Wyllie.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of tcping
tcping Key Features
tcping Examples and Code Snippets
Community Discussions
Trending Discussions on tcping
QUESTION
My setup:
- I am using an IP and port provided by portmap.io to allow me to perform port forwarding.
- I have OpenVPN installed (as required by portmap.io), and I run a ready-made config file when I want to operate my project.
- My main effort involves sending messages between a client and a server using sockets in Python.
- I have installed a software called tcping, which basically allows me to ping an IP:port over a tcp connection.
This figure basically sums it up:
Results I'm getting:
- When I try to "ping" said IP, the average RTT ends up being around 30ms consistently.
- I try to use the same IP to program sockets in Python, where I have a server script on my machine running, and a client script on any other machine but binding to this IP. I try sending a small message like "Hello" over the socket, and I am finding that the message is taking a significantly greater amount of time to travel across, and an inconsistent one for that matter. Sometimes it ends up taking 1 second, sometimes 400ms...
What is the reason for this discrepancy?
...ANSWER
Answered 2021-Apr-02 at 13:36What is the reason for this discrepancy?
tcpping
just measures the time needed to establish the TCP connection. The connection establishment is usually completely done in the OS kernel, so there is not even a switch to user space involved.
Even some small data exchange at the application is significantly more expensive. First, the initial TCP handshake must be done. Usually only once the TCP handshake is done the client starts sending the payload, which then needs to be delivered to the other side, put into the sockets read buffer, schedule the user space application to run, read the data from the buffer in the application and process, create and deliver the response to the peers OS kernel, let the kernel deliver the response to the local system and lots of stuff here too until the local app finally gets the response and ends the timing of how long this takes.
Given that the time for the last one is that much off from the pure RTT I would assume though that the server system has either low performance or high load or that the application is written badly.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install tcping
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page