チェックサム・オフロード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/01 19:49 UTC 版)
「Transmission Control Protocol」の記事における「チェックサム・オフロード」の解説
詳細は「オフロード (コンピュータ用語)」を参照 多くのTCP/IPスタック実装では、ネットワークカードによる自動チェックサム計算を補助的に使うオプションを用意している。これによりCPUサイクルをチェックサム計算に費やすコストを低減でき、ネットワーク性能を向上させることができる。 なお、送信時にチェックサム計算をネットワークカードに任せていると、LANアナライザがチェックサムエラーを検出することがある。
※この「チェックサム・オフロード」の解説は、「Transmission Control Protocol」の解説の一部です。
「チェックサム・オフロード」を含む「Transmission Control Protocol」の記事については、「Transmission Control Protocol」の概要を参照ください。
チェックサムオフロード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/01/18 09:05 UTC 版)
「オフロード (コンピュータ用語)」の記事における「チェックサムオフロード」の解説
インターネットの基盤プロトコルであり、事実上の標準であるIPを用いた通信はネットワーク通信の中心である。この状況下では、IP通信の負荷を下げることは、ネットワーク負荷を下げることとほとんど同じといえる。 IPv4では、パケットがビット化け等によって破壊されているかを検査するために、IPヘッダ内にチェックサムフィールドを持っている(参考:IPv4#パケット)。また、IP通信の約9割を占めるといわれているTCPのヘッダ内にもチェックサムフィールドが設けられている。すなわち、IPv4では大抵の場合、1つのパケットを送受信する際には、送信側と受信側でそれぞれ2回、チェックサムの算出が必要となる。 IPv6にはチェックサムフィールドは設けられていない(参考:IPv6#ヘッダ)。これはエラーチェックを上位層に任せているためであり、エラー訂正機能を持つTCPでのチェックサム算出はIPv6でも必要である。すなわち、IPv6では大抵の場合、1つのパケットを送受信する際には、送信側と受信側でそれぞれ1回、チェックサムの算出が必要となる。 このように、IP通信ではほとんどのケースにおいてパケットごとに1度以上、チェックサムの算出が必要となる。このチェックサム算出を、OSで行わずにネットワークアダプタに任せることで、OSの負荷を下げるというのがチェックサムオフロードである。IP層とTCP層、送信と受信によって、以下のように分かれる。 TCPチェックサム・オフロード(TCOとも略される)受信TCPチェックサム・オフロード 送信TCPチェックサム・オフロード IPチェックサム・オフロード受信IPチェックサム・オフロード 送信IPチェックサム・オフロード ネットワークアダプタが各オフロードに対応している場合、データ送信の際、OSはチェックサム算出を行わずネットワークアダプタに算出を任せる。ネットワークアダプタは、チェックサムの算出を行ってチェックサムを補いながら各パケットを送出する。データ受信の際、ネットワークアダプタはチェックサム算出を行い、その正否を別の形でOSに通知する。OSは、チェックサムを算出せずにネットワークアダプタから別の形で得られたチェックサム正否を用いてパケットの非破壊性を確認する。 Windowsでは、Windows 2000(NDIS 5)から実装され、Windows 2003 Server(NDIS 5.1)でデフォルト機能となった。Microsoft社が行ったテストでは、TCPチェックサムオフロードだけで、CPU使用率ベースで最大30%のパフォーマンス向上が得られたとしている。 なお、通常運用では問題とはならないが、WiresharkなどのLANアナライザを用いてパケットをキャプチャすると、チェックサムが誤っていないにもかかわらずチェックサムエラーが示されることがある。これは、送信パケットのチェックサム算出をネットワークデバイスに任せている関係で、キャプチャリングされるタイミング、つまりOSからパケットが送出される直前の段階では、チェックサムフィールドにチェックサム計算結果が含まれていないことによるものである。このような環境では、LANアナライザのチェックサムエラー検出機能を無効化しておく必要がある。受信パケットの場合はこのような事情はないため、パケットそのものが欠損していない限り、チェックサムエラーとなることはない。
※この「チェックサムオフロード」の解説は、「オフロード (コンピュータ用語)」の解説の一部です。
「チェックサムオフロード」を含む「オフロード (コンピュータ用語)」の記事については、「オフロード (コンピュータ用語)」の概要を参照ください。
- チェックサム・オフロードのページへのリンク