ソケット
TCP/IPでの通信で利用される、コンピュータが持つネットワーク内でのIPアドレスと、IPアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスのこと。また、通信を行なうアプリケーションソフトがTCP/IPを扱うためのネットワーク用APIのことも指す。
もともとは「受け口、軸受け、接合部、穴、へこみ」などの意味を持つ英単語で、プログラミングの世界では上記のような意味合いで使われることが多い。ただ、プログラミング上の論理的な接続点という意味以外にもコンセントの差し込み口など、物理的な接続点という意味でも使われたり、ブラウザとウェブサーバーとの間で双方向通信を行うための通信規格であるWebSocketのことを指していたり、とにかく用法が曖昧な単語。
IT界隈ではこのような多義語は星の数ほどあるが、ソケットは屈指のわかりづらさがあると感じる。とりあえず「IPアドレス+ポート番号のセットで一意に定まるAPI」と理解しておくことにする。
参考サイト
「ソケット」とは? – Lenovo Support JP
ソケットとは – 意味をわかりやすく – IT用語辞典 e-Words
SPICE (Simple Protocol for Independent Computing Environments)
仮想環境のための通信プロトコル。 インターネットを介して仮想マシン (VM) のコンソールを表示することが出来る。
もともとインターネットを介して仮想マシン (VM) のコンソールを表示するには、RFB(Remote Frame Buffer)というプロトコルを使用して実現される、VNC(Virtual Network Computing)というリモートデスクトップ技術を活用していた。
しかし、どうやらVNCを使うのは結構大変らしく、もっと簡単に仮想マシン (VM) のコンソールを表示したいということでできたプロトコル。
オンプレに触ったことがなくて、AWSのEC2とかもweb上のコンソール画面からアクセスすることが多いからリモートアクセス周りの感覚がうまくつかめない。リモートアクセスってめんどくさそうやなあ、ぐらいの認識しかない。
あと、LPICで必要な知識を検索すると更新日が10年以上前のことが多くて、Linuxそのものってあんまり進化はしてないのかな?とか思ったりした。コンテナ周りは進化の速度がめちゃくちゃ速いやろうけど。
参考サイト
SPICE クライアント (virt-viewer) を利用して VM コンソールに接続する方法 | QNAP
OIDC(OpenID Connect)
サービス間でユーザーの同意のもと認証情報を連携するための規格のこと。
OIDC, OAuth, SAMLの違いを理解しようとして挫折する、というのを幾度となく繰り返してました。先日、社内の勉強会っぽいものにてテーマにあがっていて、わずかながら解像度が上がったのでメモ。
今回はとりあえず以下の点が印象に残った。(間違ってたら指摘ください)
- OAuthはアクセストークン発行手順に関する仕様であり、「認可」を担っている。
- OIDCはOAuthを拡張した規格である。
- OIDCはIDトークン発行手順に関する仕様であり、「認証」も担えるようになった。
- 情報はJSONベースのWebトークン(JWT)の形式でやり取りされる。
細かい認証認可の流れやAPIのパラメータなどを見ていくと沼になってしまい意味不明すぎてイライラしてしまうのでここで止めておきます。
あと、フェデレーション使うときに便利っぽいという雰囲気を感じた。というかID情報を一元化できるのが嬉しいんやろうな。知らんけど。
認証認可まわりって面白そうで手を出してみたくなるけど、よーわからん単語多すぎて毎回リタイアしてしまう。自分で手を動かしてみないと覚えらなさそう。
参考サイト
OpenID Connect 全フロー解説 #OAuth – Qiita
これからのOAuth/OIDCで知っておきたいこと。最新の拡張仕様やAuthleteを活用した実装方法 (1/2)|CodeZine(コードジン)
PAT(Port Address Translation)
1つのIPアドレスを複数のコンピュータで共有する技術のこと。ベンダごとに異なる名称で呼ばれており、PATと言うのはCisco Systemsである。一般的にはNAPT(Network Address Port Translation)、またはIPマスカレードという。
NAPTっぽいなと思ったら一緒なんかい。ベンダごとに呼び方違うのやめてくれ。難しすぎる。
NAPTと似た概念に、NATがある。NAPTとNATの違いは、プライベートIPをグローバルIPに変換するときに、ポート番号を使用するかどうか。NAPTはグローバルIPに変換する際にポート番号まで指定するので、インバウンドのトラフィックが同じグローバルIP宛てに来ていてもポート番号の違いによってどのプライベートIPにルーティングすべきかを識別できる。NATはポートを使わないのでプライベートIPとグローバルIPを一対一で対応させることしかできない。
AWSのNATゲートウェイって厳密に言うとNAPTゲートウェイってことになんのかな?
全然関係ないけど、未経験IT新卒が頼りにしているサイト業界にて圧巻の市場占有率を誇る「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典の記事を、検証ツール使って<title>確認してたらまさかのピヨ太登場w
遊び心がある古き良きサイトって感じで大好きです。
参考サイト
Port Address Translation (PAT)
NAPTとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
ldconfig
共有ライブラリを使用するプログラムの実行のために、共有ライブラリのシンボリックリンクの作成や共有ライブラリを検索するためのキャッシュを作成するコマンド。
このコマンドと密接にかかわるファイルに「/etc/ld.so.conf」と「/etc/ld.so.cache」がある。「/etc/ld.so.conf」は共有ライブラリの検索パス(共有ライブラリの探し場所)を書いておく設定ファイルで、「/etc/ld.so.cache」は共有ライブラリの名前と実際のファイルの置き場所が書いてあるキャッシュファイルである。
コンピュータがライブラリを使用するときに見に行くのは「/etc/ld.so.cache」なので、「/etc/ld.so.conf」で編集した内容を「/etc/ld.so.cache」に反映させてやる必要がある。そこで登場するのがldconfigというわけ。
ここで出てくるsoというのはストックオプション……ではもちろんなくて、「Shared Object」の略で、「共有されるコードやデータ」を意味している。ストックオプション喉から手が出るほど欲しいですね。
ちなみに、ldはload-editorという説があるらしい。じゃあleやん。一個ずらすのやめてくれ。
参考サイト
ldconfig コマンド – 共有ライブラリのリンクと検索キャッシュの作成 | Linuxコマンド.NET
ldconfig【コマンド】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典