안녕 여러분, 주간 상태 노트 시간이에요
- Index
- 0.5.0.5 2) UDP (SSU) 3) Q 4) ???
- 0.5.0.5
여러분이 0.5.0.4로 매우 신속하게 업그레이드해 주신 덕분에, 회의 이후에 새로운 0.5.0.5 릴리스를 배포할 예정입니다. 지난주에 논의했듯이, 가장 큰 변화는 각 작은 메시지에 1KB 크기의 완전한 tunnel 메시지를 각각 할당하는 대신 여러 개의 작은 메시지를 하나로 묶는 배치 처리 코드를 포함한다는 점입니다. 이 변화만으로 혁명적이진 않겠지만, 전달되는 메시지 수와 사용되는 대역폭을 크게 줄일 것이며, 특히 IRC 같은 서비스에서 그 효과가 클 것입니다.
릴리스 공지에서 더 많은 정보가 제공되겠지만, 0.5.0.5 rev와 함께 또 다른 두 가지 중요한 사항이 있습니다. 첫째, 0.5.0.4 이전 버전 사용자는 지원을 중단합니다 - 0.5.0.4를 사용하는 사용자가 100명을 훨씬 넘고, 그보다 이전 릴리스에는 상당한 문제가 있습니다. 둘째, 새 빌드에는 중요한 익명성 수정이 포함되어 있으며, 이를 실행하려면 어느 정도 개발 노력이 필요하지만 불가능한 일은 아닙니다. 변경의 대부분은 netDb(네트워크 데이터베이스)를 관리하는 방식에 관한 것입니다 - 여기저기 항목을 캐시해 두는 느슨한 방식 대신, 해당 데이터를 실제로 보유하고 있는지와 무관하게 우리가 명시적으로 전달받은 요소에 대한 netDb 요청에만 응답할 것입니다.
항상 그렇듯이, 버그 수정과 몇 가지 새로운 기능이 포함되어 있으며, 자세한 내용은 릴리스 공지에서 곧 안내될 예정입니다.
- UDP (SSU)
지난 6~12개월 동안 간헐적으로 논의해 온 바와 같이, 0.6 릴리스가 공개되면 우리의 router 간 통신을 UDP로 전환할 예정입니다. 그 방향을 더 진전시키기 위해, 전송 프로토콜의 첫 초안을 CVS에 올려 두었습니다 @ http://dev.i2p.net/cgi-bin/cvsweb.cgi/i2p/router/doc/udp.html?rev=HEAD
이 프로토콜은 문서에 제시된 목표를 가진 비교적 단순한 프로토콜이며, I2P의 기능을 활용해 데이터의 인증과 보호를 모두 수행하고 외부로 노출되는 정보를 가능한 한 최소화합니다. I2P를 실행하지 않는 사람에게는 연결 핸드셰이크의 첫 부분조차 식별되지 않습니다. 타이머가 어떻게 트리거되는지나 세 가지 서로 다른 semireliable(부분적 신뢰성) 상태 지표를 어떻게 사용하는지 같은 프로토콜의 동작은 아직 명세에서 완전히 정의되지 않았지만, 암호화, 패킷화, NAT hole punching(NAT 홀 펀칭)의 기본 사항은 다룹니다. 아직 아무것도 구현되지 않았지만 곧 구현될 예정이므로, 피드백을 주시면 대단히 감사하겠습니다!
- Q
Aum은 분산 저장소인 Q(uartermaster)에 매진해 왔고, 문서의 1차 초안이 올라왔다 [1]. 그 안에서 흥미로운 아이디어 중 하나는, 순수한 DHT(분산 해시 테이블)에서 memcached [2] 스타일의 시스템으로 옮겨가자는 것으로 보이는데, 이 방식에서는 각 사용자가 모든 검색을 전적으로 로컬에서 수행하고, 실제 데이터는 Q 서버에 “직접” 요청한다(물론 I2P를 통해서). 어쨌든 꽤 근사한 내용들이다. 어쩌면 Aum이 깨어 있다면 [3] 그에게서 업데이트를 어떻게든 한 번 빼낼 수 있을까?
[1] http://aum.i2p/q/ [2] http://www.danga.com/memcached/ [3] 그 빌어먹을 시간대들!
- ???
할 얘기가 훨씬 더 많지만, 회의까지 몇 분 이상만 여유가 있었더라면 계속할 수 있었을 텐데요. 뭐, 그게 인생이죠. 한번 들러 주세요.
i2p in a few to chat.
=jr