ネットワークプログラミング相談室 Port16
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/12/31(土) 14:07:24Programming UNIX Socket FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
Winsock Programmer's FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
関連リンクは>>2-10辺り
足りなかったら適当に付け足してね
前スレ
ネットワークプログラミング相談室 Port15
http://pc8.2ch.net/test/read.cgi/tech/1128088448/
0052デフォルトの名無しさん
2006/01/12(木) 23:50:59>>47
0053デフォルトの名無しさん
2006/01/12(木) 23:52:38うちのはされない
0054デフォルトの名無しさん
2006/01/12(木) 23:54:13ARP
0055デフォルトの名無しさん
2006/01/13(金) 00:01:33すみませんが、もうちょっとヒントお願いします。
物分りが悪くてすみません。
0056デフォルトの名無しさん
2006/01/13(金) 00:07:35OSは?
インターフェース名で分からないの?
ちなみに「Ethernet」のMACアドレスはベンダーIDで始まってる。
http://standards.ieee.org/regauth/oui/oui.txt
http://coffer.com/mac_find/
0057デフォルトの名無しさん
2006/01/13(金) 00:18:30実行する方法ご存知でしたら教えてください。
0058デフォルトの名無しさん
2006/01/13(金) 00:21:110059デフォルトの名無しさん
2006/01/13(金) 00:32:51OS書き忘れてました。WindowsXPです。
インターフェース名でわかるのですが、MACアドレスをユーザーに申請してもらうので、
LANカードのMACアドレスをください、といっても通じない可能性があるもので。
(そこで、MACアドレスを列挙してあげるアプリを使わせます。そのアプリで擬似NICのアドレスをはじきたいわけです)
リンクありがとうございます。早速見させていただきます。
0060デフォルトの名無しさん
2006/01/13(金) 00:33:200061デフォルトの名無しさん
2006/01/13(金) 00:39:18http://homepage2.nifty.com/cs/linux_command/command/ssh.html
0062デフォルトの名無しさん
2006/01/13(金) 00:40:24みなさん、アドバイスありがとうございます。
sshで出来そうなのは実はGoogleで少し調べてみて、情報は得られていたの
ですが、sshはWindowsXPには標準では装備されていないようなんですが、
WindowsXP標準の機能で、実現する方法は無いでしょうか?
というのは、自作のVC++のプログラムから、Linux上の自作プログラムを
起動したいのです。よろしく。
0063デフォルトの名無しさん
2006/01/13(金) 01:18:59ちなみにFedoraでの設定方法はスレ違いなので、ここで聞くなよ
0064デフォルトの名無しさん
2006/01/13(金) 01:20:55006556
2006/01/13(金) 01:40:59いや、プログラム内でインターフェース(アダプタ)の名前(wszName)見れば、
ほとんどの疑似インターフェースは弾けるんじゃないの?
dwTypeとか, dwDescrもあるよね。
GetIfTable/GetIfEntry
0066デフォルトの名無しさん
2006/01/13(金) 02:21:37rshにすれば?
0067デフォルトの名無しさん
2006/01/13(金) 04:29:09int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop);
name と ret は分かるんだけど、他の引数には何を指定したらいいの?
NULL でいい?
0068デフォルトの名無しさん
2006/01/13(金) 08:00:54http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/nss/bug-erange.c?rev=1.2&content-type=text/x-cvsweb-markup&cvsroot=glibc
006967
2006/01/13(金) 11:24:37ありがとう。参考になりそう。
とどのつまり、NULLじゃいけないってことかな?案外面倒だね。
特に buf のことがよくわからないだけに、どう扱ったらいいのかよくわからないよ。
でもそのコードを見る限り、必須なんだろうね。
ところでそのサンプル、free が無いけどいいのかな?
gethostbyname_r の中で解放される?
/* Allocate buffer, remember to free it to avoid memory leakage. */
なんてコメントがあるけど。
0070デフォルトの名無しさん
2006/01/13(金) 11:36:42ライセンス回避もいろいろな手段が有るし、sshはソース有るよ。
0071デフォルトの名無しさん
2006/01/13(金) 11:37:51クライアントアプリの場合も単発で終了するようなものなら書いてなくても動く
サーバーアプリの様に長時間連続稼動するものは当然メモリリークが起こる
007268
2006/01/13(金) 16:53:15> 特に buf のことがよくわからないだけに、どう扱ったらいいのかよくわからないよ。
MF-Safeにしたいから、gethostbyname_rを使うんだよね?
gethostbyname_rが利用するメモリを、gethostbyname_rを呼び出す側が用意する。
利用目的は帰り値の保存(hostent構造体には入りきらないもの)。
MF-Safeなインターフェースのメモリ管理には、
・メモリを呼び出す側が用意する。gethostbyname_r(glibc版)
・freeする関数も準備してある。getaddrinfo/freeaddrinfo
・スレッド固有メモリを使う。gethostbyname_r(一引数版)
などのパターンがある。
buf, ret, h_name, h_alise, h_addr_listを%dで出力してみれ
0073デフォルトの名無しさん
2006/01/13(金) 16:57:03rexecでできました。
ただし、rexec実行後に毎回passwordを聞いてくるので、それを無しに
したいのですが。
0074デフォルトの名無しさん
2006/01/13(金) 17:09:540075デフォルトの名無しさん
2006/01/13(金) 18:31:56開発を主にUnix(solaris)で行い、運用も同OSで行うようなもので
しかし時々Win2000 or XPでも使用するソフトをつくる予定です
その際に悩んでいることがあるのでおねがいします
Unixのソケット関数とWin32のAPIで明らかに仕様が違うため
共通で使うことができません
Javaを仕様すればソケット部分も含めて同じにできますが
C++を使用したいのでそれはできません
このような場合にはどう対処するのがただしいのでしょうか?
0076デフォルトの名無しさん
2006/01/13(金) 18:38:170077デフォルトの名無しさん
2006/01/13(金) 19:51:410078デフォルトの名無しさん
2006/01/13(金) 20:28:23Java+JNI+C++
0079デフォルトの名無しさん
2006/01/13(金) 20:28:58> MF-Safe
MT-Safeのこと?
008072
2006/01/13(金) 20:31:31寝転びながらタイプしていたから、Tまで指が届かなかったようだ…
0081デフォルトの名無しさん
2006/01/14(土) 12:29:26通信速度を計測したいと思いいろいろ考えているのですが、
スタンダードな方法ってありますか?
0082デフォルトの名無しさん
2006/01/14(土) 12:43:22http://www.ittc.ku.edu/Projects/DREN/software/
0083デフォルトの名無しさん
2006/01/14(土) 14:49:160084デフォルトの名無しさん
2006/01/14(土) 14:49:50wget
0085デフォルトの名無しさん
2006/01/14(土) 16:17:23PCで測定すると、PCのベンチにも成ってしまう。
C++で動くヲレラッパーライブラリ作ればいいじゃん。
普通は有料フレームワークとかで吸収したりするけどね。
0086デフォルトの名無しさん
2006/01/16(月) 01:55:57WinSockのVer2.2で、RAWソケットを用いたファイルの
送信ツールを作成しています。
>>6の一番下のリンク先のIP PACKET MAKERのIP,UDPをそのまま利用
して、送信するものをファイルから読み込ませるようにしました。
しかし、送信するファイルが大きいと、途中でエラーが発生してしまいます。
「途中」というのは次のような様子です。単位はバイトです。
パケット長 1000 ファイルサイズ 4721898 送信バイト 2266000
パケット長 1200 ファイルサイズ 4721898 送信バイト 2360400
パケット長 1000 ファイルサイズ 292739076 送信バイト 148693000
またエラー発生箇所は、
make_udp_packet(&pPacket_udp->udp, src_ip, m_Sport, dst_ip, m_Dport, PacketLen-20, data_buf);
という、udpソケット生成関数内の
(make_udp_packet(struct udp* udp, UINT src_ip, USHORT src_port, UINT dst_ip,
USHORT dst_port, USHORT len, char* read_buf)
という形式の関数です。)
wsprintf((LPTSTR)udp->udp_data, read_buf); //ソケットデータ部にデータ書き出し
という部分のようです。もちろんこの前のほうが原因かもしれません。
わかりにくい説明だと思いますが、何かわかる方いましたら
よろしくお願いいたします。
ちなみに、IPレベルもいじれるファイル送信ツールを作ろうとしています。
そのようなツールをご存知ならば教えてください
0087デフォルトの名無しさん
2006/01/16(月) 01:57:530088デフォルトの名無しさん
2006/01/16(月) 01:59:03引っこ抜いた直後にクライアントからsend()を実行すると戻り値が正常な
送信バイト数で戻ってきます
これを失敗扱いにしたいのですが、良い方法(ソケットの状態を取得でき
る関数等)ないでしょうか
send()の前にselect()を駆使するとできるのでしょうか
0089デフォルトの名無しさん
2006/01/16(月) 13:58:13(クライアントとサーバーの間に配置しする)を
プログラミングしたいと思っているのですが、
参考にできるようなページはないでしょうか
0090デフォルトの名無しさん
2006/01/16(月) 18:48:200091魚チョコ
2006/01/16(月) 21:43:09ケーブルをすっこ抜いたのか……。そこまで試したことねえなあ。
ケーブル切れてんのに正常に戻ってくるってことは、
send() が送信バファーに送信データーをコピーしただけで戻ってきたってことでしょ。
select() を使っても、送信に関しては、そのソケットが正常に connect され、
送信バファーに空きがあって送信可能であるということしか分からない。
それに、送信データーがそのコンピューターから「出た」ことだけ把握しても、
相手との間に中継サーバーが介在してる場合、途中で握りつぶされて届かない
こともあるわけで、あまり意味がない。
確実に送信成功を検知するには、相手側に「受信完了」通知を出させるしかない。
エラーに関しては、たいてい send() 以外のソケット関数を呼んでるだろうから、
どれかがエラーを報告したら、WSAGetLastError() でも呼んで確かめればいいのでは。
0092魚チョコ
2006/01/16(月) 21:51:43要するに遅さ可変のプロックシーを作りたいということなのかね?
クライアントとの間に適当なプロコトルを定めて接続先を指定させ、
もたもた受信してもたもた送信――送受信バファーの分だけどばっ
と通信してあとおひるねするようなことになるだろうなあ。スィリアル
ポートを経由するようにすれば遅くできるけど遅すぎるかな。あとは
10BASE/T しかない旧式コンピューターを調達するとか。
0093デフォルトの名無しさん
2006/01/16(月) 22:26:05参考にするって言ったって、受けたパケットを他のイン
ターフェースに流すだけだからなぁ。
Cisco の Web でもみてネットワークスイッチの勉強
とかした方がいいと思う。
あと何のためにそんなもん作ってるのかわからんけど、
インターネット回線の擬似テストとかなら、てきとーに
パケットをロストするとか、パケットの順序を変えると
かの機能を入れておくといいかも。
009489
2006/01/16(月) 22:51:07009586
2006/01/16(月) 23:07:34エラーですが、
pctmkr.exe の 0x7c950370 でハンドルされていない例外が発生しました
: 0xC0000005: 場所 0x0025795a を読み込み中にアクセス違反が発生しました。 。
という形で出ています。
OSはWindowsXP、また、VisualStudio7.1を使用しています。
よろしくお願いいたします。
0096デフォルトの名無しさん
2006/01/16(月) 23:27:20Linuxのiptablesではパケットのアドレスやポートの情報をDNATやSNATで自由に書換えられますが、
同じことをWindowsで実現する方法はあるのでしょうか?
よろしくお願いします。
0097デフォルトの名無しさん
2006/01/17(火) 00:01:08> wsprintf((LPTSTR)udp->udp_data, read_buf); //ソケットデータ部にデータ書き出し
>>95
> : 0xC0000005: 場所 0x0025795a を読み込み中
> にアクセス違反が発生しました。 。
read_buf の内容に '%' が含まれてるに一票。
>>88
ソケットはそもそもそういう物理的な障害等を隠蔽するよ
うに作られてるからなぁ...。
何でそんなことしたいのか書いたほうがいいと思う。
>>96
ある。
やり方は知らない。
0098デフォルトの名無しさん
2006/01/17(火) 00:11:46ソケットというかInernetだな。
電話みたいな強い接続指向のネットワークなら、切れたら分かるからね。
0099デフォルトの名無しさん
2006/01/17(火) 00:15:42< Internet
orz
0100デフォルトの名無しさん
2006/01/17(火) 00:52:200101デフォルトの名無しさん
2006/01/17(火) 01:00:20○Inernet
0102デフォルトの名無しさん
2006/01/17(火) 01:27:12010388
2006/01/17(火) 01:49:33>>87
レスどうもです。
クライアントは、ある装置からRS232Cで信号を不定期に受信します
その信号をサーバに送信しなければならず、信号の送信漏れは許され
ないシステムなんです
クライアントからサーバへは一方通行の垂れ流しプロトコルの為
送信完了(サーバへ信号が届いた)を検知する術が分かりません
TCP/IPのACKが戻ってくるという話を聞きましたが、winsockでその
信号を検知する方法等があれば良いのですが。。
良い方法ご存知の方、お知恵を貸してください。
0104デフォルトの名無しさん
2006/01/17(火) 02:01:14setsockoptでLINGER短くしろ。
>>103
> 信号の送信漏れは許されないシステムなんです
> クライアントからサーバへは一方通行の垂れ流しプロトコルの為
そこが設計ミスなんだけどな。
どこまでが到達したか機械的に分からないわけだから。
010588
2006/01/17(火) 02:48:13逆にLINGERを0xFFFFに設定して置けば、ソケットは長時間クローズ
されないので、LANケーブルを再度接続した時にソケットに溜まっている
データが流れて行くのですかね
出勤したらすぐに試してみます
どうもありがとうございました
0106デフォルトの名無しさん
2006/01/17(火) 07:23:560107デフォルトの名無しさん
2006/01/17(火) 08:08:58>その信号をサーバに送信しなければならず、信号の送信漏れは許され
>ないシステムなんです
送信してるなら、サーバが受信しようがしまいが関係ないwww
010886
2006/01/17(火) 09:21:49ありがとうございます。確かに、おっしゃられたとおりです。
一時的な解決策として、送信元のファイルにそのような文字が
入っていないものを使用したところ、確かにバイト数が大きくても
送信できました。wsprintfを何とかしてみます。
ありがとうございました。
0109デフォルトの名無しさん
2006/01/17(火) 09:30:10何故にUDP?
0110デフォルトの名無しさん
2006/01/17(火) 21:53:420111デフォルトの名無しさん
2006/01/17(火) 22:14:300112デフォルトの名無しさん
2006/01/17(火) 23:14:30→正常に受信できない可能性の増加
→再送の必要性増加
にならないか?
トラフィック量、双方のCPUの処理量的にそれが問題なければいいのかもしれないけど
それよりもTCPでプロトコルレベルでACK
正常に送信できない(受信できていない)場合はデータをバッファリングして、後で送信
>>105
バッファがあふれたら?
0113デフォルトの名無しさん
2006/01/18(水) 00:00:22> wsprintfを何とかしてみます。
て言うか、wsprintf() のマニュアル見たの?
そこで、wsprintf() 使ってるのは意味不明だよ。
>>112
釣りか?
tcp 使ってても、パケットレベルで見れば
> UDPではデータの到着順が保証されない。
> →正常に受信できない可能性の増加
> →再送の必要性増加
だよ。
個人的には、tcp の上で自前の ACK とか言ってる奴
は、ネットワークプログラマをやめた方がいいと思う。
0114デフォルトの名無しさん
2006/01/18(水) 00:33:20> tcp の上で自前の ACK とか言ってる奴
アプリケーションよってはアプリケーションレベルでコネクションを確認することは意味がある。
TCPが接続されていることと相手のアプリケーションがどういう状態にあるかは関係ない。
BGPもTCP上で自前のKEEPALIVEメッセージを流すよ。
0115デフォルトの名無しさん
2006/01/18(水) 01:27:41KEEPALIVE と ACK は全然違うぞ。
0116デフォルトの名無しさん
2006/01/18(水) 01:35:35遅レスかも知れんが、やりたいのは packet shaping ってこと?
ぐぐればそれなりに情報出てくるよ。Linux にもドライバやツール類あるし。
011788
2006/01/18(水) 02:23:22たくさんのレスありがとうございます
LINGERをまず試してみたのですが、LANケーブルを切断後、
およそ10秒後にOS(WindowsXPproSP2)がソケットを強制破棄
した様子でLINGERは無視されました
TCPレベルのACKは取り方が分からなかったので試していません
今回は送信する信号のlengthが固定値のため、結局SNDBUFを
1信号分に設定することで送信エラー時は再コネクト後に前回
送信した信号から送信開始、という仕組みにしました
…と言ってもご指摘の通り、信号が出て行っただけでサーバへ
の到達は全く保障されていませんが垂れ流し仕様を作った設計者
も責任を感じているらしく了承してもらいました
0118デフォルトの名無しさん
2006/01/18(水) 02:25:19> 個人的には、tcp の上で自前の ACK とか言ってる奴
> は、ネットワークプログラマをやめた方がいいと思う。
お前がやめろ。是非やめろ。
0119デフォルトの名無しさん
2006/01/18(水) 02:27:24Windowsはlink downで、network adoptorが切断状態になるんじゃない?
0120デフォルトの名無しさん
2006/01/18(水) 06:19:54相手側のifが落ちてもこっちに通知が来るのはそれなりに遅れる。
0121デフォルトの名無しさん
2006/01/18(水) 09:25:35>>88
0122デフォルトの名無しさん
2006/01/18(水) 09:39:38アプリケーションレベルのプロトコルによる。
電文のシーケンスエラーというのもあるからな。
ACK/NAKのハンドシェイクを入れといたほうが何かと安心。
>>88の問題もアプリケーションレベルでACK/NAKのやり取りをすれば解決だな。
012386
2006/01/18(水) 13:03:10wsprintfについてですが、
もともと>>6の一番下は簡単な文字列を送るプログラムらしいので、
そういう何かなのかとあまり考えずに使っていました。
一応、単純に第2引数のポインタで、UDPデータのアドレスを得るように
してみました。しかし、3バイト以外データが空で、アドレスを
埋め込んでしまったかもしれません。
プログラムの基礎が足りないようです。勉強します。
もうひとついいですか?1度に1500バイトを超えるデータを
単位としたくて、64kB以下を送信するフラグメントを作ってみました。
Etherealで観測すると、UDP IP IP IP... UDP IP IP IP ...
という形になっています。WinSock2の標準のUDPでもこれをしっかり
組み立ててくれるのでしょうか?まだUDPデータがしっかりしていないので
確認できないのですが・・・
0124デフォルトの名無しさん
2006/01/18(水) 13:16:13> まだUDPデータがしっかりしていないので確認できないのですが・・・
etherealが先かよ!
IPフラグメントでググレ。
0125デフォルトの名無しさん
2006/01/18(水) 15:32:46紹介されてるHP等あったら教えてください、
-send
-sendto
-recv
-recvfrom
-wsasend
-wsasendto
-wsarecv
-wsarecvfrom
0126デフォルトの名無しさん
2006/01/18(水) 16:15:46>>1
0127デフォルトの名無しさん
2006/01/18(水) 22:55:46> 電文のシーケンスエラーというのもあるからな。
tcp 上で?
プログラムがバグってるか、タコなプロトコルスタック
/デバイスドライバ/オペレーティングシステム でも使
ってるのか?
(まあ、過去にはそういう経験もしたことあるわけだが…。)
>>118 といい、痛い奴が最近多いのか?
> >>88の問題もアプリケーションレベルでACK/NAK
> のやり取りをすれば解決だな。
そんなことができれば、>>88 も苦労してないだうな。
0128デフォルトの名無しさん
2006/01/18(水) 23:21:11interoperabilityを考えたプロトコルなら普通(←言い過ぎか?)は
ACK/NAK相当の応答が入ると思う。
応答のタイムアウト等で>>88の問題にも対応できるし。
0129デフォルトの名無しさん
2006/01/19(木) 00:21:49ネゴシエーションとかのことを言ってるのかな?
ただそれは、通信路の話とは別の話で、例えば各々の
プロセスが共有メモリを介在して動く時にも必要な話だ
よね。
世の中、そういう階層の分離ができない奴がいて、
>>122 みたいに「ネットワークだから伝送エラーが起き
るな。なんとなく心配だから、ハンドシェークしておこ
う。」とか言う、勘違い君がいたりする。
> 応答のタイムアウト等で>>88の問題にも対応できるし。
⇒ >>103 クライアントからサーバへは一方通行の垂れ
流しプロトコルの為
0130デフォルトの名無しさん
2006/01/19(木) 00:42:27>>129
0131デフォルトの名無しさん
2006/01/19(木) 06:50:17自作してるんじゃないの?
0132デフォルトの名無しさん
2006/01/19(木) 11:28:490133デフォルトの名無しさん
2006/01/19(木) 11:33:570134デフォルトの名無しさん
2006/01/19(木) 12:01:23同じリスニングポートのサーバソケットを開けた。telnet 127.0.0.1 9999 でやった
時は前者のサーバソケットへ、telnet 192.168.1.170 9999 でやったときは
後者のサーバソケットへ接続。ふーんやっぱそうでつか。
0135デフォルトの名無しさん
2006/01/19(木) 12:32:24・TCP層のアドレスは<IPアドレス、ポート番号>。
・インターネットアーキテクチャではホストでなくインターフェースごとにIPアドレスを付ける。
の二つから。
0136デフォルトの名無しさん
2006/01/19(木) 16:06:422. パケットをキューに入れる (別のスレッドに渡すため)
3. 1. に戻る
というループをしてるんですが、recv が終了して次の recv に入るちょっとした間に
到着したパケットって次で取得できるんですか? それとも取り漏らす?
0137デフォルトの名無しさん
2006/01/19(木) 16:11:17その「ちょっとした間」に来るパケットの量が、
(OSの)UDPの受信バッファよりも多ければ取りこぼす。
0138デフォルトの名無しさん
2006/01/19(木) 16:21:41サンキュー、パケット受信に入っていなくても OS がしばらくは持っててくれるわけね。
たまにパケット送りそこなってるらしいアプリがあって、しかも原因不明らしく、なぜか
受信側に嫌疑が振られてたんだけど、これで心置きなく突っぱねることができそうです。
0139デフォルトの名無しさん
2006/01/19(木) 16:48:43> たまにパケット送りそこなってるらしいアプリがあって、しかも原因不明らしく、
インターネットアーキテクチャでは、
途中にいるルータが破棄する可能性が前提なので、
パケットを受け損なうことがあると困るのであれば、
TCPその他で保障してやる必要がある。応答確認、再送など。
ルータは中間にいない場合も、HUBが破棄するかも知れない。
0140デフォルトの名無しさん
2006/01/19(木) 17:18:56困る困らないは別として、パケットが十分に低いトラフィックで受信側NICまで届いているのに
APでは取りこぼしていたりすると「実装不味いんじゃない?AP作り直せば」ということになるでしょう。
>>138はそんな感じなのでは?
0141デフォルトの名無しさん
2006/01/19(木) 17:24:02重ねてありがとうございます。マルチキャスト使って LAN 内のサーバ
探してまして、その応答部分ですね。
C: 起動。活動中のサーバを探すためにマルチキャスト
S: 自分が活動中であることを送り返す ← ここ
C: 活動中のサーバのうち適切なところへ接続
サーバは常に何台か動いているので実害はないのですが、テストしてると
たまに起動サーバ数と応答数が合わないらしくて (再現性なし)。状況によっては
1〜2 台になったりもするんで、バグなら直しておかないと。
ほぼ同時に複数の応答パケットが返って来るんで、先の 「ちょっとした間」 で
取り漏れてるんじゃないかと疑われそうになったしだいです。
TCP のパケットエラーとかは皆無なんで、ネットワークのせいではなさそう
なんですけどね。というか送信側は別会社でソースぐちゃぐちゃだったんで
あれこれ別の理由を探してるのかなぁ、と…
どうもありがとうございました。
0142デフォルトの名無しさん
2006/01/19(木) 19:35:15UDPは喪失しているのかもしれないな。
0143デフォルトの名無しさん
2006/01/19(木) 19:44:50あまり考えられないけどなぁ・・・って普通に社内LAN通してるのか。
そりゃUDPなら落とすこともあるか。
0144デフォルトの名無しさん
2006/01/19(木) 22:02:53たまにと言うのがどれぐらいの頻度か知らんけど、
sniffer とか ethereal とかでモニタすると言う
のはどうだろうか?
0145デフォルトの名無しさん
2006/01/19(木) 22:35:49> イーサネットでの衝突
それはイーサネットレベルで検知・再送されるんじゃなかったけ。
0146デフォルトの名無しさん
2006/01/19(木) 22:47:440147デフォルトの名無しさん
2006/01/19(木) 22:54:34イーサにとってUDPもTCPもないでしょう? それは別のレベルでの話。 イーサは16回
再送を試みるらしい。
0148デフォルトの名無しさん
2006/01/19(木) 23:02:27ソケットにのぞき窓でもあるんですか?
0149デフォルトの名無しさん
2006/01/19(木) 23:30:200150デフォルトの名無しさん
2006/01/19(木) 23:44:49ほらあれだよ
ネットにつながってるLANのコネクタを監視したらいいじゃん
無差別だったらプロミスキャスだったっけな
etherealの名前のままEthernetをどんなパケットも逃さず監視するって感じなのかな
どうやってそういう風なプログラミングをするのかは不明だが・・・
0151デフォルトの名無しさん
2006/01/19(木) 23:54:41>>145>>147の言っているのは10Base-5とか昔の話じゃないの?
スイッチングHUBだって、キューが溢れたり、
内部バスの(バタフライなどの)スイッチングネットワークで衝突が起きたら捨て放置だよ。
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/phrensy/pub/papers/AroraLM94/node7.html
■ このスレッドは過去ログ倉庫に格納されています