4 ms·
Unless I missed it somewhere, Willow has no specified handshake procedure. So there's no standardized way for the two sides to come to an agreement on how to co
by wavemode 3y ago
Unless I missed it somewhere, Willow has no specified handshake procedure. So there's no standardized way for the two sides to come to an agreement on how to communicate. (Willow appears to be completely agnostic even of the data encoding used to communicate in the first place.)
In that sense it is even more high level and abstract than parameterized protocols like SSH.
- layer8 3y agoTrue, it was an example of how “the same protocol” doesn’t necessarily imply compatibility. The algorithm negotiation procedure doesn’t guarantee that there will be an agreement, so it is somewhat secondary to the argument.
- sph 3y agoAnd I think it's a good idea. Take HTTP for example. It is much more than its protocol. Freeing it from those details means that what is valid today: GET / HTTP/1.1 Host: example.com Could have the same semantics in any format: { "method": "GET", "version": "1.1", "headers": [{"name": "Host", "value": "example.com"}] } Of course a server accepting the former won't be able to communicate with the latter, but that's just an implementation detail that Willow does not want to commit to at this stage, and does not make it any less complete. Just a bit impractical.
- sillysaurusx 3y agoThe history of cryptography failures suggests that it’s better for a protocol to be opinionated and complete rather than open ended.
- ianburrell 3y agoFormat agnostic layers are a good thing. HTTP2 depends on it with different encoding but same meaning. But have to choose some encoding for communication to happen. Otherwise it is a meta protocol.
- jcul 3y agoNot all protocols have to have a handshake to negotiate how they will communicate. Sometimes you just need to have both sides configured the same way. E.g. PTP clocks being in the same domain, having the same delay request mechanism etc.
- skissane 3y ago> Not all protocols have to have a handshake to negotiate how they will communicate. Sometimes you just need to have both sides configured the same way. True, but the industry has been moving away from "you have to configure both ends" towards autonegotiation. e.g. RS-232 you had to configure data rates (e.g. 9600 baud) and encoding (e.g. 8N1 - 8 data bits, no parity bit, 1 stop bit), and if you didn't have the same config at both ends, communication wouldn't happen. USB, the primary successor, determines stuff like that by negotiation. Or similarly, with Ethernet autonegotiation, you no longer have to worry about manually configuring speed/duplex on each end–which I can remember being a big drama 20 years ago.
- jcul 3y agoYeah, that is true. And even as I typed that I thought, PTP can be fairly hand off and auto negotiates most stuff. I guess E2E vs P2P it can't really because they can represent different physical infrastructure. Probably not the best example, I just happened to have the PTP spec open at the time!