本記事は「Opt Technologies Advent Calendar 2017」16日目の記事です。遅れてごめんなさい><
このコーナーはOpt Technologiesでアドテクとかをやっているエンジニアのおじさん(自称アドテクおじさん)が、様々な技術を使って、皆さんのお悩みをスバッと解決しちゃおうという連載企画です。
今回で第五回目!さっそくお悩みに答えていきます!ピ〜ピ〜ピ〜ピ〜〜ピョロピョロピョロピョロ〜!(ダイヤルアップ接続音)
本日のお悩み
アドテクおじさんこんにちは。
私には3歳になったばかりの超絶ウルトラハイパーカワイイ娘がいるのですが、まだ思春期でもないのに、なぜか最近よそよそしくなってしまいました。
最近は何かとやることが多く、夜遅くまで仕事することが多いのですが、その結果、食事やお風呂など、娘とのコミュケーションが減ってしまったので、そのせいかなーと思っています。
どうすれば娘との失われた絆を取り戻せるでしょう?
(あんしんパパさん / エンジニア / 30代 男性)
アドテクおじさんの答え
まだ幼い娘さんが急によそよそしくなってしまったのは、コミュケーションに原因があるのではないかというご推察のようですね。
ただ、エンジニアであるあんしんパパさんにとってオーラルコミュケーションは通信の一形態に過ぎません、すなわち通信プロトコルが合っていないからではないでしょうか?
通信プロトコル
通信プロトコルは、ある目的を持った通信における様々な仕様を定めたもので、エンジニアにとって基礎知識だと思います。
娘さんとのプロトコルを合わせるためにも、基礎は大事なので、改めて整理してみましょう。
インターネットで使われる通信プロトコル
あるインターネット通信において、一つのプロトコルだけが使われるわけではなく、様々な層のプロトコルが同時に使われることで通信が成立しています。
担当する分野が違うプロトコルが協調することで、全世界とのインターネット通信が成立しているんですね。
それらは幾重にも連なるレイヤーのような形で協調しており、例えば インターネット・プロトコル・スイート に基づきプロトコルを分類*1すると以下のようになります。
- アプリケーション層
- トランスポート層
- インターネット層
- リンク層
これらは上のレイヤーのプロトコルが、下のレイヤーのプロトコルに依存するように分類されています。
例えば、とあるWebページが表示されるまでには以下のような流れになります。
電気的な通信を定義するのはリンク層だけですが、それにより転送されるデータはレイヤーごとに入れ子になっていて、それぞれのプロトコルに対応した機器(パソコン、スイッチ、ルータ)により、プロトコルで定められている通りに処理されます。
そうすることにより、異なる機器同士でも問題なく通信が成立するわけですね。
様々なプロトコル
TCP/IP
インターネット通信の基盤とも言える通信プロトコルで、TCP と IP は多くの場合セットです。
IP (Internet Protocol) によりインターネットが形作られ通信先が特定されます。そして、 TCP (Transmission Control Protocol) や UDP (User Datagram Protocol) によって送受信するデータの制御が行われます。
TCP/IP によって、インターネット通信そのものが成立しており、それより上のアプリケーション層のプロトコルは「通信にどんな内容を載せるか」のみを定めているような感じです。
アプリケーション層のプロトコル、例えばWebサイトのための HTTP*2 や、メールのための SMTP*3 や IMAP*4 や、ファイル転送のための FTP*5 などなど、ユーザーによく利用されるプロトコルは TCP/IP の上で実現されています。
そして、これらのインターネットプロトコルは多くの場合 RFC (Request for Comments) というインターネット標準を策定する文書で定義されています。
全銀協標準プロトコル
全銀協標準プロトコル は全国銀行協会により定められた、主に金融機関を介する通信で使われるプロトコルです。
データの交換に特化しており、ATM での入出金や送金、金融機関や企業での送金などに使われています。
全国銀行協会による策定なので RFC はありませんが、全国銀行協会から仕様書が出版されています。
ハイパーテキスト珈琲ポット制御プロトコル
ハイパーテキスト珈琲ポット制御プロトコル (有志様和訳) は HTTP を拡張し、コーヒーポットを制御するために作られたプロトコルです。
"coffee" URI スキームなど、コーヒーポットを制御するために必要な様々のものが定義されていますが、HTTP と同様インタラクティブ性が低く、複数の通信シーケンスによって実現されうる複雑なコーヒーの淹れ方には対応していません。
これはいわゆる "ジョークRFC" と言って、エイプリルフールに発表されたりする RFC の有名なものの一つです。
鳥類キャリアによるIPデータグラムの伝送規格
プロトコルそのものではありませんが、 鳥類キャリアによるIPデータグラムの伝送規格 (有志様和訳) は IP を拡張し、伝書鳩などの鳥類キャリアによりインターネット層とリンク層を実現しようとするものです。
データは小さな巻紙にプリントし、鳥類キャリアに括り付けることで転送されます。鳥類キャリアを使うことによる様々な特性が RFC には記述されています。
これも割りと有名なジョークRFCですね。通信をセキュアにするためにダクトテープが使われるらしいです。
恋のプロトコル
【ハックガールズ】おしえて!恋のプロトコル 配信開始!!!! | パズルガールズ official blog
上記リンクより
コマンドラインとおともだちなギーク系女子、アイドル兼エンジニアの堤沙也と濱ヶ崎美季により結成されたパズルガールズ初の内部ユニット。
パズルガールズとして活動する傍ら、堤は企業にてWebアプリケーションの開発を行っている。
濱ヶ崎は業務アプリケーションの開発担当、今年3月までSIer企業に勤務していた。
『おしえて!恋のプロトコル』について上記リンクより
ハックガールズデビュー曲、『おしえて!恋のプロトコル』は2014年1月15日に道玄坂ヒミツキチラボで開催された『アイドルソングハッカソン』というイベントにて生まれた曲。
事前に募集した歌詞案を元に、イベントに来場頂いたお客様と共に、イベント中の約2時間で作詞。
エンジニアアイドルらしい、『ハッカソン』形式で曲を完成した。
だそうです。
配布は以下のgithubレポジトリから。
GitHub - hackgirls/LoveProtocol: ハックガールズデビュー曲「おしえて!恋のプロトコル」配布用リポジトリ
ネタ探しで適当にググったら出てきました。インターネットには何でもあるな…
アドテクおじさんのまとめ
プロトコルは今日紹介できたものだけではなく、インターネット関連だけでも非常に多種多様なプロトコルがあります。
これだけ色々なプロトコルがあれば、あんしんパパさんと娘さんの間のプロトコルもきっと見つかるはず!
これにて一件落着!
本コーナーでは、読者の皆さんからのお悩み相談を募集しております。
相談してやってもいいぞ、という寛大なお方は、下記のgoogle formからご応募ください!