2011-04-19 11 views
0

したがって、プロトコルをよりよく理解するために、rawソケットの上にTCPのtoy(bash?)実装を作成しようとしています。rawソケットの上にプロトコルを実装し、O_DIRECTを使用する

私は、/ dev/rawにはO_DIRECT(なぜ?)が推奨されておらず、私のカーネルでは有効ではないことを理解しています。

$ zgrep -i raw /proc/config.gz 
CONFIG_IP_NF_RAW=m 
CONFIG_IP6_NF_RAW=m 
CONFIG_SERIO_RAW=m 
# CONFIG_RAW_DRIVER is not set 
CONFIG_SND_RAWMIDI=m 
CONFIG_SND_RAWMIDI_SEQ=m 
CONFIG_HIDRAW=y 
CONFIG_USB_SERIAL_SIERRAWIRELESS=m 
CONFIG_USB_GADGET_VBUS_DRAW=2 
# CONFIG_LINE6_USB_RAW is not set 
CONFIG_ATH6KL_HTC_RAW_INTERFACE=y 

私は私が使う必要がありますね何であるO_DIRECTを使用して、LinuxのTCP実装せずにデータを送信する方法に関する情報を見つけることができません。

+0

O_DIRECTは正直なファイルとブロックデバイスのみです。 – adobriyan

答えて

1

FreeBSD 7.0およびLinux 2.6のrawソケットに関する有益な記事です。

SOCK_RAW詳解

SOCK_RAW詳解私は、FreeBSD 7.0とLinux 2.6のカーネルではrawソケット機構の実装を説明について書いた紙です。この強力なソケットタイプの詳細と、それがどのようにシーンの背後で働くのかを示すネットワーク内部について掘り下げます。

http://sock-raw.org/papers.html

あなたはbashで/dev/tcpを持っていない場合は、リチャード・スティーブンス靴下プログラム(http://www.icir.org/christian/sock.html)を見てみたいことがあります。

関連する問題