ネットワーク
上級

ネットワークスタック(ネットワークスタック)

OSI 参照モデルや TCP/IP モデルの階層を実装したソフトウェア群。Linux カーネルの NetworkManager / systemd-networkd / nftables、Windows TCP/IP スタック、macOS の Network Framework が代表。

0 回閲覧
0 いいね
2026/5/2 更新
関連タグ
Linux
TCP/IP
systemd-networkd
eBPF
XDP

概要

ネットワークスタック(Network Stack)は、OSI 参照モデルや TCP/IP モデルの階層を実装したソフトウェア群を指す。物理層(イーサネット)→ データリンク層(MAC)→ ネットワーク層(IP)→ トランスポート層(TCP/UDP)→ アプリケーション層(HTTP/DNS)まで、各層が連携してパケットを処理する。OS カーネルの中核機能で、Linux / Windows / macOS / BSD 各々が独自実装を持つ。2026 年現在、Linux は eBPF / XDP(Express Data Path)でカーネルバイパス高速化が主流、Windows 11 24H2+ は IPv6 ファースト + Wi-Fi 7 対応、macOS は Network Framework + privacy 強化が進行中。

OSI 参照モデル(7 層)

層名前プロトコル例
7アプリケーション層HTTP / DNS / SMTP / SSH
6プレゼンテーション層TLS / SSL / 文字コード変換
5セッション層NetBIOS / RPC / Sockets
4トランスポート層TCP / UDP / QUIC / SCTP
3ネットワーク層IP / ICMP / OSPF / BGP
2データリンク層Ethernet / Wi-Fi / PPP
1物理層RJ45 / 光ファイバー / 電波

TCP/IP モデル(4 層、実装的)

層名前OSI 対応
4アプリケーション層OSI 5-7
3トランスポート層OSI 4
2インターネット層OSI 3
1リンク層OSI 1-2

OS 別ネットワークスタック実装

Linux

コンポーネント用途
systemd-networkd設定管理、Ubuntu Server / Fedora 標準
NetworkManagerデスクトップ Linux 向け、Wi-Fi GUI
nftablesパケットフィルタ(iptables 後継)
iproute2IP アドレス / ルーティング操作
wpa_supplicantWi-Fi 認証
eBPF / XDPカーネルバイパス高速化
CiliumKubernetes ネットワーキング、eBPF ベース
CalicoKubernetes ネットワーキング
WireGuard次世代 VPN、カーネル統合

Windows

コンポーネント用途
Windows TCP/IP Stackカーネルレベル、tcpip.sys
Windows Filtering Platform(WFP)ファイアウォール基盤
Wi-Fi DirectP2P 通信
Hyper-V Virtual Switch仮想ネットワーキング
WSL2 ネットワークLinux 互換(Hyper-V 経由)

macOS

コンポーネント用途
Network FrameworkSwift API、最新推奨
BSD Sockets古い C API、互換性
pf(packet filter)ファイアウォール、BSD 由来
Bonjourローカル mDNS / 自動検出
iCloud Private RelayApple のプライバシー VPN

Linux ネットワークスタックの主要操作

# IP アドレス確認
ip addr show

# ルーティング確認
ip route show

# ファイアウォール(nftables)
sudo nft list ruleset
sudo nft add rule inet filter input tcp dport 22 accept

# 接続状況確認
ss -tunap

# 経路追跡
mtr google.com

# パケットキャプチャ
sudo tcpdump -i eth0 port 443

eBPF / XDP(高速化技術)

// XDP プログラム例(C 言語、簡略版)
int xdp_drop_icmp(struct xdp_md *ctx) {
    void *data = (void *)(long)ctx->data;
    void *data_end = (void *)(long)ctx->data_end;
    struct ethhdr *eth = data;
    if (eth + 1 > data_end) return XDP_PASS;
    struct iphdr *ip = (void *)(eth + 1);
    if (ip + 1 > data_end) return XDP_PASS;
    if (ip->protocol == IPPROTO_ICMP) return XDP_DROP;
    return XDP_PASS;
}

XDP は NIC ドライバレベルでパケット処理、レイテンシ最小化(DDoS 対策 / Load Balancer)。

主要プロトコル(2026 年動向)

プロトコル状況
HTTP/3(QUIC)全主要ブラウザ対応、サイト 25%+
TCP BBR3Linux Kernel 6.x、輻輳制御改善
WireGuardVPN 業界標準化、OS カーネル統合
Wi-Fi 7(802.11be)商用展開、9.6 Gbps
Wi-Fi 8(802.11bn)規格策定中、2028-2030
IPv6普及率 50%+、米国 / 日本主導
MPTCPiOS / Android 対応、複数経路活用
RDMA over Ethernetデータセンター高速化

PC 自作 / ホームネットワーク

  • Wi-Fi 7 ルーター: ASUS ROG Rapture GT-BE98 / TP-Link Archer BE800
  • 2.5GbE NIC: Intel I226-V 標準搭載マザボ多数
  • 10GbE NAS: Synology DS923+ + 10GbE モジュール
  • OPNsense / pfSense: 自作ファイアウォールルーター
  • Tailscale / Headscale: 個人 WireGuard VPN メッシュ

関連用語との違い

用語違い
プロトコル個別規約、ネットワークスタックは実装階層全体
ネットワークドライバ物理 / リンク層、ネットワークスタックの最下層
ソケット APIアプリ層インターフェース、ネットワークスタックの一部
Service MeshIstio / Linkerd 等、ネットワークスタック上の抽象化

よくある質問

Q1: Linux で systemd-networkd と NetworkManager、どちらを使う? A: サーバ / クラウド → systemd-networkd(軽量、宣言的)。デスクトップ → NetworkManager(GUI、Wi-Fi 自動切替)。Ubuntu Server 24.04+ は systemd-networkd 推奨化。

Q2: eBPF はどんな場面で必要? A: 高負荷 Web サーバ / Kubernetes クラスタ / DDoS 対策 / 観測ツール(Cilium / Falco)。一般デスクトップでは不要、サーバ運用エンジニアの必須スキル。

Q3: WireGuard は OpenVPN を置き換える? A: 部分的に。WireGuard は速度 + シンプルさで圧勝、OpenVPN は機能 + 既存資産で残存。新規構築は WireGuard 一択、既存運用は段階移行が王道。

まとめ

  • OSI / TCP/IP の 階層を実装するソフトウェア群
  • 2026 年は Linux が eBPF / XDP / WireGuard 統合 で高速化
  • Wi-Fi 7 / HTTP/3 / IPv6 の 次世代プロトコル が普及加速
この記事について
カテゴリーネットワーク
難易度上級
作成日2026/5/2