インターネットを介して提供されるサービスはどのように構築・実現されるのでしょうか。現代のネットワークアプリケーション開発において、Socket API は非常に重要な役割を果たします。 Socket API は、異なるコンピュータ間でデータを送受信するための低レベルインターフェースを提供し、TCP/IP に則った通信を実現します。今回のブログでは、ネットワークソケットについて触れ、Socket API の概要から実際の使用法について紹介します。
- Published on
技術・日常 ブログ
インターネットを介して提供されるサービスはどのように構築・実現されるのでしょうか。現代のネットワークアプリケーション開発において、Socket API は非常に重要な役割を果たします。 Socket API は、異なるコンピュータ間でデータを送受信するための低レベルインターフェースを提供し、TCP/IP に則った通信を実現します。今回のブログでは、ネットワークソケットについて触れ、Socket API の概要から実際の使用法について紹介します。
L2 モデルによるネットワーク設計は拡張性や高可用性の観点から、DC の弱点とされてきました。 これは L2 で使用されるプロトコルが多数のデバイス間でトラフィックを大量に送信するため、冗長化構成を取りながらもフレーミングストームを回避するための策を講じる必要があったためです。 また、従来のネットワークトポロジは、スケールインモデルであることから、ネットワーク帯域を拡張する際は、より大きくて高価な機器に交換します。 さらに、大きな機器ほど多くの機器と接続するため、故障した際の影響範囲が大きくなることが懸念されます。 そのため、DC ネットワークは拡張に伴いますます複雑化し、運用面やコスト面においてスケーラビリティは限界を迎えようとしていました。近年では、これらの問題を受け、多くの DC で IP-Clos と呼ばれる、Clos ネットワークの原則を適用した IP-fabric が採用されています。 Clos ネットワークは、L3 ベースのアーキテクチャを用いることで、ブロードキャスト等の BUM トラフィックによる帯域圧迫を排除し、安定性と拡張性を向上させます。 また、BGP と BFD はベンダに依存せず、L3 で経路を制御するため、トラブルが発生した際も、従来の IP のトラブルシューティングが適用可能になります。今回のブログでは、実際に日本で IP-Clos が採用されているヤフーにて Clos ネットワークの構築を経験してきたので、これを機に聞いた話や知見を含め、IP-Clos について調査・紹介しようと思います。
インターネットを介した通信は、WEB サービス、モバイルアプリケーション、IoT 等、様々な分野で利用されています。ネットワークアプリケーションの多くは Internet Protocol(IP)と呼ばれる仕組みによって実現されています。IP による通信は、データを相手端末に送り届けるための最も基本的な方式であり、現代のインターネットそのものを成り立たせています。本来、IP 通信はエンドツーエンドの接続性、すなわち送信側と受信側が直接データをやり取りできることを前提に設計されています。しかし、実際のインターネット環境では IP 通信を妨げる様々な障壁が存在するため、単に IP アドレスを指定すれば相手と接続できるというわけではありません。特に IP によるエンドツーエンド通信の大きな障壁となっているのが、NAT/NAPT やファイアウォールの存在です。これらは、ネットワーク内のセキュリティ確保や IP アドレスの節約 といった目的で広く導入されています。一方で、NAT/NAPT は、配下の端末を外部から隠蔽する特性があり、「どのように相手と接続するか」という接続性の問題を引き起こします。今回のブログでは、IP 通信の発展と課題、それらの課題を解決するために登場した代表的な通信接続性を実現する技術について紹介したいと思います。
ソースコードだろうと論文だろうと VSCode で全てを完結させたい!今回は、mactex-no-gui というパッケージを導入して VSCode に Tex 環境を構築してみました。
今日、インターネットは電気や水道と同じく日常に欠かせないインフラとなっています。 我々はスマートフォンやパソコンといったネットワーク機器を Wi-Fi やモバイル回線(5G や LTE)に接続することで、インターネットを通じて世界中の人と容易に繋がることができます。では、インターネットは一体どのようにして我々のもとに情報を届けているのでしょうか?今回のブログでは、インターネットやコンピュータネットワークの仕組みを紹介します。