ネットワークインターフェイス カード(Network Interface Card)の基礎知識

コンピューターの基礎 3/N

公開日: 2024-08-02
更新日: 2024-08-04

NICとは?

ネットワークインターフェイス カード (Network Interface Card, NIC) は, コンピューターまたはネットワーク対応デバイスをネットワークにつなげるためのプリント基板としてのハードウェアコンポーネントです. ネットワークアダプター,ネットワーク カード,LANアダプターとも呼ばれたりします. ネットワーク上のデバイスを識別するMAC(Media Access Control)アドレスは,NICが持っています.

NICは通常、コンピューターのマザーボードに直接接続するか,または拡張スロット(PCI ExpressスロットやUSBスロット) に挿入する拡張カードの形式で提供されます.

NICオフロード機能

NICの帯域幅は1Gbpsが標準的だが,10Gbps,25Gbps,50Gbpsと広い帯域幅までカバーする種類が登場してきました. NICはパケット(ネットワークで送受信するデータの伝送単位)の処理をサーバのCPUに受け渡しますが, ネットワークの高速化(帯域幅の拡大)に伴い,CPUがパケットを処理する際の負担が大きくなることが問題になり始めました.

CPUはパケットの処理に掛かる負荷が増えるほど,アプリケーション側の処理にリソースを割けなくなってしまいます. この問題を解決するために,CPUの処理の一部をNICのプロセッサに担わせる,いわゆる「NICへのオフロード」という手法が登場しました.

具体的には,以下の3つの処理をNICオフロード機能が代行しています:

  • TCP/IPチェックサムのオフロード
  • TCPセグメント化オフロード
  • IPSecオフロード

ただし,NICオフロード機能が原因で障害が発生する事例もあるので利用には注意は必要です.

enp6s0 vs eth0

Ubuntu 22.04にて,ネットワークI/Fの設定,表示を行うコマンドifconfigip addressを実行すると

  • enp6s0: ethenet connection
  • lo: loopback
  • wlp5s0: Wireless connection

が表示されるはずです.古くはeth0, wl0などのように表示されていましsたが新しいsystemdベースでは 上記のような表現に変更されました.

enp6s0という名前は,次の部分で構成されています:

  • en: ネットワークインターフェス(今回はethernet)
  • p6: 物理的なスロットまたはポートを示す
  • s0: 同じ物理スロットまたはポートに接続されているインターフェイスの最初のものを示す


Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)