SHAの仕様と実装比較(SHA-1編)

とあるソースコードを追っていたらsha_init()やsha_transform()をコールしている部分に遭遇し、飛んでみたら謎すぎた(実際は全く謎ではない)ので、SHA(Secure Hash Algorithm)について色々と調べてみました。

その調査の結果を、備忘録として残しておくための記事です。
長くなることを避けるため、あくまでSHAの仕様とその実装を見比べる程度にします。

今回はSHA-1編です。

Continue reading →

Dockerで物理マシン間のOverlayネットワーク(VXLAN)を試す

あるアプリケーションの調査を行うために、VMを作ってそのVMの上で対象のアプリケーションを実行しようとしていたのですが、Docker上でも実行できるのではと思い立ち、Dockerの調査を行いました。

その過程で、DockerでサポートされているOverlayネットワークのVXLANとVXLANが提案されているRFC 7348の調査を行い、実際に物理マシン間でOverlayネットワークを構築しました。
そして、物理マシン上のコンテナ間でpingを実行時に物理マシン上でパケットダンプを実行したり、iperf3を使用してパフォーマンスの確認を行ったので、まとめておきます。

本記事では、VXLANやDockerなどの技術やコマンド自体については、記事が長くなることを避けるため、説明を省略しています。
ご了承ください。

Continue reading →

VagrantでVMを起動させるとVBoxHeadlessがCPUを100%使用し続けることがある

以前、あるシステムをVagrantとVirtualBoxを使用して構築しました。
1つの物理マシン上に、多いもので20数台のVMを起動しているのですが、VMの起動時に何らかの契機(原因不明)により、正常に起動できず、他のVMも起動されないというエラーが発生することがありました。

エラーの原因となったVMのVBoxHeadlessプロセスが、CPUを100%使用し続ける状態になっており、正常に起動していないため、Vagrantが起動のTimeoutエラーを返すという現象でした。

滅多に発生する現象ではないのですが、一度発生してしまうと、VMやホストOSの再起動では解決しません。
数日前に、この現象が再発したので解決方法を探り、解決することができましたので備忘録として残しておきます。

Continue reading →