タグ

ブックマーク / www.gcd.org (10)

  • 仙石浩明の日記: IPv6 (2)

    IPv6ブリッジ機能付きルーター (ブルータ) を使えば、 NAT 内の LAN でそのまま IPv6 を使えるわけで、 IPv6 の敷居は一気に下がる。 つまり、ほとんどの OS がすでに IPv6 をサポートしているので、 ルータが IPv6 を素通し (ブリッジ) しさえすれば、 LAN 内で IPv6 を意識せずに使える。 今まで通り IP を (NAT 経由したプライベートアドレスで) 使いながら、IPv6 のオイシイところ (end-to-end 通信ができる) だけを ツマミいできるわけで、 今度こそ (^^;) IPv6 が普及するのではないかと... Linux でブルータを実現するには、 まずブリッジ機能をカーネルに組み込んでおく。 # brctl show br0 bridge name bridge id STP enabled interfaces br0 80

  • 仙石浩明の日記: stone に UDP ⇔ TCP 相互変換機能を実装

    stone で UDP と TCP の相互 変換を実装してみた (stone.c 2.3.1.10以降)。 つまり、UDP パケットが届いたら、 その頭にデータ長 (2バイト) を付けて 次図の形式のデータにして TCP セッションへ送信する。 あるいは逆に、 TCP セッションから次図の形式のデータを受信したら、 「データ長」の部分を取り除いて 「可変長データ」の部分を UDP パケットとして送信する。 ┌──┬──┬──┬─≪─┬──┐ │データ長 │ 可変長データ  │ └──┴──┴──┴─≫─┴──┘ もちろん「データ長」はネットワーク バイトオーダ (ビッグエンディアン)。 この形式は、 DNS の問合わせ/応答を TCP を使って行なう方法 (RFC1035 4.2.2. TCP usage) と 同じであるので、 # stone -n 192.168.1.1:domain/

    iww
    iww 2016/04/12
    stoneでUDP
  • stone (前編)

    実践で学ぶ、一歩進んだサーバ構築・運用術 第 5 回 stone (前編) パケットを中継する stone 拙作の「stone」は, TCP,あるいは UDP のパケットを中継する, アプリケーション・レベルのパケット・リピータです。 特定のホストの特定のポートに対する TCP 接続を, 他のホストの特定のポートへ中継できるので, 便利です。 stone は Linux をはじめとする UNIX 系 OS のほか, Windows NT や Windows98/95,OS/2 の上でも走らせることができます。 stone の公式ホームページは, http://www.gcd.org/sengoku/stone/Welcome.ja.html です。 ● TCP の中継 例えば, GCD*6 の内部 LAN 上のホスト「takatsu」は プライベート・アドレスであるため, 外部からアクセス

  • 仙石浩明の日記: x86_64 Linux でメモリ・デバッグ・ツール Valgrind を使う場合の注意点

    次のようなプログラム test.c について考える: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <string.h> struct test { int32_t len; int8_t buf[16]; }; int main(int argc, char *argv[]) { struct test *p = malloc(sizeof(struct test)); int8_t buf[16]; p->len = sizeof(p->buf); bzero(p->buf, p->len); printf("0x%lX-0x%lX => 0x%lX\n", (long)p->buf, (long)p->buf+p->len-1, (long)buf); bcopy(p->buf, buf,

  • 仙石浩明の日記: TCP/IP を使った DNS 問合わせ

    DNS問合わせというと、 ネームサーバの UDP/IP の 53番ポートへ問合わせるのが一般的であり、 TCP/IP の 53番ポートはゾーン転送のみに使われることが多い。 しかし RFC (RFC1035 および RFC2136) 上は TCP も、UDP と同様、 通常の問合わせにも利用することができることになっているし、 多くのネームサーバでそのような実装になっている。 手近なネームサーバが利用できない環境 (某ホテルの無線LAN 環境など ;) で、 やむを得ず遠方のネームサーバを利用する際などに、 TCP を使って問合わせをすると、 ポートフォワードすることもできて便利である。 拙著「ネーム・サーバ (前編)」に書いたようにネームサーバには二種類あって、 ここで言うネームサーバは、 「/etc/resolv.conf に登録できるネーム・サーバー」のことである。 つまり、リゾルバ

  • 仙石浩明の日記: Z80 コンピュータを作ってみた (27年前のお話)

    往年の 8ビット・マイクロプロセッサー Z80。 最近の若い IT エンジニアだと知らない人も多い? 現在でも組み込み用途で使われているのに、 プログラマの高齢化が進んでいるらしい。 私がコンピュータを学んだ思い出深い CPU なので、 このまま忘れ去ってしまうのもモッタイナイ。 思い出せる限り記録に残しておこうと思う。 コンピュータを原理から学ぼうとする人の参考になれば幸い。 以下は、私が大学一回生のとき (1986年, 昭和61年) 独学で作った CP/M (Control Program for Microcomputer, パソコン用シングルタスク OS) マシンの記録。 私は高校生のとき (1983年)、 シャープ製パソコン MZ-80K2E を改造しながら独力でデジタル回路を学んだ。 当時のコンピュータ雑誌 (工学社 「I/O」 誌) に掲載された MZ-80K の回路図が大い

    iww
    iww 2013/11/08
    ノートがやたらと綺麗すぎる
  • qmail (Make full use of qmail)

    sendmail を捨て,qmail に乗り換える ──qmail の仕組みから設定管理,迷惑メール対策まで── 軽快に動作する高性能 MTA ――qmail sendmail の解説書として名高い, 「sendmail 解説」(邦訳:村井純監訳,オーム社発売) の冒頭でBryan Costales はこう述べている。 「フリジアのゴルディオス王はあまりにも複雑な結び目を作ったので, 後のアジアの支配者しかそれをほどけないという神話を生みました。 これはゴルディオスの結び目と呼ばれ, ほどこうとしても全く歯が立たず, ついにアレキサンダー大王がやってきて剣で切断しました。 長年に渡り, 世界中のシステム管理者がゴルディオスの結び目である sendmail を切断するための 剣を待ち望んできました」。 そして, 遂に sendmail を切断する剣――qmail ――が現れた。 もはや se

    iww
    iww 2013/01/30
  • 仙石浩明の日記 「ソフトウェア開発」は「モノ作り」ではない

    いつのころからか、 ソフトウェア開発がモノ作りに喩えられるようになった。 典型的なのは、製造業(例えば自動車製造)と IT 業界とを比較して、 前者が高度にシステム化されているのに対し、 後者がまるで家内制手工業のようだ、という批判である。 日経ビジネス online の記事に次のようなくだりがあった: 「というより、何といいますか、経営トップからすると、 ITはとにかく非常識な世界だ、としか思えないのではないかなあ。 例えば大きなシステム開発プロジェクトに取り組むと、 すぐ100億円を投資する、という話になってしまう。 100億円の経常利益を出そうと思ったら当に大変。 ところが、100億円を投じたのに、期限までに完成しない、 出来上がってきたものが当初計画と違う、 直そうとするとさらに金がかかる。 こんなことが起きるわけですから、『一体なぜなんだ』と経営トップは思うわけです」 IT業界

    iww
    iww 2010/12/04
    ソフトウェア開発とソフトウェア製造
  • 仙石浩明の日記: chroot されたディレクトリから脱出してみる

    要約すれば、 「chrootなんて簡単に抜けられるからセキュリティ目的で使っても意味ないよ。」 ってことね。そうだったのか。 そうだったのか orz Note that this call does not change the current working directory, so that `.' can be outside the tree rooted at `/'. In particular, the super-user can escape from a `chroot jail' by doing `mkdir foo; chroot foo; cd ..'. chroot するときは、そのディレクトリへ chdir しておくのが常識と 思っていたので気づいていなかった。 つまり、 故意にカレントディレクトリを chroot 外へもっていけば、 chroot された

  • 仙石浩明の日記: なぜ、「購入 VS 賃貸」 という比較がナンセンスなのか?

    このように考えれば、 「賃借して住む」の部分は両者に共通であるから除外して比較することができる。 つまり「買うか? 借りるか?」という比較は、 「不動産投資を行なうか? 行なわないか?」という比較になる。 4000万円の新築マンションを購入するとして、 頭金を800万円(購入価格の2割)、 残り3200万円を金利3%、 35年返済で借りるとした場合、 月々の返済額は12万3000円となる。 頭金800万円を加えた総返済額は約5970万円。 これに固定資産税、維持管理費等の支払いが約1700万円。 結局7670万円の支払いをして、マンションが自分の資産となるわけである。 ここで、 (自分自身に) 月額 12万3000円の家賃で賃貸すると考える。 もちろん家賃の額は任意に設定して構わないのであるが、 ここでは簡単化のため、 家賃をローンの月々の返済額と同額の 12万3000円に設定してみる。

    iww
    iww 2008/04/07
    結局、購入と賃貸のどっちが得なの?
  • 1