2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
小川晃通氏(以下、小川):ここで、IPv6とDNSの話になります。どうしてIPv4とIPv6という、ぜんぜん違う直接的な互換性のない2つのプロトコルが1つのものに見えるかという話ですが、これは通信の仕方の特徴によります。
通信を開始するときにIPアドレスをいきなり指定する場合はないとは言いませんが、多くの場合はまず名前解決を行い、例えばwww.example.comだったら、その名前に対応するIPアドレスが何かという名前解決を行うわけです。名前解決を行ったあとで、名前から得られたIPアドレスを使って、通信を開始します。
TCPの場合、例えば名前解決を行い、その名前解決によって通信相手のIPアドレスを知って、そのIPアドレスを使って通信相手とコネクションを確立してから通信するような手順になるわけです。
そうなると名前解決というところで、IPv4とIPv6のアドレスの両方が得られる環境があれば、得られたうちのどちらかを使う、もしくは両方を使って通信できるわけです。
IPv4とIPv6のアドレスが登録されるのはDNSですが、DNSに両方を登録したときにどちらを使って通信するのかを判断するのはユーザー側です。
ユーザー側で判断が行われますが実際に人間であるユーザーが直接判断しているとは限らなくて、多くの場合、アプリケーションやOSがなんとなく判断して、それに応じて通信が開始されることが多いです。
ということで、ユーザーにとっては直接見えなくなるので、IPv6を使っているかIPv4を使っているか、気づかないことが多いわけです。
サーバー側ではなくクライアント側、ユーザー側が判断しているのがポイントです。そのため、WebサーバーでIPv4とIPv6の両方で通信できる環境を用意したとしても、どちらを選ぶかはユーザーの判断に委ねられるわけです。
どういうことかと言うと、例えばWebサーバーがあったとして、IPv6のソケットとIPv4のソケット両方で通信できるようにWebサーバーは準備をしてたとしても、ユーザーがIPv4で通信したら、サーバー側はIPv4でしか通信できないわけです。
このようにユーザー側が判断するのと、IPv6とIPv4の両方があるけど、たいていはどちらかで通信が行われるのがポイントです。
もうちょっと詳しく見ていくと、例えばexample.comという権威DNSサーバーに、スライドに書いたような登録がされている場合があります。AレコードはIPv4を示すもので、Aが4つ、IPv4アドレスのbit数としては4倍なので、IPv6のレコード、DNSでのレコードは、AAAA(クワッドA)レコード、クワッドは4つということです。AAAAレコードと呼ばれていて、例えばwwwということでAレコードが2つに、AAAAレコードが3つのような感じになっていて。
ユーザー側としては、名前解決をAレコードとAAAAレコードに対して行ってみたら、返答が返ってくるので、「ではどれを使って通信をしようか」みたいなことを考えて通信を開始するような流れになるわけです。
このように名前に対してIPアドレスが関連づけられていて、どれかを使う感じになっているので、直接的に相互に互換性がないIPv4とIPv6があったとしても、1つのインターネットとして見えるわけです。
ということで、2つを1つに見せているDNSは、IPv4とIPv6という別々のインターネットを1つに見せている、非常に大きなポイントになります。
直接的に互換性がない話をしまくっていますが、それがどういうことかをざっと紹介します。IPv4とIPv6の違いです。すごく細かく言うと、メチャメチャいっぱいあるので、今日はバーっと説明します。
IPv4とIPv6のヘッダを比較してみると、ぜんぜん違います。大きさも違うし、フィールドの数はIPv6のほうがぜんぜん少なくなってます。
IPv4のヘッダとIPv6のヘッダで同じ名前のフィールドは、最初の4bitのバージョンだけです。ソースアドレス、デスティネーションアドレスなどは、名前は一緒でサイズが違うとか、全部違います。まったく一緒なのは、バージョンのフィールドだけです。
ToSフィールドとトラフィッククラスや、TTLとホップリミットのような感じで、事実上意味は一緒だけど、名前が変わったフィールドみたいなものもあります。
細かくなりますが、IPv4のTTLがフィールドとしてありました。TTLフィールドの指定は、昔は単位は秒のつもりで作ったんです。もともとは時間っていうのを秒単位で示していましたが、実際の運用では、ルーターがパケットを転送するたびに、最低でもTTLを1は減算することが決まっていました。ルーターのホップ数としてTTL、どれだけの時間生きるか(Time to Live)という名前ではなく、ホップするリミットということで、ホップリミットに名前が変わりました。
宛先と送信元のIPアドレスは、大きさがぜんぜん違います。
それ以外にIPv6とIPv4の大きな違いは、どちらかというとエンドノード周辺にあります。これは、ルーティングやフォワーディング、ルーター周辺のところの考え方がけっこう似ています。
ルーティングプロトコルも細かい違いはありますが、大枠としては同じです。ただ、セグメント、リンク周辺に大きな違いがあるわけで。それがどういうことかというと、末端ノードの近くで、例えば/64bitの境界やネットワークインターフェイスに複数のIPv6アドレスをつけられること、NDPと言われる近隣探索プロトコルあたりが、けっこう大きな違いです。
このあたりの説明は割愛しますが、興味ある方々はぜひ本や、YouTubeチャンネルでもけっこう細かく解説しているので見てください。
IPv4では例えばネットワーク部、ホスト部と分かれていたのが、IPv6では上位64bitがサブネットプレフィックスで、下位64bitがインターフェイス識別子のような感じで、例外もありますが、基本こういうかたちになっています。64bitでバウンダリは固定などはけっこう違う部分です。
あと、ネットワークインターフェイスに複数のIPv6アドレスがつけられるのが、実はメチャクチャ大きな違いです。
IPv4では、IPアドレスは1つのネットワークインターフェイスに1個だけというふうにだいたい運用されてるとか、あとは暗黙、ほぼそういうかたちで決まっているわけですが、IPv6では複数のIPv6アドレスがネットワークインターフェイスに設定される前提のプロトコルになっています。
例えば、リンクローカルアドレスという、そのリンク内でしか有効にならない、もしくはリンク内でしか通信を使えないような、スコープが決まったアドレスがあります。
そのリンクローカルスコープでしか使えないリンクローカルアドレスが、必ずネットワークインターフェイスに設定された上で、グローバルIPv6アドレスがつけられるときは、リンクローカルアドレスとともにグローバルIPv6アドレスが設定されるし、複数のグローバルIPv6アドレスが1つのネットワークインターフェイスにつけられることもあります。
いろいろな理由があって複数づけられることがありますが、そこはけっこう大きな違いです。
あと、IPv4で実現されてたいろいろな機能がICMPv6に統合された上で、さらにICMPv6を使う近隣探索プロトコルがあるのが、IPv6の非常に大きな特徴です。
最後にですが、IPv4 over IPv6とか、IPv6で速くなるという話が日本国内のいろいろなところで最近話題で。Twitterで見てても、IPv6の日本国内での話題の半分以上はこれなんじゃないかと思うぐらい、“IPv6爆速”みたいな話が多いです。
例えば3Mbps、4Mbpsぐらいしか出ない激遅の光回線があったとして、それがいきなり800Mbpsぐらいまで上がるとか、そういうこともわりとあります。
これがなにかいうと、要はNTTフレッツ網に関しての話ですが、プロトコルとしての速さはIPv6とIPv4でぜんぜん変わりません。
なにかと言うと、要はフレッツ網でIPv6 IPoEを使うと、インターネットが速くなると巷で言われているような状況になることもある、という話です。
ただ、IPv4のPPPoEがすごく通信のボトルネックになってる場合があり、その場合避けられるというのがポイントです。
それを避けるための技術としてIPv6 IPoEがあります。ただ、IPv6 IPoEはIPv6でしか通信ができないので、そうなったときにどうするかというと、いくつか方法があります。DS-LiteやMAP-E、普通のIPIPトンネルを使うようなかたちでIPv6の中にIPv4パケットをカプセル化した上で、IPv4をIPv6のネットワークを通してからカプセルを解いて、IPv4インターネットを通すような方法をとることで、IPv4 PPPoEを避けられるわけです。
このあたりはけっこう話が細かくなるので『徹底解説 v6プラス』という本を書いたのでそれを見てもらうかYouTubeでIPv4 PPPoEと、IPv6 PPPoEとIPv6 IPoEの解説をした動画があるので、ぜひそちらを見てください。
あともう1つNAT64を使う方法もあって、ユーザー環境をIPv6オンリーにしつつ、NAT64/DNS64でIPv4インターネットとの通信を行う方法もあります。これもIPv6 IPoE経由でIPv4インターネットとの通信を行う方法です。
最後になります。YouTubeチャンネルをやっているので、ぜひ見てください。ちょっとマニアックな話もありますが、見てもらえるとうれしいです。
あと、今日の話はいろいろ細かく『プロフェッショナルIPv6』という本で書いてます。電子版は無料で、有料版の5,000円のやつとコンテンツはまったく一緒で、タダで読めるし、ダウンロードしたものを仲間とか友だちとか、知らない人にコピーで渡してもらってもぜんぜん問題ないライセンスになっているので、じゃんじゃん読んでもらって、かつコピーしてもらって、読んでもらえればと思います。
最後までご視聴、ありがとうございました。
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05