• 締切済み

ブロック長について

こんばんは。 TCP/IPの世界ではデータはパケットととして転送され、1回の手続きで 転送が完了しない場合は、分割されて転送されると思います。 アプリケーションによっては、固定長のブロック長を指定でき、 ブロック単位でデータ転送が行われます。 現在、全銀TCP/IPを使用し、通信を行っていますが、稀に通信エラー が発生します。 どうもパケットロスが原因のようなのですが、ブロック長を長くすれ ばするほど、パケットロスと言うのは起こりやすくなるものなのでしょうか? 現在、全銀推奨の2048以上を指定してます。 他の業務でも全銀TCP/IPを使用していますが、このようなエラーは 発生しておりません。違いがあるのはブロック長の長さです。 回線はISDNを使用しています。

みんなの回答

noname#146143
noname#146143
回答No.1

TCPは、送信バイト数が少ないととフラグメントと言う動作を行います。要は足りない分、無意味なデータをつけます。 フラグメント化になると、スピードは遅くなります。 TCPのウィンド処理です。 TCPのヘッダは通常20バイトです。拡張すると40バイトになります。 ISDNですから64キロバイトの通信能力です。 きっとMTUを2048バイトにしているのだと思います。

YT0925
質問者

補足

こんばんは。 推奨以上のブロック長を指定すると、逆に転送速度に影響することは 理解できました。 では、本題であるそれがパケットロスに影響するかどうかまではいか がでしょうか? 関係ないのであれば、稀に発生するエラーは、通信環境の問題かなと も思います。 ISDNの64Kですが、ほぼ専用線に近い使い方をしてまして、相手は国内です。