26 Commits

Author SHA1 Message Date
Thomas Eizinger
7530296745 feat(connections): clarify state management around supported protocols (#530) 2023-03-23 13:35:20 +01:00
Danny Salman
946441e549 minor tweak to lifestyle doc phrase (#494) 2022-12-14 17:09:28 +01:00
julian88110
41d5104513 Muxer selection in security handshake (#446)
* Muxer selection in security handshake spec

* Add cross version and security sections

* Add security and more sections

* Address review feedback points, add protobuf.

* Address some more review points.

Update Noise handshake section, Revise muxer string in examples.

* Correct some typos

* Address feedback points and update noise section

* update Noise extention protobuf

* Remove TBD item

* Remove some redandant info

* add alternative options considered

* Update noise registration with NoiseExtensions field for muxers.

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Max Inden <mail@max-inden.de>

* Revise noise handshake section to reflect early data carrier msg change.

* Correct sequence example in noise handshake

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* replace nextproto with ALPN extension

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update title

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* address some review points

* Revise some typos

* Revise the Noise selection process so that the selection of muxer is based on the responder's priority
and fix some typos

* Editorial

* formatting

* Update muxer-sel-in-sec-handshake.md

* Update muxer-sel-in-sec-handshake.md

* Update muxer-sel-in-sec-handshake.md

Consolidate some sections and clarify backward compatibility section.

* Consolidate some sections again and simplify some descriptiosn.

* remove accidentally checked file

* Editorial changes

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Update connections/muxer-sel-in-sec-handshake.md

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* Apply some suggestions from code review

* add myself to list of authors

* rewrite the Security section

* use the client's preference in Noise

* rename document, link to it from connections README

* remove section describing current muxer selection

* remove repetitive section introducing muxer selection

* improve TLS section

* condense Noise section

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* bump revisions

* Apply suggestions from code review

Co-authored-by: Elena Frank <elena.frank@protonmail.com>

Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
2022-12-12 13:18:38 -08:00
Max Inden
7d7099ddf8 connection/README: Recommend yamux over mplex (#402)
The mplex multiplexer does not provide backpressure on a stream. Yamux does.
Given that this is a fundamental feature of a stream multiplexer, this commit
changes the spec to recommend yamux over mplex.

While yamux is not ideal, e.g. lacks backpressure on the connection level and
the number of streams, it is superior in all cases to mplex.
2022-03-18 15:17:39 +01:00
Max Inden
f36e36371a connections: Add hole punching vision document (#323)
Extend connections specification with a document describing the long
term vision of hole punching in libp2p across transport protocols,
platforms and implementations.

Co-authored-by: Steve Loeppky <stvn@loeppky.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2021-06-08 14:53:47 +02:00
vyzo
9274d301ba connections: multistream-select 1.0 simultaneous open protocol extension (#196)
> In order to support direct connections through NATs with hole punching, we
> need to account for simultaneous open. In such cases, there is no single
> initiator and responder, but instead both peers act as initiators. This breaks
> protocol negotiation in multistream-select, which assumes a single initator.
>
> This draft proposes a simple extension to the multistream protocol negotiation
> in order to select a single initator when both peers are acting as such.

Co-authored-by: Jacob Heun <jacobheun@gmail.com>
Co-authored-by: bigs <cole@protocol.ai>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Steven Allen <steven@stebalien.com>
2021-05-11 15:27:05 +02:00
Max Inden
1d89217215 connections: Replace SECIO with Noise as baseline sec proto 2021-04-27 13:42:53 +02:00
Max Inden
c05edce42a connections/README: Add missing link to resource manager issue (#311) 2021-04-09 16:02:12 +02:00
prataprc
6eca39ba56 chore: event bus url typo (#296) 2020-09-21 18:54:01 +02:00
Ed Mazurek
a4f30209d1 connections readme: spelling 2019-07-03 11:45:39 -04:00
Yusef Napora
9701a980a0 update revision date 2019-06-20 11:33:54 -04:00
Yusef Napora
d0ea4b4dc5 add interest group & TOC 2019-06-20 11:33:54 -04:00
Yusef Napora
19d1412136 add future work section 2019-06-20 11:33:54 -04:00
Yusef Napora
221f60a29a tweaks from @bigs review 2019-06-20 10:49:38 -04:00
Yusef Napora
e3f9b9e2e0 incorporate Vasco's feedback 2019-06-19 09:48:06 -04:00
Yusef Napora
f85e7d184c fix reference links
I also realized that we're actually using the IETF QUIC standard, but I
was linking to the Google / Chromium spec, so I updated the link to
point to the latest draft.
2019-06-15 09:29:45 -04:00
Yusef Napora
201e27c675 fix typo 2019-06-11 12:32:02 -04:00
Yusef Napora
d0be5b58e4 rename participants and add loop to diagram 2019-05-31 09:19:50 -04:00
Yusef Napora
c898e1f77e fill in implementation notes section 2019-05-30 11:58:15 -04:00
Yusef Napora
b4131cb4e4 secion on opening new muxed streams 2019-05-30 11:57:49 -04:00
Yusef Napora
4c3f91d61c don't use above & below as link anchors 2019-05-30 11:56:57 -04:00
Yusef Napora
1df1d6a9a0 write intro 2019-05-30 11:55:21 -04:00
Yusef Napora
68dba7d2ae header 2019-05-30 11:55:00 -04:00
Yusef Napora
c4d856cc9e fix formatting 2019-05-20 11:06:15 -04:00
Yusef Napora
82c3f4dfa6 describe & diagram connection upgrade process 2019-05-20 11:00:08 -04:00
Yusef Napora
652128fa7a [connections] outline & first draft of protocol negotiation section 2019-05-15 16:43:03 -04:00