-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document the ping protocol #433
Comments
I'll do this next. |
I could almost understand by reading |
I found that |
The ping protocol is in-use in the JS Connector - we should keep this issue open, or else overtly indicate that the ping protocol should not be spec'd. |
Bumping to keep this open a bit longer... |
As discussed on the community call on Wed 14 November there are some concerns about the protocol currently implemented in @emschwartz and @sappenin please feel free to expand on this. The high level flow for that protocol is as follows:
Observations:
Other discussions on the call
|
Just going to leave this here: #232 That was a PR to add an RFC for the ping protocol, although that PR describes an earlier version of the protocol, so @adrianhopebailie's description is more accurate/up-to-date. Still, anyone working on docs for the ping protocol may find it useful to read this for context. |
That's just an implementation detail/bug. The intent is that Alice would choose a unique address that is only used for a particular pinging session. Remember the model is IP, so we think of moneyd as the stuff that would be built into OSes some day. When a piece of software like a ping tool spins up, moneyd will assign a unique address to it. In the case of a ping tool it will then use that unique address as its return address.
I don't see that as an issue. If Bob sends back a lesser amount, that's no different than if there was simply high friction/fees between Alice and Bob. In many real-world scenarios, the cost of looking like your ILP connectivity is poor is going to vastly outweigh any money you might make from pings. Imagine if a popular connector started doing this: They might make $0.0001 from pings but nobody would want to peer with them because it looks like their connectivity is trash, so they'd quickly go out of business. In our experience, pings have been used in production mostly to test/debug the routing protocol and to monitor uptime of ILP connectors. You can and should use amounts that are miniscule. |
@justmoon Are you worried about this being used in DDoS attacks at all? Because the source address isn't authenticated or checked at all, an attacker could get a lot of other nodes on the network to simultaneously send packets to a single target. The amount of data they'd be sending isn't that big so there wouldn't be the amplification problem, but it still seems potentially problematic. One argument against this being a problem is that it would be easy to filter out and drop these packets if you're getting too many of them at once (but you need good infrastructure that's capable of doing that quickly for a ton of packets received in quick succession). |
One observation I've had about what we call "ILP Ping" is that it seems to be designed to be analagous to the Ping we all know and love. What's interesting here is it that while that protocol (ICMP Ping) employs a "ping" and a "pong" packet, this seems to be more of a result of using ICMP more than anything else (in other words, the ICMP The reason I bring that up is that I think it would be useful for us to distinguish between an Here's how I see the distinction: Ping Protocol
Echo Protocol
Any objections to formally defining both protocols as orthogonal things? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If this issue is important, please feel free to bring it up on the next Interledger Community Group Call or in the Gitter chat. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If this issue is important, please feel free to bring it up on the next Interledger Community Group Call or in the Gitter chat. |
This issue was moved to https://forum.interledger.org/t/document-the-ping-protocol/279 |
Document the ping protocol as implemented in interledgerjs/ilp-connector
The text was updated successfully, but these errors were encountered: