aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/011-pure-transport.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design/011-pure-transport.md')
-rw-r--r--docs/design/011-pure-transport.md10
1 files changed, 7 insertions, 3 deletions
diff --git a/docs/design/011-pure-transport.md b/docs/design/011-pure-transport.md
index d27aa5a..a49d702 100644
--- a/docs/design/011-pure-transport.md
+++ b/docs/design/011-pure-transport.md
@@ -1,6 +1,6 @@
# 011 — 연결 없는 전송: 전송의 상태를 앱의 데이터로
-작성일: 2026-09-28(같은 날 첫 판을 버리고 다시 씀). 상태: 설계. 1단계를 구현했고 M1을 쟀다.
+작성일: 2026-09-28(같은 날 첫 판을 버리고 다시 씀). 상태: 설계. 1단계를 구현했고 M1, M2, M4를 쟀다.
[외부 피드백 002](../outside-feedback/feedback-002.md)의 "QUIC을 능가할 자체 raw socket 프로토콜"에서 시작한다.
1단계(링크 시제품과 kill -9 검사)는 [093](../research/093-connectionless-link.md)에 있다. 어느 쪽을 죽여도 핸드셰이크 없이
@@ -10,8 +10,12 @@
M1은 [094](../research/094-idle-links.md)에 있다. 쉬는 링크 하나가 노드 메모리 132 B를 쓴다. 허용 목록 73 B와 들은 번호
약 60 B이고, 전송 상태는 0이다. quinn의 쉬는 연결은 38,106 B다. 1/289로 중단 기준(1/100)을 넘는다. 설계가 말한 "링크의
-행"은 앱이 이미 가진 들은 번호였다. 그래서 들은 번호를 목록으로 바꿨고, 저장소의 한 항목은 약 20 B다. 남은 걸림돌은 M2다.
-활성 상태를 비우면 비밀도 잊으므로, 재시작한 노드는 링크마다 X25519를 한 번 한다.
+행"은 앱이 이미 가진 들은 번호였다. 그래서 들은 번호를 목록으로 바꿨고, 저장소의 한 항목은 약 20 B다.
+
+M2와 M4는 [095](../research/095-restart-and-first-contact.md)에 있다. 비밀은 노드 키 옆 파일에 적어 둔다(메모). 기기 1만
+개가 초당 2,000건을 보내는 중에 받는 쪽을 kill -9 해도 저장이 멈춘 100 ms 칸이 없다. 0.2초 만에 따라잡고, 재시작에 비대칭
+연산이 들지 않으며, 잃거나 겹친 기록이 없다. quinn은 1초 멈추고 10.9초 뒤에 따라잡는다. 그동안 핸드셰이크 1만 번에 서버가 CPU
+약 7초를 더 쓴다. 처음 만남은 1 RTT로, QUIC의 2 RTT의 절반이다.
## 첫 판을 버린 까닭