ネットワークの根本問題は何か~昨今のIT技術と時代の変化についての考察
以前から、インフラ基盤の知識を身に着けたいと思っていて、今更ながらCCNAの教科書や資料を読み始めている。
Cisco機器のコマンドにもだいぶ慣れてきた。
【1】ネットワーク技術の根本問題は一体何だろうか??
ネットワーク技術の問題に対して、印象は3つある。
【2】1つは、GNS3のエミュレータとかPacketTracerのシミュレータでもいいので、実際の知識やコマンドを試す環境が必要なこと。
ネットワーク技術を身につけることが割と難しい理由は、ルータやスイッチなどの実機を購入しないと実際に試せないからだ。
しかも、ルータ1個では意味がなくて、ルータやスイッチを5個、10個集めて、実際にSTPやOSPFを試せるようなネットワーク構造を作らないと、試せない。
つまり、個人でネットワーク技術を体験するには、コストも場所も必要になるので、壁が高い。
しかし、直近10年くらいで、GNS3のエミュレータとかPacketTracerのシミュレータによって、ルータやスイッチを仮想的に実現できるようになったおかげで、PC上で簡単にネットワークを作れるようになった。
すると、BGPとかEIGPレベルは難しいけれど、STPやOSPFレベルのネットワークなら、実際にCiscoのコマンドを叩いて試せる。
Ciscoルータ/Catalystコマンド一覧 - ネットワーク入門サイト
とはいえ、ネットワーク初心者にとって、この環境を整備するだけでも割と大変。
だが、JavaでもRubyでもPthonでも、開発環境を整備するのが大切で、実際にプログラムを動かして、初歩的なミスとか、本当に基礎の部分が理解できていない所を一つずつ試すのが大事なのと同じだな、と思う。
個人的には、GNS3のUIの方が好きだが、DHCPやNATの疎通確認ではVMを作るとか、無線LANの疎通確認では、無線アクセスポイントなどの実機を実際に接続する手間がかかる。
一方、PacketTracerはUIがあまりイケてないが、DHCPやNAT、疑似Webサーバー、IP電話、無線アクセスポイントの機能があるので疎通確認が簡単。
GNS3とPacketTracerを使い分けるのが良いのかもしれない。
【3】2つ目は、ネットワーク技術の根本的な問題は、性能を出すために最短経路をリアルタイムに一早く算出することと、障害が起きても代替ルートで常時接続できる冗長性・耐障害性の確保、というトレードオフ。
そのために、L2のSTPやL3のOSPFとか、いろんな技術で回避しようとしている。
過去の試行錯誤の歴史によって、Ciscoのルータやスイッチは、ものすごく複雑な仕様になったんだな、という印象を受けている。
たとえば、STPがVLANよりも先に仕様が作られたために、STPの仕様がすごく複雑になったイメージがある。
【4】3つ目は、セキュリティの機能がすごく豊富なこと。
ルータやスイッチを経由して数多くのデバイスが相互に通信できて、スケールアップも耐障害性も確保できる。
しかし、何でもかんでも、どんな通信でもOKというわけにはいかない。
内部ネットワークに不審者が入っては困るし、社内ネットワークでも部門ごとに情報アクセスを制限したい。
そのために、L3レベルでACLやAAA、VPN、L2レベルでポートセキュリティやVACL、Dynamic Arp Inspectionなどの数多くのセキュリティ機能が用意されている。
こういう機能を見ると、過去のセキュリティ事故やウイルスの経験から、歴史的経緯によって、どんどん機能追加されて複雑化したのだろうと推測する。
【5】最近のIT技術の流れを見ていると、クラウドの普及のために、アプリ開発者はL7層だけでなく、L2のデータリンク層やL3ネットワーク層までの知識が要求されるようになった。
実際、AWSの膨大なサービスや機能を見ると、L2・L3層のスイッチ・ルータを仮想化することで、ネットワークそのものを仮想化してしまって、クラウド上で簡単にスケールアップできるようになっている。
一方、Infrastructure as Codeの流れによって、インフラ担当者も、L2・L3層だけでなく、L7層などのより上位のアプリ層レベルが要求されるようになった。
実際、Ansible、Docker、VirtualBoxなどの仮想化技術では、シェルスクリプトの実装だけでなく、Pythonでのプログラミングまで要求される場合が多い。
つまり、アプリ開発者もインフラ担当者も、クラウドが当たり前の現時点では、プログラミングもネットワークも両方の知識と技術、経験が要求されている。
さらに、機械学習やディープラーニングの急速な発展とクラウド上でのマシーンラーニング基盤の実装が簡単になったから、これらの知識や経験も要求されてきている。
個人的には、直近3年ぐらいで、急激にIT技術の環境が変わってしまったように感じている。
【6】昨今のコロナ禍によって、仕事も人付き合いもビジネスもオンライン化されてしまった。
今後は、ビジネスも仕事もAIでどんどん代替されていくだろう。
そして、中間層の仕事は不要となり、IT技術に関する高度な専門知識を持つ知的労働者と、対面でベタベタに人と関係するしか作業できない仕事、たとえば医療系や食事提供、観光などの、労働集約的な効率の低いサービス業の労働者に二分化されていくだろう。
つまり、社会がどんどん二極化していくのではないだろうか。
そういう時代の流れとIT技術の流れについて、色々考えていく。
| 固定リンク
「統計学・機械学習・深層学習」カテゴリの記事
- 統計学の考え方をastahでまとめた(2023.05.28)
- ランダム化比較試験はなぜ注目されて利用されるようになったのか(2023.04.08)
- ChatGPTで起きている事象の意味は何なのか(2023.04.02)
- 過学習に陥った人間や社会の事例は何があるのか(2023.01.09)
- 計量政治学と計量経済学の考え方の違い(2022.10.02)
「Python」カテゴリの記事
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- Pythonで微分積分や統計の基礎を理解しよう(2022.05.15)
- Python の numpy の裏では FORTRAN のライブラリが動いているらしい(2022.02.06)
- プログラマが「何をやっているか分からない」「何が分からないか分からない」状態から脱出する記事がとても良い(2021.07.18)
- MATLABとPythonのリンク(2021.06.06)
「ネットワーク・クラウド」カテゴリの記事
- Go言語でできることは何なのか(2022.11.06)
- コンテナはサーバーレスアーキテクチャのための1つの技術(2022.11.06)
- クラウド上の開発がJavaに与えた影響は何なのか(2022.10.16)
- WireSharkの入門動画が分かりやすい(2022.07.31)
- プログラミングしてる時はでっかいピタゴラ装置を作ってるみたいな感じ(2022.01.09)
コメント