イタリアのボローニャ大学に所属する研究者らが発表した論文「Seals and signs: tracing the origins of writing in ancient South-west Asia」は、最初期の文字体系の一つである原楔形文字の起源について、それ以前から使用されていた円筒印章(メソポタミアで所有者などを示すために使われた印章)との関連性を示した研究報告である。
「最古の文字」の前段階を解明か 古代の“コロコロスタンプ”が手掛かり イタリアの研究者らが発表:Innovative Tech - ITmedia NEWS
原楔形文字は紀元前3350~3000年にかけてメソポタミアで使われた初期の記録システムで、後の楔形文字に発展する。
「最古の文字」の前段階を解明か 古代の“コロコロスタンプ”が手掛かり イタリアの研究者らが発表:Innovative Tech - ITmedia NEWS
⇧ 究極の「リバースエンジニアリング」って感じですな...
答えは、推測するしか無いでしょうし...
「タイムマシン」とか発明されて「フィールドワーク」が実現できれば、解読が進みそうではありますが...
WebRTC(Web Real-Time Communication)
Wikipediaによりますと、
Web Real-Time Communication (略称: WebRTC) は、ウェブブラウザやモバイルアプリケーションにシンプルなAPI経由でリアルタイム通信を提供する自由かつオープンソースのプロジェクトである。
ウェブページ内で直接ピア・ツー・ピア通信を行うことによって、プラグインのインストールやネイティブアプリのダウンロードを行わなくても、ウェブブラウザ間のボイスチャット、ビデオチャット、ファイル共有などを実装できるようになる。
⇧ とありますと。
「Android」や「iOS」上で動作するアプリケーション、所謂、「Native」なアプリにおいては「WebView」とかを利用する感じになるんかね?
P2P(Peer to Peer)
「WebRTC」を実現する上で欠かせない「P2P(Peer to Peer)」はというと、
Peer to Peer(ピア・トゥ・ピア または ピア・ツー・ピア)とは、複数のコンピューター間で通信を行う際のアーキテクチャのひとつで、対等の者(Peer、ピア)同士が通信をすることを特徴とする通信方式、通信モデル、あるいは通信技術の一分野を指す。略記は、P2P。
■P2P(Peer to Peer)型ネットワーク
■クライアント・サーバー型ネットワーク
クライアント・サーバー型ネットワーク。サーバー(図中央)とクライアントは一対一の通信を行うのが特徴である。
⇧ といった感じで、「クライアント・サーバー」と異なり「P2P(Peer to Peer)」は1点の集約するということがない。
「P2P(Peer to Peer)」は、
P2Pアプリケーションの分類
分散型データ管理
ビットコイン、Rippleなどでは、通貨の取引履歴情報を、各ノードで分散して持つことによって、通常はサーバーで管理する台帳データの不正な改竄を防ぐことができるので、P2Pを利用している。これにより自分のノードの台帳データを改ざんしたとしても、他の多数のノードが正しいデータを保持していることにより、比較した際に改竄を検知することができる。
⇧「ブロックチェーン」とかでお馴染みになった感じですかね。
WebRTCに出てくるプロトコルなどをザックリ整理してみる
ネットの情報を漁った感じでは、
⇧ というような感じで、「P2P(Peer to Peer)」の通信で、
- DTLS-SRTP
- STUN
- ICE
といった、用語が出てくるのだが、聞いたことが無いので、調べてみる。
「DTLS-SRTP」は、「DTLS」と「SRTP」という用語に分かれるらしいので、まずは、「DTLS」については、
Datagram Transport Layer Security (DTLS) は、データグラムプロトコルのための暗号化プロトコルである。DTLSはTransport Layer Security (TLS) に基づくプロトコルであり、TLSと同様に、データグラムを扱うプログラムがやり取りする情報の盗聴や改竄を防止する。
DTLSを用いることで、データグラムに特有のパケットの到達順序に関わる問題は考慮する必要がなくなるが、一方でパケットの再整列やパケットサイズより大きいデータの喪失に対処する必要がある。
⇧とあり、「データグラム」の暗号化プロトコルでありますと。
「データグラム」はというと、
⇧ とありますと。
続いて、「SRTP」はというと、
The Secure Real-time Transport Protocol (SRTP) is a profile for Real-time Transport Protocol (RTP) intended to provide encryption, message authentication and integrity, and replay attack protection to the RTP data in both unicast and multicast applications. It was developed by a small team of Internet Protocol and cryptographic experts from Cisco and Ericsson. It was first published by the IETF in March 2004 as RFC 3711.
https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol
⇧ とありますと。
「DTLS」と「SRTP」の違いはというと、ネットの情報を漁っていたところ、
⇧ のような違いらしい。上記のスライドで「WebRTC」に関わってくる要素は何となく把握できるかと。
続いて、「STUN」はというと、
STUN (Session Traversal Utilities for NATs) は、音声、映像、文章などの双方向リアルタイムIP通信を行うアプリケーションにおいて、NAT traversal(NAT通過)の方法の1つとして使われる標準化された (standards-based) 通信プロトコルである。
STUNプロトコルは、アプリケーションがNATの存在と種類とを発見し、リモートホストへのUDP (User Datagram Protocol) 接続にNATが割り当てたグローバルIPアドレスとポート番号とを得ることを許す。
STUNプロトコルが動作するには、インターネット上にSTUNサーバが存在する必要がある。STUNプロトコルは、RFC (Request for Comments) 8489に定められる。
⇧ とのこと。
最後に、「ICE(Interactive Connectivity Establishment)」はというと、
Interactive Connectivity Establishment (ICE) ドラフトは、IETFのMMUSICワーキンググループによって開発され、様々な技術を用いてNATトラバーサルのための仕組みを提供する。
⇧ とのこと。
何やら、
2. Overview of WebRTC Architecture
Figure 1. A simple WebRTC Call Topology
⇧ のようなレイヤーになるそうな。
ネットワーク周りの知識が絡んできますな...
毎度モヤモヤ感が半端ない…
今回はこのへんで。