最近、筆者の自宅でネットワーク障害が起きた。インターネット接続が遅く、ときどきタイムアウトする。最初は、自宅内機器を疑った。過去にも、スイッチングハブが故障して通信が途絶したこともあったからだ。結果からいうと、回線側の故障で、プロバイダとの接続がときどき切断されるものの、一時的に接続が回復していた。このため、ネットワークが異常に遅いように見えたのだ。
最初、プロバイダのサポートに頼ろうとしたため時間を浪費した。そもそもサポート電話番号を調べるのに時間がかかった。AIチャットがお手上げになるとサポート電話番号を教えるという仕掛けだったのである。電話番号が出たとき、脳内でゼルダ伝説の仕掛けが解けたときの音がした。しかし、電話は全然つながらない。そもそも、電話に出る気があるのかしら?
結論からいうと、接続回線側の機器の問題で、プロバイダ側との接続、切断を数十秒間隔で繰り返していた。NTTの故障受付を使うと、あっさりと故障と判定された。このときすでに夜中だったが、翌日の午後には、回線が復旧した。
こうした問題のさなか、ルーターをしばらく交換していないことに気がついた。そのとき使っていたルーターは、無線LANがIEEE 802.11ac(Wi-Fi 5)までのものだった。ほとんどの機器を有線接続しているのと、スマホは自宅ではほとんど使わないので、無線LANの速度はあまり気にしていなかった。
Wi-Fi 7(IEEE 802.11be)がそろそろ登場というタイミングではある。だが、「初物」は安くならないし、新製品はファームウェアなどのアップデートが続くだろう。そう考えて、こなれたWi-Fi 6E(IEEE 802.11ax)にしておこうとルーターを交換することにした。
そういうわけで、DHCPの予約リースなどのため、PCのネットワーク設定を調べる必要があった。ネットワーク内の機器を調べる方法に関しては、過去に「今、そこにある機器」で、PowerShellのGet-NetNeighborコマンドを紹介した。
今回は、cmd.exe、PowerShell、Linux(Ubuntu)で主に設定などのコマンドをまとめてみた(表01)。昔と違い、いまでは有線も無線も簡単に接続でき、トラブルシューティングなどもほとんど不要である。なので、こうしたコマンドのこともほとんど忘れかけていた。
Linux登場以前にUNIXを触ったことのある人は、ifconfigやarp、routeといったネットワーク関連のコマンドの記憶があるかと思う。しかし、Linuxでは、ネットワーク関連のコマンドは大きく様変わりしている。もちろん、パッケージをインストールすることで、UNIX互換のコマンドを使うことも可能なのだが、いつまでもUNIXというわけにもいかない。
現在のLinuxでは、ipコマンドを使う。UNIXのやり方で操作したければ、Linuxにnet-toolsパッケージなどをインストールしてifconfigコマンドなどを導入する必要がある。
逆にWindowsは、NTの頃からほとんど変わらない。シェルとしてPowerShellが入ったが、いまだにipconfig.exeを使う場面がある。PowerShellでは、CIM/WMIでシステム情報を入手することが少なくないが、コマンドがいきおい長くなりやすい。補完でカバーできるとはいえ、ipconfig.exeを使った方が簡単だ。
PowerShellのコマンドの方が、パイプライン処理などを考えると便利ではあるが、従来のネットワーク用exeコマンドを完全に置き換えたわけでもない。たとえば、DHCPクライアント側のコマンドは標準では含まれていない。ただ、いつまでもipconfig.exeに頼らねばならないのもどうかと思う。ネットワーク系のコマンドを使うとき、他のコマンドと比較してもインターネットなどを含めてネットワーク障害が起きている可能性が高い。なのに、コマンドをインターネットからダウンロードなどできるわけもない。そう考えると標準でサポートしておいてほしいところだ。
なお、ネットマスクは、いまだにWindowsでは利用されているが、Linuxでは、プリフィックス表記やCIDR(Classless Inter Domain Routing)表記がほとんどだ。ネットマスクは、IPv4アドレスがクラス分けされていたとき、人間に理解しやすい表記方法として使われた。ただし、過去においても区切りをビット位置で表記するネットワーク機器もあった。
当時のIPv4アドレスは、8 bit単位で、ネットワーク部とホスト部を区切り、クラスAからCに分けられていて、ネットマスクがわかりやすかった。その後、IPv4アドレスが不足し、ビット単位で区切るCIDRに切り替わった。この頃ビット数でネットワーク部の大きさを表すのが一般的になりはじめた。また128 bitあるIPv6では、ネットマスクは使われない。
Windowsの場合、固定IPアドレスの指定などでネットマスク形式による指定が必要なことがある。これもそろそろビット数表記でも入力させてほしいところだ。
今回のタイトルの元ネタはトム・クランシーの「恐怖の総和」(The Sum of All Fears , 1991)である。選択の理由は以前の記事タイトルネタである「いま、そこにある危機」(Clear and Present Danger , 1989)の続篇だから。小説のジャック・ライアンシリーズは、共著を経てクランシーの没後もシリーズが続く。息子が後を継いだダーク・ピットシリーズといい勝負である。筆者はどっちも途中で「挫折」したけど。