TCP/IPについてじっくり考えてみなか?

この記事は約22分で読めます。
スポンサーリンク
この話題の盛り上がりグラフ
2018-05-21 21:21:30 最終更新
1

みないか?

2 名無しさん

>>1

とりあえずネタ振ってください。

20 anonymous@ ms.osu.eng.ynu.ac.jp

プログラム板

TCP/IPについて、じっくり考えてみないか?

hhttp://pc.2ch.net/test/read.cgi/tech/1014428594/l50

ム板の者ですが、恥ずかしいですホント…通新技術板のみなさんどうもすみません。

>>1

お前の立てたスレの最後に参考になる書籍と雑誌名を書いといたから。とりあえず

ここで質問する前に「これは読んどけ」スレの過去ログくらい全部読め。話はそれからだ。なっ。

3

>>2

そうねえ、ちょっと待ってね。 今考えるから。

4

一応、TCP/IPについて、論理的には理解してるわけだ。 けど、その実装

が全くもって分からないの。 OSと、このTCP、IP、UDP とかのプロトコルの

関係について、詳しい人っていますかね。 TCP、UDP、IP って、1つのプロセス

なの? それともデバイスドライバみたいに、もっと特別な位置ずけがされてるの

でしょうか?

5 名無しさん

>>4

プロトコルスタックの話?

実装は当然実装依存。特別な位置づけをしているかどうかはその装置とOSで

特別な位置にTCP/IPプロトコルスタックをおきたいかどうか、というお話。

7

>>5

おお。プロトコルスタックか。 あらたな概念に遭遇したわ。

ちょっとインターネットで、調べてみますね。

自分としては、デーモンみたいに常にメモリ上に常駐して、サービス

を提供するプロセスをイメージしてたんだけど、違うのね。 OSによって

システム内でのプロトコルの位置ずけは変わるってこと?

8 名無しさん

>>7

BSD系やLinuxはカーネル内にいます。

Windows系はドライバだよね。本質的には両者に差はないんだけど。

9

>>8

なるほど。 と言う事は、バックグラウンドで常に動作してるプロセスで

はなく、必要に応じてコールされる処理ルーチンって事なの?

10 名無しさん

まぁ、プロトコルの処理自体は別にOSに依存しないので、

OSの都合(組み込み用とではプロセスモデルでないOSなんていっぱいある)と

性能とか多機能併用の都合とかで、どうとでもなると。

11

>>10

なるほど。 ってことは、OSや、ハードによって、プロトコル、特にTCPや

IPの位置ずけは違うって事? 自分としては、一般的なコンピュータ(PCとか

ワークステーション)上での実装が知りたいんですが。 色んなHP探したけど、

そういう突っ込んだ部分まで開設したHPって無いんだよね。 表面的な解説ば

っかりで。

14 名無しさん

>>11

解説すると本1冊以上になります。

まぁオープンソースなOSのソースを読むのがいいのでは?

15

>>14

そうですか。 何かおすすめの書籍など、ありますかね。

やっぱり、RFC読むだけじゃ、理解はできないでしょ?

18  

Solarisもドライバとしての実装だよね、確か

19

>>18

ドライバとしての実装って事は、カーネルコードに埋め込まれているって

こと? 間違ってるかもしれないけどドライバって、デバイスドライバで

すよね。 けど、デバイスドライバは、コンピュータに接続されてる周辺

機器に対応するもので、周辺機器から割り込みが発生したり、アプリケーシ

ョンがそのデバイスに対応するスペシャルファイルに入出力すると、OSから

自動的にコールされる処理ルーチンですよね?

35 nobody

IOSでもIPsecとかやるときにDFビットを無視するオプションあるね

36 balance

>>35

IPsecのとき、オリジナルIPパケットのDFビットを無視してIPsecパケットを

フラグメントすることはできるけど、そのときのouterヘッダにはDFビットを

立てないんじゃありませんでしたっけ。

だから、DFビットが立ったままフラグメントという状況は普通は無いはずなんですが

どうでしたっけね。手元にIPsec動作するのが無いのでうろ覚えですが。

37 pod

便乗質問させてください。

普通のLinuxサーバはMTU1500になってますが、

BフレッツPPPOE,unnumberdでコレガのルータかまして、内部の(グローバル)

Linuxサーバを公開しているんですが、別のネットワークのクライアントで

到着パケットをみると「フラグメント」しているみたいなんです。

(1466+82という2つのパケットに分かれてます。)

LinuxはMAX1500のパケットを送り出しているが、コレガのルータが

それを分割してクライアントに送りつけるということでよろしいのでしょうか?

この状態はとくに異常なものではないのでしょうか?

その2番目の後続フラグメントパケットにはIPヘッダはついているけど、

TCPヘッダはついていません。つまり全部フラグが0と見られてしまうし、

送信先、送信元ポート番号もないので、この後続フラグメントパケットだけみると

「Nullスキャン」という解釈がされてしまうと思うのですが、どうでしょう?

識者の方、ご教授願います。

(おまえんとこからNullスキャン受けたと抗議殺到でマジで困ってます。)

38 anonymous@ FLA1Aac138.kng.mesh.ad.jp

>>37

hhttp://www.ntt-east.co.jp/flets/opt/faq_03.html

ここのQ5

39 38

>>37

>その2番目の後続フラグメントパケットにはIPヘッダはついているけど、

>TCPヘッダはついていません。

IP層では、TCPヘッダーも単なるデータにすぎません。フラグメントパケットは

destinationにて組み立てられるから大丈夫よ。組み立てられてから、

IPヘッダーを取り除いてTCPパケットの中身を見るわけやね。

# ここって名前になにもいれないとダメなのね。

40 38

>>37

>(おまえんとこからNullスキャン受けたと抗議殺到でマジで困ってます。)

その侵入検知システムはフラグメントオフセットが0でないかどうかを、ちゃんと検査していないのかも

しれませんね。ところで、1466+82 の82の方のIPヘッダーのフラグメントオフセットは1446になってる?

(1446 = 1466 – IPヘッダーのバイト数)

あと、1466と82のIPヘッダーの識別子は同じになってる?

54 まるち

マルチキャストの勉強をしようと思ってるんですが、テストにはどんなアプリを使っていますか?

ユニキャストなら、HTTP、POPなどいくらでもあるんだけど・・。

動画配信サーバーとか作らないとダメでしょうか。

62 ほぷきん

>>54

mcaster.exe

で検索してみな。

時々変な振る舞いをすることはあるが

テストには使えるよ。

56  

こっちでも話題振ってくれ。下がりすぎ。

これは読んどけ!ネットワーク必読書

hhttp://pc.2ch.net/test/read.cgi/network/954649325/

57 age

回線速度を計るのにFTPとか使ってるんだけどフリーウェアでなんかいいのある?

FTPだとハードディスクの読み書きとかで正しい数値が得られないようなきがする。

58  

>>57

FTPで正確に測れないのは確かだが

まともなFTPクライアントを使っている限りは、そういう問題ではない

アプリさえ受け取れていればディスクに書くのなんて

通信が終わってからだってかまわないんだから

というか”回線速度”だったらFTPで十分だ

対向のサーバか回線がボトルネックで無い限りは

60 _

>>58

最近のxDSLやFTTHでは、TCPでの転送なのが災いしてFTPでは

うまく計れなくなってきた。

帯域幅が広がったのに対して遅延があまり小さくならないから

ACK待ちが多くなって転送速度が頭打ちになっちゃう。

ウィンドウサイズをサイズを大きくすることで変わるけど、

個人的にはできればUDPベースとかでスループットが簡単に測れるのがいいね。

61 ?

>>60

UDPだと逆に落ちたパケットと原因が特定しづらくならない?

TFTPみたいにL5以上でACKを実装してるUDPのプロトコルもあるけど

TCP以上にオーバーヘッドがあるからな

まあ、機器の性能とかではなくて単純にLinkの限界を拾うのであれば

UDPの方がいいかもしれないね

#測定する両端が自分の管理下ならnetperfで十分だと思うけど、>>57はちがうだろうからなあ

63

>>61

>TFTPみたいにL5以上でACKを実装してるUDPのプロトコルもあるけど

>TCP以上にオーバーヘッドがあるからな

本気で言っていますか?

64  

>>63

TFTPのACKの数がどんだけかあるか知らないのか?

66 あぼーん

あぼーん

69 発掘人

とりあえずRFC792(ICMP)をちらちら読んでみると

「Sequence Number」というフィールドがあるとのこと。

エコーリクエストとエコーリプライを対応させるために

使われるとあるので、これがportに該当するものだろうか。。

だけど実装するときって、いったいどういう値を使えばいいんだろう。

16ビットあるんだけど、01から適当にインクリメントしていけば

いいのかな・・

その辺、詳しい人いませんか?

72 anonymous@ eAc9Aaa056.tky.mesh.ad.jp

>>69

FreeBSD の場合、ID に”process ID & 0xFFFF”した値を突っ込んで

使っているみたい。

seq no はどの echo request に対する reply かを識別する為に

使ってるらしい。duplicate した reply の検知とかにも。

Windows Me だと ID は固定で、seq number がユニークになっている。

どうやって seq number をユニークにしているのかは知らん。

FreeBSD の ping だと ID で TCP でいうポート相当の事をしていて、

seq number でセッション管理的な事をしている。

WindowsMe の ping は seq number で両方行っている。

という感じかなぁ・・・。

75 68

>>72-74貴重な情報どうも。

うちは2000です。IDってもしかして0400になってます?

とりあえずtcpdump流しっぱなしで放置して、seq numberがどういう動き

するのか観察する予定・・。

hhttp://www.kt.rim.or.jp/~ksk/wskfaq-ja/examples/rawping.html

ここにはC++とwinsockを使った実装がのってるんですが、この実装でも

受信パケットのseq numberが異なったら無視する仕様みたいです。

89 生きてるのか死んでるのか。

自宅にいるときも、会社の鯖が生きてるか死んでるのか心配です。

複数のサーバの複数のポートに対して

TCP のセッションを開始できるかどうかを常時検査して、

それをグラフィカルに表示してくれるようなWindowsのソフトって無いでしょうか?

103 anonymous@ ntchba049211.chba.nt.ftth.ppp.infoweb.ne.jp

>>89

そういう事が会社に貢献すると思ったら大間違いです。

たとえあなたが監視できたとしても、あなたの都合で監視をやめたら、

またはあなたがいなくなってしまったら、どうしますか?

その時になって怒られるのはあなたではなくて会社なのです。

もし監視が必要なら、会社としてその体制を整えるべきです。

できないなら、夜間のトラブルは翌日営業時間になるなどの旨を

お客に伝えておくべきです。そしてあなたは夜はぐっすり眠るべきです。

そんな事をして過労死したらみんなに迷惑です。

93 _

big brotherっていうポーリングとMRTGを統合した

視覚的な監視ツール使うのが一般的なんだって

96  

>>93

ネーミングがキモイよ

99 Costan

>>97

>物理層がADSLだと、TCP checksum errorが出るようだ

他の物理層では、OKだったのでしょうか?

その物理層は、何でしょうか?

100  

いやTCPでエラー出たのADSLぐらいだし

105

>>103

そんなこといわれてモナー

会社の方針だかラナー

120 anonymous@ p13208-adsan10honb5-acca.tokyo.ocn.ne.jp

TCP/IPプロトコル郡を採用したLANの利点、不利点をまとめたいのですが、お教えいただけませんか?

また、そのことを調べることが出来るサイトの紹介もぜひお願いします。

121 sage

>>120

宿題は自分でやれ。

122 120

>>121

宿題って良くわかりましたね。

友人に聞かれたのです。

そういわずにヒントくださいな。

123 sage

>>122

質問の意味を正確に書かないと誰も答えられないと思われる。

・TCP/IPプロトコル郡 → 何これ?

・LAN → L2の話? それともL3の話?

124 120

>>123

レスありがとうございます。

TCP/IPプロトコル郡とはTCPやATMなどひっくるめて郡と呼びました。

LANですが、レイヤは一応すべてのレイヤのプロトコルを意識して考えたいので特に指定はせずに一般論的に考えたいのです。

136 大学生

学校の課題がわからずに困っています。

>データリンク層,ネットワーク層,およびトランスポート層のそれぞれについて主な役割と

>設計課題を簡潔に述べよ.さらに,このような役割分担に反するような実装がなされると,

>どのような問題が生じるのかを,インターネットプロトコルでの例をいくつか挙げて説明せよ

この問題の「さらに」以降の後半の部分が良くわかりません。

なにか参考になるものを教えていただけたら幸いです。

よろしくおねがいします

137 sage

>>136

レイヤ構造を無視して通信部をつくるってことってとらえるなら、

当たり前だが汎用性はなくなるわな。

TCP/IPってほぼセット、というかTCPはIPがないと使えないから、

現時点でもレイヤ構造を無視してるといえる。

IPv4からIPv6へと移るために、TCPの部分でもソースコードを変えざるを得ないことになっている。

FreeBSDのソースを見てる限りだと、#ifdef INET6といったものなので、

まさにごちゃごちゃ・・・っつーことになっている。

忙しくて乱文スマソ

138 136

>137

ありがとうございますm(__)m

157 anonymous@ p4165-ipbffx02hodogaya.kanagawa.ocn.ne.jp

LinuxでVegasを有効にしたい時は、「net.ipv4.tcp_vegas_cong_avoid=1」にすれば良いのでしょうか?

これを実行しても、tcptraceでシーケンスを見る限り、何も有効化する前と変わらないんですよね・・・。

158 anonymous@ ipn36372-d82305.cidr.lightship.net

>>157

Congestionの起こるネットーワークでテストしてるの?

159 157

>>158

一応Dummynetを使用して、遅延なりパケットロスレートなりを設定して試してみたりしてはいるのですが、

有効前、有効後の挙動の違いが全く確認出来ません・・・orz

機能確認をするのにお勧めのシチュエーションがあったら教えて頂くと幸いです。

173 anonymous@ softbank219027152165.bbtec.net

メールの送信はsmtpを使って行われますよね?

なぜHTTPやFTPで送信しないのでしょうか?

175 sage

>>173

HTTPなんてつい最近できた新米プロトコル

メール送信はもっと昔からある

176 anonymous@ softbank219027152165.bbtec.net

>>175

ブラウザでメールを確認するのはHTTPを使っているいことになるでしょうか?

177 mayumi

>>176

MTA間とMUAとの区別からおべんきょうしましょう

178 質問です…

IPを調べると個人情報が手に入れる事が出来るのですか??

179 anonymous@ p4018-ipbffx02hiraido.tochigi.ocn.ne.jp

>>178

まぁ、素人でも住んでる都道府県ぐらいはわかるよ〜ん。

玄人にかかると…こゎ。

180 anonymous@ softbank219027152165.bbtec.net

>>179

どうやれば分かるんですか?

教えてください。

何卒よろしくお願い致します!!!!

181 anonymous@ p4018-ipbffx02hiraido.tochigi.ocn.ne.jp

>>180

おぉ、教えてやろう!

例えば、

hhttp://www.iphiroba.jp/

とか。

玄人技は、またいずれ。

182 Σ(゜Д゜;≡;゜д゜)

>>181

どうかどうかよろしくお願い致します。

玄人技も教えてください。

せめてヒントだけでも良いので教えてください。

何卒よろしくお願い致します。

184 Σ(゜Д゜;≡;゜д゜)

>>181

どうかどうかよろしくお願い致します。

玄人技も教えてください。

せめてヒントだけでも良いので教えてください。

何卒よろしくお願い致します。

185 anonymous@ 58x157x41x197.ap58.ftth.ucom.ne.jp

>>184

宇都宮市民なんてほっとけよ

206 anonymous@352891018704540

ここホスト強制?

208

>>206

名前欄のデフォが

anonymous@fusianasan

だからだと思う

220 anonymous@PPPa2482.e2.eacc.dti.ne.jp

Linuxをデスクトップで使っています。

netstat -s でTCPのretransmit(再送の意味)をみると、

受信の一割弱使っています。

この再送をもっと減らしたいのですが、

混雑緩和

MTUの適正化

PMTUのオフ

を、試しても減るどころか増える始末。

どなたかお知恵を拝借したく。

221 KAC

>>220

TCPってのは、乱暴に言うと

・通信エラーが起きるまでどんどん送ってみる。

・通信エラーが検出されたら送る量を減らす

って事を繰り返しながら最適な通信速度を保ってる。

だから、通信エラーは発生するし、再送も絶対におきる。

そういうもんだから、再送の数を気にしても無駄。

223 anonymous@p75198-ipngnfx01marunouchi.tokyo.ocn.ne.jp

金子勇の逮捕〜死亡は全てアメリカの陰謀

自前で作ったTCP/IPを脅かす存在は抹殺対象

スポンサーリンク

元スレ

TCP/IPについてじっくり考えてみなか?
http://hayabusa6.2ch.net/test/read.cgi/network/1014429970

コメント

タイトルとURLをコピーしました