タグ

Programmingとnetworkに関するpaellaのブックマーク (4)

  • パケットキャプチャの実装方法 - Plan9日記

    ネットワークアプリケーションの解析やデバッグなどにパケットキャプチャ(もしくはスニファ)は必須の機能で、UNIXであればtcpdump、snoop、wireshark*1、Plan 9であればsnoopyなどが存在する。パケットを横から盗み見するために、OSごとにいろんなアプローチを取っている。ある機能をどのように実装するかで、そのOSの設計哲学が透けて見えてくるかもしれない。ということで、今日はパケットキャプチャの実装方法について調べてみたい。 libpcap tcpdumpのパケットキャプチャ処理はlibpcapとして独立したライブラリになっていて、OS依存部分を隠蔽している。例えば、BSD系UNIXはBPF(Berkeley Packet Filter)、LinuxはPF_PACKETを利用してパケットキャプチャを実現している。より正確にはBPFはキャプチャとフィルタリングするのに対

    パケットキャプチャの実装方法 - Plan9日記
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    paella
    paella 2009/09/28
    MPOAuthConnection is a drop in cocoa component for Mac and iPhone apps to talk to OAuth web servicesだそうな。新BSDライセンスなのが嬉しい
  • TCP bad checksum 問題 2 - higepon blog

    paella
    paella 2009/07/27
    TCPのチェックサムがどのように計算されるか、という良い資料。ちなみにWiresharkでTCPのチェックサムエラーが出てしまうのはEthernetフレームで取り扱おうとしているWiresharkの問題なので関係ない。
  • はやいTCPサーバの書き方 - nyaxtのPC作業ログ

    cagra高速化にあたってのノウハウを一部公開してみます。また明日校正/更新します。つっこみ待ちです。 select(2)の代わりにepoll_wait(2), kqueue, /dev/epoll等を使う 他に山ほど解説ページがあるので略 大量のディスクリプタを処理するようなサーバの場合、多少効果があるかもしれません。しかし、クライアント数が少ない場合、劇的な性能の向上は見込めないとおもいます。クライアント数が多い場合は、1セッション1スレッドなモデルではOS側のタスクスイッチングのオーバーヘッドが効いてくることも多いです。クライアント数を増やすには複数のセッションを1スレッドで処理できるようにすると良いです。実装にあたっては、non-blocking ioを活用すると効果的です。 TCP_NODELAYを設定する Nagleアルゴリズムをオフにします。多少応答性が良くなります。 これっ

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ
    paella
    paella 2009/01/08
    超良記事。みんなにも伝えてあげようっと!
  • 1