目次 Contents
はじめに Introduction
1.0 ドメインとは? What is domain?
1.1 なぜドメイン名なの? Why is domain name used?
1.2 IPアドレスを管理する団体 Organizations administer IP addresses
1.3 wwwとは? What is “www”?
1.3.1 “www”は必須なの? Is “www” required in the URL?
2.0 ドメインの階層 Domain hierarchy
2.1 ルートドメイン、トップレベル・ドメイン root domain and TLD: top-level domain
2.2 サブドメイン subdomain
2.3 ドメイン名のルール Rules of Domain names
2.4 トップレベル・ドメインの例 Example of TLD: top-level domain
2.5 TLDは6種類 6 kinds of TLD
2.5.1 基盤TLD infrastructure top-level domain (ARPA)
2.5.2 汎用TLD generic top-level domain (gTLD)
2.5.3 制限付き汎用TLD restricted generic top-level domain (grTLD)
2.5.4 スポンサー提供TLD sponsored top-level domain (sTLD)
2.5.5 国別コードTLD country code top-level domain (ccTLD)
2.5.6 試験用TLD test top-level domain (tTLD)
2.6 国名や地域を表すドメインの例 Examples of domains identify country names and regions
3.0 2種類のDNSサーバ Two kind of DNS servers
3.1 2種類のDNSサーバの異なる機能 Different functions of two kind of DNS servers
3.2 DNSサーバの用語に関して About terms of DNS Servers
3.3 分散型データベース Distributed Data Base System
4.0 DNSはどのように働くか How does DNS work?
ドメイン名の解決処理 Domain Name Resolution
4.1 DNSコンテンツサーバの階層 Hierarchy of DNS Contents Servers
4.2 webページを閲覧するとき内部では何が起こる?
What happens internally when browsing an web page?
4.3 再帰問い合わせと反復問い合わせ Recursive query and Iterative query
4.4 IPアドレスのキャッシュ IP address Caching
5.0 サブドメインとサブディレクトリ subdomain and subdirectory
5.1 サブドメインとサブディレクトリの違い
Difference between subdomain and subdirectory
5.2 サブドメインか、またはサブディレクトリか?
Should be used a subdomain, or a subdirectory is much netter?
6.0 ドメインに関連する用語 Terms related to domain
6.1 レジストリ、レジストラ Registry, Registrar
6.2 HTTP, HTTPS
6.3 HTTP: Hypertext Transfer Protocol
6.4 HTTPS: Hypertext Transfer Protocol Secure
6.5 ftp, telnet
6.6 URL: Uniform Resource Locator
6.7 URI: Uniform Resource Identifier
6.8 ドメイン名空間、ゾーン Domain Name Space, Zone
6.9 ホームページ home page
6.10 ブログとサイト Blog and Site
6.11 独自ドメイン
6.12 TCP/IPプロトコル TCP/IP Protocol
6.13 IPV4/IPV6 アドレス IPV4/IPV6 address
6.14 CGIとは? What is CGI?
7.0 ドメインの登録 Registration of a domain
7.1 ドメインを取得する方法 How to actually get a domain
7.2 サブドメインの作成方法 How to create a subdomain
7.3 日本語ドメインと国際化ドメイン名 Japanese domain and IDN: Internationalized Domain Name
はじめに Introduction
インターネットの語源はInter networkで、村、町、都市などに築いた通信ネットワークどおしをつなぐ経路のことです。固有名詞のインターネット(the Internet)は、独立したネットワークが相互接続され、世界中に張り巡らされた単一の通信ネットワークに見えます。
この事を理解している人は少ないようですが、次の図からもこの様子が良くわかります。
インターネット・バックボーン (Internet backbone インターネットの主要幹線)は、大容量(大量のデータを短時間で送信できる)の通信経路を相互接続した集合体で、図はその一部です。末端の枝葉に相当する部分は、この図にはありません。
インターネットが機能するにはどんな仕組みが必用なのか、このテーマについて解説します。
図はWikipediaより引用 |
1.0 ドメインとは? What is domain?
「ドメイン domain」という用語はいくつかの意味や使い方があります。すぐ思いつく例を挙げると
- 時間領域や周波数領域を表すドメイン
「time domain, frequency domain」は信号波形を解析するためには必須の知識で、フーリエ解析(Fourie analysis)を利用します。 - インターネット(the Internet)を利用するためのもの
ドメインを取得したり、取得しない場合でも知らないと困ることがあります。
ここでは2番めのドメインについて解説します。
ドメイン (domain)は、インターネットから切り離すことのできない深い関係にあり、ドメイン名(domain name)のことを指します。たとえるなら住所氏名のようなものです。
ドメイン名はwebブラウザの画面で、通常は上の部分に現れる文字列に含まれ、文字列はwebサイトを表します。
webブラウザ以外にはメールアドレスにも使われ、メールアドレスの@以降の文字列がドメイン名を表します。この場合は、送信元のコンピュータに相当します。
ドメイン名の一部が表すのは、インターネットにつながるそれぞれの機器(多くはコンピュータ)です。ドメイン名は、実際にはグローバルIPアドレス (global IP address) を意味し、この番号を文字列による別名で表現します。
グローバルIPアドレスは、全世界で同じものは一つも存在しないすべて一意(唯一無二)の番号で、住所と氏名の両方とも、同じものが存在できないのとまったく同じ事情によるものです。
- IP address
- IP: Internet Protocol 詳しくは6.12 TCP/IPプロトコル TCP/IP Protocolを参照。
IPアドレスは、2種類の規格 IPV4とIPV6があります。6.13 IPV4/IPV6 アドレス IPV4/IPV6 addressを参照。
利用者がwebサーバにつないで閲覧するためには、お互いに相手のIPアドレスが必用です。 |
この記事を読み進めれば、ドメインに関しての理解が深まると思います。
1.1 なぜドメイン名なの? Why is domain name used?
ドメイン名を使う理由は、利用者が数字の組み合わせで表現するIPアドレスを覚えることは困難だからです。代わりに、名前なら覚えるのはまだ簡単です。
ただし、機器の内部では通信の宛先にはドメイン名ではなくIPアドレスを使います。
- IPアドレス以外のものも必用
- 機器どおしが通信を行うとき、IPアドレス以外に、まだ、ネットワーク番号やMACアドレスも必用です。
- 参考記事
- 詳細は次の記事を参考にどうぞ。
ルーターとは(ネットワークルーター)
そこで、DNS (Domain Name System)を利用することによりドメイン名とIPアドレスを相互に変換することができます。DNSは、たとえるならばインターネットのアドレス帳です。
DNSはとても重要な機能で、この役割を担うのはDNSサーバと呼ぶ名のコンピュータです。
2種類のDNSサーバ 詳細は後で説明しますが、「DNSサーバ」は2種類あります。それぞれの役割はまったく異なり、単純に同じ名前で呼ぶのは混乱の元です。 |
1.2 IPアドレスを管理する団体 Organizations administer IP addresses
全世界のIPアドレスを統括し管理するのは、ICANNという団体です。
ICANNのIPアドレスは192.0.34.163で、ブラウザにIPアドレスを指定することにより閲覧できますが、意味のない番号を入力するよりはドメイン名 “www.icann.org” を指定するほうが分かりやすいはずです。
- ICANN: Internet Corporation for Assigned Names and Numbers
- URL: https://www.icann.org
非営利団体で、本部は米国カリフォルニア州ロサンゼルス - 地域ごとの管理組織
- 全世界の地域ごとにIPアドレスを管理するICANNの下部組織が存在します。北米地域、ヨーロッパ地域、アジア太平洋地域、南米地域、アフリカ地域、のそれぞれに地域インターネットレジストリ(Regional Internet Registry/RIR)」と呼ぶ組織があります。
それぞれの地域ごとに、さらに下部組織があります。
JPNICの管理区域 日本国内の一部の企業は、JPNICの上位組織であるAPNICからIPアドレスを取得しています。 JPNICが管理するのは、日本で使われるIPアドレスのうちこの部分を除いた残りです。 |
1.3 “www”とは? What is “www”?
URL(またはURI)を目にする機会は多いですが、良く”www”が付きます。
URLとURIについて 2.0 ドメインの階層 Domain hierarchyのところで説明します。 |
“www”はWorld Wide Webのことを表します。日本語で表現するなら「世界中に張り巡らした蜘蛛の巣」意味するところは、コンピュータ・ネットワークのことです。
“www”はドメイン名の一部ですが、これが付いたり、または付かないサイトもあります。たとえば
http://www.example_1.com
付かない例
http://example_1.com
なかには”www2″や”www3″などが付くサイトも存在します。
http://www2.example_2.com
http://www3.example_3.com
1.3.1 “www”は必須なの? Is “www” required in the URL?
“www”を付ける必用があるかどうかについては、慣習で付けているに過ぎません。”www”はwebページであることを示すだけで必須ではなく、これ以外の意味はありません。
付ける場合は”www”やこれに準じたものでなければいけないという決まりは存在しないようです。”www”以外の何でも構いません。この点については国内外のいくつかのサイトの情報を参考にしました。
2.0 ドメインの階層 Domain hierarchy
ドメインには階層があり、さらにドメインが付く場合があります。あるドメインの下に付くのがサブドメインです。
Yahooジャパンの例では、ニュースサイトは本体のサブドメインです。(サブドメインの説明は後で)
https://news.yahoo.co.jp
トップページでもニュースの概要は閲覧できますが、詳細を知るにはニュースサイトへ移動することが必用です。
サブドメインの下にさらに続くことがあります。最も右が上位で、最も左が最下位のドメイン名です。ドメイン名の構成は、欧米の住所表記と同じ順序であることがわかります。次の図をご覧ください。
ドメイン名の並びは、欧米の住所表記と同じです。 |
“news”や”yahoo”はドメイン名で、”news.yahoo.co.jp”のようにドメイン名のすべてを指定する名前のことを「絶対ドメイン名」や「完全指定ドメイン名」(FQDN: Fully Qualified Domain Name)と呼びます。
次は両方ともFQDNの例です。
www.yahoo.co.jp
news.yahoo.co.jp
- “https://”, “http://”
- “https://”などの部分はドメイン名ではありません。「ドメインに関連する用語」のところで説明しますが、”https”はアクセスの方法を表し、”://”の部分は規格で定められたものです。
2.1 ルートドメイン, トップレベル・ドメイン root domain and TLD: top-level domain
Yahoo Japanの例 https://news.yahoo.co.jp
ドメイン名の階層はルート (root 根)から始まり、ここには名前が付きません。その下にいくつかのドメイン名が付きます。
ルートに最も近いドメイン名のことをトップレベル・ドメイン (TLD: top-level domain)と言います。”jp”の位置は文字列の先頭ではないためわかりにくいと感じることもありますが、ルート・ドメインの間近に位置します。
Yahoo Japanの例では、TLDは”jp”です。
具体的には、次の図を参照してください。
「Fig.06 トップレベル・ドメインの例 Example of TLD: top-level domain」
2.2 サブドメイン subdomain
Yahoo Japanの例 https://news.yahoo.co.jp
次の2番目以降の階層は、”jp” の従属レベル (subordinate level) に位置することからサブドメイン (subdomain)と呼びます。”yahoo”は “co” のサブドメインで、さらに、”news”は”yahoo”のサブドメインです。
ドメイン名は、階層ごとにドット“.”で区切ります。
第2階層以下はすべてサブドメインということができますが、次は名前で区別する呼び方です。
- セカンドレベル・ドメイン SLD: second-level domain
- 2番目の階層は、セカンドレベル・ドメイン (SLD: second-level domain)で、この例では”co”です。coはcompanyを省略した名前です。
- サードレベル・ドメイン 3LD: third-level domain
- 3番目の階層は、サードレベル・ドメイン (third-level domain)で、この例では”yahoo”です。
- フォースレベル・ドメイン 4LD: fourth-level domain
- 4番目の階層は、フォースレベル・ドメイン (fourth-level domain)で、この例では”news”です。
“news.yahoo.co.jp”の例は第4階層までです。
仕様上の限界は存在しますが、かなり長い名前を使うことはできます。とは言うものの、あまり長い名前は使いにくいだけで良くないでしょう。
2.3 ドメイン名のルール Rules of Domain names
ドメイン名を識別するDNS (Domain Name System)は大文字と小文字を区別せず、先頭を大文字で書くこともできます。
技術文献では小文字で書くのが習わしです。
2.4 トップレベル・ドメインの例 Example of TLD: top-level domain
図の描き方について、個人的には違和感があり上下を逆にしたいですが、他の例にならいドメインの階層はルートを上にします。
トップレベル・ドメインは、ICANNとその他が管理しており利用者が自由に決めることはできません。 TLDは、2018年12月初めの時点で1578あります。(IANAの情報) |
種類 | 数、内訳 | |
1 | オリジナルTLD Original TLDs |
com, org, net, int, edu, gov, mil, arpa の7個 |
2 | 国別コード TLD Country code TLDs |
2017-05-20 時点で 255個 |
3 | 国際化国別コード TLD Internationalized country code TLDs |
計60個 |
4 | ICANN時代の汎用TLD ICANN-era generic TLDs |
biz, info, mobi, name, pro など数百個 |
5 | 国際化汎用TLD Internationalized generic TLDs |
国際化したもの数十個 |
6 | 地域TLD Geographic TLDs |
asia, kyoto, nagoya, tokyo, berlin, hamburg など数十個 |
7 | 国際化地域TLD Internationalized geographic TLDs |
計6個 |
8 | ブランドTLD Brand TLDs |
airbus, alibaba, aol, apple, fiat, sony など数百個 |
9 | 国際化ブランドTLD Internationalized brand TLDs |
計19個 |
10 | 特別用途TLD Special-Use Domains |
example, invalid, local, localhost, onion, test の6個 |
- 表1について
- 表はWikipedia による分類で、ICANNが発足する以前から存在するドメイン名をオリジナルに分類し、残りを国、地域、ブランド等に分けたものです。すぐ下に記すIANA (www.iana.org、ICANNの下部組織)の分類との違いは細かく分けた点が異なります。
- 上の表にあげた例をIANAの分類で表すと次の表のように変わり、その多くは generic TLD に入ります。
- 国際化ドメイン
- 国際化したドメインについては、「日本語ドメインと国際化ドメイン名 Japanese domain and IDN」を参照してください。
- TLD(トップレベル・ドメイン)の数について
- ここで記したTLDの数は、2018年12月初めの時点の情報です。表1や「2.5 TLDは6種類 6 kinds of TLD」の部分です。
IANAの分類 2.5節を参照 |
表1のTLD名 | |
A | generic TLD | com, org, net, edu, tokyo, nagoya, berlin, hamburg, airbus, alibaba, aol, apple, fiat, sony |
B | sponsored TLD | int, gov, mil, asia |
C | infrastructure TLD | arpa |
D | test | test |
E | 該当なし | example, invalid, local, localhost, onion |
2.5 TLDは6種類 6 kinds of TLD
IANA (www.iana.org)の分類では、TLDは大きく6種類に分かれます。
- IANAのリスト
- こちらで閲覧できます。
https://www.iana.org/domains/root/db
2.5.1 基盤TLD infrastructure top-level domain (ARPA)
このドメインは arpa があります。
arpa | 初めはAdvanced Research Project Agency、現在は Address and Routing Parameter Area | 技術的基盤の用途 |
2.5.2 汎用TLD generic top-level domain (gTLD)
このドメインは com, info, net, org があり世界中の誰でも取得できます。用途は決められたものですが厳密ではありません。
1 | com | commercial | 商業用途、厳密ではない |
2 | info | information | 情報サイトの用途、厳密ではない |
3 | net | network | 当初はネットワーク基盤の用途、今は制限なし |
4 | org | organization | 当初は他のgTLDに該当しない団体の用途、今は制限なし |
https://www.iana.org/domains/root/db
2.5.3 制限付き汎用TLD restricted generic top-level domain (grTLD)
このドメインは biz, name, pro があります。
1 | biz | business | ビジネスの用途 |
2 | name | name | 個人の名前、ニックネームなどの用途 |
3 | pro | professional | 特定の職業の用途 |
2.5.4 スポンサー提供TLD sponsored top-level domain (sTLD)
ICANNの下部組織であるIANA (Internet Assigned Numbers Authority)が管理するドメインです。このドメインは edu, gov, int, mil があります。
1 | edu | education | 主に米国国内の教育機関 |
2 | gov | government | 米国の連邦政府と地方行政機関 |
3 | int | international | 国際機関や条約関連 |
4 | mil | military | 米国防総省 |
- IANAのリスト
- sTLDは、IANAのリストには全部で14個あります。
https://www.iana.org/domains/root/db
2.5.5 国別TLD country code top-level domain (ccTLD)
国名コードに基づくドメインで、200を超える国や地域があります。
普通はその国や地域の居住者でなければ取得することはできませんが、なかには海外からでも取得できるものが存在します。目的は外貨を得るためです。
すぐ後に続くところでいくつかの例を表記します。
- IANAのリスト
- ccTLDは、IANAのリストには全部で312個あります。
https://www.iana.org/domains/root/db
2.5.6 試験用TLD test top-level domain (tTLD)
試験用の目的に使われるドメインです。
たとえば “テスト” ドメインは日本語のカタカナで表記する試験用です。他には中国語、アラビア語のものなどが存在します。
- IANAのリスト
- tTLDは、IANAのリストには全部で11個あります。
https://www.iana.org/domains/root/db
2.6 国名や地域を表すドメインの例 Examples of domains identify country names and regions
日本国内に多い”jp”は、国名や地域を表すドメイン ccTLD: country code top-level domain です。
ccTLDは数多く存在し抜粋した一部を次に紹介します。ドメイン名はすべて2文字で表します。
国別のトップレベル・ドメインは次のサイトで閲覧できます。
https://ja.wikipedia.org/wiki/国別コードトップレベルドメイン
DNSコンテンツサーバについて、206の国ごとにまとめた情報は次のサイトで閲覧できます。
https://public-dns.info
サイトには「DNS Server」の表示がありますが、この記事では混乱を避けるためなるべく「DNSコンテンツサーバ DNS Contents Server」で統一しました。
注1 DN: ドメイン名 Domain Name、#DC: DNSコンテンツサーバの数 Number of DNS Contents Server
注2 「英語の正式国名」で、国名を表す名称が最後の場合は先頭に移しカンマで区切りました。国名表記記載例一覧を参照し作成。
注3 南極大陸のDNSコンテンツサーバは米国内に設置してあります。
注4 Public DNS Server Listで表示するDNSコンテンツサーバの台数は稼働中の機器のみですが、ここにはすべてを含めました。
DN | 英語の正式国名 | 日本語の正式国名 | #DC |
ae | Arab Emirates, United | アラブ首長国連邦 | 50 |
am | Armenia, Republic of | アルメニア共和国 | 23 |
aq | (South Pole) | (南極大陸) | 2 |
au | Australia, Commonwealth of | オーストラリア連邦 | 230 |
bd | Bangladesh, People’s Republic of | バングラデシュ人民共和国 | 78 |
be | Belgium, Kingdom of | ベルギー王国 | 61 |
bg | Bulgaria, Republic of | ブルガリア共和国 | 166 |
bh | Bahrain, Kingdom of | バーレーン王国 | 40 |
bw | Botswana, Republic of | ボツワナ共和国 | 10 |
cd | Congo, Democratic Republic of the | コンゴ民主共和国 | 不明 |
cg | Congo, Republic of the | コンゴ共和国 | 不明 |
ci | Cote d’Ivoire, Republic of | コートジボワール共和国 | 4 |
cn | China, People’s Republic of | 中華人民共和国 | 100 |
de | Germany, Federal Republic of | ドイツ連邦共和国 | 370 |
es | Spain | スペイン | 140 |
fr | French Republic | フランス共和国 | 441 |
gh | Ghana, Republic of | ガーナ共和国 | 11 |
gn | Guinea, Republic of | ギニア共和国 | 5 |
il | Israel, State of | イスラエル国 | 100 |
in | India | インド | 233 |
iq | Republic of Iraq | イラク共和国 | 36 |
ir | Iran, Islamic Republic of | イラン・イスラム共和国 | 179 |
it | Italy, Republic of | イタリア共和国 | 311 |
jp | Japan | 日本国 | 713 |
kp | (North Korea= Korea, Democratic People’s Republic of ) | (北朝鮮= 朝鮮民主主義人民共和国) | 2 |
kr | Korea, Republic of | 大韓民国 | 1738 |
mc | Monaco, Principality of | モナコ公国 | 3 |
mn | Mongolia | モンゴル国 | 11 |
ph | Philippines, Republic of the | フィリピン共和国 | 226 |
th | Thailand, Kingdom of | タイ王国 | 100 |
tr | Turkey, Republic of | トルコ共和国 | 134 |
tw | Taiwan | 台湾 | 1152 |
uk | United Kingdom of Great Britain and Northern Ireland | 英国 グレートブリテン及び北アイルランド連合王国 | 479 |
vn | Viet Nam, Socialist Republic of | ベトナム社会主義共和国 | 94 |
us | United States of America | アメリカ合衆国 | 2216 |
za | South Africa, Republic of | 南アフリカ共和国 | 52 |
3.0 2種類のDNSサーバ Two kind of DNS servers
DNS (Domain Name System)はネットワーク上でドメイン名を参照し、通信に必用なIPアドレスなどの情報を提供する仕組みを備えたシステムです。
DNSサーバはタイトルにもあるように2種類ありますが、それぞれ全く異なる働きをします。2種類を一括りに「DNSサーバ」と呼ぶのは不適切で、理解を妨げるだけでなく誤解を招く恐れがあります。
3.1 2種類のDNSサーバの異なる機能 Different functions of two kind of DNS servers
DNSサーバには次の2種類が存在します。
1 DNSコンテンツサーバ DNS Contents Server
2 DNSキャッシュサーバ DNS Caching Server
それぞれの役割について説明します。
DNSコンテンツサーバは、ルートドメインとその下に階層構造を構成します。自らが情報を管理するゾーン(ドメイン名空間)において、DNSキャッシュサーバからの問い合わせに応答します。
「トップレベル・ドメインの例」で解説したようにここだけで1500を超えるドメインのサーバが存在します。(実際には信頼度を上げるため冗長化し、また負荷分散の目的で一次サーバと二次サーバに分けますから、この数倍の装置があるはずです。)
ルート・コンテンツサーバについては、すぐ下の「負荷の集中と分散」で説明しますが929台が稼働中です。
DNSキャッシュサーバは、多くはISP (Internet Service Provider)などに設置してあるサーバです。クライアント・コンピュータからの問い合わせに対し、DNSコンテンツサーバへ必要な問い合わせを行い、結果を依頼元に返します。
通信量を減らす目的で結果を再利用できるように、一定期間キャッシュ領域に保存します。この仕組により、問い合わせ回数は劇的に減りインターネットのトラフィックを大きく減らす効果があります。
- DNSを実現するコンピュータ・プログラム
- DNSのもっとも主要なソフトウェアの一つであるBINDは、上記の2種類のサーバ・アプリケーションを兼用できる機能を備えます。
この特徴は大きな利点ではあるものの、混乱を招き理解を阻害する原因でもあります。
DNSキャッシュサーバに関係する設定を一度は行ったことがあるかもしれません。 TCP/IPの環境設定にある「DNSサーバ」です。 |
2種類のDNSサーバの機能について、表にまとめました。
DNSコンテンツサーバ | DNSキャッシュサーバ | |
機能 | ドメイン名を管理する | ドメイン名を検索する |
対象 | インターネット上のDNS キャッシュサーバ |
ISPや組織の利用者 |
範囲 | インターネット全体 | ISPや組織の利用者 |
- ISP: Internet Service Provider
- インターネット接続事業者は、インターネットへの接続を契約者に提供する事業者です。
自社のインターネット・バックボーンを運用するところや、大手の通信サービスを借り受け独自ブランドで再販する会社もあります。
- DNSコンテンツサーバの数は膨大 tremendous number of DNS Contents Servers
- 今や全世界では数万台のDNSコンテンツサーバが稼働中です。なぜこんなに多いのか、その理由は、インターネット上のwebサーバが世界中で膨大な数に達するためです。
- 2018年12月初めの時点で、その台数は18,586です。
206の国ごとにまとめた情報は、次のサイトで閲覧することができます。
Public DNS Server List - すべての情報を1台、またはわずかな数のDNSコンテンツサーバに記録するのは、賢い方法とは言えません。仮にそれが可能でも、処理性能やトラフィックの集中などの様々な事情を考慮すると実際には使えないことはすぐにわかります。そこで、インターネット上のDNSコンテンツサーバを階層化して構成し、それぞれ個々の担当するネットワーク領域(ゾーン zone)の情報だけを記録する方法がとられます。
- クライアント・コンピュータからDNSキャッシュサーバに問い合わせが発生すると、該当するwebサーバの情報がそこに存在しない場合は、自動でインターネットのDNSコンテンツサーバに問い合わせる仕組みがあります。
- 負荷の集中と分散 Load Concentration and Distribution
- DNSでは、ルートに近いDNSコンテンツサーバほど負荷が集中します。たとえば”.com”サーバが停止すると、そこにつながる下位のドメイン名はすべて参照することができなくなります。
そこで、サーバを複数に分散し冗長化することが行われます。一次サーバ (primary server)から他の複数の二次サーバ (secondary server)にコピーし、すべてのサーバが同じデータを保ちます。この処理をDNSゾーン転送 (DNS zone transfer)と言います。当該サーバを外から見たとき、一次サーバと複数の二次サーバは全体で一つに見えます。(IPアドレスを指定したときに、一台に見えるという意味です。)この仕組はIP Anycastと呼ぶ技術で実現しています。
2012年8月の時点で、340台のルート・コンテンツサーバ、23台のJPコンテンツサーバが世界中で稼働中でしたが、2018年12月14日の時点では、ルート・コンテンツサーバは929台に増えました。
ルート・コンテンツサーバの場所と台数を閲覧できます。
http://www.root-servers.org
3.2 DNSサーバの用語に関して About Terms of DNS Servers
用語に関して、webサイトや資料によりいくつかの呼び方もありますので整理しておきます。
# | この記事で使用 | 他のwebサイトや資料 |
1 | DNSクライアント・アプリケーションプログラム DNS Client Application Program | スタブリゾルバ stub resolverなど |
2 | DNSコンテンツサーバ DNS Contents Server |
権威DNSサーバ authoritative DNS server, 権威ネームサーバ authoritative name server, ゾーンサーバ zone server など |
3 | DNSキャッシュサーバ DNS Caching Server |
caching name server, フルリゾルバ full resolver, フルサービスリゾルバ full service resolver, 参照サーバなど |
3.3 分散型データベース Distributed Data Base System
DNSサーバは、分散型データベースの一つのノードにおいて機能します。
DNSを実現する分散型データベースは、ゾーン(ドメイン名空間)ごとの情報を持てばいいことから、1台のサーバが保有する情報量を劇的に低減します。 |
- DNS (Domain Name System)におけるゾーン
- DNS (Domain Name System)は階層構造により構成し、ドメイン名を管理します。すべてのドメイン名空間 (Domain Name Space) は、ルートを起点にした全体の木構造のことです。ゾーン (zone) は特定のドメイン内の一部を指します。
- ゾーン情報は、人の読めるテキストファイル形式やリレーショナル・データベース(RDB: Relational Data Base)の形式などにより管理します。この情報のまとまりである単位のことをリソースレコード (resource record)と呼びます。
- DNSコンテンツサーバは、ゾーン情報を記録したファイルを読み、記述した内容に基づきDNSキャッシュサーバの問い合わせに応答します。
- ゾーンの例
- 1つのゾーンは、特定のドメイン名とそのサブドメイン名の情報を含みます。
- 例えば”example.net”ゾーンは、www.example.net, mail.example.net などの枝に分かれるサブドメインの情報を含みます。
- ARPANETのデータベース
- ARPANETは、米国に実在したインターネットの起源である世界初のパケット通信ネットワークです。いくつもの大学や研究機関をつないだプロジェクトでした。
DNSができる以前の1980年代の運営方法は、一つのデータベースをすべてのコンピュータが共有するものでした。HOSTS.TXTファイルに情報を保存します。
現在でもHOSTS.TXTのなごりは、いくつか残っています。
機器の台数が少ないうちは機能しますが、現在の世界中に広がった膨大な量の台数では、もはやこの方法は使えません。
その理由は、機器を登録し抹消するたびに、巨大なファイルをすべての機器がいっせいに取得しなくてはなりません。少なくとも数億台の、不必用な情報を記録し取得するのは無駄で、この情報だけで通信量は莫大です。ディスクの容量とネットワークの帯域幅を消費します。まともに機能しないであろうことはすぐわかります。
4.0 DNSはどのように働くか? How does DNS work?
DNS (Dmain Name System)はインターネットのように巨大なネットワークでは非常に重要な働きをするもので、この仕組がなければうまく機能しません。
利用者がwebブラウザにURLを入力すると、閲覧しようとするwebサーバの情報について、クライアント・コンピュータからISP内に設置したDNSキャッシュサーバへ向けて問い合わせを送信します。
すでに記したように、ユーザーが求めるwebサーバの情報(IPアドレス)を自動で他のDNSコンテンツサーバに問い合わせる仕組みがあります。
- ドメイン名の解決処理 Domain name resolution
- 実際にはDNSキャッシュサーバへ問い合わせる前に、まずクライアント・コンピュータ内に求める情報が存在するかどうかをチェックします。
この一連の処理は「ドメイン名の解決 Domain name resolution」です。
詳しい手順は「webページを閲覧するとき内部では何が起こる? What happens internally when browsing an web page?」のところで説明します。
4.1 DNSコンテンツサーバの階層 Hierarchy of DNS Contents Servers
ルート・コンテンツサーバは全世界で13のIPアドレスが存在します。ルート・コンテンツサーバは非常に重要なため、もしすべてに著しい障害が起こるとインターネット全体は機能不全に陥ります。
ルート・コンテンツサーバは負荷の集中を防ぐ目的で分散処理を行うため13台ではなくそれぞれ複数のサーバで構成し、実際には13クラスタ(cluster 集団)です。
それぞれ複数のサーバにより1クラスタを構成しますが、複数の国に分散したものを一つのクラスタに見せる機能があります。
ルート・コンテンツサーバは13クラスタあります。
Anycastアドレッシング技術により一つのクラスタ全体は1台の装置に見えます。 |
DNSルート・コンテンツサーバの一覧です。クラスタごとにAからMの名前が付きます。
ラベル Label | 管理者 Administrator | |
A | VeriSign, Inc. | |
B | University of Southern California (ISI) | |
C | Cogent Communications | |
D | University of Maryland | |
E | NASA (Ames Research Center) | |
F | Internet Systems Consortium, Inc. | |
G | US Department of Defense (NIC) | |
H | US Army (Research Lab) | |
I | Netnod | |
J | VeriSign, Inc. | |
K | RIPE NCC | |
L | ICANN | |
M | WIDE Project |
- アジア太平洋地域のルート・コンテンツサーバ
- 次のサイトの地図で場所を確認できます。
https://web.archive.org/web/20051229123012/http://www.apnic.net/services/rootserver/ - 全世界のルート・コンテンツサーバ
- 次のサイトの地図で場所を確認できます。
https://www.google.com/maps/d/viewer?mid=1LcHEpzl-7RzziWzDa4h3BxJcbEo
- DNS ルート・コンテンツサーバの負荷 Load of DNS Root Servers
- ICANNの資料によると1秒間の平均で3,000クエリの問い合わせがあります。この値は13クラスタ全体なのか、1クラスタあたりの値かは記載がなく不明です。
- ルート・コンテンツサーバはかつて悪意のある者からDDoS攻撃を受けましたが、このときの経験値では毎秒50,000クエリまでは処理できたことがわかっています。制限値はDNSプロトコルによるものではなく、ネットワークの帯域幅にあります。
4.2 webページを閲覧するとき内部では何が起こる? What happens internally when browsing an web page?
webブラウザの利用者がURLの窓に入力すると、次の事柄が発生します。
利用者が入力を終えてリターンキーを押すと処理を開始します。この時点から必用なIPアドレスを得るまでの時間は、文章は長いですが最後の処理まで行ってもほんの一瞬のできごとです。
“maps.google.com”を入力する例で、IPアドレスを探す手順は次のとおりです。
- 利用者はブラウザのURLに “maps.google.com”を入力しリターンキーを押す。
- 該当するURLのDNSレコードは、ブラウザのキャッシュにあるかをチェックする。
Yes→ そのIPアドレスを取得し、ここで終わり。
No → 次へ - OS が保持するキャッシュ中にDNSレコードがあるかをチェックする。
Yes→ そのIPアドレスを取得し、ここで終わり。
No → 次へ - ルータが保持するキャッシュ中にDNSレコードがあるかをチェックする。
Yes→ そのIPアドレスを取得し、ここで終わり。
No → 次へ - ISP のDNSキャッシュサーバが保持するキャッシュ中にDNSレコードがあるかをチェックする。
Yes→ そのIPアドレスを取得し、ここで終わり。
No → 次へ
ここまで来ると、DNSキャッシュサーバはDNSコンテンツサーバ宛にDNSクエリを発行し、IPアドレスの探索を開始します。
- DNSキャッシュサーバは、DNSルート・コンテンツサーバへ問い合わせる
- DNSルート・コンテンツサーバは、”.com”コンテンツサーバへリダイレクト(redirect)する
- “.com”コンテンツサーバは、”google.com”コンテンツサーバへリダイレクトする
- “google.com”コンテンツサーバは、”maps.google.com”のDNSレコード内にあるIPアドレスを見つける。DNSキャッシュサーバへ返送し利用者のブラウザへ届く
ここまで来て、探し求めた必用なIPアドレスを見つけることができました。電話にたとえるなら、電話帳から電話番号を見つけた状況と同じです。
ここからは、webブラウザにwebサイトの表示を行うまでの流れを説明します。
- 必用なIPアドレスが見つかると、ブラウザはインターネット・プロトコル (Internet Protocol)によりwebサーバとの接続 (TCP connection) を開始する。
- クライアント側はSYNパケットをサーバ(この場合は”maps.google.com”)へ送出し新しい接続ができるかどうかを問い合わせる。
- サーバ側で空きポートがあればSYN/ACKパケットを送出し新しい接続を開始する。
- クライアント側はSYN/ACKパケットを受信しACKパケットを送出する。この状態でTCP接続を確立する。
- クライアント側から該当するページの読み出しを要求し、受信したサーバは内容を送出する。
用語/省略語 | 用語/意味 | |
ブラウザ | Webブラウザ Web Browser | |
OS | Operating System コンピュータを動かす基本ソフトウェア。ユーザに最も近い例は、画面の表示はもとよりマウスポインタが動くのはOSの働きによる。 | |
ISP | Internet Service Provider 通信接続事業者 | |
キャッシュ | cache 情報を一時記録する領域やデバイス | |
ルータ | router 通信経路を制御し切り替える装置 | |
リダイレクト | redirect webサイトを閲覧中に一つのwebページから自動で他のwebページに転送する動作のこと。実現する方法は何種類かある。 | |
IP | Internet Protocol インターネットにおいて必須の役割を担うTCPの下位に位置する通信プロトコル。 | |
TCP | Transmission Control Protocol インターネットにおいて必須の役割を担うIPの上位に位置する通信プロトコル。伝送誤りの訂正機能を備える。 | |
空きポート | ここではハードウェアのことではなく、プログラムのポート(入出力の末端)のこと。 | |
SYN/ACKパケット | ひとまとまりの通信の最後に使う信号の一種。SYNパケットを受信した側はこのパケットを送出する。SYN: synchronize, ACK: acknowledge |
4.3 再帰問い合わせと反復問い合わせ Recursive queries and Iterative queries
DNSではドメイン名からIPアドレスを調べる(名前解決 name resolution)問い合わせ(クエリ query)を行なう方法は2種類存在します。
1 再帰問い合わせ (Recursive queries)
2 反復(非再帰)問い合わせ (Iterative queries)
ここで注意すべきは、利用者側(クライアント・コンピュータ)がどちらかを選択するのではない点です。
いくつかの資料やwebサイトを閲覧すると、名前解決の問い合わせ方法は2種類あることを書いただけで使い方までは触れておらず、使用方法を理解していないのではと思われるものがあります。
・再帰問い合わせは、クライアントからDNSキャッシュサーバに対して行います。
・反復(非再帰)問い合わせは、DNSキャッシュサーバからDNSコンテンツサーバに対して行います。
つまり、DNSキャッシュサーバはクライアントからの再帰問い合わせを受信し、DNSコンテンツサーバへ非再帰(繰り返し)による問い合わせ処理を実行します。
このことを図解します。
再帰問い合わせ(再帰クエリ)と反復問い合わせ(反復クエリ)について、表にまとめました。
再帰クエリ Recursive Query |
反復クエリ Iterative Query |
|
機能 Function |
名前解決を要求する Require name resolution | 名前解決を実行する Run name resolution |
実行する時機 When to run |
クライアントが発行時 When the client needs it | クライアントの要求を受信時 When receiving a request from the client |
問い合わせ元 Inquirer | DNSクライアント DNS Client |
DNSキャッシュサーバ DNS Caching Server |
問い合わせ先 Destination | DNSキャッシュサーバ DNS Caching Server | DNSコンテンツサーバ DNS Contents Server |
4.4 IPアドレスのキャッシュ IP address Caching
インターネット上には膨大な数のクライアントが存在しDNSの通信量も甚大です。通信量を減らす目的で、クライアントやDNSキャッシュサーバなどの場所には、過去に問い合わせたドメイン名やIPアドレスなどの情報をキャッシュ領域に保存します。
キャッシュに保存した情報を参照する様子は、「webページを閲覧するとき内部では何が起こる? What happens internally when browsing an web page?」で説明しました。
DNSキャッシュサーバはクライアントから問い合わせを受けると、キャッシュ (cache) 内に情報がある場合は、自らがクライアントへ応答し他のコンテンツサーバへ問い合わる動作は行いません。
キャッシュの情報を利用する場合は、unauthoritativeの印を付けて返信します。
- unauthoritativeの印について
- 実際には、DNSメッセージ内の特定のビットを1にセットします。
5.0 サブドメインとサブディレクトリ subdomain and subdirectory
5.1 サブドメインとサブディレクトリの違い Difference between subdomain and subdirectory
どちらの形式にするべきかについて、検索エンジンからどんな扱いを受けるのかが気になるのではと思います。
SEO (Search Engine Optimization) を行い検索結果で上位表示を獲得するには、サイトの構造などを適切にしておくことが必用です。
サブドメインとサブディレクトリ(サブフォルダ)の違いについては、検索エンジンからの扱いは特に大きく異なる点はないようです。次に記したように、サイトの特徴を考えて構成すればいいと考えられます。
5.2 サブドメインか、またはサブディレクトリか? Should be used a subdomain, or a subdirectory is much better?
サブドメインか、またはサブディレクトリ(サブフォルダ)か、どちらにするべきかは時に悩ましき問題です。
再び登場しますが、サブドメイン形式がふさわしいと考えられるYahooジャパンの例です。
サブドメイン形式です。
https://news.yahoo.co.jp
https://shopping.yahoo.co.jp
https://weather.yahoo.co.jp/weather/
yahoo.co.jpの枝に三つのサイトが位置します。実際のYahooジャパンのサイトには、たくさんのサブドメインがあります。
それぞれのサイトはすべてyahooの名前が付きますが、性質や目的は異なります。この場合はサブドメインで分けるのが自然と言われています。
サブディレクトリ形式がふさわしいと考えられる例で、価格コムのサイトです。
http://kakaku.com/camera/
http://kakaku.com/kaden/
http://kakaku.com/keitai/
ここに書いたのは三つだけですが、実際の価格コムのサイトのドメインにはたくさんの数のサイトがあります。
こちらのサイトもYahooジャパンと同じように、一つのドメイン “kakaku” の基にいくつもの数のサイトがある点は同じです。
ただし、どのサイトも価格の比較は同じテーマですが、それぞれ異なる商品カテゴリを表すページである点が、Yahooジャパンのサイトとは異なります。
この場合はサブディレクトリで分けるのが自然と言われています。
サブドメインとサブディレクトリのどちらにするかのポイントは、サイトのテーマが同じかどうかの点です。
6.0 ドメインに関連する用語 Terms related to domain
今の時代はインターネットが無いことは考えられないですが、ドメイン名は世界中で利用するためどこかで管理することが必用です。
たとえば、電波は周波数領域が限られており誰でも無制限に送信することはできません。ドメイン名は電波のような資源と似たところがあります。
ここではドメイン名を誰がどのように管理するのか説明します。
6.1 レジストリ、レジストラ Registry, Registrar
レジストリ (Registry)は、次の項目のレジストラの上位に位置します。国家や地域において、IPアドレスを配分し管理する組織で、ドメイン名の利用者がレジストラに登録した情報を管理する団体です。
レジストラ (Registrar)は、利用者がドメイン名を登録申請するとき、申し込みを行うドメイン登録業者のことです。
レジストラには、インターネットの接続サービスを行うISP (Internet Service Provider)や、webサーバのレンタル業務を行うホスティング事業者、ドメイン名の登録を専門に行う事業者などがあります。
6.2 HTTP, HTTPS
“https”や”http”はHypertext Transfer Protocolの意味でコンテンツの送受信に使う通信プロトコルです。概略は次に説明します。
“https”の後に続く”://”の部分は、仕様上の規格で決まった文字列です。
webブラウザで、どこかのサイトを閲覧する際に URL(またはURI)を入力する必用があります。”http”や”https//” は URL の一部で、サイトにアクセスする方法を表します。URL のことをアドレスと呼ぶのは正しくないのですが、その理由は URLにはアクセス方法とサイトのアドレスを含むためです。
6.3 HTTP: Hypertext Transfer Protocol
コンテンツの送受信に使う通信プロトコルです。通信を確実に行うための手順をまとめたもので、電話で「もしもし」に対する応答メッセージ等の組合わせに相当します。
6.4 HTTPS: Hypertext Transfer Protocol Secure
HTTPSは厳密にはプロトコルではなく、SSL/TLSプロトコルを利用することにより通信を安全に行うためのものです。
- httpsのためのSSL化について
- 「httpsを実現するSSL化は必須なのだろうか」という疑問や議論があります。金融機関やECサイト(Electronic Commerce Site) でクレジットカードの情報を入力する所では常識で、当たり前です。
もしもカードの番号を盗まれ悪用されると危険だからです。暗号化した情報を盗むことができても、暗号を解かない限り盗んだ情報には価値がないのですが、暗号を解くことはそれほど簡単なことではありません。
クレジットカードの情報を入力しないサイトでも、メールアドレスを入力したりあるいはクッキー (Cookie) の情報も扱うため必須であるとの意見が強くあります。
当サイトは
まだ SSL化しておらず計画の段階ですが、完了するまで少なくない作業量がありますSSL化を完了済みです。条件が整わないときは、サーバを変更しサイトを引っ越しすることも必用です。
6.5 ftp, telnet
URLで指定するhttp 以外の通信プロトコルは ftpやTelnet があります。
ftp は file transfer protocol で、HTML サイトのコンテンツを転送するときはほぼ必須です。
- コンテンツをアップロード (up load) する方法は、サーバの設定機能を提供するサイトに備わった
コンソール画面を利用すれば、ftpでなくてもできます。Wordpress などの CMS (Contents Management System)を利用する環境もftpは不要です。
Telnetはホストコンピュータにログインし操作する通信プロトコルです。RFC854の規定があります。
6.6 URL: Uniform Resource Locator
インターネット上にある情報にアクセスするための手順(プロトコル)と所在(アドレス)を記述します。規格で定められたものです。
6.7 URI: Uniform Resource Identifier
URL の代わりに URI の呼び方もあります。URI は URL を拡張したものでURN (Uniform Resource Name) を含みます。
- URI, URN, URLの用語について、RFC3986とW3Cの注釈文書がこれらの指針です。
RFC3986
https://www.ietf.org/rfc/rfc3986.txtW3Cの注釈
https://www.w3.org/TR/uri-clarification
6.8 ドメイン名空間、ゾーン Domain Name Space, Zone
DNS (Domain Name System)は階層構造により構成し、ドメイン名を管理します。すべてのドメイン名空間 (Domain Name Space) は、ルートを起点にした全体の木構造のことです。ゾーン (zone) は特定のドメイン内の一部を指します。
6.9 ホームページ home page
サイトの主ページのことをホームページ (home page)またはスタートページ (start page)と呼びます。またwebブラウザを起動したときに表示するページのことも意味します。「ホームページ」は日本国内ではwebサイトの意味で使われますが、本来の意味とは異なります。
6.10 ブログとサイト Blog and Site
HTMLソースコードで作ったページをサイト (site) と言い表し、無料/有料ブログや、独自ドメイン(次の項目で説明)とWordpress 等で作ったものをブログ (blog)と呼んだりしますが、ここでは両者の違いは問題にしません。
すべてのwebページは、利用者が意識するかしないかに関わらず例外なくHTMLで表現します。HTMLだけでは表現できないものもありますが、少なくともHTMLは必須です。Wordpress等のCMS (Contents Management System)なども例外ではなく、中身はHTMLが必用なことに変わりはありません。したがって、ここではすべてサイトとみなす扱いです。
- サイトのページを表現するには複数の言語が必用なことがあります。HTML、CSS、Javascript、phpなどです。これらはすべてコンピュータ言語の一種です。HTMLはページの骨格を記述し、CSS (Cascading Style Sheet) は装飾のためのものです。Javascriptやphpはプログラム言語です。
まだ、この他にもCGI (Common Gateway Interface)と呼ぶブラウザから要求を出し、ウェブサーバがプログラムを実行する仕組みもあります。必用な理由は、HTMLによる静的な情報だけではプログラムの処理結果に基づいた動的な情報を提供することができないためです。CGIは、Perl、Python、Ruby、C、C++、Visual Basicなどの言語で記述します。
サイトのページを構成するためにHTMLが必須であることはすべてのwebページに共通です。webサーバに保存したHTML(場合によりCSSその他が必用)で記述したサイトを、利用者のクライアント・コンピュータが呼び出すとwebサーバはそのページのHTMLを送信します。利用者の手元の画面にはそのwebページを表示する仕組みです。
WordPressなどのCMSはこの部分の仕組みが大きく異なります。ごく普通のHTMLで記述したページは、webサーバのディスク内にそのままの情報が保存してあり、クライアントはこれを読み出して表示するだけです。Wordpressなどは、ページの情報はデータベースに保存してあり、読み出しの要求を受けると動的にページを生成(一種の描画)します。つまり、ページの情報はWordpressの内部にそのまま保存してある訳ではないということです。
CMSの種類はたくさんあります。そのなかでもWordpressは非常に有名で利用者の数も多いです。これ以外に知られたものはMovable Type、Drupal、Joomla、MODX、XOOPSなどです。CMSは世界中で、数百の種類が存在すると言われています。
6.11 独自ドメイン
独自ドメインは、ドメインの種類ではなく、特定の個人や団体などが取得した、専用で利用するドメイン名のことです。
これに対し、無料ブログサービスを利用する場合は、利用者は割り当てられたドメイン名を大勢の人数で共用します。
6.12 TCP/IPプロトコル TCP/IP Protocol
TCP: Transmission Control Protocol
IP: Internet Protocol
TCPは、ユーザプロセス(利用者が起動中のプログラム)のための高信頼度による全二重(同時双方向通信)のバイトストリーム(文字やバイナリデータの連なり、データが連続すること)を提供するコネクション志向のプロトコルです。
ユーザデータはパケットの単位にまとめて送受信を行います。
- TCPは高信頼度
- この特徴は、エラー訂正の機能によるものです。
- IP
- IPは、TCPプロトコルに対し、パケットの配送を提供するプロトコルです。
- TCP/IPとOSI基本参照モデル
- このモデルにおいて、ユーザプロセスは第5〜7層で、TCPは第4層、IPは第3層に位置します。
- OSI基本参照モデルとは
- 通信ネットワークのアプリケーション層から物理層までを七つの階層に分けて表し、機能とプロトコルを規定し、異機種間の通信を容易にできるように考えたモデルです。
名前にある「参照」は「推奨」や「お手本」を意味します。OSIはOpen System Interconnect Modelの略で、特定のベンダに依存しないISOによる定義がなされたものです。
- コネクション志向
- 通信を行う際に、通信セッションを確立した後やりとりを行う方式です。たとえば、Unixではソフトウェア・ソケットでつなぐことにより行いますが、socketシステムコール(OSの機能を呼び出す手続き)により末端を作成します。
「コネクション志向 connection oriented」の別名は「コネクション型」。
コネクション志向と対比するものは、「コネクションレス connectionless」。
UDPプロトコルは、コネクションレスのプロトコルで、通信セッションを確立せずにデータを宛先へそのまま送信します。
6.13 IPV4/IPV6 アドレス IPV4/IPV6 address
インターネットにつながるすべてのコンピュータは、インターネットプロトコル (IP: Internet Protocol)の通信規格に基づき通信を行います。それぞれのコンピュータには通信相手を特定するためのグローバルIPアドレスが必用です。
IPアドレスは、現在は二つのバージョンIPV4とIPV6 の規格で決められたアドレスが混在します。両者の最大の相違点はアドレスの桁数です。
IPV4アドレスは2進数の32桁で、アドレス総数は2の32乗個である約43億個です。この数は全世界の人工と比較するととても十分とは言えない大きさです。
一方で、IPV6アドレスは2進数の128桁で、アドレス総数は2の128乗個=約3.4×10の38乗個です。
これは非常に大きな数です。世界人口白書の予測では、2050年に世界の人口は93億人に達しますが、一人あたり約3.7×10の28乗個のIPアドレスを使える計算で、ほとんど無限に感じられる数です。この数の大きさはなかなか直感では認識できませんが、1兆(10の12乗)個の1兆倍より多いと表現すれば、その巨大さが伝わるでしょうか。
- 2の128乗=340,282,366,920,938,463,463,374,607,431,768,211,456
インターネットは、通信の内容をパケットの単位で扱います。IPV4では、オプションで 暗号技術を用いた通信を行うことができます。IPsec (Security Architecture for Internet Protocol)と呼ぶ通信プロトコルです。ただしオプションのため、相手の機能により使えないことがあります。IPV6では IPsec は標準機能です。
6.14 CGIとは? What is CGI?
CGIは、Common Gateway Interfaceのことを表しますが、一言で表現すれば、ウェブサーバ上で、「クライアントの要求するプログラムを実行する仕組み」のことです。
これだけでは分かりにくいですが、CGIを利用する例は、掲示板があります。
サーバの基本的な動作はクライアントが要求するwebページの内容を送信するだけです。ここで、CGIのような仕組みがなければ「webページ」に書かれた情報は、あらかじめ用意したものだけです。
掲示板は利用者が新たに投稿するので、「あらかじめ用意したもの」ではない掲示板に投稿した内容を表示することができません。掲示板を実現するCGIプログラムは、新たに投稿した内容をwebサーバで表示することができます。
CGIのような仕組みがあれば、はじめて掲示板を実現することができます。
webページを記述するには、まずHTML (Hyper Text Markup Language)やCSS (Cascading Style Sheet) で表現しますが、プログラムの機能はありません。CGIを実現するには何らかのコンピュータ言語で記述します。
もう一つの例は、アクセスカウンターがあります。アクセスカウンターは訪れた人の数を表示します。「訪れた人の数」は、掲示板に追加した内容と同じで、「あらかじめ用意したもの」ではありません。CGIプログラムを実行してはじめて訪れた人の数を表示することができます。
CGIを実現するプログラムは、C、C++、Perl、Visual Basicなどのコンピュータ言語で記述します。
7.0 ドメインの登録 Registration of a domain
ドメインを新たに取得するには、欲しいドメイン名を取り扱う業者に登録することが必用です。
7.1 ドメインを取得する方法 How to actually get a domain
ドメインを実際に取得するにはどうすればいいの?という疑問はありませんか?
ドメインを取り扱う業者のサイトの画面で、使用したいドメイン名が登録済みかどうかをチェックすることができます。未登録のドメイン名はお金を支払って登録することができます。
ドメインを使用したいときは、まずドメインの販売業者へ申請し取得します。当然ながら、通常はすでに存在するドメイン名を使用することはできません。
たとえば、当サイトはドメイン “123-info.net” を申請し取得しました。ここで、”.net” の部分はすでに存在するTLDで、”123-info”と”.net” の組み合わせを申請した訳です。
“.net” 以外には、”.com” や”.jp” など、この部分はすでに説明したように、その他にもたくさんのドメインが存在します。
国や地域別のTLDは、普通はその場所に居住しなければ取得することはできませんが、なかには海外からでも取得できるものが存在します。
- 中古ドメイン
- 存在するドメイン名を利用できる例外があります。使わない売りに出されたものを購入する場合です。中古ドメインは一度使用したもののことです。
- ドメインの価値
- 中古ドメインはとても高額の値段が付いているものが存在します。かつて大量にアクセスを集めたサイトで使われたものは高値で取引されます。このようなドメインを使用し新たなサイトを作れば、再びアクセスを呼び込むことができると期待できます。
しかし一方では、過去に使われたサイトと新しいサイトの関連はないことがほとんどであり、そのような期待は意味がないという議論もあります。
7.2 サブドメインの作成方法 How to create a subdomain
サブドメインの取得については、こちらはドメイン業者への申請は必用なく、該当するドメインの利用者が自ら作成します。作成できるサブドメインの数の制限は特にありません。
サブドメインを追加する手順は、まず契約したドメインのサイトで管理画面を開きます。「サブドメイン追加」などのボタンやメニューがあるはずです。たとえば “example.com”を取得した後は、”site1.example.com”のように作成します。
7.3 日本語ドメインと国際化ドメイン名
Japanese domain and IDN: Internationalized Domain Name
ドメイン名は、当初は英数字と記号であるハイフンのみでしたが、ひらがなや漢字などの国際文字を使用できるようになりました。
その仕組は、国際化ドメイン名 (IDN: Internationalized Domain Name) の技術を使うもので、具体的にはPunycodeによる文字符号を利用します。
日本語ドメイン名を利用するには、利用者側の環境(主にwebブラウザ)が国際化ドメイン名の機能を利用できることが必用です。ほとんどの環境にはこの機能が備わっています。
通常は、国際化ドメイン名、たとえば日本語では漢字やひらがなで普通に表記しますが、なかには偽の文字でURLを偽装した詐欺サイト(phishing site) に誘導し詐欺を働くものがあるようで、これを防ぐ目的で国際化表記せず、Punycode(「xn--」で始まる英数字とハイフン)で表記することもあるようです。
次のサイトは、日本語JPドメイン名を入力すると変換した結果を知ることができます。
日本語JPドメイン名のPunycode変換・逆変換
https://punycode.jp
更新情報
2018-12-21 23:20
Fig.08で gTLD の一部に誤りがあり、画像を入れ替えました。
参考資料
Beginners guide to Doman Names
domain-names-beginners-guide-06dec10-en.pdf
ICANN 発行 日付不詳
The Domain Name System
f24_dns.pdf
Raj Jain 著 日付不詳 オハイオ州立大学 (The Ohio State University)
The Domain Name System
www.potaroo.net/t4/pdf/devcon.pdf
David Conrad 著 日付不詳 Nominum Inc.
DNS Domain Name System
module19-dnsv2.pdf
バージニア(州立)大学 発行 (University of Virginia)作成 日付不詳
Introduction to the Domain Name System
DNS_Guide_chapter_00.pdf
Cisco社 発行 日付不詳
A Quick Introduction to the Domain Name System
David Conrad 2000-01-17 Nominum Inc.
Wikipediaのサイト
https://en.wikipedia.org/wiki/Domain_name
https://en.wikipedia.org/wiki/.arpa
https://en.wikipedia.org/wiki/.com
https://ja.wikipedia.org/wiki/国別コードトップレベルドメイン
など
国名表記記載例一覧
https://boueki.nagoya-cci.or.jp/dl/Country_Mark.pdf
DNS入門
20120831-DNS_Summer_Days_2012-DNSprimer-v1.2.pdf
森下泰弘 著 2012-08-31 (株)日本レジストリサービス(JPRS)
30分で学ぶDNSの基礎の基礎
dns_basics_in_30minutes.pdf
森下泰弘 著 2014-09-27 (株)日本レジストリサービス(JPRS)
ドメイン名の市場と諸課題について
2.pdf
(株)日本レジストリサービス(JPRS) 発行 2013-09-10
web標準の教科書 XHTMLとCSSで作る”正しい”Webサイト
益子貴寛 著 2005年 秀和システム 刊