「TCP Checksum Offload」の版間の差分

imported>Administrator
編集の要約なし
編集の要約なし
1行目: 1行目:
'''TCP Checksum Offload'''(TCO, てぃーしーぴー・ちぇっくさむ・おふろーど)とは、[[TCP/IP]]の[[パケット]]に付加される[[チェックサム]]の計算を、[[CPU]]ではなく、[[ネットワークカード]]([[NIC]])に任せることをいう。
'''TCP Checksum Offload'''(TCO, てぃーしーぴー・ちぇっくさむ・おふろーど)とは、[[TCP/IP]]の[[パケット]]に付加される[[チェックサム]]の計算を、[[CPU]]ではなく、[[ネットワークカード]]([[NIC]])に任せることをいう。


負荷軽減([[オフロード]]、off=軽減 load=負荷)手法のひとつであり、[[NIC]]上の専用ハードウェアで高速に処理するため[[CPU]]の負荷が下がる。
== 概要 ==
TCPチェックサムオフロードは、負荷軽減([[オフロード]]、off=軽減 load=負荷)手法のひとつであり、、[[TCP/IP]]の[[パケット]]に付加される[[チェックサム]]の計算を[[NIC]]上の専用ハードウェアで高速に処理するため、[[CPU]]の負荷が下がるという機能である。


ただし、NICが外部にパケット送信するギリギリまで([[プログラム]]→[[OS]]→[[NIC]]の間)、TCPパケットに[[チェックサム]]が付加されていない状態(一見するとぶっ壊れている風)になるため、[[Wireshark]](旧[[Ethereal]])などで正常に[[パケットキャプチャー]]ができなくなる(ぶっ壊れてるエラーがでまくる)。通常はNICの[[ドライバー]]経由で[[チェックサムオフロード]]を使うか使わないかの設定ができるので、[[パケットキャプチャ]]を使いたい場合は切っておこう。
ただし、この機能を使うように設定されている場合は、NICが外部にパケット送信するギリギリまで([[プログラム]]→[[OS]]→[[NIC]]の間)TCPパケットに[[チェックサム]]が付加されていない状態(一見するとぶっ壊れている風)になる。そのため、[[Wireshark]](旧[[Ethereal]])などによる[[パケットキャプチャー]]が正常に行えなくなる(ぶっ壊れてるエラーがでまくる)。一般的にNICの[[ドライバー]]経由で[[チェックサムオフロード]]を使うか使わないかの設定ができるので、[[パケットキャプチャ]]を使いたい場合は切っておこう。


TCPチェックサムオフロードは2000年くらいの頃は一部の[[サーバー]]用の高級品にしか付いていなかった機能であったが最近では安物[[ネットワークカード]]でもほぼ付いている。
TCPチェックサムオフロードは2000年くらいの頃は一部の[[サーバー]]用の高級品にしか付いていなかった機能であったが最近では安物[[ネットワークカード]]から[[オンボード]]製品まで、ほぼ付いている機能である。


TCP/IPに限らず、[[UDP/IP]]や[[IP]]に対して[[チェックサムオフロード]]機能を提供している[[ネットワークカード]]も増えてきており、それらは[[UDPチェックサム・オフロード]]や[[IPチェックサム・オフロード]]と呼ばれる。なお安物の[[ネットワークカード]]では[[IPv4]]のみ[[チェックサムオフロード]]に対応し、[[IPv6]]には対応していないという製品も多い。
TCP/IPに限らず、[[UDP/IP]]や[[IP]]に対して[[チェックサムオフロード]]機能を提供している[[ネットワークカード]]も増えてきており、それらは[[UDPチェックサム・オフロード]]や[[IPチェックサム・オフロード]]と呼ばれる。なお安物の[[ネットワークカード]]では[[IPv4]]のみ[[チェックサムオフロード]]に対応し、[[IPv6]]には対応していないという製品も多い。