Blog

技術の深掘り・日常など幅広く紹介してます

    All Posts
  • thumbnail

    ネットワーク経路上のルータ(ソフトウェアルータ)をはじめとし、ロードバランサやキャッシュサーバ等のミドルウェアは、特に高いパケットレートを処理する必要があります。 これらのシステムは、膨大なパケットを迅速かつ効率的に処理するために、物理および論理の両方で高いパフォーマンスが要求されます。ネットワークトラフィックの処理は、コンピュータシステムにとって非常にリソース集約的な作業であり、高パケットレート環境下では CPU に掛かる負荷が非常に大きくなってきます。 ネットワークミドルウェアでは、多数のクライアントからの要求を捌くために、マシン内の処理に起因する負荷を効率的に分散・軽減させる必要があります。アプリケーションをマルチコア環境でスケールさせる際、CPU 負荷が特定のコアに集中することでシステム全体のパフォーマンスが低下する場合があります。 この問題を解決するため、Linux ネットワークスタックの NAPI や NIC のオフロード機能が、CPU の割り込み処理を効率化し、パフォーマンスを最適化する上で重要な役割を果たします。また、マルチコアスケーリングを効果的に実現するためには、NIC の RSS やカーネルの RPS/RFS といった機構も活用する必要があります。 これらの技術により、パケット処理を複数の CPU コアに分散させ、システム全体のパフォーマンスを最適化することが可能です。今回のブログでは、高パケットレート環境下において膨大なリクエストデータを捌くために Linux カーネルが取った対策について紹介したいと思います。

    Published on
  • thumbnail

    インターネットを介して提供されるサービスはどのように構築・実現されるのでしょうか。現代のネットワークアプリケーション開発において、Socket API は非常に重要な役割を果たします。 Socket API は、異なるコンピュータ間でデータを送受信するための低レベルインターフェースを提供し、TCP/IP に則った通信を実現します。今回のブログでは、ネットワークソケットについて触れ、Socket API の概要から実際の使用法について紹介します。

    Published on
  • thumbnail

    インターネット上には様々な脅威が存在するため、端末間通信におけるセキュリティの確保が重要です。異なるプライベートネットワークに存在する端末同士をセキュアに接続する代表的なネットワーク技術として VPN(Virtual Private Network)があります。VPN は、公共ネットワーク網の中に仮想的な専用線を作り出し、送受信データを暗号化することでグローバルネットワークを介したセキュアな端末間通信を実現します。VPN を使用すると、オフィスと自宅、異なる拠点同士等、地理的に離れた場所にあるプライベートネットワーク同士が直接繋がっているかのようなエンドツーエンド通信が可能になります。近年では、クラウドサービスや IoT(Internet of Things)の普及、リモートワークの一般化が進み、ネットワークの構造は複雑で分散的なものになってきています。こうした背景を踏まえ、VPN を用いた安全かつセキュアなリモート接続は組織や企業においてますます重要な役割を担います。今回のブログでは、VPN を利用することで地理的に離れた端末同士をセキュアに繋げられる仕組みや要素技術、VPN の代表的な接続トポロジについて紹介したいと思います。

    Published on
  • thumbnail

    インターネットを介した通信は、WEB サービス、モバイルアプリケーション、IoT 等、様々な分野で利用されています。ネットワークアプリケーションの多くは Internet Protocol(IP)と呼ばれる仕組みによって実現されています。IP による通信は、データを相手端末に送り届けるための最も基本的な方式であり、現代のインターネットそのものを成り立たせています。本来、IP 通信はエンドツーエンドの接続性、すなわち送信側と受信側が直接データをやり取りできることを前提に設計されています。しかし、実際のインターネット環境では IP 通信を妨げる様々な障壁が存在するため、単に IP アドレスを指定すれば相手と接続できるというわけではありません。特に IP によるエンドツーエンド通信の大きな障壁となっているのが、NAT/NAPT やファイアウォールの存在です。これらは、ネットワーク内のセキュリティ確保や IP アドレスの節約 といった目的で広く導入されています。一方で、NAT/NAPT は、配下の端末を外部から隠蔽する特性があり、「どのように相手と接続するか」という接続性の問題を引き起こします。今回のブログでは、IP 通信の発展と課題、それらの課題を解決するために登場した代表的な通信接続性を実現する技術について紹介したいと思います。

    Published on
  • thumbnail

    今日、インターネットは電気や水道と同じく日常に欠かせないインフラとなっています。 我々はスマートフォンやパソコンといったネットワーク機器を Wi-Fi やモバイル回線(5G や LTE)に接続することで、インターネットを通じて世界中の人と容易に繋がることができます。では、インターネットは一体どのようにして我々のもとに情報を届けているのでしょうか?今回のブログでは、インターネットやコンピュータネットワークの仕組みを紹介します。

    Published on