Twitter の歴史は、他のいくつかのインターネット企業と絡み合っています。 Twitterの創設者はエヴァン・ウィリアムズ、ビズ・ストーン、ジャック・ドーシーです。 Twitter が誕生する数年前に、Williams は人気のある Web ジャーナル サービスである Blogger を作成しました。インターネット大手の Google が Blogger を買収し、ウィリアムズ氏は Google で直接働くようになりました。やがて、彼と Google 社員の Stone はインターネット巨人を辞め、 Odeoという新しい会社を設立しました。
ツイートにはいくつかの制限がありますが、これは主に Twitter の設計が携帯電話のテキスト メッセージに大きく依存しているためです。ツイートには最大 140 文字までしか含めることができません。この場合、携帯電話ユーザーへのメッセージの残りの部分はシステムによって削除されます。メンバーは、Twitter Web ページ上で、またはサードパーティ開発者のデスクトップまたは Web ベースのアプリケーションを使用して、ツイート全体を読むことができます。
Web シンジケーションは非常に単純な概念です。アプリケーションは 1 つのソースから情報を収集し、それをさまざまな宛先に送信します。 Web ではいくつかのシンジケーション形式が使用されています。 Twitter は、 Really Simple Syndication ( RSS ) とAtom Syndication Format ( Atom ) の 2 つと互換性があります。どちらの形式も、1 つのリソースからデータを取得し、それを別のリソースに送信します。
Twitter と互換性のある両方の Web シンジケーション形式は、数行のコードで構成されています。 Web ページ管理者は、これを自分のサイトのコードに埋め込むことができます。訪問者は、フィードと呼ばれるシンジケーション サービスに登録すると、管理者が Web ページを更新するたびに更新情報を受け取ることができます。 Twitter はこの機能を使用して、メンバーが他の Twitter メンバーのネットワークにメッセージを投稿できるようにします。事実上、Twitter メンバーは他のメンバーのフィードを購読します。
RSS と Atom はどちらもExtensible Markup Language ( XML ) 形式に基づいています。マークアップ言語は、ドキュメントと呼ばれるデータ形式内の構造を識別します。 XML には厳密なルールがありません。XML は、ドキュメント内のデータを記述するタグを追加することで、ハイパーテキスト マークアップ言語( HTML ) などの他の言語を補完します。タグは人間には見えません。プログラマはこれらを使用して、コンピュータがドキュメント内のデータを識別して操作できるようにします。コンピュータがタグやマークアップ言語を読み取る方法について詳しくは、 「Web セマンティクスのしくみ」を参照してください。
コンピュータがインターネット上の他のコンピュータやWeb サーバーと通信するには、IP アドレスが必要です。 IP アドレス (IP は Internet Protocol の略) は、ネットワーク上のコンピュータの位置を識別する固有の 32 ビットの番号です。基本的に、これは住所のように機能し、あなたがどこにいるかを正確に調べて情報を届ける方法として機能します。
IP アドレスが最初に登場したとき、誰もがどんなニーズにも対応できるアドレスがたくさんあると考えていました。理論的には、 4,294,967,296 個の一意のアドレス(2 32 ) を持つことができます。パブリック IP アドレスの実際の数は、アドレスがクラスに分割される方法と、一部のアドレスがマルチキャスト、テスト、またはその他の特別な用途のために確保されているため、これより少なくなります (32 億から 33 億の間程度)。
インターネットが爆発的に普及し、ホーム ネットワークやビジネス ネットワークが増加するにつれて、利用可能な IP アドレスの数がまったく足りなくなりました。明らかな解決策は、パブリック IP アドレスの形式を再設計して、より多くのアドレスを使用できるようにすることです。これは開発中 (IPv6 と呼ばれます) ですが、インターネットのインフラストラクチャ全体の変更が必要なため、実装には数年かかります。
ここで NAT () が役に立ちます。ネットワーク アドレス変換により、ルータなどの単一のデバイスがインターネット (または「パブリック ネットワーク」) とローカル (または「プライベート」) ネットワークの間のエージェントとして機能できるようになります。つまり、コンピュータのグループ全体を表すには、単一の一意の IP アドレスだけが必要です。ただし、パブリック IP アドレスの不足は、NAT を使用する理由の 1 つにすぎません。
静的 NAT – 未登録の IP アドレスを登録済みの IP アドレスに 1 対 1 でマッピングします。ネットワークの外部からデバイスにアクセスできる必要がある場合に特に便利です。
ダイナミック NAT – 未登録の IP アドレスを、登録済みの IP アドレスのグループから登録済みの IP アドレスにマッピングします。
オーバーロード– 異なるポートを使用して、複数の未登録 IP アドレスを単一の登録済み IP アドレスにマッピングする動的 NAT の形式。これは、PAT (ポート アドレス変換)、単一 IP アドレス NAT、またはポート レベルの多重化 NAT とも呼ばれます。
重複– 内部ネットワークで使用されている IP アドレスが、別のネットワークで使用されている登録済みの IP アドレスである場合、ルーターは、これらのアドレスをインターセプトして、登録済みの一意の IP アドレスに置き換えることができるように、これらのアドレスのルックアップ テーブルを維持する必要があります。 NAT ルーターは、「内部」アドレスを登録済みの一意のアドレスに変換するだけでなく、「外部」登録済みアドレスをプライベート ネットワークに一意のアドレスに変換する必要があることに注意することが重要です。これは、静的 NAT を介して行うことも、 DNS を使用して動的 NAT を実装することによっても行うことができます。
内部ネットワークは通常、LAN (ローカル エリア ネットワーク) であり、一般にスタブ ドメインと呼ばれます。スタブ ドメインは、内部で IP アドレスを使用する LAN です。スタブ ドメイン内のネットワーク トラフィックのほとんどはローカルであるため、内部ネットワークの外には伝わりません。内部 IP アドレスは登録または未登録のいずれかであり、スタブ ドメインにそれを含めることができます。もちろん、未登録の IP アドレスを使用するコンピュータは、他の世界と通信するために NAT を使用する必要があります。
次のセクションでは、NAT を構成できるさまざまな方法を見ていきます。
ありがとう
この記事の作成にご協力いただきましたことに心より感謝いたします。
NAT構成
NAT はさまざまな方法で構成できます。以下の例では、NAT ルーターは、プライベート (内部) ネットワーク上に存在する未登録 (内部、ローカル) IP アドレスを登録済み IP アドレスに変換するように構成されています。これは、未登録のアドレスを持つ内部デバイスがパブリック (外部) ネットワークと通信する必要がある場合に常に発生します。
ISP は、会社に一連の IP アドレスを割り当てます。割り当てられたアドレスのブロックは登録された一意の IP アドレスであり、内部グローバル アドレスと呼ばれます。未登録のプライベート IP アドレスは 2 つのグループに分割されます。 1 つは、NAT ルーターによって使用される小さなグループ (ローカル アドレスの外部) です。もう 1 つのはるかに大きなグループは、内部ローカル IP アドレスとして知られており、スタブ ドメインで使用されます。外部ローカル アドレスは、パブリック ネットワーク上のデバイスの一意の IP アドレス (外部グローバル アドレスと呼ばれます) を変換するために使用されます。
ルーターは、コンピューターのルーティング不可能な IP アドレスをアドレス変換テーブルに保存します。ルーターは、送信側コンピューターのルーティング不可能な IP アドレスを、一意の IP アドレスの範囲内で最初に使用可能な IP アドレスに置き換えます。変換テーブルには、一意の IP アドレスの 1 つと一致する、コンピュータのルーティング不可能な IP アドレスのマッピングが含まれています。
ルーターは、コンピューターのルーティング不可能な IP アドレスとポート番号をアドレス変換テーブルに保存します。ルーターは、送信側コンピューターのルーティング不可能な IP アドレスをルーターの IP アドレスに置き換えます。ルーターは、送信側コンピューターの送信元ポートを、ルーターがアドレス変換テーブル内の送信側コンピューターのアドレス情報を保存した場所と一致するポート番号に置き換えます。変換テーブルには、ルータの IP アドレスとともに、コンピュータのルーティング不可能な IP アドレスとポート番号のマッピングが含まれています。
ご覧のとおり、NAT ルーターは各コンピューターの IP アドレスとポート番号を保存します。次に、その IP アドレスを、自身の登録済み IP アドレスと、そのパケットの送信元コンピューターのエントリのテーブル内の位置に対応するポート番号に置き換えます。したがって、外部ネットワークは、NAT ルーターの IP アドレスと、ルーターによって割り当てられたポート番号を、各パケットの送信元コンピューター情報として認識します。
スタブ ドメイン上には、専用 IP アドレスを使用するいくつかのコンピュータが存在する可能性があります。ネットワーク上のどのコンピュータが NAT を必要とするかをルータに伝える IP アドレスのアクセス リストを作成できます。他のすべての IP アドレスは変換されずにパススルーされます。
ルーターがサポートする同時翻訳の数は、主にルーターが搭載する DRAM (ダイナミック ランダム アクセス メモリ) の量によって決まります。しかし、アドレス変換テーブルの一般的なエントリは約 160 バイトしか必要としないため、4 MB の DRAM を搭載したルータは理論的には 26,214 個の同時変換を処理でき、これはほとんどのアプリケーションにとって十分以上です。
IPアドレス情報の分類方法
IANA は、ルーティング不可能な内部ネットワーク アドレスとして使用するために、特定の範囲の IP アドレスを確保しています。これらのアドレスは未登録とみなされます (詳細については、これらのアドレス範囲を定義する を確認してください)。いかなる企業や代理店も、未登録のアドレスの所有権を主張したり、公共のコンピューターで使用したりすることはできません。
基本的に、これは、コンピュータが接続を開始しない限り、外部ネットワーク上のコンピュータはあなたのコンピュータに接続できないことを意味します。インターネットを参照してサイトに接続し、さらにはファイルをダウンロードすることもできます。ただし、他の人があなたの IP アドレスを把握し、それを使用してコンピュータのポートに接続することはできません。
特定の状況では、静的 NAT (インバウンド マッピングとも呼ばれます) を使用すると、外部デバイスがスタブ ドメイン上のコンピュータへの接続を開始できるようになります。たとえば、内部グローバル IP アドレスから Web サーバーに割り当てられた特定の内部ローカル IP アドレスに移動する場合、静的 NAT によって接続が可能になります。
一部の NAT ルーターは、広範なフィルタリングとトラフィック ログを提供します。フィルタリングを使用すると、企業は従業員が Web 上でアクセスするサイトの種類を制御し、従業員が疑わしいコンテンツを閲覧できないようにすることができます。トラフィック ログを使用すると、どのサイトが訪問したかに関するログ ファイルを作成し、そこからさまざまなレポートを生成できます。
したがって、Adobe が AIR を「クロスオペレーティング システム ランタイム」と説明するときは、AIR がオペレーティング システムに関係なく、どのコンピューターでも動作できるランタイムであることを意味しているだけです。オペレーティング システムが異なれば、使用する言語も異なります。たとえば、Mac OSX で実行されているプログラムは、Windows XP で実行されている同じプログラムと同じようには見えません。 Flash や Flex などの Adobe プログラムで構築されたアプリケーションは、表示に AIR ランタイムを使用します。AIR にはオープンソースの WebKit HTML レンダラーが付属しているため、Web のようなコンテンツをデスクトップに表示できます。これが、Flash プレーヤーなどと AIR の大きな違いです。Flash はインターネットや Web ブラウザー上で動作しますが、AIR から実行されるアプリケーションはデスクトップに基づいており、動作するために必ずしもブラウザーを必要としません。
最後に、Adobe AIR が構築に役立つ RIA とは何ですか? RIA は、ユーザーに魅力的な接続エクスペリエンスを提供する Web アプリケーションを表す Adobe の造語である広義の用語です。一般に、これらはデスクトップ アプリケーションと Web ベース アプリケーションの両方の最良の側面を提供することを目的としており、Adobe Flash や Flex などのプログラムで開発されます (Flickr や Google マップなどの Web サイトがその例です)。多くのインタラクションを提供するサイトですただし、インターネット上にあります。 RIA は使いやすいですが、プログラミングが難しいため、Adobe AIR のリリースによってそのような開発プロセスがよりスムーズになることを多くの人が期待しています。
これが AIR がコンピューター アプリケーションに対して行うことですが、開発者、企業、その他すべての人にとっては何をするのでしょうか?
Adobe Flex、Flash、またはその他の開発ツールを使用する開発者は、AIR ランタイムと同期するアプリケーションを構築できます。 HTML、XML、 JavaScript はすべて AIR でサポートされているため、開発者はまったく別のプログラミング言語を学ぶ必要がなく、使い慣れたコードを使用して、デスクトップから Web への移行をほぼ透過的に保つことができます。
アドビはまた、より魅力的で使いやすいアプリケーションを消費者に引きつけようとしている企業に向けて、自社の AIR プラットフォームを販売しています。 Web サーファーがブラウザを開くことなく、企業のプログラムをデスクトップに直接ダウンロードできれば、そのプログラムを実行し続け、関与し続ける可能性が高くなります。いくつかの大手企業はすでに Adobe AIR 上で動作するアプリケーションを提供しています。たとえば、オンライン オークション サイトeBay は、 Adobe AIR 上に構築された eBay デスクトップ アプリケーションを提供しています。買い手と売り手は頻繁にログインして一刻を争うオークションをチェックする代わりに、eBay デスクトップを独立して実行し、顧客が入札している商品のリストを継続的に更新できます。
Web サーフィンをする一般の人々は、かつて Web ベースだったアプリケーションをデスクトップに移動できることから恩恵を受けています。 Adobe AIR がユーザーのコンピュータにインストールされると、ユーザーの興味に合わせたダウンロード可能な使いやすいアプリケーションを、クリックするだけで利用できるようになります。
一部のプログラムにはリマインダー サービスが組み込まれています。 Microsoft Outlook やGoogle カレンダーなどのカレンダー プログラムを使用している場合は、差し迫った予定やイベントに関するアラートを送信するようにプログラムに指示できます。ただし、インターネット上には、カレンダー プログラムを使用しなくてもリマインダー サービスを提供する Web ベースのアプリケーションがいくつかあります。
他のリマインダー サービスは、より大きなアプリケーションの一部です。 Google カレンダーと Microsoft Outlook は両方とも、いくつかのリマインダー サービス機能を備えています。このような場合、実際にお金を稼ぐのはサービスではありません。 Google カレンダーなどのアプリケーションは広告を通じて収益を上げていますが、Microsoft Outlook はソフトウェアの販売とライセンス料によって収益を上げています。
コンピュータネットワーク テクノロジは、これらの要素を結合する接着剤です。パブリック インターネットを使用すると、世界中の企業が相互に、またその顧客と情報を共有できます。 World Wide Web として知られる世界的なコンピューター ネットワークは、消費者が書籍、衣類、さらには車をオンラインで購入したり、不要になった同じ商品をオークションに出品したりできるサービスを提供しています。
たとえば、上の図では、コンピュータ B がプリンタ C に送信しても、コンピュータ A と D は引き続きフレームを受信して検査します。ただし、ステーションが最初にフレームを受信すると、宛先アドレスをチェックして、フレームが自分自身宛てのものであるかどうかを確認します。そうでない場合、ステーションはその内容を検査することなくフレームを破棄します。
イーサネットの多重アクセスと共有メディアにより、意図した受信者であるかどうかに関係なく、回線上のすべてのステーションがすべての送信を受信することを意味したことを覚えていますか?ブリッジはこの機能を利用してセグメント間のトラフィックを中継します。上の図では、ブリッジはセグメント 1 と 2 を接続しています。ステーション A または B が送信すると、ブリッジはセグメント 1 で送信も受信します。ブリッジはこのトラフィックにどのように応答すべきでしょうか?リピーターのようにフレームをセグメント 2 に自動的に送信することもできますが、ネットワークが 1 つの長いセグメントのように動作するため、輻輳は緩和されません。
ブリッジの 1 つの目標は、両方のセグメントで不必要なトラフィックを削減することです。これは、フレームの処理方法を決定する前に、フレームの宛先アドレスを調べることによって行われます。宛先アドレスがステーション A または B のアドレスである場合、フレームがセグメント 2 に表示される必要はありません。この場合、ブリッジは何も行いません。ブリッジはフレームをフィルタリングまたはドロップすると言えます。宛先アドレスがステーション C または D のアドレスである場合、またはブロードキャスト アドレスである場合、ブリッジはフレームをセグメント 2 に送信または転送します。パケットを転送することにより、ブリッジは図の 4 つのデバイスのいずれかを許可します。コミュニケーションするために。さらに、ブリッジは、パケットを適切にフィルタリングすることにより、ステーション C がステーション D に送信するのと同時に、ステーション A がステーション B に送信できるようになり、2 つの会話を同時に行うことができます。