DNSとは何ですか? 知っておくべきすべての情報
目次:
- インターネットの始まりとその崩壊
- ドメイン名
- DNS(ドメインネームシステム)サーバー
- DNSキャッシュ
- DNSSECによるDNSセキュリティ
- 無料のDNSサービス:OpenDNSとGoogle Public DNS
- OpenDNS
- GoogleパブリックDNS
- DNSに関する最終的な考え
あなたはインターネット上であなたがさまざまなテーマを持つ無限のサイトを見つけることができることをすでに知っています。 それらにアクセスするには、通常、ブラウザの対応するフィールド(www.google.esやwww.profesionalreview.comなど)にアドレスが書き込まれます。 しかし、ホストされている場所に関係なく、チームがこれらのWebサイトを検索する方法について何か考えがありますか? この時点で、DNS(ドメインネームシステム)サーバーの機能が登場します。 この記事では 、 DNSとは何か、それらがどのように機能するか、およびDNSSECなどの他の関連する概念について説明します。
コンテンツインデックス
インターネットの始まりとその崩壊
インターネットの最初には、ほとんど使用されないように意図されていたため、インターネット上に存在するすべてのIPとマシンの名前を含むhosts.txtファイルがありました。 このファイルはNIC(Network Information Center)によって管理され、単一のホストであるSRI-NICによって配布されました。
Arpanetの管理者は、SRI-NICに加えられた、および随時行われたすべての変更と、hosts.txtファイルをNICに電子メールで送信しました。
変更は、新しいhosts.txtに週に1〜2回適用されました。 しかし、 Arpanetの成長に伴い、このスキームは実行不可能になりました。 hosts.txtファイルのサイズは、インターネット上のマシンの数が増えるにつれて大きくなりました。
さらに、各ホストが含まれるようになると、更新プロセスで生成されるトラフィックはさらに大きな割合で増加しました。これは、hosts.txtファイルの1行だけでなく、 SRI-NICから更新される別のホストも意味します。 。
commons.wikimedia.org経由の画像
ArpanetのTCP / IPを使用すると、ネットワークが指数関数的に成長し、ファイルの更新を管理することがほぼ不可能になりました。
Arpanet管理者は、hosts.txtファイルの問題を解決するために他の設定を試みました。 目標は、単一のホストテーブルの問題を解決するシステムを作成することでした。 新しいシステムでは、ローカル管理者が世界中で利用可能なデータを変換できるようにする必要があります。 管理の分散化により、単一のホストによって生成されるボトルネックの問題が解決され、トラフィックの問題が軽減されます。
さらに、ローカル管理により、データの更新がより簡単になります。 スキームでは階層名を使用して、名前の一意性を確保する必要があります。
USCの情報科学研究所のPaul Mockapetris がシステムのアーキテクチャを担当しました。 1984年に、「ドメインネームシステム」またはDNSを説明するRFC 882および883をリリースしました。 これらのRFC(Request For Comments)の後には、現在のDNS仕様を持つRFC 1034および1035が続きました。
DNSは、情報のキャッシュを可能にするだけでなく、階層化され、分散され、再帰的になるように作成されました。 したがって、マシンがすべてのインターネットアドレスを知っている必要はありません。 メインのDNSサーバーは、 ルートサーバー (ルートサーバー)です。 これらは、最上位ドメインを担当するマシンがどれかを知っているサーバーです。
commons.wikimedia.org経由の画像
ルートサーバーは合計13台あり 、そのうち10 台は米国、2台はヨーロッパ(ストックホルムとアムステルダム)、1台はアジア(東京)にあります。 1つが失敗すると、他のユーザーはネットワークをスムーズに稼働させ続けることができます。
DNSは、 ポート53 (UDPとTCP)と953(TCP)で動作し、それぞれ制御します。 UDPポート53はサーバークライアントクエリに使用され、TCPポート53は通常、マスター(プライマリ)とスレーブ(セカンダリ)間のデータ同期に使用されます。
ポート953は、BINDと通信する外部プログラムに使用されます。 たとえば、DNSゾーン内でIPを受信したホストの名前を追加する必要があるDHCP。 これは、DNSがソフトウェアによってデータが上書きされるのを防ぐために、両者の間に信頼関係が確立されている場合にのみ行う必要があるのは当然です。
BINDは、バークレー大学のコンピューターサイエンス研究グループのメンバーである4人の卒業生によって作成されました。 開発者Paul Vixie(vixie-cronの作成者)は、DEC会社で働いていたときに、BINDを最初に担当しました。 BINDは現在、Internet Systems Consortium(ISC)によってサポートおよび保守されています。
BIND 9は、商業契約と軍事契約の組み合わせによって開発されました。 BIND 9の機能のほとんどは、BINDがMicrosoftのDNSサーバー製品との競争力を維持することを確実にしたいと考えていたUnixプロバイダー企業によって促進されました。
たとえば、 DNSSECセキュリティ拡張は、DNSサーバーのセキュリティの重要性を理解した米軍によって資金提供されています。
ドメイン名
すべてのWebサイトまたはインターネットサービスには、 IPアドレス (IPv4またはIPv6)が必要です。 このリソースを使用すると、Webサイトをホストし、そのページにアクセスするサーバーまたはサーバーのセットを見つけることができます。 この記事の執筆時点では、GoogleスペインのIPアドレスは172.217.16.227です。
Facebook、Twitter、電子メール、ニュースポータルなど、毎日アクセスするすべてのWebサイトのIPを覚えておく必要があると想像してください。 これはほとんど不可能であり、非常に非現実的でしょうね。
C:\ Users \ Migue> ping www.google.es 32バイトのデータでwww.google.esにpingする:172.217.16.227からの応答:バイト= 32時間= 39ms TTL = 57 172.217.16.227からの応答:バイト= 32時間= 30ms TTL = 57 172.217.16.227からの応答:バイト= 32時間= 31ms TTL = 57 172.217.16.227からの応答:バイト= 32時間= 30ms TTL = 57 172.217.16.227のPing統計:パケット:送信= 4 、受信= 4、損失= 0(0%損失)、概算の往復時間(ミリ秒):最小= 30ミリ秒、最大= 39ミリ秒、平均= 32ミリ秒C:\ユーザー\ Migue>
これが基本的にドメイン名を使用してインターネットのウェブサイトにアクセスする理由です。 これにより、ユーザーはアクセスするために、たとえばProfessional ReviewのIPアドレスを知る必要はなく、ドメイン名を知っているだけです。
結局のところ、 名前の記憶は数字のシーケンスの記憶よりもはるかに簡単なので、これは非常に実用的なスキームです。 また、名前を正確に覚えていなくても、検索エンジンに入力することで、簡単に見つけることができます。
重要なのは、ドメインを使用しているにもかかわらず、サイトは依然としてIPアドレスを必要とするということです。コンピュータの名前ではなく、人の理解を助けるために結局名前が作成されているからです。 また、ドメインをIPアドレスにリンクするのはDNSの役割です。
DNS(ドメインネームシステム)サーバー
インターネットDNS (ドメインネームシステム)サービスは、一言で言えば、世界のさまざまな場所にあるサーバーに散在する大規模なデータベースです。 ブラウザーにwww.profesionalreview.comなどのアドレスを入力すると、コンピューターはインターネットプロバイダー(または指定した他のプロバイダー)のDNSサーバーに、そのドメインに関連付けられたIPアドレスを見つけるように要求します。 これらのサーバーがこの情報を持っていない場合は、その情報を持っている可能性のある他のサーバーと通信します。
ドメインが階層的に編成されているという事実は、この作業に役立ちます。 最初に、次の例に示すように、メインDNSサービスとして理解できるルートサーバーがあり、アドレスの末尾のピリオドで表されます。
www.profesionalreview.com
上記のとおりに、最後にピリオドを付けてブラウザにアドレスを入力すると、プログラムは通常Webサイトを検出します。 ただし、関係するサーバーはすでにその存在を認識しているため、このポイントを含める必要はありません。
階層の後には、.com、.net、.org、.info、.edu、.es、.meなど、私たちがよく知っているドメインが続きます。 これらの拡張機能は、「gTLD」(Generic Top Level Domains)と呼ばれ、Generic Top Level Domainsのようなものです。
国指向の末尾、いわゆる「ccTLD」(国コードトップレベルドメイン)もあります。これは、トップレベルドメインの国コードのようなものです。 例:スペインの.es、アルゼンチンの.ar、フランスの.frなど。
次に、 企業や個人がこれらのドメインに登録できる名前が表示されます (例:profesionalreview.comの「Profesional Review」またはgoogle.esの「Google」)。
階層を使用すると、IPとは何か、したがってドメインに関連付けられているサーバー(名前解決と呼ばれるプロセス)を見つけるのは簡単です 。階層レベルには特定のDNSサービスがあります。
それをよりよく理解するために、この例を見てください:ウェブサイトwww.profesionalreview.comにアクセスしたいとします。 これを行うために、プロバイダーのDNSサービスは、参照先のWebサイトを見つける方法を知っているかどうかを発見しようとします。 そうでない場合は、最初にルートサーバーを照会します。 これは、次に、.com終了のDNSサーバーを示します。これは、ドメインprofesionalreview.comに応答するサーバーに到達するまでプロセスを継続し、最終的に関連するIPを報告します。つまり、問題のサイトであるサーバーです。 。
特定のドメインを表すDNSサーバーは「権限のある」と呼ばれます。 クライアント側からDNSクエリを受信し、外部サーバーで応答を取得しようとするサービスは、「再帰的」と呼ばれます。
gTLDおよびccTLDドメインは、DNSサーバーも担当する異なるエンティティによって管理されます。
DNSキャッシュ
プロバイダーのDNSサービスでは見つけることができなかったWebページにアクセスしたため、他のDNSサーバーに(上記の階層検索方式で)問い合わせる必要があるとします。
別のインターネットプロバイダーのユーザーが同じサイトにアクセスしようとしたときに、この調査を再度行う必要がないように、 DNSサービスは最初のクエリの情報をしばらく保存する場合があります。 したがって、別の同様の要求で、サーバーはすでに問題のWebサイトに関連付けられているIPが何であるかを知っています。 この手順はDNSキャッシュと呼ばれます 。
原則として、DNSキャッシングは肯定的なクエリデータ、つまりサイトが見つかったときのデータのみを保持しました。 ただし、DNSサービスは、たとえば、 存在しないサイトやローカライズされていないサイト(たとえば、間違ったアドレスを入力した場合)からの否定的な結果も保存し始めました。
キャッシュ情報は、TTL(存続可能時間)と呼ばれるパラメーターを使用して、指定された期間保存されます。 これは、記録された情報が古くなるのを防ぐために使用されます。 TTL期間は、サーバーに対して決定された設定によって異なります。
これにより、ルートサーバーと後続サーバーのDNSサービスの作業が最小限に抑えられます。
DNSSECによるDNSセキュリティ
この時点で、DNSサーバーがインターネット上で大きな役割を果たすことはすでにご存じでしょう。 問題は、DNSも悪意のあるアクションの 「犠牲者」になる可能性があることです。
たとえば、豊富な知識を持つ人が、特定のプロバイダーからの顧客の名前解決要求を取得するためのスキームをまとめたとします。 これが成功した場合、ユーザーがアクセスしたい安全なWebサイトではなく、偽のアドレスに誘導することができます。 ユーザーが偽のWebページにアクセスしていることに気付かない場合は、クレジットカード番号などの機密情報を提供できます。
このような問題を回避するために、DNSにセキュリティ機能を追加する仕様で構成されるDNSSEC (DNS Security Extensions)が作成されました。
ウィキメディア・コモンズからの画像
DNSSECは、基本的に、DNSに関連する手順の信頼性と整合性の側面を考慮します。 しかし、一部の人々が最初に考えたのとは逆に、侵入やDoS攻撃などに対する保護を提供することはできませんが、何らかの方法で役立つ場合があります。
基本的にDNSSECは、公開鍵と秘密鍵を含むスキームを使用します。 これにより、正しいサーバーがDNSクエリに応答していることを確認できます。 DNSSECの実装は、 ドメインの管理を担当するエンティティによって実行される必要があるため、このリソースは完全には使用されません。
無料のDNSサービス:OpenDNSとGoogle Public DNS
インターネットアクセスサービスを採用すると、デフォルトでは会社のDNSサーバーの使用に切り替わります 。 問題は、多くの場合、これらのサーバーがまったく機能しない可能性があることです。接続は確立されますが、DNSサービスの応答が遅いため、ブラウザがページを見つけられないか、Webサイトへのアクセスが遅くなる可能性があります。
このような問題の1つの解決策は、可能な限り最高のパフォーマンスを提供するように最適化され、エラーの影響を受けにくい、代替の専用DNSサービスを採用することです。 最もよく知られているのは、OpenDNSとGoogle Public DNSです。 どちらのサービスも無料で 、ほとんどの場合非常に満足のいくように機能します。
OpenDNS
OpenDNSの使用は非常に簡単です。サービスの両方のIPを使用する必要があります。 それらは:
- プライマリ:208.67.222.222セカンダリ:208.67.220.220
セカンダリサービスはプライマリのレプリカです。 何らかの理由でこれにアクセスできない場合は、2番目が直接の代替手段です。
これらのアドレスは、独自の機器またはWi-Fiルーターなどのネットワーク機器で構成できます。 たとえばWindows 10を使用している場合、次のように設定できます。
- Win + Xを押し、「ネットワーク接続」を選択します。
次に、接続を表すアイコンを右クリックして、[プロパティ]を選択する必要があります。 次に、[ネットワーク機能]タブで、インターネットプロトコルバージョン4(TCP / IPv4)オプションを選択し、[プロパティ]をクリックします。 [次のDNSサーバーアドレスを使用する]オプションを有効にします。 [優先DNSサーバー]フィールドに、プライマリDNSアドレスを入力します。 すぐ下のフィールドに、セカンダリアドレスを入力します。
明らかに、このタイプの構成はMac OS X、Linux、およびその他のオペレーティングシステムでも実行できます。その方法については、マニュアルまたはヘルプファイルを参照してください。 ネットワーク上の多くのコンピュータにも同じことが言えます。
OpenDNSサービスは登録を必要としませんが、ドメインのブロックやアクセス統計などの他のリソースを楽しむために、サービスのWebサイトで登録することが可能です。
GoogleパブリックDNS
Google Public DNSは、際立ったタイプのもう1つのサービスです。 OpenDNSほど多くのリソースを提供していませんが、もちろん、世界最大のインターネット企業の1つであることに加えて、 セキュリティとパフォーマンスに重点を置いています。 それらのアドレスには大きな利点があります。それらはより簡単に記憶することができます。 見てください:
- プライマリ:8.8.8.8セカンダリ:8.8.4.4
Google Public DNSにはIPv6アドレスもあります。
- プライマリ:2001:4860:4860:: 8888セカンダリ:2001:4860:4860:: 8844
DNSに関する最終的な考え
DNSの使用はインターネットに限定されません。このリソースは、たとえばローカルネットワークやエクストラネットで使用できるためです。 最も一般的なプラットフォームであるUnixやWindowsなど、あらゆるオペレーティングシステムに実質的に実装できます。 最もよく知られているDNSツールはBINDで、インターネットシステムコンソーシアムによって管理されています。
私たちはあなたに無料のパブリックDNSサーバー2018をお勧めしますすべてのシステム管理者(SysAdmin)はDNSを扱う必要があります。それらが適切に構成されていれば、サービスが実行されるネットワークの基盤となるからです。 DNSがどのように機能し、どのように改善できるかを理解することは 、サービスを正しく安全に機能させることが重要です。
Thunderbolt:知っておくべきすべての情報
Thunderboltの仕組み、特性、互換性、接続の種類、互換性、価格について詳しく説明します。
Intelチップセット:知っておくべきすべての情報
Intelチップセットについての情報を探しているなら、私たちがあなたのために記事を作ったので、あなたは幸運です。それを見たいですか?
マット:知っておくべきすべての情報??️✔️
マットは、見た目よりも適切になる場合があります。 プロフェッショナルレビューはあなたがそれらについて知る必要があるすべてをもたらします。