タグ

ブックマーク / blog.takuo.jp (2)

  • モペログ: UDP Hole Punching その2

    Wednesday, February 6, 2008 UDP Hole Punching その2 どうやら昨日書いた手法は特許とられてるらしい。ひどい話である。 ・TCPでなんらかのデータ送信の後、UDPで補足データを送信する という請求事項にひっかかるのだとか。(特許公開番号:2007-502585) まぁいろいろ考えたが、最初のTCPによるセッション初期化をUDPでやっちまえばいい気がしてきたので、次のように変更。 1. C UDP::UHPInitialize -- NOP 2. S UDP::UHPInitializeOK -- SESSIONID < UNIQUE ID > 3. C TCP::UHPComplete -- FLAG < 0(FAIL) | 1(SUCCESS) >[, SESSIONID < UNIQUE ID > ] 4. S TCP::UHPComplet

    bluespear
    bluespear 2009/12/16
    "特許とられてるらしい。ひどい話である。 ・TCPでなんらかのデータ送信の後、UDPで補足データを送信する という請求事項にひっかかるのだとか。"
  • モペログ: UDP Hole Punching

    Tuesday, February 5, 2008 UDP Hole Punching 仕事でUDPのデータストリームを扱っていて、さらにクライアントはNAT超えを考慮しなくてはならないということで、UDPのNAT超えでよく使われる手法、UDP Hole Punching (UHP) というものを実装することになった。 UDP Hole Punchingというのはルータに動的に空けられたNATテーブルの穴を逆から叩くことにより、NATの中のクライアントとUDP通信を可能にする技術であるからして。 さて、TCPのコントロールコネクションはもともとあるので、そのプロトコル上に UHP のネゴシエーションを付け加える形にした。 1. TCP C: UHPInitialize <NOP> 2. TCP S: UHPInitializeOK <SESSION ID> <SERVER UDP PORT

  • 1