情報ネットワーク - utsunomiya university ·...

Post on 27-May-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

情報ネットワークIPアドレスと経路制御

2008年 1月 9日

IPアドレスIPアドレスの危機ドメイン名

IPアドレス

IPv4アドレス

IPアドレスは、TCP/IPネットワーク上で、通信相手(ホスト)を識別するための番号。

現在、最も一般的に使用されているのがIPv4アドレス 。IPv4アドレスは32ビットのアドレスで、通常「123.45.67.89」のように、8ビットごとに区切った4つの数字により表記する。

IPプロトコルを使って通信をするためには機器に少なくとも一つのIPアドレスが必要。インターネット上に同じIPアドレスが存在してはならない。

通信相手の識別

インターネットはネットワークの集合体

通信相手がどのネットワークにいるのか、そのネットワーク内のどのホストなのかの識別が必要

IPアドレスにより通信相手のネットワークの識別とホストの識別を行う(このネットワークをIPネットワークという)。

IPv4アドレスの表記

IPv4アドレスは32ビット(32桁)の2進数

11000000101010000000000000001010

覚えにくいので8ビット毎に区切り、それぞれを10進数で表記する

11000000.10101000.00000000.00001010

192 . 168 . 0 . 10

IPv4アドレスの構造

IPアドレスはネットワーク部・ホスト部に分かれている。

32ビット

ネットワーク部(e.g. 24ビット) ホスト部(e.g. 8ビット)

上の例ではホスト部が8ビットなのでホスト部は256通りになる

ネットワーク部の見分け方

IPアドレスを見ただけではどこまでがネットワーク部なのかわからない

ネットマスクと呼ばれる目印で境目を判断

ネットマスク

IPアドレスの表記に合わせた32ビット形式ネットワーク部を全て1、ホスト部を全て0にして区別する。

あくまでも目印なのでアドレスではない

11111111.11111111.11111111 00000000ネットワーク部(24ビット) ホスト部(8ビット)

10進にすると255.255.255.0/24と標記も可能(プレフィックス表記)

特別な意味を持つIPアドレス

ホスト部が全て0 (例)192.168.0.0

ネットワーク名に相当する

機器に割り当てられないIPアドレス

ホスト部が全て1 (例)192.168.0.255

ブロードキャストアドレスと呼ばれる

同じネットワーク内の全てのマシンと通信するためのアドレス

機器に割り当てられないIPアドレス

IPアドレスの管理(IPアドレス管理の構造)

IPアドレスは「IPアドレスポリシー」と呼ばれる管理方針に基づき、 世界的に管理が行われている。IPアドレスの管理を委任されている組織は「インターネットレジストリ」と呼ばれ、IANA(Internet Assigned Numbers Authority) を頂点した階層構造を基に管理を行っている。IANAは特定の地域に属することなく、 全世界のIPアドレスの管理を行っている組織。その配下に地域単位で管理を行う「RIR(地域インターネットレジストリ)」 と呼ばれるインターネットレジストリ、そして、 さらにその下にLIR(ローカルインターネットレジストリ) と呼ばれるレジストリが存在する。IPアドレスの分配はこの管理階層に従い、IANAからRIR、RIRからLIR、 そしてLIRから実際のネットワークという流れで行われる。一部の国においては国単位でアドレス管理を行うNIR (国別インターネットレジストリ)が存在する。日本におけるNIR は、JPNICで、国内のIPアドレス管理を行っている。

IPアドレスと個人情報

TCP/IP を用いた通信では、常に自分のIPアドレスが通信相手に伝達される。通信経路にゲートウェイ(プロキシサーバー等)がある場合にはゲートウェイのIPアドレスが伝達される。IPアドレスから情報を得るには WHOIS や DNS を用いる。WHOIS はIPアドレスを割り振られているネットワーク管理者に関する情報を得られ、DNS はIPアドレスからホスト名を得られる。これらによって登録組織名やホスト名から接続元の場所が得られる。プロバイダや会社や大学にの住所が得られる。

上記以外の個人情報をIPアドレスのみから知ることは、ISP等から個人情報と接続記録が漏洩しない限り不可能。

IPアドレスと個人情報がセットで流出した場合にも、個人情報が流出したこと以上に悪影響が出ることは殆ど無い。

IPアドレスとその他の情報との関連付け

同じIPアドレスを使って複数のサイトにアクセスした場合、IPアドレスが記録・公開されれば、同一人物であると推定されてしまう。ウェブビーコンを含むHTMLメールを画像とともに表示した場合、IPアドレスとメールアドレスが同一人物のものであることを、ウェブビーコンの主に知られてしまう。ウェブビーコン(web beacon) ウェブページやHTMLメールに閲覧者を識別する符号を付加した<img>要素を埋め込み、その<img>要素を解釈・表示する際に生ずるサーバーへのリクエストに乗って閲覧者識別符号が<img>要素に記述された画像が存在するサーバーに伝達される。

メールに使用した場合は特定のメールアドレスの利用者の行動を対象者に知られることなく把握できる技術。

スパムメール送信者も同様に、有効なアドレスを識別するために利用している。

IPアドレスの危機

IPv4アドレスの不足

急激にインターネットを利用する機器の増加した中国、インドなどアジア諸国において、深刻なIPv4アドレスの不足(IPアドレス枯渇問題)が問題となった。

また、IPv4では十分な固定アドレスの割り当てを受けるのが難しいことから、末端サイトにおいてはIPマスカレードの利用が常態化し、P2Pアプリケーションの利用に制約が出たり、VPNでサイト間を接続する際にプライベートアドレスが衝突したりといった弊害が起きた。

さらに、IPv4アドレスは需要の拡大とアドレス空間の逼迫により細切れに割り当てられており、そのためバックボーンにおけるルーティング情報が増大し(経路表爆発問題)、性能の限界が懸念された。

IPv6の導入

現在、一般的に使用されている IPv4 に代わるものとして、 IPv4では約 4.3 × 109 個しかなかったIPアドレスを約 3.4 × 1038 個までサポートしている。

地球の体積1.1 × 1021 m3から地球の内核全てまでアドレスを割り当てても1mm3あたり約3億個のアドレスを割り当てられる。日本国内では、NTT東日本、NTT西日本によってフレッツ網の中で利用されている。

現在IPv4アドレスが足りているアメリカでもアメリカ国防総省によるIPv6化宣言の表明により、IPv6化が進むことが期待されている。今後、IP放送、IPテレビ電話、IP電話などのエンドユーザサービスにIPv6を採用する事が進むと考えられIPv6の普及の牽引役となる事も期待される。

IPv6導入のメリット

事実上無限の数のIPアドレスによりIPマスカレード(NAT/NAPT等)を使わずにすむので、全ノードがグローバルな接続性を持ち、P2Pアプリケーション(IP電話、インスタントメッセンジャー、ネットワークゲームなど)の利用が容易になる。IPsecによるIPレイヤでのend to endセキュリティの確保では、現在上位レイヤ(SSL)等でサポートしていた、ユーザ認証、パケットの暗号化、なりすまし防止等がサポートされている。アドレスの集約による、基幹ルータでの経路表爆発の抑止(新たにIPv6の接続を持つとき、ISPの持っているIPv6アドレス(プリフィックス)を切り出してユーザーに渡す)。IPv6の基本的なヘッダは長さが固定されているため、ルータの負荷低下の効果などの特徴を持つ。IPv4ではレイヤ3(IP)で各ルータのホップ毎に行われていたエラー検出を廃止し、レイヤ4(TCPv6/UDPv6等)以上の上位層で、エンドツーエンド(end-to-end)でエラー検出を行うこととされた。これによりルータの負荷低下などが期待される。

IPv6導入のデメリット

IPv4ではNATやIPマスカレードによって「インターネットと直接接続せず、結果、インターネットから見てホストが見えない」という点がセキュリティー上都合が良い場合が多い。

ユーザのIPv6に移行するメリットが見出しにくい。IPv4と似たプロトコルではあるものの、互換性はないため、ルータの取替えや新しいソフトウェアの開発・導入などで、追加投資を免れない。

IPv6のバックボーンはまだIPv4ほど充実していない。IPv4によるトンネリングため、IPv6で接続するとかえって通信性能が低下する場合が多い。

技術面や運用面でまだ不確定な要素が多い。

IPv6が利用できるシステム

Linux、FreeBSD、NetBSD、OpenBSD ほぼ全てのアプリケーションがIPv6対応を終えている。

Windows XP/VISTA Windows 2000にも実験的にIPv6が提供されたことがあるが、その後のサービスパックとの整合性がないため、現在では使用すべきではない。

MicrosoftではInternet Explorer, Windows Media Playerの他は、telnet,ftpなどのコマンドラインアプリケーションのみ。

サードパーティ製品では、Mozilla FirefoxやOperaのほか、ApacheHTTP Server、Meadow、Tera Term、FFFTPなど。

MacOS X MacOS X標準のネットワークライブラリを使用していれば、多くのアプリケーションでIPv6が利用可能。

10.4以降はSafariも完全に動作している。

IPv6 のアドレス

IPv4 と IPv6 の最も大きな違いは、そのネットワークアドレスの長さにある。従来までの IPv4 が 32bit で表記されていたのに対し、IPv6 は 128bit で表記する。IPv6 のアドレスは、前半部と後半部に分けられて管理される。前半の 64bit は、ネットワーク・プレフィックスと呼ばれ、後半の 64bit は、インタフェースIDと呼ばれる。インタフェースIDは、一意性を得るためにMACアドレスから生成されるEUI64 (64-bit Extended Unique Identifier)が使用されることが多いが、必ずこの形式を使わなければならないということではない。

アドレスの一意性は最終的にはDuplicate Address Detection(DAD)という仕組みで保証される。

DAD:端末がNeighbor Solicitation(NS)メッセージをネットワークに送出し、そのアドレスをすでに利用している端末があればその端末がNeighbor Advertisement(NA)メッセージを送出する。NSを送出した端末は、NAが戻ってこないことを確認すると、そのアドレスを使用する。

IPv6 のサブネットマスク

サブネットマスクはプレフィックス表記で行われる。

IPv4と異なり、グローバルアドレスのエンドユーザーへの割り当て単位は原則/48(場合によっては/64)と決まっている。

これより大きい単位(/32や/16など)のサブネットマスクは、IPv6のアドレス体系やルーティング、ISPに対する割り振りなどの議論の際に登場する。

IPv6 のアドレス表記

IPv6 では、128bit を表記する際に、IPv4 と同様の表記では、冗長になる。そのため、16進数で表記された数値を16bit 単位で、コロン (:) で分割して表記する。 3ffe:0200:0000:010a:0000:0000:0000:0001

それでも長すぎるアドレスを少しでも短く表現するために、「分割された各セクションでは先頭の0を省略できる」とか「0000のセクションが続く場合、二重コロン(::)で代用できる」などのルールが設けられている。 3ffe:200::10a::::1

IPv6のヘッダフォーマットIPv4 IPv6

IPv6のヘッダは、IPv4ヘッダに比べてかなりシンプル。付加的な情報の多くを別個の「拡張ヘッダ」に再配置した。基本ヘッダ内のフィールドの数の減少により、IPv6パケットの伝送における中継ルータの負荷が軽減される。

IPv6ヘッダの誤り検出の省略

へッダの中にはTTL (Time To Live)のように、ルータを通過するごとに変化する値が含まれている。

従ってヘッダチェックサム値は、各ルータにおいて再計算され、ルータに大きな負荷をかけ、遅延をもたらす原因となる。

現在ではIPよりも下のレイヤのサービスの信頼性は向上している。上位のTCP/UDPレイヤでは、TCP/UDPの情報に加えて、送信先、送信先IPアドレス、プロトコル番号、データ長を含めた誤り検出が実行されている。

IPv6ではIPレイヤでのヘッダチェックサムによる誤り検出を廃止しルータの負荷を下げた。

ドメイン名

ドメイン名の構成

ドメイン名は、以下のように表示される。(赤字の部分がドメイン名) 電子メールアドレスの場合

name@example.co.jp ウェブアドレスの場合

www.example.co.jpピリオド(.)で区切られた部分は「ラベル」と呼ばれる。1つのラベルの長さは63文字以下、ドメイン名全体の長さは、ピリオドを含めて255文字以下。ラベルには、英字(A~Z)、数字(0~9)、ハイフン( - )が使用できる(ラベルの先頭と末尾の文字をハイフンとするのは不可)。ラベル中では大文字・小文字の区別はなく、同じ文字とみなされる。

DNSインターネット上のコンピュータ同士が通信する際には、「123.45.67.89」といった「IPアドレス」によって通信相手を特定しているが、このような数字の羅列を人間が識別するのは非常に困難である。人間が覚えやすいように「jpnic.jp」といった文字列からなるドメイン名が利用される。現在のインターネットの前身であるARPANETでは、「HOSTS.TXT」というテキストファイルを使用して名前の管理を一元的に行っていた。ARPANETの規模拡大とともに、HOSTS.TXTによる集中管理は破綻した。HOSTS.TXTの更新が週1、2回であったということもあり、ローカルサイトのホスト情報が変わっても、それが HOSTS.TXTに反映されるまでに時間がかかるという問題もあった。ネットワークに接続するホスト数の増加に伴い、HOSTS.TXTが巨大なファイルとなり、これをダウンロードするトラフィックがネットワークの大きな負荷となる問題も発生した。そこで、DNSが考案された。DNSは、階層構造を持つことによって、データを分散管理することが可能とした。DNSではローカルに管理されているネームサーバーでホスト情報を更新することができるようになり、その更新結果がネットワーク全体に反映される仕組みとなっている。

ドメイン名空間

“”

com net jporg

co or ac go ・ ・ ・

・ ・ ・

Utsunomiya-u U-tokyo ・ ・ ・

www mail ・・ ・

kddi soumu ・ ・ ・・ ・ ・

DNSの構造前図はDNSの構造を表したもので、ドメイン名空間と呼ばれる。木をさかさまにした形となっており、一番上の「ルート(root)」と呼ばれる部分(「“ ”」で表現される)を頂点にして、下の階層へと空間が広がる。ルートの下には「com」「net」「jp」などのトップレベルドメインが配置され、そのさらに下に第2レベルドメイン、第3レベルドメインと続く。あるドメインの下の階層に複数のドメインを新設する場合は、必ず異なるラベルをつけるようにする。これによって、ドメイン名空間を構成するすべてのドメイン名は、必ず一意性が保証される。

それぞれの階層の各ドメインには「ネームサーバー」と呼ばれるデータベース機能が配置され、その空間にある名前の管理を行う。ネームサーバーは、基本的にはその配下にあるドメイン名とIPアドレスの対応関係を管理する。そのさらに下の階層のドメイン(サブドメイン)を管理しているネームサーバーの位置を示す役割も担う。

ドメイン名空間の最上位にあるネームサーバーは「ルートサーバー」と呼ばれる。このルートサーバーが管理している「ルートゾーン」には、「jp」や「com」といったトップレベルドメインのネームサーバー(のホスト名とIPアドレス) が記述されており、ルートサーバーはそれらのネームサーバーがどこに位置しているのかを把握している。

DNSにおける名前解決

DNSを使って、あるドメイン名からそれに対応するIPアドレスを引き出すことを「名前解決」と呼ぶ。

右図は、ユーザーがのウェブサイトにアクセスする場合の名前解決を示している。

ネームサーバーは止まってしまうとドメイン名を利用しているインターネットのあらゆる機能が使えなくなってしまう。

このため、各ドメイン毎に配置されるネームサーバーは最低2台運用するという慣行になっていて、1台が止まってももう1台がバックアップするという形になっている。

上位の階層のドメインのネームサーバーほど止まった時の影響が大きく、最上位のルートサーバーは全世界に13台配置されている。

ルートネームサーバの配置

ルートサーバの所在地

東京WIDE ProjectM

米国カリフォルニア州Internet Corporation for Assigned Names and Numbers(ICANN)L

ロンドンReseaux IP Europeens -Network Coordination Centre(RIPE NCC)K

米国バージニア州VeriSign Naming and Directory ServicesJ

ストックホルムAutonomicaI

米国メリーランド州米陸軍研究所H

米国バージニア州米国防総省ネットワークインフォメーションセンターG

米国カリフォルニア州Internet Systems Consortium, Inc.(ISC)F

米国カリフォルニア州米航空宇宙局(NASA)エイムズ研究所E

米国メリーランド州メリーランド大学D

米国バージニア州Cogent CommunicationsC

米国カリフォルニア州南カリフォルニア大学情報科学研究所(ISI)B

米国バージニア州VeriSign Naming and Directory ServicesA

英語以外の言語のインターネット利用

電子メールの場合Step1 電子メールテキストにローマ字で記載

Step2 電子メールテキストに非ASCII文字の記載を可能とした

Step3 電子メール”Subject”欄に非ASCII文字の記載を可能とした

Step4 ? 電子メール“To”、“From”欄に非ASCII文字の記載を可能とする

非英語のドメイン名の利用を可能とする

国際化ドメイン名

従来のドメイン名で使用されているアルファベット、 数字、ハイフンに加え、漢字やひらがな、 アラビア文字などのASCII以外の文字を使えるようにするもの。日本人にとっての日本語ドメイン名のように、 非英語圏のインターネットユーザにとって、 よりわかりやすい文字を使用したドメイン名を利用することができるようになる。

国際化ドメイン名

国際化ドメイン名の利用

DNSサーバ

PCユーザ

インターネット

現在ASCIIドメイン名

ASCIIドメイン名

国際化ドメイン名

アプリケーション

方法1

方法2

国際化ドメインネームの利用

国際化ドメイン名

国際化ドメイン名の実現にあたっては、 現在のインターネットへの影響を最小限に抑え現行のDNSの構造を壊すことがないよう、 既存のプロトコルと互換性がある仕組みの採用が望ましい。国際化ドメイン名を使用する際、 ユーザ側のアプリケーションにおいて、 その国際化ドメイン名を一定の法則に従って、 英数字から成るドメイン名に変換し、 ネームサーバとの通信はこれまで通り7bitASCIIだけで構成される文字列を用いる。これにより、 ユーザ側のアプリケーションに国際化ドメイン名対応の仕組みを加えるだけで、 既存のDNSに変更を加えることなく、 国際化ドメイン名が利用できるようになる。

国際化ドメイン名のしくみ

「宇都宮UNIVERSITY。jp」(ユーザが入力した文字列)

NAMEPREPによる正規化

Punycodeによる変換

「宇都宮university.jp」

「xn--university-2i3suo2638c.jp」

STRINGPREP (Preparation of Internationalized Strings)

国際化ドメイン名では、Unicodeという規格が使用される。

表示上は同じ文字であっても、 コンピュータの内部では異なる文字コードとなっていることがある。

そのような文字を同一のものとして扱えないと混乱が生ずる。

「文字コードとしては異なる文字だが、 インターネットのプロトコルにおいては同じ文字として扱いたい文字」について、 あらかじめ設定しておいた基準に従って標準形へと変換(文字列の正規化) するための枠組みを規定する。

NAMEPREP(A Stringprep Profile for Internationalized Domain Name)

国際化ドメイン名に対して適用するための具体的な方法を規定する。

このNAMEPREPによる処理を行うことで、 国際化ドメイン名として入力された文字列の文字種や互換文字の統一、 ラベル区切り文字の変換などが行われる。たとえば日本語の場合は、 アルファベットの大文字・小文字は全て小文字に、全角英数字は半角に、 半角カナは全角カナに統一される。 また、全角の「.」や句点「。」は半角の「.」に変換される。

Punycode

国際化ドメイン名で使用されるUnicodeによる文字列を、 ASCII文字のみからなる文字列に変換するためのアルゴリズム。国際化ドメイン名の検討段階では、 ACE(ASCII Compatible Encoding)変換のための方式のひとつである RACE(Row-based ACE)と呼ばれるアルゴリズムが使われてた。 RACEよりも優れた方式としてAMC-ACE-Z (Adam M Costello氏が考案した26番目の変換方式の意) と呼ばれる方式が提案され、標準として採用た。(Punycode)国際化ドメイン名を表すプレフィックスとして、 RACEでは「bq--」が使われていたが、 Punycodeでは「xn--」がプレフィックスとして規定されている。Punycodeは3つの意味で「小さく」設計されている。 符号化で使う文字の数が少ない(Unicodeは約10万文字だが、Punycodeで符号化すると37文字で表現できる)

符号化された結果の文字列が短い

コードが小さい(プログラムのステップ数が少ない)

top related