<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>あせびよ</title>
	<atom:link href="https://ascend-beyond.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://ascend-beyond.com</link>
	<description></description>
	<lastBuildDate>Thu, 20 Aug 2026 03:09:21 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://ascend-beyond.com/wp-content/uploads/2024/03/cropped-9376b452e9b0c7a8bdf82cd2e63920ee-32x32.jpg</url>
	<title>あせびよ</title>
	<link>https://ascend-beyond.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href=""/>	<item>
		<title>令和7年（2025年）ネスペ午後Ⅰ　問３　解答解説</title>
		<link>https://ascend-beyond.com/study/7964/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Thu, 20 Aug 2026 03:05:39 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7964</guid>

					<description><![CDATA[設問１ （１）複数機器のログを時系列で確認するため NTP×ログ解析ときたら→「複数機器＆時系列」という組み合わせが王道。複数機器同士で異なる時間軸を使ってしまうと、ログを時系列で確認できなくなってしまう。そのため、同一 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><span id="toc1">設問１</span></h2>



<h3 class="wp-block-heading"><span id="toc2">（１）複数機器のログを時系列で確認するため</span></h3>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="829" height="136" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-28.png" alt="" class="wp-image-7967" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-28.png 829w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-28-300x49.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-28-768x126.png 768w" sizes="(max-width: 829px) 100vw, 829px" /></figure>



<p class="wp-block-paragraph">NTP×ログ解析ときたら→「複数機器＆時系列」という組み合わせが王道。複数機器同士で異なる時間軸を使ってしまうと、ログを時系列で確認できなくなってしまう。そのため、同一の時間軸を使うことでしっかりとログの前後関係が明確になり、事象を追いやすくなる。</p>



<h3 class="wp-block-heading"><span id="toc3">（２）登録したFQDNやIPアドレス宛ての通信をブロックするため / 利用者認証を行うため / Webサイトへのアクセス履歴の確認のため</span></h3>



<p class="wp-block-paragraph">▼p.16 </p>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-1"><img decoding="async" width="833" height="99" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-29.png" alt="" class="wp-image-7971" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-29.png 833w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-29-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-29-768x91.png 768w" sizes="(max-width: 833px) 100vw, 833px" /></figure>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-2"><img decoding="async" width="832" height="82" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-31.png" alt="" class="wp-image-7973" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-31.png 832w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-31-300x30.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-31-768x76.png 768w" sizes="(max-width: 832px) 100vw, 832px" /></figure>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-3"><img decoding="async" width="839" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-30.png" alt="" class="wp-image-7972" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-30.png 839w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-30-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-30-768x118.png 768w" sizes="(max-width: 839px) 100vw, 839px" /></figure>



<p class="wp-block-paragraph">そもそも、プロキシの目的は、アウトバンド（内→外）の通信に対して「誰が、どこに、何を」といった情報を検査することである。<br>「誰が」を担当するのが認証、「どこに」はURLフィルタリング、レピュテーションが担当し、「何を」はSSLインスペクション、DLPなどが担当する。<br>要は、認証、フィルタリング、ログ収集という３つの主要な役割がある。それを本文中から見つけてあげればよい。</p>



<h3 class="wp-block-heading"><span id="toc4">（３）L3SWのDHCPリースログ</span></h3>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-4"><img decoding="async" width="879" height="109" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-34.png" alt="" class="wp-image-7977" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-34.png 879w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-34-300x37.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-34-768x95.png 768w" sizes="(max-width: 879px) 100vw, 879px" /></figure>



<p class="wp-block-paragraph">FWの通信ログにもIPアドレスは記載されている。しかし、社内IPアドレスは概して動的に一時的付与であることが多い。そのため、不正通信が発覚した時刻に使われていたIPアドレスの利用者と現在の当該IPアドレス利用者ではリース時間の関係で異なる可能性がある。そのため、DHCP機能を有したL3SWのDHCPリースログを確認する必要がある。</p>



<p class="wp-block-paragraph">▼PC（MACアドレス）を特定するコマンド</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#DHCPバインディングテーブルの表示
show ip dhcp binding

#DHCPバインディングテーブルで192.168.1.50を含む行のみ表示
show ip dhcp binding | include 192.168.1.50

#Syslogの中でDHCPが含まれている＆192.168.1.50が含まれているログを出力する
show logging | include DHCPD.*192.168.1.50" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#DHCPバインディングテーブルの表示</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">dhcp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">binding</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#DHCPバインディングテーブルで192.168.1.50を含む行のみ表示</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">dhcp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">binding</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">include</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.168</span><span style="color: #E6DB74">.1.50</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#Syslogの中でDHCPが含まれている＆192.168.1.50が含まれているログを出力する</span></span>
<span class="line"><span style="color: #A6E22E">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">logging</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">include</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DHCPD.</span><span style="color: #FD971F">*</span><span style="color: #E6DB74">192.168.1.50</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc5">（３）a:Syslogサーバ　b:認証サーバ</span></h3>



<p class="wp-block-paragraph">これは暗記問題。SyslogはUDP514で認証サーバ（RADIUS）は1812,1813番を使う。以下は、よく耳にするプロトコルなのでしっかり確認しておこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>プロトコル</strong></td><td><strong>ポート番号</strong></td><td><strong>トランスポート</strong></td><td><strong>役割・特徴</strong></td></tr></thead><tbody><tr><td><strong>FTP</strong></td><td>20 / 21</td><td>TCP</td><td>データ転送（20）/ 制御コマンド（21）</td></tr><tr><td><strong>SSH</strong></td><td>22</td><td>TCP</td><td>暗号化リモートログイン</td></tr><tr><td><strong>TELNET</strong></td><td>23</td><td>TCP</td><td>平文リモートログイン</td></tr><tr><td><strong>SMTP</strong></td><td>25</td><td>TCP</td><td>メール送信・サーバー間転送</td></tr><tr><td><strong>DNS</strong></td><td>53</td><td>UDP / TCP</td><td>基本はUDP（名前解決）。ゾーン転送や長文応答はTCP</td></tr><tr><td><strong>DHCP</strong></td><td>67 / 68</td><td>UDP</td><td>IPアドレス自動割当（67:サーバ受信用, 68:クライアント受信用）</td></tr><tr><td><strong>HTTP / HTTPS</strong></td><td>80 / 443</td><td>TCP</td><td>Web通信（443はSSL/TLS暗号化）</td></tr><tr><td><strong>NTP</strong></td><td>123</td><td>UDP</td><td>時刻同期</td></tr><tr><td><strong>SNMP</strong></td><td><strong>161 / 162</strong></td><td>UDP</td><td>機器監視・管理（161:ポーリング問い合わせ, 162:Trap自発通知）</td></tr><tr><td><strong>Syslog</strong></td><td><strong>514</strong></td><td>UDP</td><td>ログ転送</td></tr><tr><td><strong>RADIUS</strong></td><td><strong>1812 / 1813</strong></td><td>UDP</td><td>認証・認可（1812）/ アカウンティング（1813）</td></tr><tr><td><strong>LDAP / LDAPS</strong></td><td>389 / 636</td><td>TCP</td><td>AD等のディレクトリサービス照会（636は暗号化）</td></tr><tr><td><strong>SMTPS</strong></td><td>465</td><td>TCP</td><td>暗号化メール送信（Implicit TLS）</td></tr><tr><td><strong>Submission</strong></td><td>587</td><td>TCP</td><td>ユーザーからのメール送信受付（STARTTLS）</td></tr><tr><td><strong>POP3S / IMAPS</strong></td><td>995 / 993</td><td>TCP</td><td>暗号化メール受信</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">（４）c:10080　d:443</span></h3>



<p class="wp-block-paragraph">cの10080については本文中にプロキシは10080を使うと明示されている。dに関しては、SaaSへの通信なので、443を使う。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="773" height="52" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-35.png" alt="" class="wp-image-7978" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-35.png 773w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-35-300x20.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-35-768x52.png 768w" sizes="(max-width: 773px) 100vw, 773px" /></figure>



<p class="wp-block-paragraph">内部セグメントからK社SaaSへの直接通信なので、プロキシは経由しない。</p>



<h2 class="wp-block-heading"><span id="toc7">設問２</span></h2>



<h3 class="wp-block-heading"><span id="toc8">（１）SWGサービスのルート証明書</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="832" height="175" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-36.png" alt="" class="wp-image-7979" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-36.png 832w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-36-300x63.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-36-768x162.png 768w" sizes="(max-width: 832px) 100vw, 832px" /></figure>



<p class="wp-block-paragraph">SWGサービスのルート証明書というと短すぎてよくわからないので、細かく言うと、「SWGが（偽の証明書を発行するために）運用している『プライベート認証局（CA）』の『最上位（ルート）CA証明書』」ということ。<br>SWGはSSLインスペクションによってPCとWebサーバ間の通信を監視したい。そのためにはクライアントにとって、SWGがあたかも本物のWebサーバであるかのような振る舞いをする必要がある。その際に、SWGのルート証明書が必要になる。</p>



<h4 class="wp-block-heading"><span id="toc9">▼SSLインスペクションの裏で起きていること</span></h4>



<p class="wp-block-paragraph"><strong>１．クライアントからSWGに転送<br></strong><span class="fz-16px">　クライアント内のエージェントがSWG経由の対象である通信（<a href="https://example.com">https://example.com</a>）をキャッチすると、SWG宛てになるようにカプセル化を行う。元のパケットの宛先はWebサーバのまま保持。<br>　なおURLがhttpsの場合はTLSが使われるため、クライアントはTLSハンドシェイクのClient Helloを送信する</span><br><strong>２．SWGに届く</strong><br><span class="fz-16px">　SWGに届くとカプセル化が解除され本物のパケットが出現する。その中のSNI（ServerNameIndication）を読み取りクライアントがアクセスしようとしている宛先ホスト（example.com）を特定する。</span><br><strong>３．SWGと本物Webサーバ間でTLSハンドシェイク</strong><br><span class="fz-16px">　SWGはクライアントに変身する前に、SWG自身でWebサーバとTLSハンドシェイクを実施し、当該Webサーバのサーバ証明書を検証する。</span><br><strong>４．SWGによる偽サーバ証明書の作成</strong><br>　<span class="fz-16px">本物のサーバ証明書をもとに、SWGは内部に保持している「<span class="blue">プライベートCAの秘密鍵</span>」を使って<span class="blue">SAN</span>（SubjectAlternativeName）にexample.comを記載した偽のサーバ証明書をその場で即座に生成・自動<span class="blue">署名</span>する。</span><br><span class="fz-16px">▼署名の流れ</span><br><span class="fz-14px">①サーバ証明書内のフィールド（ドメイン名、有効期限、発行者名、公開鍵など）をひとまとめにしたデータをハッシュ関数（SHA-256など）に入力し<strong>ハッシュ値を生成</strong>する。</span><br><span class="fz-14px">②ハッシュ値をSWG内の<strong>CAの秘密鍵</strong>で暗号化する。この暗号化したデータこそが<strong>デジタル署名</strong>になる。</span><br><strong>５．SWGとクライアント間でTLSハンドシェイク</strong><br><span class="fz-16px">　偽のサーバ証明書をクライアントに送り、クライアントは検証する。</span><br><span class="fz-16px">▼検証手順：</span><br><span class="fz-14px">①ドメインの一致（サイトURLのドメインとSANフィールド内のドメインが一致しているか）<br>②有効期限の確認<br>③デジタル署名検証（署名をSWG内のプライベートCAの公開鍵で復号して値を抽出。その値と、クライアント自身でもハッシュを作成した値が一致したらOK）<br>④信頼チェーン検証（署名したCAが正しいかを確認していき、最終的にクライアントが保持しているルートCA証明書まで到達したらOK）</span><br><strong>６．内部ステートテーブルへ登録</strong><br><span class="fz-16px">　SWGは「クライアント⇔SWG」と「SWG⇔Webサーバ」のそれぞれの送信元IP/ポート、宛先IP/ポート」などを記録し紐づけることによって、２つのトンネルを対応づけている。</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>プロキシ内部のID (ソケット)</strong></td><td><strong>クライアント側 (Src IP:Port)</strong></td><td><strong>転送先 (Dest IP:Port)</strong></td></tr></thead><tbody><tr><td>トンネルA</td><td>192.168.1.10 : 50001</td><td>104.21.XX.XX : 443</td></tr><tr><td>トンネルB</td><td>192.168.1.10 : 50002</td><td>142.250.XX.XX : 443</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>７．復号・検査・再暗号化と中継</strong><br><span class="fz-16px">　ここまでの手順で準備がととのったので、あとは通信を仲介する。その際に、暗号化・復号化、検査を実施する。</span></p>



<h3 class="wp-block-heading"><span id="toc10">（２）C＆Cサーバ</span></h3>



<p class="wp-block-paragraph">C＆CサーバとはCommand＆Controlの略。マルウェア感染したPCなどが命令をもらいに行くためのサーバがC＆Cサーバ。で、C＆Cサーバ自体も、どこかのPCやサーバなどがマルウェア感染してC＆Cサーバとして強制的に振舞わせているだけという可能性もある。そのためC＆Cサーバの特定ができても本当の黒幕までを特定することは非常に難しい。</p>



<h2 class="wp-block-heading"><span id="toc11">設問３</span></h2>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（１）２，７</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="789" height="426" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-40.png" alt="" class="wp-image-7990" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-40.png 789w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-40-300x162.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-40-768x415.png 768w" sizes="(max-width: 789px) 100vw, 789px" /></figure>



<p class="wp-block-paragraph">フォワードプロキシをリバースプロキシにするということは&#8230;不要になる通信は&#8230;.<br>１．まずは内部→プロキシへの通信は不要になる。(7番)<br>２．プロキシ→外部への通信も不要になる。(2番)</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">p.15 セキュアWebゲートウェイとは？ｰｰｰｰｰｰｰｰｰ</span></h3>



<p class="wp-block-paragraph">セキュアWebゲートウェイ（SWG）を端的に言うと「<strong>インターネット上にあるセキュリティ機能が追加されたプロキシサーバ</strong>」である。<br>従来までは転送にフォーカスしていたが、SWGなら転送だけでなく「SSLインスペクション、レピュテーション、マルウェア駆除」など様々なセキュリティ機能を使える。</p>



<h3 class="wp-block-heading"><span id="toc13">プロキシとSWGの違いは？&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph"><strong>プロキシ</strong>は通信の代理中継がメイン。<br><strong>SWG</strong>とはそのプロキシという仕組みをベースに更に<span style="text-decoration: underline;">パケットの内部</span>を検査して<span class="blue">DLP、URLフィルタリング、レピュテーション、マルウェア駆除</span>などの内部にもフォーカスしてくれるプロキシをSWGという。<br><strong>▼SWGの主な機能</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>機能名</strong></td><td><strong>概要・仕組み</strong></td><td><strong>主な目的・リスク対策</strong></td></tr></thead><tbody><tr><td><strong>SSL/TLSインスペクション</strong></td><td>暗号化（HTTPS）された通信をSWGで一度復号し、中身（コンテンツ）をチェックする機能</td><td>暗号化通信に隠されたマルウェア感染やデータ流出の検知</td></tr><tr><td><strong>URL / Webフィルタリング</strong></td><td>FQDN、IP、カテゴリ（ギャンブル、SNSなど）を基に悪質・業務外サイトへの接続を遮断する機能</td><td>不正サイトへのアクセス防止、業務外利用の制限</td></tr><tr><td><strong>レピュテーション機能</strong></td><td>接続先ドメインやIPの安全性・信頼性をデータベース照会でスコア化し、低スコアの接続を遮断する機能</td><td>立ち上がったばかりの危険なフィッシングサイトなどの遮断</td></tr><tr><td><strong>マルウェア駆除（アンチウイルス）</strong></td><td>ダウンロード/アップロードされるファイルをパターンマッチングで検査し、ウイルスを検出・除去する機能</td><td>既知のマルウェア感染の防止</td></tr><tr><td><strong>サンドボックス機能</strong></td><td>疑似的な隔離環境で未知のファイルを実際に動作させ、不審な挙動（レジストリ変更や外部通信など）を観察・判定する機能</td><td>パターンファイルが存在しないゼロデイ攻撃や未知のマルウェア対策</td></tr><tr><td><strong>DLP（データ漏洩防止）</strong></td><td>通信に含まれる個人情報（マイナンバー、クレカ番号）や機密キーワード、特定ファイルを検知して送信をブロックする機能</td><td>内部不正や誤操作によるクラウドへの情報漏洩防止</td></tr><tr><td><strong>アプリケーション制御</strong></td><td>単なるポート単位ではなく、「YouTube閲覧は許可するがコメント投稿は不可」「特定のストレージのみ許可」などWebアプリの挙動を制御する機能</td><td>シャドーIT（許可のないSaaS利用）の対策や詳細なアクセス制御</td></tr><tr><td><strong>ダイレクト通信機能</strong></td><td>特定の信頼できるSaaS（Microsoft 365など）や社内Webへの通信をSWG経由から除外し、直接接続させる機能</td><td>SWGの処理負荷軽減、Web会議などの遅延（レイテンシ）防止</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">p.15 SaaSの利用者認証とは？&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="845" height="144" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-27.png" alt="" class="wp-image-7966" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-27.png 845w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-27-300x51.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-27-768x131.png 768w" sizes="(max-width: 845px) 100vw, 845px" /></figure>



<p class="wp-block-paragraph">Q.SaaSの利用者認証ってどうやってやるの？<br>A.インスタグラムなどのSNSと同じようにユーザIDとパスワードを使って認証する。</p>



<h3 class="wp-block-heading"><span id="toc15">NTPコマンド&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">では、NTPでよく使われるコマンドや同期情報の確認方法を見ていこう！</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#時刻を同期したいNTPサーバのIPアドレスを指定＆下位のストラタムに時刻を提供できるようにもなる
RouterA(config)#ntp server IPアドレス

#NTPのマスタになる。デフォルトのストラタムは8------
RouterA(config)#ntp master ストラタム


#NTP同期情報の表示-----------------------------
Router# show ntp associations

address         ref clock       st   when  poll reach  delay  offset    disp
*10.0.0.1       192.168.1.100   2    64    64   377   5.234  -0.632    18.2
+192.168.1.101   10.0.0.1        3    32    64   177   8.123   1.234    22.1
 192.168.1.102   10.0.0.2        3    48    64   177   9.456   2.345    25.3

↑ このマークが重要" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#時刻を同期したいNTPサーバのIPアドレスを指定＆下位のストラタムに時刻を提供できるようにもなる</span></span>
<span class="line"><span style="color: #A6E22E">RouterA(config</span><span style="color: #F8F8F2">)#ntp server IPアドレス</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#NTPのマスタになる。デフォルトのストラタムは8------</span></span>
<span class="line"><span style="color: #A6E22E">RouterA(config</span><span style="color: #F8F8F2">)#ntp master ストラタム</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#NTP同期情報の表示-----------------------------</span></span>
<span class="line"><span style="color: #A6E22E">Router#</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">show</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ntp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">associations</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">address</span><span style="color: #F8F8F2">         </span><span style="color: #E6DB74">ref</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">clock</span><span style="color: #F8F8F2">       </span><span style="color: #E6DB74">st</span><span style="color: #F8F8F2">   </span><span style="color: #E6DB74">when</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">poll</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">reach</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">delay</span><span style="color: #F8F8F2">  </span><span style="color: #E6DB74">offset</span><span style="color: #F8F8F2">    </span><span style="color: #E6DB74">disp</span></span>
<span class="line"><span style="color: #F92672">*</span><span style="color: #F8F8F2">10.0.0.1       192.168.1.100   2    64    64   377   5.234  -0.632    18.2</span></span>
<span class="line"><span style="color: #A6E22E">+192.168.1.101</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.1</span><span style="color: #F8F8F2">        </span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">32</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">64</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">177</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">8.123</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">1.234</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">22.1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">192.168.1.102</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.2</span><span style="color: #F8F8F2">        </span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">48</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">64</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">177</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">9.456</span><span style="color: #F8F8F2">   </span><span style="color: #AE81FF">2.345</span><span style="color: #F8F8F2">    </span><span style="color: #AE81FF">25.3</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">↑</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">このマークが重要</span></span></code></pre></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>行頭記号</strong></td><td><strong>意味</strong></td><td><strong>状態の解説</strong></td></tr></thead><tbody><tr><td><strong><code>*</code></strong> （アスタリスク）</td><td><strong>現在同期中（sys.peer）</strong></td><td><strong>正常。</strong> このNTPサーバを基準として時刻を同期しています。</td></tr><tr><td><strong><code>+</code></strong> （プラス）</td><td><strong>同期候補（candidate）</strong></td><td>正常に通信できており、メインのサーバに問題があった場合に昇格する候補です。</td></tr><tr><td><strong><code>#</code></strong> （ハッシュ）</td><td>参照除外（selected）</td><td>距離が遠いなどの理由で、同期候補から除外されています。</td></tr><tr><td><strong><code>~</code></strong> （チルダ / なみなみ）</td><td><strong>静的ピア（statically configured）</strong></td><td>設定ファイル等で固定指定されているピア/サーバを表します（同期中とは限りません）。</td></tr><tr><td><strong><code></code></strong> （空白）</td><td>応答なし / 未同期</td><td>サーバと通信できていない、または拒否されている状態です。</td></tr><tr><td><strong><code>x</code></strong> （エックス）</td><td>偽時計（falseticker）</td><td>他のサーバと時刻が大きくズレており、破棄された状態です。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">PACを配布する方法であるWPADとは?&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">Ｑ．PACファイルとはプロキシ通信の挙動を制御するファイルである。プロキシ例外リストよりも、より細かな設定（時間帯、ワイルドカードマスク、条件分岐などなど）を実現できるJavaScriptファイル。これを各PCに配置する方法がWPADである。では、どのように配置するかを見ていこう！<br>Ａ．WPAD（Web Proxy Auto-Discovery Protocol）とは「大元となるWebサーバにおいたPACファイルを、PCが自動でダウンロードしに行く仕組み」である。自動で大元まで到達するには様々な方法がある。ここでは２つ紹介していこう！</p>



<p class="wp-block-paragraph"><strong>方法１：DNS<br></strong><span class="fz-16px">①クライアントは自分の所属ドメインの先頭にwpadを付加して名前解決をする<br>（例：wpad.自社ドメイン.com）<br>②名前解決で得られたIPアドレス（Webサーバ）の標準パス（/wpad.dat）へアクセスしてファイルを取得する</span></p>



<p class="wp-block-paragraph"><strong>方法２：DHCP<br></strong><span class="fz-16px">①クライアントがIPアドレス取得の際に使うDHCPフローの中で、オプションとして「Option252」と呼ばれるPACファイルのURLも一緒に通知<br>（例：<code><a rel="noopener" href="http://wpad.domain.com/wpad.dat" title="404 Not Found" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwpad.domain.com%2Fwpad.dat?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">404 Not Found</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=http://wpad.domain.com/wpad.dat" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">wpad.domain.com</div></div></div></div></a>(http://wpad.domain.com/wpad.dat)</code>）<br>②①のURLへアクセスしファイルを取得する。</span></p>



<h3 class="wp-block-heading"><span id="toc17">プロキシ・FW・WAFの違いは？&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">方向・目的などに着目すると違いが明確になるので、それらに着目しながら見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>ファイアウォール（FW）</strong></td><td><strong>WAF</strong></td><td><strong>プロキシ（Proxy / SWG）</strong></td></tr></thead><tbody><tr><td><strong>主な通信方向</strong></td><td><strong>双方向</strong>（イン / アウト）</td><td><strong>インバウンド</strong>（外 → 内）</td><td><strong>アウトバウンド</strong>（内 →外）</td></tr><tr><td><strong>保護対象</strong></td><td>ネットワーク全体（セグメント）</td><td>自社が公開する<strong>Webサーバ</strong></td><td>社内ネットワークの<strong>PC・社員</strong></td></tr><tr><td><strong>検査レイヤー</strong></td><td><strong>L3 / L4</strong>（IP・ポート番号）</td><td><strong>L7</strong>（HTTP/HTTPSアプリケーション層）</td><td><strong>L7</strong>（HTTP/HTTPSアプリケーション層）</td></tr><tr><td><strong>主な役割・目的</strong></td><td>ネットワーク境界の「門番」。無効なポートや不正IPからの接続を制限</td><td>Webサーバ前の「用心棒」。Webアプリの脆弱性を狙う攻撃を遮断</td><td>社員が外へ出る際の「検問所」。安全なアクセス制御と履歴の保存</td></tr><tr><td><strong>得意な処理・機能</strong></td><td>パケットフィルタリング、NAT</td><td>SQLi、XSS、OSコマンド注入などの<strong>攻撃コード検知</strong></td><td><strong>プロキシ認証</strong>、URLフィルタリング、DLP、ログ一元管理</td></tr><tr><td><strong>分担する理由</strong></td><td>単純なIP/ポートの大量交通整理を高速処理するため</td><td>外部からの高度なWeb攻撃からサーバを守る処理に特化するため</td><td>社員が出かける際の大量なWeb通信の中身解読・検査に特化するため</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">Syslogコマンド&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full wp-duotone-333333-f3fafe-5"><img decoding="async" width="814" height="84" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-32.png" alt="" class="wp-image-7974" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-32.png 814w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-32-300x31.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-32-768x79.png 768w" sizes="(max-width: 814px) 100vw, 814px" /></figure>



<p class="wp-block-paragraph">Syslogのコマンドを見ていこう！</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#ログを転送するSyslogサーバの指定
logging host SyslogのIPアドレス

#Syslogサーバに送信するログ
logging trap サベリティレベル

#ログに出力されるタイムスタンプを指定
service timestamps log datetime msec

#バッファに格納するログ
logging buffered バッファサイズ　サベリティレベル" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#ログを転送するSyslogサーバの指定</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">host</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">SyslogのIPアドレス</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#Syslogサーバに送信するログ</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">trap</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">サベリティレベル</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ログに出力されるタイムスタンプを指定</span></span>
<span class="line"><span style="color: #A6E22E">service</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">timestamps</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">log</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">datetime</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">msec</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#バッファに格納するログ</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">buffered</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">バッファサイズ　サベリティレベル</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc19">p.16 プロキシとRADIUSの連携はどうやってやるの？&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="820" height="91" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-33.png" alt="" class="wp-image-7976" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-33.png 820w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-33-300x33.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-33-768x85.png 768w" sizes="(max-width: 820px) 100vw, 820px" /></figure>



<p class="wp-block-paragraph">プロキシとRADIUSの連携と聞くとなんだか難しそうだけど、フローを見ると意外とシンプルであることが分かる。なので見ていこう！</p>



<p class="wp-block-paragraph"><strong>１．クライアントがWeb通信のためにプロキシに接続<br>２．プロキシが認証要求（HTTP 407）<br></strong><span class="fz-16px">　プロキシは未認証のユーザからの接続に対しては、407 Proxy Authentication Required（IDとパスワードを出してください）というエラーを返す<br></span><strong>３．ユーザが認証情報を入力しプロキシへ送信</strong><br><span class="fz-16px">　PCにポップアップが表示され当該情報を入力する</span><br><span class="fz-16px"><span class="red">?普段の会社PCなどではプロキシを使っているはずだけど、ポップアップが表示されることがないのはなぜ？<br></span>A.ActiveDirectoryと統合Windows認証が裏で自動処理してくれているから。</span><br><span class="fz-16px">　PCがログインした時点で裏で、認証済みのチケットを受け取ることができ、以降の通信において認証情報が求められたら裏でその認証チケットを利用して自動認証できるようにActiveDirectoryと統合Windows認証が動いてくれている。<br></span><strong>４．プロキシはRADIUSサーバへ投げる</strong><br><span class="fz-16px">　認証情報をRADIUS(認証：UDP1812, アカウンティング：UDP1813）に包みRADIUSサーバへ渡す（<span class="blue">Access-Request</span>）。</span><br>　<span class="fz-16px">RADIUSはHTTPが理解できないので、認証サーバが理解できる標準フォーマット（RADIUS）に変換してあげることで、IDとパスワードを正しく認識・判定させている。</span><br><strong>５．RADIUSの判定結果<br></strong><span class="fz-16px">　RADIUSサーバが認証し、問題がなければAccess-Accept（許可）をプロキシに返す</span>。<br><strong>６．通信の開始</strong></p>



<p class="wp-block-paragraph">ここまでが大まかな流れだよ！では、一旦完了！</p>



<h3 class="wp-block-heading"><span id="toc20">統合Windows認証とは？&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">正式名称はIntegrated Windows Authentication（IWA,統合Windows認証）である。しかし、場合によっては、Windows統合認証と呼ばれたりもする。一言で言うと、「<strong>ブラウザとWindowsOSが連携してPCログイン情報をHTTP上で自動送信する仕組み（フレームワーク）</strong>」のこと。要は、ブラウザ(HTTP)とActiveDirectoryの橋渡しをしてくれる機能。<br>これがないと、SSO的な働きができないので、ユーザが手動でポップアップに表示された画面に自身のID,パスワードを入力していた。</p>



<h3 class="wp-block-heading"><span id="toc21">p.17 SWGのグローバルIP割り当てサービスとは？&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="828" height="166" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-37.png" alt="" class="wp-image-7985" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-37.png 828w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-37-300x60.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-37-768x154.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></figure>



<p class="wp-block-paragraph">Q.文章だけ読むと、「端末や社内ルータに設定するためのIP（WAN用IP）を付与する」といったISP的なサービスを想像してしまう。しかし、そうではない。では、何を何のためにしているのか？<br>A.端的に言うと「SWGが外と通信するときにIPアドレスを固定にする」ということである。SWG（SaaS）サービスからの送信元は、IPアドレスは動的に変化したり他社と共有されることがある。そのため、IPアドレス制限を用いているWebサービスなどにおいては、固定のものを設定したい。そのような場合に、問題文中にもあるような「固定のグローバルIPアドレスを割り当てるサービスメニュー」を使うのである。</p>



<h3 class="wp-block-heading"><span id="toc22">p.17 エージェントが利用者認証する方法</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="836" height="124" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-38.png" alt="" class="wp-image-7986" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-38.png 836w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-38-300x44.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-38-768x114.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">Ｑ．エージェント、利用者認証をして~~どうのこうの~~とかって書いてあるけど、どうやって利用者認証するの？一般的にはどうすんの?<br>Ａ．SWGの認証を受ける方法として最も一般的なのが、Idp連携をエージェントが裏で実行するパターン。ではIdp連携を見ていこう</p>



<p class="wp-block-paragraph"><strong>▼Idp連携フロー</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項番</strong></td><td><strong>フェーズ</strong></td><td><strong>主体</strong></td><td><strong>動作・処理内容</strong></td></tr></thead><tbody><tr><td><strong>0</strong></td><td><strong>事前準備</strong></td><td>管理者</td><td>SWG側に「IdPのリダイレクト先URL」と「検証用のIdP公開鍵（証明書）」をあらかじめ登録しておく。</td></tr><tr><td><strong>1</strong></td><td><strong>Web接続・転送</strong></td><td>クライアント → SWG</td><td>クライアントがWebアクセスを開始。エージェント（ソフトE）が通信をキャッチし、SWGへ転送する。</td></tr><tr><td><strong>2</strong></td><td><strong>未認証検知・要求</strong></td><td>SWG → クライアント</td><td>SWGは「トークン（許可証）なし＝未認証」と判断。あらかじめ設定されたIdPのログインURLへ<strong>リダイレクト</strong>するよう指示を返す。</td></tr><tr><td><strong>3</strong></td><td><strong>IdPへアクセス</strong></td><td>クライアント → IdP</td><td>エージェント（内部ブラウザ）が指示に従い、自動的にIdP（Entra ID）へアクセスする。</td></tr><tr><td><strong>4</strong></td><td><strong>OSによる自動認証</strong></td><td>OS (Windows) → IdP</td><td><strong>統合Windows認証</strong>（またはPRT）が働き、OSが「PCログイン済み」の認証情報をバックグラウンドでIdPへ提出する。</td></tr><tr><td><strong>5</strong></td><td><strong>SAMLトークン生成</strong></td><td>IdP</td><td>認証OKと判断。ユーザー情報・有効期限などを載せたデータ（アサーション）を作成し、自身の<strong>秘密鍵</strong>でデジタル署名（ハッシュ化 →暗号化）を付与する。</td></tr><tr><td><strong>6</strong></td><td><strong>トークン受領</strong></td><td>IdP → エージェント</td><td>署名付きのSAMLトークンをエージェントに返却する。</td></tr><tr><td><strong>7</strong></td><td><strong>再アクセス</strong></td><td>エージェント → SWG</td><td>獲得したSAMLトークンを添えて、再度SWGへアクセスする。</td></tr><tr><td><strong>8</strong></td><td><strong>SWGでの署名検証</strong></td><td>SWG</td><td>事前登録してある<strong>IdPの公開鍵</strong>でデジタル署名を復号。自身で生成したハッシュ値と一致するか確認し、改ざんがない真正なトークンか検証する。</td></tr><tr><td><strong>9</strong></td><td><strong>通行許可・中継</strong></td><td>SWG</td><td>「認証済みの正規ユーザー」と確定し、通信を通過（DLP/検査などを経て目的のWebサイトへ中継）させる。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">p.17 フォワードプロキシからリバースプロキシへの転用&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="720" height="84" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-39.png" alt="" class="wp-image-7988" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-39.png 720w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-39-300x35.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></figure>



<p class="wp-block-paragraph">フォワードプロキシからリバースプロキシに利用方法を変えると書いてあると、なにかそれら二つに特別なつながりがあるように見える。しかし、これは単に、使わなくなったサーバを再利用しているだけである。なにかプロキシという共通点があるから転用が可能だったというわけではない。これが使わなくなったWebサーバであったとしてもリバースプロキシへの転用は可能である。<br>＊補足として、共通点があることによって、既にプロキシ機能が入っているので設定変更のみで挙動を変えられるというメリットはある。しかし、だからといってほかのサーバが転用できないというわけではない。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><span class="marker-red"><br></span>　</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅰ　問２　解答解説</title>
		<link>https://ascend-beyond.com/study/network_specality/7934/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Wed, 12 Aug 2026 07:00:36 +0000</pubDate>
				<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7934</guid>

					<description><![CDATA[設問１（１）c:PoE+ 以下の表より、30WはPoE＋であることが分かるので答えもPoE+となる。 規格名 IEEE規格 タイプ（給電能力のレベル） 最大給電電力（給電側/L2SW） PoE IEEE 802.3af  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（１）c:PoE+</span></span></strong></span></p>



<figure class="wp-block-image size-full wp-duotone-unset-6"><img decoding="async" width="911" height="128" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-14.png" alt="" class="wp-image-7943" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-14.png 911w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-14-300x42.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-14-768x108.png 768w" sizes="(max-width: 911px) 100vw, 911px" /></figure>



<p class="wp-block-paragraph">以下の表より、30WはPoE＋であることが分かるので答えもPoE+となる。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>規格名</strong></td><td><strong>IEEE規格</strong></td><td><strong>タイプ</strong><br>（給電能力のレベル）</td><td><strong>最大給電電力（給電側/L2SW）</strong></td></tr></thead><tbody><tr><td><strong>PoE</strong></td><td>IEEE 802.3af</td><td>Type 1</td><td><strong>15.4 W</strong>（受電側最大12.95W）</td></tr><tr><td><strong>PoE+</strong></td><td>IEEE 802.3at</td><td>Type 2</td><td><strong>30.0 W</strong>（受電側最大25.5W）</td></tr><tr><td><strong>PoE++</strong></td><td>IEEE 802.3bt</td><td>Type 3 / 4</td><td><strong>60.0 W 〜 90.0 W</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PoEを勉強していると、TypeAやTypeBといった単語を耳にする。これは、PoEにおいてLANケーブルにどのように電力を流すかを示したもの<br><strong>TypeA</strong>:1,2,3,6番のデータ転送用ピンの上に畳み込んで電力を流す方法<br><strong>TypeB</strong>:1,2,3,6番のデータ転送用ピンは使わずに4,5,7,8番に電力を流す方法。<br>＊1Gbpsの場合は8ピンすべてデータ転送に使うが基本的な動作は同じ。TypeAなら1,2,3,6番に電力を流し、TypeBなら4,5,7,8に流す。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（２）PCが属するセグメント</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="908" height="150" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-17.png" alt="" class="wp-image-7947" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-17.png 908w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-17-300x50.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-17-768x127.png 768w" sizes="(max-width: 908px) 100vw, 908px" /></figure>



<p class="wp-block-paragraph">DHCPサーバはgiaddrフィールドを見ることによって、「あ、このセグメントね！ってことはこのプープから払い出そう！」と判断できる。これがないとどのプールから払い出せばよいかわからなくなってしまう。では、実際の流れを見ていこう！</p>



<h4 class="wp-block-heading"><span id="toc1">▼DHCPの大まかな流れ</span></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>略称</strong></td><td><strong>メッセージ名</strong></td><td><strong>送信元 → 送信先</strong></td><td><strong>役割・中身</strong></td></tr></thead><tbody><tr><td><strong>D</strong></td><td><strong>DHCPDISCOVER</strong></td><td>クライアント → サーバー</td><td>「誰かIPアドレスを割り当ててください！」（ブロードキャスト）</td></tr><tr><td><strong>O</strong></td><td><strong>DHCPOFFER</strong></td><td>サーバー → クライアント</td><td>「<code>192.168.10.15</code> を使わない？（仮提案）」</td></tr><tr><td><strong>R</strong></td><td><strong>DHCPREQUEST</strong></td><td>クライアント → サーバー</td><td>「じゃあ、その <code>192.168.10.15</code> を使わせてください！」</td></tr><tr><td><strong>A</strong></td><td><strong>DHCPACK</strong></td><td>サーバー → クライアント</td><td>「了解！確定したから使っていいよ（承認）」</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc2">▼DHCPリレーエージェントの流れ</span></h4>



<p class="wp-block-paragraph"><strong>１．【DISCOVER】PC → ルーター（リレーエージェント）<br></strong>　PCは<span class="blue">chaddr</span>フィールドに自身のMACアドレスを格納し、L2ブロードキャストを送信する<br><strong>２．【DISCOVER（転送）】ルーター →DHCPサーバー</strong><br>　ルータは受信インタフェースのIPアドレスを<span class="blue">giaddr</span>フィールドに格納する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#リレーエージェントの設定
interface Gi0/0
ip helper-address DHCPサーバのIPアドレス" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#リレーエージェントの設定</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Gi0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">helper-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DHCPサーバのIPアドレス</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．【OFFER】DHCPサーバー →ルーター</strong><br>　・DHCPサーバはgiaddrフィールドを確認して適切なプールを特定する<br>　・宛先をgiaddrフィールドのIPに設定してユニキャストで送信</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip dhcp pool プール名
network ネットワークアドレス　プレフィックス長orサブネットマスク
default-router デフォルトルータのIPアドレス
dns-server DNSサーバのIP
lease 日　時間　分　#無限の場合はinfinite" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">dhcp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pool</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プール名</span></span>
<span class="line"><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネットワークアドレス　プレフィックス長orサブネットマスク</span></span>
<span class="line"><span style="color: #A6E22E">default-router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">デフォルトルータのIPアドレス</span></span>
<span class="line"><span style="color: #A6E22E">dns-server</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DNSサーバのIP</span></span>
<span class="line"><span style="color: #A6E22E">lease</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">日　時間　分　#無限の場合はinfinite</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．【OFFER（転送）】ルーター → スイッチ → PC</strong><br>　ルータはパケット内のchaddrを宛先として、ユニキャストで転送する<br><strong>５．【REQUEST】PC → DHCPサーバー</strong><br>　「そのIPアドレス使いたいです！」というリクエストを、DISCOVERと同じ中継手順（<code>giaddr</code> と <code>chaddr</code> を使用）でDHCPサーバーへ送信。<br><strong>６．【ACK】DHCPサーバー → PC<br></strong>　・DHCPサーバーが「承認（確定）」のACKを作成し、OFFERと同じ中継手順でPCへ返送<br>　・PCのIPアドレス、サブネットマスク、デフォルトゲートウェイ、DNS等の設定が完了！</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（１）ログイン画面が表示されない事象が一部かつ不特定だから</span></span></strong></span></p>



<p class="wp-block-paragraph">帯域不足の場合は、「<strong>つながるPC</strong>」と「<strong>接続すらできずにタイムアウトするPC</strong>」にぱっきり分かれることがないから。「帯域不足なら影響は全体に広がる（全員が遅くなる）はず。しかし、タイムアウトになるのが『一部』にとどまっているということは、全体に波及していない『早い者勝ちの定員オーバー（NAPT上限）』が起きていると考えるのが妥当である。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="922" height="198" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-22.png" alt="" class="wp-image-7955" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-22.png 922w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-22-300x64.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-22-768x165.png 768w" sizes="(max-width: 922px) 100vw, 922px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="912" height="230" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-20.png" alt="" class="wp-image-7953" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-20.png 912w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-20-300x76.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-20-768x194.png 768w" sizes="(max-width: 912px) 100vw, 912px" /></figure>



<p class="wp-block-paragraph"><strong>タイムアウト画面</strong>とは以下のような接続が正常にできないときに表示される画面のこと。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="913" height="402" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-23.png" alt="" class="wp-image-7956" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-23.png 913w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-23-300x132.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-23-768x338.png 768w" sizes="(max-width: 913px) 100vw, 913px" /></figure>



<p class="wp-block-paragraph">タイムアウトには主に２種類ある。<strong>接続タイムアウト</strong>と<strong>セッションタイムアウト</strong>。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>種類</strong></td><td><strong>今回の現象（接続タイムアウト）</strong></td><td><strong>セッションタイムアウト</strong></td></tr></thead><tbody><tr><td><strong>正式名称</strong></td><td><strong>Connection Timeout</strong>（接続タイムアウト）</td><td><strong>Session Timeout</strong>（セッションタイムアウト）</td></tr><tr><td><strong>どんな状態？</strong></td><td><strong>接続すらできていない</strong>（返事が来ない）</td><td><strong>ログイン・接続は完了している</strong></td></tr><tr><td><strong>起きる理由</strong></td><td>相手サーバーやルーターから「応答（返事）」が規定時間内に返ってこないため。</td><td>ログイン後、一定時間操作（通信）がないため防犯上切断された。</td></tr><tr><td><strong>表示画面</strong></td><td>「このサイトにアクセスできません（恐竜画面）」</td><td>「一定時間操作がなかったためログアウトしました」</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（４）PC台数：327　エントリー数：120,000</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="944" height="206" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-24.png" alt="" class="wp-image-7959" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-24.png 944w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-24-300x65.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-24-768x168.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></figure>



<p class="wp-block-paragraph"><strong>PC台数：<br></strong>　まず、1台当たり200セッションを使う。そしてセッションの上限数は65,536である。つまり<span class="blue">65,536÷200=327.68</span>となる。つまり<span class="blue">327</span>台である。<br><strong>エントリー数：</strong><br>　問題文中の最初にU校には600台のPCがあることが分かる。そして、１台200セッション使うので<span class="blue">200×600=120,000</span>となる。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問３</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（３）調整：UDPの保持時間を300秒より小さくする</span></span></strong></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">　　　効果：未使用のUDPフローによるNAPT変換エントリーを早期に削除できる</span></span></strong></span></p>



<p class="wp-block-paragraph">HTTP/3ではアプリケーション層でセッション管理をしているので、NAPTのポート番号が変わったり、テーブルから一時的に削除されても通信を再開できる。だからこそ、ルータ側の保持期間を思い切って短くしても問題ない。というより、<strong>むしろ短くしなければならない！</strong><br>なぜなら、今まではTCPで行われていたWeb通信をHTTP/3によりUDPが使われるようになり、大量のUDPフローが生まれる。それらをすべて300秒保持していたらエントリが足りなくなる。そのため、短くする。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="645" height="351" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-26.png" alt="" class="wp-image-7961" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-26.png 645w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-26-300x163.png 300w" sizes="(max-width: 645px) 100vw, 645px" /></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>通信プロトコル</strong></td><td><strong>保持時間</strong></td><td><strong>設定の意図・理由</strong></td></tr></thead><tbody><tr><td><strong>TCP (SYN)</strong></td><td>30秒</td><td>接続要求（SYN）送信後に応答が来ず失敗した通信のエントリーを、早期に破棄してリソースを解放するため。</td></tr><tr><td><strong>TCP (FIN 又は RST 片方向)</strong></td><td>60秒</td><td>一方のみからの切断要求で通信が滞った場合、再送処理などの猶予を確保しつつ一定時間で強制削除するため。</td></tr><tr><td><strong>TCP (FIN 又は RST 双方向)</strong></td><td>1秒</td><td>お互いに切断の合図を確認し通信が完全に終了したため、即座にエントリーを解放して再利用するため。</td></tr><tr><td><strong>UDP</strong></td><td>300秒</td><td>切断の概念がないため、通信途中でのタイムアウト（動画ストリーミングの途切れなど）を防ぐ目的で安全マージンを長めに取るため。</td></tr><tr><td><strong>DNS</strong></td><td>60秒</td><td>1リクエスト・1レスポンスで一瞬で終わる通信のため、通常のUDP（300秒）より短い時間で解放しテーブルの枯渇を防ぐため。</td></tr><tr><td><strong>ICMP</strong></td><td>60秒</td><td>pingなどの応答確認（Echo Request/Reply）は短時間で完了するため、一定時間の応答待ち猶予を持たせたのち破棄するため。</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc3">UDPを300秒から60秒などに短縮したらほかのプロトコルで影響でないの?&#8212;&#8212;&#8212;&#8212;</span></h4>



<p class="wp-block-paragraph">UDPを使うプロトコルとしてはVoIP,Syslog,NTP,SNMPなどがある。そのうちのVoIPにはKeepAliveという機能があり、定期的にUDPパケットを発生させてタイムアウトを防ぐ仕組みがある。一方、Syslog,NTP,SNMPなどはその仕組みがない。しかし、一方向の通信（双方向が不要。送りっぱなしでOK）であるため特に問題はない。ではどうしてそもそも300秒に設定されているの？<br>＊SNMP trapだけ例外<br><span style="text-decoration: underline;">A.シンプルに、NATの規格であるRFCによって2~5分以上が推奨されているから。</span><br>＊SNMP trapの場合は外からの通信がくるのでNAPTテーブルにないとブロックされてしまう。そのため、ポートを開けておくなどの特別な対応が必要になる。<span style="text-decoration: underline;"><br></span></p>



<p class="wp-block-paragraph"><br></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc4">p.9 Wi-Fi6とは&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="665" height="43" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-13.png" alt="" class="wp-image-7935" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-13.png 665w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-13-300x19.png 300w" sizes="(max-width: 665px) 100vw, 665px" /></figure>



<p class="wp-block-paragraph">では、Wi-Fi6を学ぶついでにWi-Fi４，５も以下の表で一緒に確認しましょう。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>Wi-Fi 4</strong></td><td><strong>Wi-Fi 5</strong></td><td><strong>Wi-Fi 6</strong></td></tr></thead><tbody><tr><td><strong>IEEE規格名</strong></td><td>IEEE 802.11n</td><td>IEEE 802.11ac</td><td>IEEE 802.11ax</td></tr><tr><td><strong>対応周波数帯</strong></td><td>2.4GHz / 5GHz</td><td><strong>5GHz のみ</strong></td><td>2.4GHz / 5GHz</td></tr><tr><td><strong>最高変調方式</strong></td><td>64QAM (<strong>6bit</strong>)</td><td>256QAM (<strong>8bit</strong>)</td><td>1024QAM (<strong>10bit</strong>)</td></tr><tr><td><strong>多重化・接続技術</strong></td><td>SU-MIMO（1対1）</td><td>DL MU-MIMO（下りのみ）</td><td><strong>UL/DL MU-MIMO</strong> + <strong>OFDMA</strong></td></tr><tr><td><strong>省電力・混雑対策</strong></td><td>—</td><td>—</td><td><strong>TWT</strong> / <strong>BSSカラーリング</strong></td></tr><tr><td><strong>最大通信速度</strong></td><td>600 Mbps</td><td>6.9 Gbps</td><td>9.6 Gbps</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">簡易的な速度体感&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">正直、最大通信速度が600 Mbps、6.9 Gbps、9.6 Gbpsと言われてもイメージができない。なので、ここでは具体的な転送時間の目安（理論値）を見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>転送するデータ（容量）</strong></td><td><strong>① 100 Mbps（格安スマホ/混雑Wi-Fi）</strong></td><td><strong>② 1 Gbps（1,000 Mbps）（光回線/Wi-Fi 5, 6実効）</strong></td><td><strong>③ 9.6 Gbps（9,600 Mbps）（Wi-Fi 6理論上MAX）</strong></td></tr></thead><tbody><tr><td><strong>1秒あたりの転送量</strong></td><td><strong>100 Mb</strong>（12.5 MB）</td><td><strong>1,000 Mb</strong>（125 MB）</td><td><strong>9,600 Mb</strong>（1,200 MB / 1.2 GB）</td></tr><tr><td><strong>写真1枚</strong><br>（5 MB = 40 Mb）</td><td><strong>約 0.4 秒</strong><br>40÷100</td><td><strong>約 0.04 秒</strong><br>40÷1000</td><td><strong>約 0.004 秒</strong><br>40÷9600</td></tr><tr><td><strong>映画1本</strong><br>（2 GB = 2,000 MB = 16,000 Mb）</td><td><strong>約 2 分 40 秒</strong>（160秒）<br>16,000÷100</td><td><strong>約 16 秒</strong><br>16,000÷1000</td><td><strong>約 1.6 秒</strong><br>16,000÷9600</td></tr><tr><td><strong>大容量ゲーム</strong><br>（50 GB = 50,000 MB = 400,000 Mb）</td><td><strong>約 1 時間 6 分 40 秒</strong>（4,000秒）<br>400,000÷100</td><td><strong>約 6 分 40 秒</strong>（400秒）<br>400,000÷1000</td><td><strong>約 41 秒</strong><br>400,000÷9600</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">＊例えば3GB(24000Mbp)のデータをダウンロードする際に、35.3Mbpsの速度なら24000/35.3=679.88s=11.33m。つまり11分ほどかかる計算になる。</p>



<h3 class="wp-block-heading"><span id="toc6">Wi-Fi 6E,7,8 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">Wi-Fi4~6までは教科書などでよく目にする。では、その発展版として、6E～8も一緒に見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>規格</strong></td><td><strong>Wi-Fi 6E</strong></td><td><strong>Wi-Fi 7</strong></td><td><strong>Wi-Fi 8</strong></td></tr></thead><tbody><tr><td><strong>IEEE規格名</strong></td><td>IEEE 802.11ax</td><td>IEEE 802.11be</td><td>IEEE 802.11bn</td></tr><tr><td><strong>テーマ</strong></td><td><strong>6GHz帯の追加</strong></td><td><strong>最高速度と低遅延</strong></td><td><strong>高信頼性・途切れにくさ</strong></td></tr><tr><td><strong>利用周波数</strong></td><td>2.4 / 5 / <strong>6 GHz</strong></td><td>2.4 / 5 / 6 GHz</td><td>2.4 / 5 / 6 GHz</td></tr><tr><td><strong>最大速度（理論値）</strong></td><td>9.6 Gbps</td><td><strong>46 Gbps</strong></td><td>46 Gbps</td></tr><tr><td><strong>最大帯域幅</strong></td><td>160 MHz<br><span class="fz-14px">＊8チャネルボンディング</span></td><td><strong>320 MHz</strong><br><span class="fz-16px"><span class="fz-14px">＊16チャネルボンディング</span></span></td><td>320 MHz<br><span class="fz-16px"><span class="fz-14px">＊16チャネルボンディング</span></span></td></tr><tr><td><strong>変調方式</strong></td><td>1024QAM（10bit）</td><td><strong>4096QAM（12bit）</strong></td><td>4096QAM（12bit）</td></tr><tr><td><strong>目玉機能</strong></td><td>6GHzクリーン帯域<br>(6GHz帯を使い混雑を避けられるようになった)</td><td>・<strong>MLO</strong>（帯域の複数同時利用）<br>・<strong>プリアンブル・パンクチャリング</strong></td><td><strong>・MAPC</strong><br>（<span class="fz-14px"><strong>CoBF</strong>:動的ビームフォーミング<br><strong>CoSR</strong>:パワー制御 / 出力調整<br><strong>CoOFDMA</strong>:Dynamic Sub-channel</span>)<br><strong>・ノンストップ・ローミング（切り替え遅延ゼロ）</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">Wi-Fi7 MLOってなに？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">MLOはMultiLinkOperationの略。Wi-Fi6Eまでは2.4,5,6GHと３つあっても１つの帯域しか使えなかった。しかし、Wi-Fi７からは5GHz帯と6GHz帯の両方を同時に使えるようになった。これにより、遅延が激減し、ゲームやWeb会議がほぼ途切れなくなった。<br>トライバンドMLOのように2.4,5,6GHと３つすべてを同時に使うことも可能だが、2.4はノイズが多かったり、速度が遅かったりするので速さを求めるのであれば2.4は束ねない。冗長性を求めているなら束ねてもOK。</p>



<h3 class="wp-block-heading"><span id="toc8">Wi-Fi7 プリアンブル・パンクチャリング&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">プリアンブル・パンクチャリングとは一言で言うと「虫食い（パンクチャー）にして重なっている部分だけを避けて残りを有効活用する」という意味である。<br>今までのWi-Fi6Eまでだと、使おうとする帯域の一部でも他と重なってしまうとその部分のチャネルボンディングはあきらめる。しかし、プリアンブル・パンクチャリングを使えば、重なっている部分のを取り除き、残りの部分を有効活用できるようになる。<br>具体的には、160MHz(8チャネルボンディング)をする際に、端の部分で干渉していると、今までであれば、80MHz（4チャネルボンディング）に落とす必要がある。しかし、プリアンブル・パンクチャリングを使えば、重なっている部分のみを取り除き140MHz帯として利用できるようになる。<br>これによって、周波数帯を有効活用できるようになる。</p>



<h3 class="wp-block-heading"><span id="toc9">Wi-Fi8 マルチAP協調制御（MAPC）&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">MAPCはMultiAccessPointCoordinationの略。AP同士で話し合って、優先度や出力を決定してバッティングとデータ破損を防ぐ仕組み。その仕組みを実現するためには様々な技術が使われている。それを見ていこう！</p>



<p class="wp-block-paragraph"><strong>１．動的ビームフォーミング制御（CoBF:Coordinated BeamForming）<br></strong>　AP同士が「お互いの狙う方法（指向性）をリアルタイムで共有する機能。これにより、電波出力の大小に依存しない通信が可能になる。<br>＊指向性には八木アンテナ（一直線）、ダイポール（全範囲）、パッチ（中途半端に広い）といったような種類がある。<br><strong>２．パワー制御・出力調整（CoSR:CoordinatedSpatialReuse）</strong><br>　電波の強さを調整する機能。今までは100%で出力していたが、それだとほかのAPと干渉しやすくなってしまい通信の疎外になる。なので、必要な時に必要な強さだけ出力させられるようにした。</p>



<h3 class="wp-block-heading"><span id="toc10">BSSカラーリングとマルチAP協調制御の違い&#8212;&#8212;&#8212;</span></h3>



<p class="wp-block-paragraph">BSSの解説：<br>Wi-Fiにはあるルールがある。それが、CSMA/CAである。これは、どこかのAPがしゃべっているときは、衝突が起こらないように自分は黙る。というルールがある。しかし、それを馬鹿みたいに従っていると、微弱な電波を拾っただけでも無駄に待機する時間が発生する。それを防ぐために、同一のBSS以外の電波（微弱な電波）を拾っても待機しないでそのまま使っちゃおうよというのがBSSである。<br><br>本題：<br>BSSは電波の強弱によって通信を維持できている。しかし、同一レベルの電波が来た場合、対処できなくなる。そのような電波の出力差がない場合でも通信を維持できる仕組みがマルチAP協調制御である。</p>



<h3 class="wp-block-heading"><span id="toc11">なぜ６GHzを使うの？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">Wi-Fi６Eから急に6GHz帯が使われるようになった。これはなぜなのか？技術的な問題なのか何が変わったから急に6GHzを使えるようになったのか。また、なぜ6GHzだけなのか。帯域を増やしてメリットがあるなら7GHzや8GHzなど、ほかの帯域もどんどん増やせばいいのに。。。<br><strong>要因１：周波数の特性<br></strong>電波は高い周波数であればあるほど高速性が上がるが、その反面、障害物に弱くなる。そのため、家庭内で7GHz以上だと人が横切ったりするだけで切断されるので不向き。そのため、７，８GHzといった周波数帯は使われない。家庭内のスウィートスポット（現実的な着地点）が6GHzだったから。<br><strong>要因２：７GHz以上は既に埋まっている</strong><br>電波はいろいろな用途に使われている。そのため、既にぎゅうぎゅう詰めのところを、奇跡的に使えたのが6GHzであり、それ以外の周波数帯を簡単に追加したりといったことは困難だから。<br><strong>要因３：コスト＆パフォーマンス<br></strong>高い周波数を扱うアンテナや半導体チップ（RFIC）は製造難易度も高く、スマホやPCに搭載すると端末価格が高騰する。また、バッテリー消費と発熱が凄まじいことになる。</p>



<h3 class="wp-block-heading"><span id="toc12">7GHz以上が使われるのってどんな時？レーダー？</span></h3>



<p class="wp-block-paragraph">7GHz以上の高周波数帯は障害物に弱い性質があり遠くまでは届かないという特性がある。では、そんな特性はどんな時に使われるのか。よく聞くのは軍事や気象レーダーなどである。しかし、いまいちイメージがつかない。ということで見ていこう！<br><strong>１．レーダーは「突き抜け」ではなく、「跳ね返り」を利用する<br></strong>高周波数の特性は障害物の影響を受けやすいという特徴がある。しかし、この特性こそがれーがに向いている。レーダーは「遠くの小さな物体を感知して、跳ね返りをキャッチする」という目的がある。高周波の特性はレーダーにとって大きなメリットとなる。<br><strong>２．海や空には障害物がない<br></strong>家庭内では壁・ドア・家具・人などの障害物だらけの環境（NLOS：NotLineOfSight：非見通し環境）で通信しなければならない。しかし、航空・軍事・気象レーダーは大空、海上などの開かれた空間（LineOfSight：視通環境）で使われるため高周波数の壁を通り抜けないという弱点が問題にならない。<br>３．周波数が高いほど小さなものを精密に見分けられる<br>7GHz以上の高周波数帯は障害物に弱い性質があり遠くまでは届かないという特性がある。では、そんな特性はどんな時に使われるのか。よく聞くのは軍事や気象レーダーなどである。しかし、いまいちイメージがつかない。ということで見ていこう！<br><strong>１．レーダーは「突き抜け」ではなく、「跳ね返り」を利用する<br></strong>高周波数の特性は障害物の影響を受けやすいという特徴がある。しかし、この特性こそがれーがに向いている。レーダーは「遠くの小さな物体を感知して、跳ね返りをキャッチする」という目的がある。高周波の特性はレーダーにとって大きなメリットとなる。<br><strong>２．海や空には障害物がない<br></strong>家庭内では壁・ドア・家具・人などの障害物だらけの環境（NLOS：NotLineOfSight：非見通し環境）で通信しなければならない。しかし、航空・軍事・気象レーダーは大空、海上などの開かれた空間（LineOfSight：視通環境）で使われるため高周波数の壁を通り抜けないという弱点が問題にならない。<br><strong>３．周波数が高いほど小さなものを精密に見分けられる<br></strong>電波は、「自分の波長よりも小さいもの」はすり抜けてしまい、感知できない。2.4GHzの波長（約12cm）だと雨粒（数ミリ）に当たっても、電波が大きすぎてすり抜けてしまう。そのため、気象レーダーには使えません。</p>



<h3 class="wp-block-heading"><span id="toc13">５GH帯でよく耳にするW52,W53,W56とは？</span></h3>



<p class="wp-block-paragraph">５GH帯でよく耳にするW52,W53,W56とは何なのだろうか。なぜ、51や57,58といったほかの数字は使わずにこんな中途半端なのか。<br>そもそもこれは周波数帯（グループ名）をあらわしている。周波数（GHz）の頭の数字をそのまま取って名前が付けられてる。<br><strong>W52</strong> ＝ <strong>5.2</strong> GHz帯のグループ（チャンネル番号：36, 40, 44, 48）<br><strong>W53</strong> ＝ <strong>5.3</strong> GHz帯のグループ（チャンネル番号：52, 56, 60, 64）<br><strong>W56</strong> ＝ <strong>5.6</strong> GHz帯のグループ（チャンネル番号：100, 104, 108 … 144）<br>意図的にこのバラバラ数字を使っているわけではなく、Wi-Fi用に５GHz帯を絞り出す際にたまたま使えそうな周波数帯が52,53,56だったらから選ばれたという背景がある。飛んでいるほかの数字W51,57,58などは他の用途で既に使われている。</p>



<h3 class="wp-block-heading"><span id="toc14">p.9 IEEE802.1xとは？&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="917" height="111" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-15.png" alt="" class="wp-image-7944" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-15.png 917w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-15-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-15-768x93.png 768w" sizes="(max-width: 917px) 100vw, 917px" /></figure>



<p class="wp-block-paragraph">IEEE802.1xとはLANを利用するときの入り口制御を担当する仕組みがIEEE802.1xである。もし、これがないと、誰でも彼でも接続ができてしまいセキュリティ的にとてもやばい！なので、しっかりネットワークを利用するときは認証しようよね！という思想の元IEEE802.1xが生まれた。<br><strong>▼具体例</strong><br><strong>有線接続の場合：</strong><br><span class="fz-16px">①機器がスイッチに接続</span><br><span class="fz-16px">＊初期状態はポートがブロック状態であるため、問答無用で認証プロセスへ流される<br>②スイッチのIEEE802.1x機能が働き、認証サーバとクライアントとのやり取りを仲介する<br>③クライアントが認証されるとスイッチ側で「あ、このポートからの通信は流してOKなんだな」と認識しポートをオープンにする<br>④クライアントがデータ通信を試みると、「あ、このポートからの通信は認証済みだから流そう！」と判断し、データ通信が成立する。</span><br><span class="fz-16px">⑤もし、ケーブルが抜けたりするとポートは電気信号を受け取らなくなるのでダウンと判断し、また、ポートをブロック状態に戻す。そのため、新たにつながれたら、再度①からプロセスを辿る。</span><br><strong>無線接続の場合：</strong><br><strong><span class="fz-16px">①機器が電波をキャッチしAPに無線で接続</span><br></strong><span class="fz-16px">＊この時点でユーザは、あ、「この電波はPersonalモードか！」や</span>「<span class="fz-16px">Enterpriseモードか」などを把握できる。</span><br><span class="fz-16px">エンタープライズモードの場合は②へ<br></span>▼Personalモードの場合</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="【Personalモードの流れ】

① 機器が電波（Beacon）をキャッチし「Personalモード（PSK）」だと把握する
② クライアントはあらかじめ入力されている「Wi-Fiパスワード（PSK）」を用意する
   （※AP側にも同じパスワードが設定されている）

③ APとクライアントの間で「4-Way Handshake」を実行！
   ・パスワードそのものは絶対電波に流さない！
   ・「お互いに同じパスワードを知っていること」を数学的に証明し合う。
   ・その過程で、暗号鍵「PTK」を自動計算して作り出す。

④ 成功したら、APの「PTKリスト」に登録！
⑤ データ通信が許可され、DHCPでIPアドレスを取得して通信開始！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">【Personalモードの流れ】</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">①</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">機器が電波（Beacon）をキャッチし「Personalモード（PSK）」だと把握する</span></span>
<span class="line"><span style="color: #A6E22E">②</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">クライアントはあらかじめ入力されている「Wi-Fiパスワード（PSK）」を用意する</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">（※AP側にも同じパスワードが設定されている）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">③</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">APとクライアントの間で「4-Way</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Handshake」を実行！</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">・パスワードそのものは絶対電波に流さない！</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">・「お互いに同じパスワードを知っていること」を数学的に証明し合う。</span></span>
<span class="line"><span style="color: #F8F8F2">   </span><span style="color: #A6E22E">・その過程で、暗号鍵「PTK」を自動計算して作り出す。</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">④</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">成功したら、APの「PTKリスト」に登録！</span></span>
<span class="line"><span style="color: #A6E22E">⑤</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">データ通信が許可され、DHCPでIPアドレスを取得して通信開始！</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><strong>②APはクライアントのMACアドレスをキーとしてPTKリストを確認する<br></strong><span class="fz-14px"><span style="text-decoration: underline;">PTKリストにある場合</span>→当該キーを使い復号、認証を実施し問題がなければLANに流す<br><span style="text-decoration: underline;">PTKリストにない場合</span>→③へ進む</span><br><strong>③APはクライアントにEAP-Requestを送信する<br></strong>EAP-Requestはクライアントに対して「IDや証明書を出して認証してくださーい」と伝えるメッセージ。</span><br><span class="fz-18px"><span class="fz-16px"><strong>④クライアントはEAPOLパケットをAPに渡す。<br></strong></span></span><span class="fz-16px">＊わざわざEAPを使う理由は、IPアドレスがまだ割り当てられていないからである。そのため、L3のパケットではなく、L2の特別な認証用フレーム（EAPOL）を使う必要がある。</span><br><span class="fz-16px">*<span class="blue">EAP</span>：認証をするためのメッセージをどうやって記載するかの規格<br>*<span class="blue">EAPOL</span>（EAP over LAN）：EAPをLANで解釈できるようにしたフレーム</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="【 EAPOLフレームの構造 】
┌────────────────────────────────────────────────────────┐
| 宛先MACアドレス : APのMACアドレス                         　|
| 送信元MACアドレス: クライアントのMACアドレス              　　|
| イーサタイプ     : 0x888E (「これは802.1X認証だよ」という目印)|
├────────────────────────────────────────────────────────┤
| EAPデータ本体    : (IDや証明書などの認証データ)           　　|
└────────────────────────────────────────────────────────┘
 ※ IPヘッダー（192.168...等）は一切ついていません！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">【</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">EAPOLフレームの構造</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">】</span></span>
<span class="line"><span style="color: #A6E22E">┌────────────────────────────────────────────────────────┐</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">宛先MACアドレス</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">APのMACアドレス</span><span style="color: #F8F8F2">                         </span><span style="color: #E6DB74">　</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">送信元MACアドレス:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">クライアントのMACアドレス</span><span style="color: #F8F8F2">              </span><span style="color: #E6DB74">　　</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">イーサタイプ</span><span style="color: #F8F8F2">     </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0x888E</span><span style="color: #F8F8F2"> (「これは802.1X認証だよ」という目印)</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #A6E22E">├────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span style="color: #F92672">|</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">EAPデータ本体</span><span style="color: #F8F8F2">    </span><span style="color: #E6DB74">:</span><span style="color: #F8F8F2"> (IDや証明書などの認証データ)           　　</span><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #A6E22E">└────────────────────────────────────────────────────────┘</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">※</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">IPヘッダー（192.168...等）は一切ついていません！</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><strong>⑤APは認証サーバへ転送する<br></strong>AP自体はIPアドレスを持っているので、EAPデータの本体だけを取り出してL3の形式に直したうえで、認証サーバへ転送する</span><br><span class="fz-16px"><strong>⑥認証サーバとクライアントの間でTLSハンドシェイクのキャッチボール</strong><br>認証サーバ⇔AP⇔クライアント間でEAPリクエストとEAPレスポンスのやり取りを繰り返していき、共通鍵（MSK）を生成する。<br>当該MSKは認証サーバからAPへ共有される。<br><strong>⑦４way-handshakeを実施してPTKを作成<br></strong>PTKからTK、KCK、KEKを生成してデータ通信の暗号化や認証を実施する。</span></p>



<h3 class="wp-block-heading"><span id="toc15">PMKを生成する方法&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">PMKは４ウェイハンドシェイクの材料の一つである。そのPMKがどのように作られるのかを見ていこう！<br><strong>▼Personalモードの場合<br></strong><span class="fz-16px">①事前共有パスワード＋SSIDを<span class="blue">PBKDF2</span>という鍵引き延ばし関数に入れる<br>②PBKDF2によりHMAC-SHA1というハッシュ計算を4096回繰り返す（＝ストレッチング）<br>③出来上がった32バイト（256ビット）がそのままPMKになる</span><br><strong>▼Enterpriseモードの場合<br></strong><span class="fz-16px">①TLSハンドシェイクで64バイトのMSKを生成する<br>②MSKの先頭32バイトを抽出してPMKを作る</span></p>



<h3 class="wp-block-heading"><span id="toc16">p.9 DHCPリレーエージェント&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="930" height="129" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-16.png" alt="" class="wp-image-7946" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-16.png 930w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-16-300x42.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-16-768x107.png 768w" sizes="(max-width: 930px) 100vw, 930px" /></figure>



<p class="wp-block-paragraph">▼DHCPリレーエージェントのコマンド</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="interface G0/0
ip helper-address DHCPサーバのIP" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">G0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">helper-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">DHCPサーバのIP</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc17">Syslogサーバ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="845" height="39" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-18.png" alt="" class="wp-image-7950" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-18.png 845w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-18-300x14.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-18-768x35.png 768w" sizes="(max-width: 845px) 100vw, 845px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="logging host SyslogサーバのIP　#syslogサーバの宛先を指定
logging trap syslogサベリティ　#syslogサーバに送信するログのレベルを指定
logging buffered syslogサベリティ　#ローカルのバッファに格納するレベル" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">host</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">SyslogサーバのIP　#syslogサーバの宛先を指定</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">trap</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">syslogサベリティ　#syslogサーバに送信するログのレベルを指定</span></span>
<span class="line"><span style="color: #A6E22E">logging</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">buffered</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">syslogサベリティ　#ローカルのバッファに格納するレベル</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker-red"><br></span></p>



<p class="wp-block-paragraph"><br><br></p>



<p class="wp-block-paragraph"><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅰ　問１　解答解説</title>
		<link>https://ascend-beyond.com/study/network_specality/7900/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sat, 08 Aug 2026 13:41:44 +0000</pubDate>
				<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7900</guid>

					<description><![CDATA[設問１（２）不正なOSPFルータと隣接関係になり経路交換してしまう問題不正なOSPFルータと経路交換をすると自分の内部アドレスの情報が漏れたり、逆に悪意のあるルートを注入されたりしてしまい正常な通信の妨害となる。 なお、 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（２）不正なOSPFルータと隣接関係になり経路交換してしまう問題</span></span></strong></span><br>不正なOSPFルータと経路交換をすると自分の内部アドレスの情報が漏れたり、逆に悪意のあるルートを注入されたりしてしまい正常な通信の妨害となる。</p>



<p class="wp-block-paragraph">なお、余談だがOSPFの認証方法はv2とv3で大きく異なる<br>▼OSPFv2</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#インタフェースで有効化する
int g0/0
ip ospf authentication message-digest
ip ospf message-digest-key キーID md5 パスワード


#ルータコンフィギュレーション内で有効化
router ospf プロセス番号
area エリア番号 authentication message-digest #エリア全体で認証を有効化

int g0/0
ip ospf message-digest-key キーID md5 パスワード
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#インタフェースで有効化する</span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーID</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ルータコンフィギュレーション内で有効化</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">エリア番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest</span><span style="color: #F8F8F2"> </span><span style="color: #88846F">#エリア全体で認証を有効化</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">message-digest-key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーID</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">md5</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"></span></code></pre></div>



<p class="wp-block-paragraph">▼OSPFv3（初期）<br>v3の場合はキー、パスワードは使わずにIPsecのSPIと16進数の暗号キーを指定する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#インタフェース単位で有効化する方法
interface GigabitEthernet0/0
#IPsec (SHA1 や MD5) を使って認証を設定する
 ospfv3 authentication ipsec spi 256 sha1 1234567890123456789012345678901234567890
 
 
#エリア全体で有効化する方法
router ospfv3 1
 address-family ipv6 unicast
  area 0 authentication ipsec spi 256 sha1 1234567890123456789012345678901234567890" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#インタフェース単位で有効化する方法</span></span>
<span class="line"><span style="color: #A6E22E">interface</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">GigabitEthernet0/0</span></span>
<span class="line"><span style="color: #88846F">#IPsec (SHA1 や MD5) を使って認証を設定する</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">spi</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1234567890123456789012345678901234567890</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#エリア全体で有効化する方法</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">address-family</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv6</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">unicast</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">spi</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1234567890123456789012345678901234567890</span></span></code></pre></div>



<p class="wp-block-paragraph">▼OSPFv3（現在）<br>初期の設定方法を見ると、ハッシュ化した値を直書きしているのが分かる。これはエンジニアにとってとても面倒だし、間違える可能性も内在する。そこで、Key-Chainという方法がつかわれるようになった。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="▼インタフェース単位の有効化---------------
#Key Cahinの作成
key chain キーチェイン名
 key 1
  key-string パスワード
  cryptographic-algorithm hmac-sha-256
  
int g0/0
ospfv3 authentication key-chain キーチェイン名 

▼エリア単位の有効化---------------------
#key-chainの作成
key chain キーチェイン名
 key 1
  key-string パスワード
  cryptographic-algorithm hmac-sha-256
  
#ルータコンフィグ
router ospfv3 プロセス番号
 address-family ipv6 unicast
  area エリア番号 authentication key-chain キーチェイン
 exit-address-family" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">▼インタフェース単位の有効化---------------</span></span>
<span class="line"><span style="color: #88846F">#Key Cahinの作成</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span><span style="color: #F8F8F2"> </span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼エリア単位の有効化---------------------</span></span>
<span class="line"><span style="color: #88846F">#key-chainの作成</span></span>
<span class="line"><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">key</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">key-string</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">cryptographic-algorithm</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">hmac-sha-256</span></span>
<span class="line"><span style="color: #F8F8F2">  </span></span>
<span class="line"><span style="color: #88846F">#ルータコンフィグ</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospfv3</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">address-family</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipv6</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">unicast</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">エリア番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key-chain</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">キーチェイン</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">exit</span><span style="color: #F8F8F2">-address-family</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（４）OSPFの経路情報が収束した状態</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="940" height="254" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-7.png" alt="" class="wp-image-7925" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-7.png 940w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-7-300x81.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-7-768x208.png 768w" sizes="(max-width: 940px) 100vw, 940px" /></figure>



<p class="wp-block-paragraph">再起動直後にマスタールータに昇格すると、OSPFが収束していない状態で引き継ぐことになる。これはすなわち、適切なルーティング情報が手元にない状態であるにもかかわらずパケットがどんどん届いてしまうことを意味する。もちろん、ルーティング情報がないので破棄、または意図しないルートへの転送をしてしまい正常な通信ができなくなってしまう。それを防ぐために、再起動直後からある程度の時間を待機させて、経路情報が安定してからマスタを引き継ぐことで正常な通信を維持できる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="int g0/0
 vrrp グループ番号 preempt delay minimum 秒数
 
#秒数に関しては、基本的に60秒程度を設定する（大規模なら120~180秒）
#OSPF自体は30秒程度で収束するが起動直後などはCPU負荷が高くなるため余裕をもって60秒程度に設定しておこう" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">vrrp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">グループ番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">preempt</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">delay</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">minimum</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">秒数</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#秒数に関しては、基本的に60秒程度を設定する（大規模なら120~180秒）</span></span>
<span class="line"><span style="color: #88846F">#OSPF自体は30秒程度で収束するが起動直後などはCPU負荷が高くなるため余裕をもって60秒程度に設定しておこう</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（２）65535といった十分大きな値に変更する</span></span></strong></span><br>OSPFは宛先までの経路でコストが最も小さな経路が選択される。すなわち、経由させたくなければ、より大きなコストを設定すればよい。そのため、コスト値の最大値である65535を設定する</p>



<figure class="wp-block-image size-full"><img decoding="async" width="953" height="52" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-8.png" alt="" class="wp-image-7926" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-8.png 953w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-8-300x16.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-8-768x42.png 768w" sizes="(max-width: 953px) 100vw, 953px" /></figure>



<p class="wp-block-paragraph">ちなみに、コスト値だけを見ると1001以上に設定すれば無事に迂回できそうに見える。しかし、ここで気にしておかなければならないのが、ルート１とルート２が全く同じ経路であるかということ。もし、ルート２がもともとルート１よりも多くのルータを経由しなければならない場合、ルート１側の１つのルータのOSPFを少し変更させただけでは迂回しなくなる。なぜならOSPFはインタフェース単体ではなく、経路までの合計のOSPFコストを計算するから。そのため、余裕をもって、65535という値に設定しておくのがベストプラクティスとなっている。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="823" height="299" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-10.png" alt="" class="wp-image-7928" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-10.png 823w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-10-300x109.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-10-768x279.png 768w" sizes="(max-width: 823px) 100vw, 823px" /></figure>



<p class="wp-block-paragraph">▼OSPFコストの変更方法</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="int g0/0
ip ospf cost 65535" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">g0/0</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">cost</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">65535</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">（３）物理インタフェース</span></span></strong></span><ruby><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">閉塞</span></span></strong></span><rt>へいそく</rt></ruby><span class="marker"><strong><span style="text-decoration: underline;"><span class="fz-22px">の方が素早く切り戻せるから</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="878" height="63" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-11.png" alt="" class="wp-image-7929" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-11.png 878w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-11-300x22.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-11-768x55.png 768w" sizes="(max-width: 878px) 100vw, 878px" /></figure>



<p class="wp-block-paragraph">切り離すという観点で言うと、電源をオフにしても、物理インタフェースをダウンにさせても切り離すことが可能。しかし、切り離し中に問題が発生した場合、電源をオフにしてしまうと、再起動までに時間がかかってしまう。その点で、物理インタフェースの閉塞であれば、以上を検知したらすぐに切り戻せるという利点がある。なので、まずは物理インタフェースで様子見をして大丈夫そうなら最終的に電源を切るという手順でやるのがベター。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc1">p.3 そもそもなんでVLANを分けているの？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">構成図を確認すると、L3SWでは複数のVLANを設定している。なぜか。。見ていこう！</p>



<figure class="wp-block-image size-full"><img decoding="async" width="858" height="824" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1.jpg" alt="" class="wp-image-7902" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1.jpg 858w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1-300x288.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-1-768x738.jpg 768w" sizes="(max-width: 858px) 100vw, 858px" /></figure>



<p class="wp-block-paragraph"><strong>１．フィルタリングの適用</strong><br>同一VLANではL3機器のフィルタリングを経由せずL2によるMACアドレスによる直接通信が可能。そのため、L3の詳細なフィルタリングを適用するという意味も含めてVLANを別にして、L3を跨がせるという運用方法をとっている。<br><strong>２．通信量の削減<br></strong>同一VLANは、同一ブロードキャストドメインを意味する。つまり、すべてを同一VLANにしてしまうと、すべての機器にARPなどのブロードキャストが届いてしまい帯域を圧迫してしまう。そのため、VLANを設定した方が帯域への負荷も軽減できるよね、という考えがある。</p>



<p class="wp-block-paragraph"><strong>３．局所化</strong><br>もし、１つのVLANで運用してしまうと、その１つに攻撃が成立するとすべてに広まってしまう。しかし、VLANで分けておけば、たとえ１つに攻撃が成立しても、攻撃範囲を局所化できる。これによってセキュリティ的に強度が高まる。</p>



<p class="wp-block-paragraph">👆以上、よりVLANにわけると様々なメリットがある</p>



<h3 class="wp-block-heading"><span id="toc2">p.4 DMVPNとは？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">DMVPN（DynamicMultipointVPN）は、IPsecの弱点を補った仕組み。通常IPsecでは、接続前に事前設定が必要になる。つまり、拠点が増えれば増えるほど、それに伴って事前設定が必要になる。これはとてもタフな作業。しかし、DMVPNを使えば、新たに拠点が追加されても動的に設定を完了させることができる。なお、DMVPNにはPhase１～３まで存在する。まずは、Phase１からやっていこう！</p>



<p class="wp-block-paragraph"><strong>▼通常のIPsecとDMVPN Phase1の違い</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>通常のIPsec（拠点間メッシュ）</strong></td><td><strong>DMVPN Phase 1（Hub &amp; Spoke）</strong></td></tr></thead><tbody><tr><td><strong>トンネルの方式</strong></td><td><strong>Point-to-Point GRE / IPsec</strong><br>（1対1の固定トンネル）</td><td><strong>mGRE</strong> (Multipoint GRE)<br>（1つのポートで不特定多数と繋がる）</td></tr><tr><td><strong>トンネル宛先設定</strong></td><td><strong>手動で固定指定</strong><br>(<code>tunnel destination &lt;相手の物理IP&gt;</code>)</td><td><strong>指定不要（動的）</strong><br>(<code>tunnel mode gre multipoint</code> を指定<br>＊ハブのみ。スポークはハブ宛てにする</td></tr><tr><td><strong>アドレス解決</strong></td><td>不要（人間が事前にコマンドで指定するため）</td><td><strong>NHRP</strong>（Next Hop Resolution Protocol）<br>（動的に「トンネルIP ⇔ 物理IP」を電話帳に登録）</td></tr><tr><td><strong>通信ルート</strong></td><td>拠点 $\leftrightarrow$ 拠点 の<strong>直接通信</strong></td><td><strong>必ずハブを経由</strong>（折り返し通信）</td></tr><tr><td><strong>新拠点追加時の作業</strong></td><td><strong>激重（地獄）</strong><br>既存の全ルータに新しい鍵とトンネル設定の追記が必要</td><td><strong>超絶楽</strong><br>新拠点ルータの設定のみ。ハブや既存拠点の<strong>設定変更はゼロ</strong></td></tr><tr><td><strong>鍵（PSK）の設定</strong></td><td>相手の物理IPごとに個別で設定</td><td><code>0.0.0.0 0.0.0.0</code>（共通鍵で動的受け入れ）<br>＊ハブとスポーク両方で設定。<br>ただしスポーク側に限っては、ハブの物理IPでも正常作動する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc3">▼DMVPN Phase1の流れ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">表層の説明だけをしていても理解が難しいと思うので、実際のコマンドと照らし合わせつつ流れを見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>区分</strong></td><td><strong>項目</strong></td><td><strong>IPアドレスの例</strong></td><td><strong>補足・役割</strong></td></tr></thead><tbody><tr><td>通信の送信元<br>（A社 支社）</td><td><strong>端末（PC）IP</strong></td><td><code>10.1.0.5</code></td><td>通信をスタートする実際のPC等</td></tr><tr><td></td><td><strong>ルータ物理IP (WAN)</strong></td><td><code>203.0.113.50</code> </td><td>支社ルータがインターネットに出るための物理IP</td></tr><tr><td></td><td><strong>ルータトンネルIP</strong></td><td><code>10.0.0.2</code> </td><td>mGREトンネル網（仮想NW）内の支社アドレス</td></tr><tr><td>通信の中継役<br>（DMVPN ハブ）</td><td><strong>ルータ物理IP (WAN)</strong></td><td><code>203.0.113.1</code></td><td>全スポークが最初に目指す親玉の物理IP</td></tr><tr><td></td><td><strong>ルータトンネルIP</strong></td><td><code>10.0.0.1</code></td><td>NHRPサーバー（電話帳）として機能するトンネルIP</td></tr><tr><td>通信の目的地<br>（A社 本社）</td><td><strong>ルータ物理IP (WAN)</strong></td><td><code>203.0.113.100</code> </td><td>本社ルータがインターネットに出るための物理IP</td></tr><tr><td></td><td><strong>ルータトンネルIP</strong></td><td><code>10.0.0.3</code></td><td>mGREトンネル網（仮想NW）内の本社アドレス</td></tr><tr><td></td><td><strong>社内サーバ/PC IP</strong></td><td><code>10.2.0.88</code></td><td>最終的にアクセスしたい本社のサーバ等</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><br><strong>０．NHRPでハブへ通知する</strong><br><span class="fz-16px">　実際の通信を始める前に、ルータでは起動直後にNHRPを使いハブルータへ自身の物理IPとトンネルIPを紐づけさせる。</span><br><span class="fz-16px">　ちなみにこの通信もトンネルからでるので、暗号化対象となる。宛先については、nhsやmapコマンドなどを参照する。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="interface Tunnel0
 ip nhrp network-id 1
 ip nhrp nhs 10.0.0.1                  #親玉となるハブのトンネルIPアドレス
 ip nhrp map 10.0.0.1 203.0.113.1      #ハブのトンネルIPアドレスと物理IPアドレスの対応 
 ip nhrp map multicast 203.0.113.1     #マルチキャスト送信先をハブの物理IPアドレスに指定
 ip nhrp holdtime 7200                 #ハブに対して自分の情報を何秒保持してと伝える
 ip nhrp registration timeout 30       #RegistrationRequestを送信する秒間隔" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp network</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">id </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp nhs </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2">                  </span><span style="color: #F92672">#親玉となるハブのトンネルIPアドレス</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp map </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">      </span><span style="color: #F92672">#ハブのトンネルIPアドレスと物理IPアドレスの対応</span><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp map multicast </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">     </span><span style="color: #F92672">#マルチキャスト送信先をハブの物理IPアドレスに指定</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp holdtime </span><span style="color: #AE81FF">7200</span><span style="color: #F8F8F2">                 </span><span style="color: #F92672">#ハブに対して自分の情報を何秒保持してと伝える</span></span>
<span class="line"><span style="color: #F8F8F2"> ip nhrp registration timeout </span><span style="color: #AE81FF">30</span><span style="color: #F8F8F2">       </span><span style="color: #F92672">#RegistrationRequestを送信する秒間隔</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px">＊正直、技術的には手順２の<span class="green"><em>tunnel destination 203.0.113.1</em></span>コマンドをかけば、<span class="green">ip nhrp map multicast 203.0.113.1</span>はいらない可能性がある。しかし、nhrpを有効にするとマルチキャストをnhrpのテーブルから探してしまう。そのため、あえて明示的に書く必要がある。</span><br><br><strong>１．GREトンネルへ流す</strong><br><span class="fz-16px">　・支社端末から本社へのパケット送信を試みる<br>　・ルータは、宛先が本社の<code><code>10.2.0.88</code></code>であることを確認する。</span><br><span class="fz-16px">＊OSPFなどのルーティングプロトコルが動作しているならスタティック設定は不要</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#支社スポークルータの設定
#スタティック設定によりGREトンネルへ流す判断をする
ip route 10.2.0.0 255.255.255.0 Tunnel0

interface Tunnel0
ip ospf network point-to-multipoint" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#支社スポークルータの設定</span></span>
<span class="line"><span style="color: #F92672">#スタティック設定によりGREトンネルへ流す判断をする</span></span>
<span class="line"><span style="color: #F8F8F2">ip route </span><span style="color: #AE81FF">10.2.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255.255.0</span><span style="color: #F8F8F2"> Tunnel0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2">ip ospf network point</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">to</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">multipoint</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>２．GRE処理<br></strong>　<span class="fz-16px">・パケットがGREトンネルへ届くとGRE処理を実施する<br>　・具体的には、トンネルの宛先/送信元のカプセル化処理<br>＊tunnel destinationで指定された宛先を物理的な宛先に、tunnel sourceとして指定されたアドレスを物理的な送信元としてカプセル化する</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#支社スポークルータの設定
interface Tunnel0
 ip address 10.0.0.2 255.255.255.0 #トンネルIP
 tunnel source 203.0.113.50      #支社物理IP
 tunnel destination 203.0.113.1  #ハブ物理IP
 tunnel protection ipsec profile DMVPN-PROFILE #トンネルにIPsecを紐づける" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#支社スポークルータの設定</span></span>
<span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2"> ip address </span><span style="color: #AE81FF">10.0.0.2</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255.255.0</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">#トンネルIP</span></span>
<span class="line"><span style="color: #F8F8F2"> tunnel source </span><span style="color: #AE81FF">203.0.113.50</span><span style="color: #F8F8F2">      </span><span style="color: #F92672">#支社物理IP</span></span>
<span class="line"><span style="color: #F8F8F2"> tunnel destination </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">  </span><span style="color: #F92672">#ハブ物理IP</span></span>
<span class="line"><span style="color: #F8F8F2"> tunnel protection ipsec profile DMVPN</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">PROFILE </span><span style="color: #F92672">#トンネルにIPsecを紐づける</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．IPsec処理<br></strong><span class="fz-16px">　先ほどの最後のコマンドで<span class="green"><em>tunnel protection ipsec profile DMVPN-PROFILE</em></span>でトンネルがIPsecと紐づいていることが分かる。なので、そのプロファイルに従ったIPsec処理をする</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#支社スポークルータの設定
crypto isakmp key secretKEY address 203.0.113.1 #ハブの物理IP

#IPsecーPhase1の設定
crypto isakmp policy 1
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
 lifetime 86400

#IPsecーPhase2の設定
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
 mode transport

#Profile作成（これをトンネルに割り当てる）
crypto ipsec profile DMVPN-PROFILE
 set transform-set TS" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#支社スポークルータの設定</span></span>
<span class="line"><span style="color: #F8F8F2">crypto isakmp key secretKEY address </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">#ハブの物理IP</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#IPsecーPhase1の設定</span></span>
<span class="line"><span style="color: #F8F8F2">crypto isakmp policy </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> encryption aes </span><span style="color: #AE81FF">256</span></span>
<span class="line"><span style="color: #F8F8F2"> hash sha256</span></span>
<span class="line"><span style="color: #F8F8F2"> authentication pre</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">share</span></span>
<span class="line"><span style="color: #F8F8F2"> group </span><span style="color: #AE81FF">14</span></span>
<span class="line"><span style="color: #F8F8F2"> lifetime </span><span style="color: #AE81FF">86400</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#IPsecーPhase2の設定</span></span>
<span class="line"><span style="color: #F8F8F2">crypto ipsec transform</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">set TS esp</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">aes </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> esp</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">sha256</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">hmac</span></span>
<span class="line"><span style="color: #F8F8F2"> mode transport</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#Profile作成</span><span style="color: #F8F8F2">（これをトンネルに割り当てる）</span></span>
<span class="line"><span style="color: #F8F8F2">crypto ipsec profile DMVPN</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">PROFILE</span></span>
<span class="line"><span style="color: #F8F8F2"> set transform</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">set TS</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．ルーティング<br></strong><span class="fz-16px">　tunnel destinationより物理的な宛先が<span class="green">203.0.113.1</span>であることが分かるので、ルーティングテーブルに従って転送処理をする</span></p>



<p class="wp-block-paragraph"><strong>５．ハブに届く</strong><br><span class="fz-16px">　ハブでもスポークと同様の設定をしておく。<br>＊ハブの場合は、ip nhrp map や　ip nhrp map nhsなどは不要。</span><br><span class="fz-16px">①宛先を確認して本社であることが分かる。<br>②本社へはトンネル経由であることが分かる。</span><br><span class="fz-16px">＊OSPFなどのルーティングプロトコルをトンネル内で動作させておくことで、ハブルータは、「あ、この宛先はこのトンネルインタフェースからもらったから、このトンネルをネクストホップとして流せばよい！」と判断する。結果的に、トンネルに流せばIPsecが適用される</span><span class="fz-16px"><br>③トンネルへ流す<br>④GREカプセル化<br>⑤IPsec処理<br>⑥転送</span></p>



<p class="wp-block-paragraph">以上が、DMVPN phase1の流れである。<br><strong>完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc4">Q.DMVPN Phase1とPhase２の大枠の流れ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph"><strong>▼Phase１におけるルーティングの大枠</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#スポークAからスポークB
【事前準備（通信が発生する前）】
⓪ NHRPパケット（自己紹介）の発行
   ・ルータ起動直後「NHRPの登録要求（Registration）を送るぞ。宛先トンネルIPは 10.0.0.1（nhs）だな」
   ・ルータ「10.0.0.1 宛ての物理IPは…… ip nhrp map を見ると 203.0.113.1（ハブ）だな！」
   ・結果 ➔ ハブに向けて自身の「トンネルIP ↔ 物理IP」のペアを暗号化して通知し、登録を完了させる。


【実際のデータ送信時（スポークA ➔ スポークB）】
① ルーティング（OSPF）処理の発動
   ・ルータ「スポークB配下の PC（10.3.0.88）宛てのパケットが来たぞ」
   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！
   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP 10.0.0.3 だ！
             Tunnel0 インターフェースへ流せ！」

② GRE処理の発動
   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」
   ・参照場所 ➔ tunnel destination 203.0.113.1 を見る！
   ・結果 ➔（ネクストホップが 10.0.0.3 であっても関係なく）設定に従い、
             外側宛先IPを 203.0.113.1（ハブ）に設定してGREカプセル化！

③ IPsec処理（暗号化）の発動
   ・ルータ「203.0.113.200（ハブ）宛てのパケットが出ようとしている。暗号化（IKE交渉）が必要だな！」
   ・参照場所 ➔ crypto isakmp key ... address 203.0.113.1 を見る！
   ・結果 ➔ 203.0.113.1 用の鍵（secretKEY）を使って暗号化トンネルを確立・適用し、ハブへ向けて送信！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#スポークAからスポークB</span></span>
<span class="line"><span style="color: #F8F8F2">【事前準備（通信が発生する前）】</span></span>
<span class="line"><span style="color: #F8F8F2">⓪ NHRPパケット（自己紹介）の発行</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ起動直後「NHRPの登録要求（Registration）を送るぞ。宛先トンネルIPは </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2">（nhs）だな」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「</span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> 宛ての物理IPは…… ip nhrp map を見ると </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">（ハブ）だな！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ ハブに向けて自身の「トンネルIP ↔ 物理IP」のペアを暗号化して通知し、登録を完了させる。</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">【実際のデータ送信時（スポークA ➔ スポークB）】</span></span>
<span class="line"><span style="color: #F8F8F2">① ルーティング（OSPF）処理の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「スポークB配下の PC（</span><span style="color: #AE81FF">10.3.0.88</span><span style="color: #F8F8F2">）宛てのパケットが来たぞ」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> だ！</span></span>
<span class="line"><span style="color: #F8F8F2">             Tunnel0 インターフェースへ流せ！」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">② GRE処理の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ tunnel destination </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔（ネクストホップが </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> であっても関係なく）設定に従い、</span></span>
<span class="line"><span style="color: #F8F8F2">             外側宛先IPを </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">（ハブ）に設定してGREカプセル化！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">③ IPsec処理（暗号化）の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「</span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2">（ハブ）宛てのパケットが出ようとしている。暗号化（IKE交渉）が必要だな！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ crypto isakmp key </span><span style="color: #F92672">...</span><span style="color: #F8F8F2"> address </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> 用の鍵（secretKEY）を使って暗号化トンネルを確立・適用し、ハブへ向けて送信！</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>▼Phase２におけるルーティングの大枠</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#スポークAからスポークBへの通信
① ルーティング（OSPF）処理の発動
   ・ルータ「スポークB配下の PC（10.3.0.88）宛てのパケットが来たぞ」
   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！
   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP 10.0.0.3 だ！
             Tunnel0 インターフェースへ流せ！」

② GRE処理の発動（★ここがフェーズ1と大違い！）
   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」
   ・参照場所 ➔ `tunnel destination` を探す……が無い！（mGREモードだから）
   ・ルータ「よし、【NHRP部署】に問い合わせだ！
             『ネクストホップ 10.0.0.3 に対応する物理IPを教えてくれ！』」

③ NHRP処理の発動（電話帳検索 ＆ 解決要求）
   ・【NHRP部署】「自分のキャッシュ（電話帳）に 10.0.0.3 の物理IPはあるか？」
   
   【パターンA：まだ知らない場合（1発目のパケット）】
   ・NHRP「まだ知らない！とりあえずハブ（10.0.0.1 ➔ 203.0.113.1）に一時的に送っておくぞ！」
   ・NHRP「同時に、ハブへ『10.0.0.3 の物理IPを教えて！』と Resolution Request を送信！」
   ・ハブ「10.0.0.3 の物理IPは 203.0.113.200 だよ！」と回答が届く ➔ キャッシュに保存！

   【パターンB：もう知っている場合（2発目以降のパケット）】
   ・NHRP「キャッシュにあったぞ！10.0.0.3 の物理IPは 203.0.113.200 だ！」

   ・結果 ➔ 外側宛先IPを 203.0.113.200 に設定してGREカプセル化！

④ IPsec処理（暗号化）の発動（★スポーク間ダイレクト！）
   ・ルータ「203.0.113.200（スポークB）宛てのパケットが出ようとしている。暗号化が必要だな！」
   ・参照場所 ➔ `crypto isakmp key ... address 0.0.0.0` を見る！
   ・結果 ➔ スポークB（203.0.113.200）と直接 IKE/IPsec の鍵交換を行い、
             暗号化（ESP化）して直接インターネットへ発射！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#スポークAからスポークBへの通信</span></span>
<span class="line"><span style="color: #F8F8F2">① ルーティング（OSPF）処理の発動</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「スポークB配下の PC（</span><span style="color: #AE81FF">10.3.0.88</span><span style="color: #F8F8F2">）宛てのパケットが来たぞ」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ ルーティングテーブル（OSPF）を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔「ネクストホップ（次の行き先）は、スポークBのトンネルIP </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> だ！</span></span>
<span class="line"><span style="color: #F8F8F2">             Tunnel0 インターフェースへ流せ！」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">② GRE処理の発動（★ここがフェーズ1と大違い！）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「Tunnel0 からパケットを出すぞ。外側の宛先物理IPは何にすればいい？」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ `tunnel </span><span style="color: #F44747">destination`</span><span style="color: #F8F8F2"> を探す……が無い！（mGREモードだから）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「よし、【NHRP部署】に問い合わせだ！</span></span>
<span class="line"><span style="color: #F8F8F2">             『ネクストホップ </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> に対応する物理IPを教えてくれ！』」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">③ NHRP処理の発動（電話帳検索 ＆ 解決要求）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・【NHRP部署】「自分のキャッシュ（電話帳）に </span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPはあるか？」</span></span>
<span class="line"><span style="color: #F8F8F2">   </span></span>
<span class="line"><span style="color: #F8F8F2">   【パターンA：まだ知らない場合（</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">発目のパケット）】</span></span>
<span class="line"><span style="color: #F8F8F2">   ・NHRP「まだ知らない！とりあえずハブ（</span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> ➔ </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2">）に一時的に送っておくぞ！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・NHRP「同時に、ハブへ『</span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPを教えて！』と Resolution Request を送信！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ハブ「</span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPは </span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2"> だよ！」と回答が届く ➔ キャッシュに保存！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">   【パターンB：もう知っている場合（</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">発目以降のパケット）】</span></span>
<span class="line"><span style="color: #F8F8F2">   ・NHRP「キャッシュにあったぞ！</span><span style="color: #AE81FF">10.0.0.3</span><span style="color: #F8F8F2"> の物理IPは </span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2"> だ！」</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ 外側宛先IPを </span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2"> に設定してGREカプセル化！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">④ IPsec処理（暗号化）の発動（★スポーク間ダイレクト！）</span></span>
<span class="line"><span style="color: #F8F8F2">   ・ルータ「</span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2">（スポークB）宛てのパケットが出ようとしている。暗号化が必要だな！」</span></span>
<span class="line"><span style="color: #F8F8F2">   ・参照場所 ➔ `crypto isakmp key </span><span style="color: #F92672">...</span><span style="color: #F8F8F2"> address </span><span style="color: #AE81FF">0.0.0.0`</span><span style="color: #F8F8F2"> を見る！</span></span>
<span class="line"><span style="color: #F8F8F2">   ・結果 ➔ スポークB（</span><span style="color: #AE81FF">203.0.113.200</span><span style="color: #F8F8F2">）と直接 IKE</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">IPsec の鍵交換を行い、</span></span>
<span class="line"><span style="color: #F8F8F2">             暗号化（ESP化）して直接インターネットへ発射！</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc5">Q.NHRPの具体的な挙動&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">NHRP（NextHopResolutionProtocol）について、なんとなく「物理IPとトンネルIPの対応を解決してくれるプロトコル」という理解まではできる人が多い。しかし、実際の挙動をイメージした場合、どうなっているのか説明できる人まではなかなかいない。なので、実際の挙動を見ていこう！NHRPには大きく分けて、登録とリクエストの２つがある。その二つの挙動についてやっていこう！<br><strong>１．Registration<br></strong><span class="fz-16px">・Spoke 起動時：<code>ip nhrp nhs</code> と <code>ip nhrp map</code> を参照し、ハブの物理IPを特定。<br>・パケット：Registration Request（自身の トンネルIP ↔ 物理IP を格納）をハブへ送信。<br>・ハブの動作：NHRP データベースに登録し、Spoke の居場所を把握する。</span><br><strong>２．Resolution</strong><br><span class="fz-16px">① Spoke A ➔ ハブ（リクエスト送信）<br>・Resolution Request（ターゲットのトンネルIP、自身の トンネルIP ＆ 物理IP）を送信。<br>② ハブ ➔ Spoke B（転送）<br>・ハブは中身を書き換えずにそのまま Spoke B へ転送。<br>③ Spoke B（相互学習 ＆ ダイレクト応答）<br>・Spoke B はパケット内の Spoke A の情報（物理IPなど）を NHRP キャッシュに登録（相互学習）。<br>・Spoke A 宛てに直接 IPsec を確立し、暗号化した状態で Resolution Reply（自身の情報）を返答！<br>④ Spoke A（学習完了 ＆ ダイレクト通信確立）<br>・Spoke B からの直接返答を受け取り、NHRP キャッシュに Spoke B の情報を登録。<br>・以後、Spoke A ↔ Spoke B 間でハブを介さない直接通信が開始！</span></p>



<h3 class="wp-block-heading"><span id="toc6"> ▼DMVPN Phase2の流れ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">Phase2も基本的にPhase1と同じ流れ。しかし、わずかに相違点もある。<br>相違点１：スポーク側もハブと同じ<em>tunnel mode gre multipoint</em>をする<br>相違点２：スポーク間で動的にIPsec＋GREトンネルが自動生成される<br>では、そのような相違点に着目しながらPhase2を見ていこう！</p>



<p class="wp-block-paragraph"><strong>０．NHRPでハブへ通知<br></strong><span class="fz-16px">　実際の通信が始まる前に、ルータ起動直後にNHRPを使ってハブルータへ自身の物理IPとトンネルIPアドレスを紐づけさせる（＊ここはPhase１と同じ）</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="interface Tunnel 0
ip address 10.0.0.2 255.255.255.0
ip nhrp network-id 1
ip nhrp nhs 10.0.0.1
ip nhrp map 10.0.0.1 203.0.113.1 

ip nhrp map multicast 203.0.113.1 
ip nhrp holdtime 7200             #ハブに対して自分の情報を何秒保持してと伝える
ip nhrp registration timeout 300　#ハブに登録しに行く秒間隔" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">interface Tunnel </span><span style="color: #AE81FF">0</span></span>
<span class="line"><span style="color: #F8F8F2">ip address </span><span style="color: #AE81FF">10.0.0.2</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">255.255.255.0</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp network</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">id </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp nhs </span><span style="color: #AE81FF">10.0.0.1</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp map </span><span style="color: #AE81FF">10.0.0.1</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> </span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp map multicast </span><span style="color: #AE81FF">203.0.113.1</span><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp holdtime </span><span style="color: #AE81FF">7200</span><span style="color: #F8F8F2">             </span><span style="color: #F92672">#ハブに対して自分の情報を何秒保持してと伝える</span></span>
<span class="line"><span style="color: #F8F8F2">ip nhrp registration timeout </span><span style="color: #AE81FF">300</span><span style="color: #F8F8F2">　</span><span style="color: #F92672">#ハブに登録しに行く秒間隔</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>１．ルーティングの準備<br></strong><span class="fz-16px">　＊Phase２ではSpokeToSpokeを実現したい。しかし、そのまま設定すると、OSPFのルーティングテーブルとNHRPのテーブル情報で不正が生まれてしまう。それを避けるための設定が必要になる。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#ルーティングプロトコル（OSPF）の有効化

router ospf 1
network トンネルIP ワイルドカード area エリアID
network 内部LANIP ワイルドカード area エリアID

#インタフェース設定
interface Tunnel 0
ip ospf priority 0  #DR/BDRにならないようにする
ip ospf network broadcast" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#ルーティングプロトコル</span><span style="color: #F8F8F2">（OSPF）の有効化</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">router ospf </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2">network トンネルIP ワイルドカード area エリアID</span></span>
<span class="line"><span style="color: #F8F8F2">network 内部LANIP ワイルドカード area エリアID</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">#インタフェース設定</span></span>
<span class="line"><span style="color: #F8F8F2">interface Tunnel </span><span style="color: #AE81FF">0</span></span>
<span class="line"><span style="color: #F8F8F2">ip ospf priority </span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2">  </span><span style="color: #F92672">#DR/</span><span style="color: #F8F8F2">BDRにならないようにする</span></span>
<span class="line"><span style="color: #F8F8F2">ip ospf network broadcast</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>？なぜnetworkタイプをbroadcastにするのか</strong><br><span class="fz-16px">phase２ではSpoke-to-Spokeの通信をさせるために、ネクストホップをスポークのままにしてハブは転送しなくてはならない。もし、point-to-multipointにしてしまうと、ハブがネクストホップを上書きしてスポーク間に広告してしまう。そのため、phase2ではbroadcastを設定する。</span><br><strong>？なぜスポークのpriorityを0にするのか</strong><br><span class="fz-16px">broadcastだとDR/BDRの選出が行われる。もし、スポーク側がDR/BDRに選出されてしまい、ハブがDRotherになってしまうと、ハブは224.0.0.6を破棄してしまう。<br>確かにnhrpの設定でハブはマルチキャストを転送する役割がある。しかしそれよりも<span class="blue">優先的</span>にOSPFのDRotherという役割が上書きされるので、224.0.0.6はマルチキャストといえど<span class="blue">DRotherの役割をまっとう</span>して問答無用で破棄する。</span></p>



<p class="wp-block-paragraph"><strong>２．GRE処理<br></strong><span class="fz-16px">トンネルを経由するパケットに関してはGRE over IPsecを適用したいので、GRE処理を追加する</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="interface Tunnel0
tunnel source 自身物理IP
tunnel mode gre multipoint #pahse1の時はtunnel destination ハブの物理IPだった
tunnel protection ipsec profile IPsecプロファイル" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">interface Tunnel0</span></span>
<span class="line"><span style="color: #F8F8F2">tunnel source 自身物理IP</span></span>
<span class="line"><span style="color: #F8F8F2">tunnel mode gre multipoint </span><span style="color: #F92672">#pahse1の時はtunnel</span><span style="color: #F8F8F2"> destination ハブの物理IPだった</span></span>
<span class="line"><span style="color: #F8F8F2">tunnel protection ipsec profile IPsecプロファイル</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px">*<span class="blue"><em>tunnel mode gre multipoint</em></span>はpahse1の時は<span class="blue"><em>tunnel destination ハブの物理IP</em></span>だった。<br></span><strong>？tunnel mode gre multipointは物理IPが分からないけどどうやってカプセル化するの？</strong><br>A.そもそも、tunnel mode gre multipointがnhrpテーブルを使うためのトリガーとなるので、これを見た瞬間に、「あ、multipointが指定されているから、実際の物理IPはnhrpで確認しよう！」となるので心配ご無用！</p>



<p class="wp-block-paragraph"><strong>３．IPsec処理</strong><br><span class="fz-16px">ここまでで、「パケットの宛先がリモートスポークの配下であること判明→そのリモートへは自身のトンネルから流す→自身のトンネルにはGRE処理がある→tunnel mode gre multipointからnhrpで物理IPを知る→判明した物理IPでカプセル化→IPsecの処理もトンネルにはあるのでその処理をする」という流れができている。なので、ここではIPsec処理をやっていく。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#事前共有鍵の定義
crypto isakmp key パスワード address 0.0.0.0 0.0.0.0

#ISAKMP SA(Phase 1)の作成
crypto isakmp policy ポリシー番号
 encryption aes 256
 hash sha256
 authentication pre-share
 group 14
 lifetime 86400
 
#IPsec SA(Phase 2)の作成
crypto ipsec transform-set トランスフォーム名 esp-aes 256 esp-sha256-hmac
 mode transport
 
#IPsecプロファイルの作成
crypto ipsec profile プロファイル名
 set transform-set トランスフォーム名" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#事前共有鍵の定義</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">key</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">address</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#ISAKMP SA(Phase 1)の作成</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">isakmp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">policy</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ポリシー番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">encryption</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">aes</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">hash</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">sha256</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">authentication</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">pre-share</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">group</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">14</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">lifetime</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">86400</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#IPsec SA(Phase 2)の作成</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transform-set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">トランスフォーム名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">esp-aes</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">256</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">esp-sha256-hmac</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">mode</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transport</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#IPsecプロファイルの作成</span></span>
<span class="line"><span style="color: #A6E22E">crypto</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ipsec</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">profile</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロファイル名</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">transform-set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">トランスフォーム名</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．ルーティング<br></strong>カプセル化には相手スポークの物理IPが設定されているので、SpokeToSpokeで直接届かせることができる。<br><strong>完了！！！！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc7">OSPFのネットワークタイプ&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">DMVPNのphase1とphase2ではOSPFのネットワークタイプが重要になってくる。そのため、ここで一度、確認しておこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>ネットワークタイプ</strong></td><td><strong>トポロジのイメージ</strong></td><td><strong>DR/BDR選出</strong></td><td><strong>Hello / Dead タイマー</strong></td><td><strong>主な用途・デフォルトで使われる場所</strong></td><th>その他</th></tr></thead><tbody><tr><td><strong><code>Point-to-Point</code></strong></td><td><strong>1対1</strong></td><td><strong>なし</strong></td><td><strong>10秒 / 40秒</strong></td><td>シリアル線、GREトンネルのデフォルト</td><td></td></tr><tr><td><strong><code>Broadcast</code></strong></td><td><strong>多対多</strong> (LAN)</td><td><strong>あり</strong></td><td><strong>10秒 / 40秒</strong></td><td>イーサネット（LAN）のデフォルト</td><td>ネクストホップをそのままにして転送</td></tr><tr><td><strong><code>Point-to-Multipoint</code></strong></td><td><strong>1対多</strong> (放射状)</td><td><strong>なし</strong></td><td><strong>30秒 / 120秒</strong></td><td>DMVPN (Phase 1) や Frame Relay</td><td>ネクストホップをハブに上書きして転送</td></tr><tr><td><strong><code>Non-Broadcast</code> (NBMA)</strong></td><td><strong>多対多</strong> (レガシー)</td><td><strong>あり</strong></td><td><strong>30秒 / 120秒</strong></td><td>古い Frame Relay / ATM 回線</td><td></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">OSPFにおけるDR＆BDRとは？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">DRとBDRの選出をすることによって、セグメント内のルータがフルメッシュでネイバー関係にならなくてもよくなる。その結果、CPU負荷や帯域の使用率を下げることができる。<br>また、LSAの統合役がいることで、個々のルータによる差異が起きにくくループ発生を防ぎやすくなる。</p>



<h3 class="wp-block-heading"><span id="toc9">▼OSPFのフロー（Down～FULL）&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">前提：<br>・同一セグメントに１０台以上のルータが存在する環境<br>・ネットワークタイプはBroadcast<br><strong><span class="fz-20px">０．Down<br></span></strong><span class="fz-16px">相手からHelloパケットが１度も届いていない状態<br></span><strong><span class="fz-20px">１．Helloパケットの送信（Init）<br></span></strong><span class="fz-16px">ルータを起動すると、まずは<span class="blue">224.0.0.5</span>宛てのマルチキャストを送信する。<br>▼Helloパケットには以下の情報が含まれる</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>パケット内のフィールド</strong></td><td><strong>内容</strong></td><td><strong>ネイバー成立のチェック</strong></td></tr></thead><tbody><tr><td><strong>Router ID</strong></td><td>送信元ルータの ID</td><td>一致するとエラー（重複不可）<br>重複すると、show ip ospf neighborで2way以上には進まない</td></tr><tr><td><strong>Area ID</strong></td><td>所属するエリア番号（例: 0）</td><td><strong>一致が必須</strong></td></tr><tr><td><strong>Network Mask</strong></td><td>送信元インターフェースのサブネットマスク</td><td><strong>一致が必須</strong>（※P2P除く）</td></tr><tr><td><strong>Hello Interval</strong></td><td>Hello を送る間隔（例: 10秒）</td><td><strong>一致が必須</strong><br>不一致だと、show ip ospf で表示すらされない</td></tr><tr><td><strong>Dead Interval</strong></td><td>ネイバー障害とみなす時間（例: 40秒）</td><td><strong>一致が必須</strong><br>不一致だと、show ip ospf で表示すらされない</td></tr><tr><td><strong>Router Priority</strong></td><td>DR/BDR 選出用の優先度（デフォルト 1）</td><td>チェックなし（選出に使用）</td></tr><tr><td><strong>Designated Router (DR)</strong></td><td>現在認識している DR の IP アドレス</td><td>チェックなし（情報共有）</td></tr><tr><td><strong>Backup DR (BDR)</strong></td><td>現在認識している BDR の IP アドレス</td><td>チェックなし（情報共有）</td></tr><tr><td><strong>Neighbor</strong></td><td>自分（送信元）が受信を確認した相手の Router ID リスト</td><td><strong>ここに自分のIDがあれば 2-Way</strong></td></tr><tr><td><strong>Options (E/N bit)</strong></td><td>スタブエリアなどのオプション機能フラグ</td><td><strong>一致が必須</strong></td></tr><tr><td><strong>Authentication</strong></td><td>認証タイプおよびパスワード等</td><td><strong>一致が必須</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="fz-20px"><strong>２．２WAY</strong><br></span><span class="fz-16px">同一セグメントからのHelloパケットのNeighborフィールドに自身のルータIDが記載されている場合、相互認識完了。<br>ここで、<span class="blue">DR</span>と<span class="blue">BDR</span>を選出する</span><br><span class="fz-16px">DRとBDRが決まったので、以降の通信はマルチキャストではなく<span class="blue">ユニキャスト</span>で実行される<br><strong>▼選出基準<br></strong>①プライオリティ（デフォルトは１）が１番大きいルータがDRに、２番目がBDRになる<br>②①が同一の場合はルータIDで決める<br>＊ルータIDは重複が禁止なのでこの２ステップで確実に決まる</span><br><span class="fz-20px"><strong>３．EXstrat</strong><br></span><span class="fz-16px"><span class="blue">マスター</span>と<span class="blue">スレーブ</span>を決める。<br>▼選出方法<br>①DBDパケット（ルータID、MTU、制御フラグ、シーケンス番号が格納）を送信する<br>＊MTUが不一致だと<span class="blue"><em>show ip ospf neighbor</em></span> 時にExstartで止まる<br>②ルータIDを比較し、大きなほうがマスターになる。</span><br><span class="fz-16px">③スレーブはシーケンス番号をマスターに合わせる<br>▼詳細</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="[ ルータ A (RID: 1.1.1.1) ]                       [ ルータ B (RID: 2.2.2.2) ]

 1) 「僕がマスターだ！(MS=1)」 ── (ユニキャスト) ──&gt;  「僕がマスターだ！(MS=1)」
    (RID: 1.1.1.1, Seq: 100)                         (RID: 2.2.2.2, Seq: 500)
                              &lt;── (ユニキャスト) ──

 2)  ルータ A は「相手（2.2.2.2）の方が RID が大きい！」と気づき、スレーブ（Slave）を認める。
     ルータ B は「自分（2.2.2.2）の方が RID が大きい！」と確信し、マスター（Master）になる。

 3) スレーブ（ルータ A）が折れて、相手の Seq: 500 を使って返事をする：
    「了解、君がマスターね。(MS=0)」 ───&gt;  「よし、じゃあ僕（マスター）から目録を送るね！」
    (Seq: 500 で返信)                         (ここから Exchange ステートへ移行！)
    
    
 #制御フラグ
 M(More)ビット：１→まだ続きがあるよ。１回でLSA目次が入りきらなかったら使う
 MS(Master/Slave)ビット：１→俺がマスターだよ！
 I(Init)ビット：１→これが最初のDBDだよ！つまりExstartを意味する
 " style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[ ルータ A (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1.1.1</span><span style="color: #F8F8F2">) ]                       [ ルータ B (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F8F8F2">) ]</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F44747">)</span><span style="color: #F8F8F2"> 「僕がマスターだ！(MS</span><span style="color: #F92672">=</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">)」 ── (ユニキャスト) ──</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  「僕がマスターだ！(MS</span><span style="color: #F92672">=</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">)」</span></span>
<span class="line"><span style="color: #F8F8F2">    (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1.1.1</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">100</span><span style="color: #F8F8F2">)                         (RID</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">500</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">                              </span><span style="color: #F92672">&lt;</span><span style="color: #F8F8F2">── (ユニキャスト) ──</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2</span><span style="color: #F44747">)</span><span style="color: #F8F8F2">  ルータ A は「相手（</span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F8F8F2">）の方が RID が大きい！」と気づき、スレーブ（Slave）を認める。</span></span>
<span class="line"><span style="color: #F8F8F2">     ルータ B は「自分（</span><span style="color: #AE81FF">2.2.2.2</span><span style="color: #F8F8F2">）の方が RID が大きい！」と確信し、マスター（Master）になる。</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">3</span><span style="color: #F44747">)</span><span style="color: #F8F8F2"> スレーブ（ルータ A）が折れて、相手の Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">500</span><span style="color: #F8F8F2"> を使って返事をする：</span></span>
<span class="line"><span style="color: #F8F8F2">    「了解、君がマスターね。(MS</span><span style="color: #F92672">=</span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2">)」 ───</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2">  「よし、じゃあ僕（マスター）から目録を送るね！」</span></span>
<span class="line"><span style="color: #F8F8F2">    (Seq</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">500</span><span style="color: #F8F8F2"> で返信)                         (ここから Exchange ステートへ移行！)</span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #F92672">#制御フラグ</span></span>
<span class="line"><span style="color: #F8F8F2"> M(More)ビット：</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">→まだ続きがあるよ。</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">回でLSA目次が入りきらなかったら使う</span></span>
<span class="line"><span style="color: #F8F8F2"> MS(Master</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">Slave)ビット：</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">→俺がマスターだよ！</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">I</span><span style="color: #F8F8F2">(Init)ビット：</span><span style="color: #AE81FF">１</span><span style="color: #F8F8F2">→これが最初のDBDだよ！つまりExstartを意味する</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-20px"><strong>４．Exchange</strong><br></span><span class="fz-16px">お互いの<span class="blue">LSDB情報を同期</span>するためのフェーズがExchange。お互いのLSAの差分の有無によって挙動が変わる。<br></span><strong><span class="fz-16px">▼Exchange詳細フロー</span><br></strong><span class="fz-16px">①マスターがDBDにLSAの概要を載せてスレーブへ送信する<br>②スレーブも、マスターへDBDにLSAの概要を載せて送信する<br>③Mビットが０になるまでお互い交互にDBDを送り合う<br>＊Mビット：１がまだ続きがあるよ！の意。０がLSAの目次送り切りましたよ！と伝えるフラグ<br>送り合っている最中も自分のLSDBと相手のDBDを見比べて差分をLSRリスト（後で要求するLSAのリスト）を作成しておく。<br>→Mビットが０になった時点で差分がない場合はLoadingをスキップしてFULLへ<br>→Mビットが０になった時点で差分がある場合はLoadingへ<br></span><span class="fz-20px"><strong>５．Loading</strong><br></span><span class="fz-16px">LSRリストをもとに欲しい情報を取得してLSDBを完成させるというプロセスを担うのがLoading。基本的にはLSR→LSU→LSAckという流れで進んでいく。では、詳細を見ていこう！<br><strong>▼Loading詳細フロー<br>①LSR(LinkStateReques)の送信<br></strong>Exchangeステートで準備しておいたLSRリストをもとに、「このLSAの詳細をください」と請求するLSRパケットを送信する</span><br><span class="fz-16px"><strong>②LSU(LinkStateUpdate)の送信<br></strong>LSRを受信した相手は、請求されたLSAの詳細データを詰め込んだLSUパケットを返す。<br>（１つのLSUに複数のLSA詳細データをまとめて送れる）<br><strong>③LSAck(LinkStateAcknowledgment)<br></strong>LSUを受け取ったら自身のLSDBに保存する。保存が完了したら「LSUを受け取ったよ！」という確認メッセージであるLSAckパケットを返す。<br><strong>④LSRリストが空になったらFULLへ移行</strong><br>LSRリスト内のLSAをすべて受け取り、手元のLSRリストが完全に０件になったらFullへ移行</span><br><span class="fz-20px"><strong>６．FULL</strong><br></span><span class="fz-16px">・FULLになったら、あとはタイマーに従ってHelloパケットを送信し合う。<br>FULLになった後に経路の追加、削除が検知されると、検知したルータがLSUをDR/BDRにマルチキャスト(224.0.0.6)送信する。それをDR/BDRがマルチキャスト(224.0.0.5)して全体に広がる。<br>▼経路削除<br>当該LSAを「シーケンスを＋１にする＆Maxageを3600」にしてLSUを送る。</span><br><span class="fz-16px">＊MaxageはLSAを保持する期間。これが切れると削除されるので、3600でLSUを送ると自動的に相手側から削除される<br></span><span class="fz-16px">▼経路追加<br>通常のLSUを送る流れでパケット送信する</span></p>



<p class="wp-block-paragraph">以上がOSPFのフロー説明である。<br><strong>完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc10">DMVPN Phase3&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">phase2まででSpokeToSpokeが完了した。しかし、これには弱点がある。各スポークがほかのスポーク配下の情報をすべて保持していなければならず、ルーティングテーブルが莫大になってしまい大規模環境には向いていないとされている。それを解消できるのがphase3である。</p>



<h3 class="wp-block-heading"><span id="toc11">phase2はなぜ大規模に向かないのか?&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">phase２では各スポークが、ほかのスポーク配下のルート情報をすべて保持する必要がある。そのため大規模環境には向かないとされている。でも、経路集約を使えば解決できるのでは？と疑問が浮かぶ。しかし、そこにはいくつもの壁（厳格なルール）がある。それを見ていこう！<br><strong>①エリア内ルータは経路集約できないというルールがある</strong><br><span class="fz-16px">大抵の場合、ハブと各スポークは同一エリアのエリア０で動作している。OSPFのルールでは経路集約ができるのはABRとASBRとなっているため、スポーク側のエリア内ルータでは集約ができないという制限がある。<br></span><strong>②スポーク側で経路集約してもそもそも効果が薄い</strong><br><span class="fz-16px">エリアを分割すれば、スポーク側で経路集約ができるという考えもある。しかし、そもそも拠点が1000以上である場合、少なくとも1000のルーティング情報は保持しなければならいため、スポーク側で集約してもさほど効果がないというそもそも論が生まれる。<br></span><strong>③ハブがデフォルトルート流すとネクストホップが変わる</strong><br><span class="fz-16px">ハブが<span class="blue">デフォルトルート</span>を流せば、全スポークの経路を１行で抑えることができる。これをやるとルーティングテーブルは抑えることができるが、そもそもすべての通信がハブ経由になるのでSpokeToSpokeが破綻する。</span></p>



<p class="wp-block-paragraph"><strong>インターネット用のデフォルトルートとDMVPN用のデフォルトルートは重複しないの？<br>①パターン１<br></strong><span class="fz-16px">インターネット宛先もDMVPNもすべてハブへ流す構成にする。届いた後に、ハブ側がDMVPNかインターネットかを判断してルーティングさせれば、重複していても問題ない。<br></span><strong>②パターン2<br></strong><span class="fz-16px">社内LANの集約ルートを使う。実際の現場では、0.0.0.0ではなく10.0.0.0/8や192.168.0.0/16として社内全体をまとめた大きな集約ルートを流す。</span></p>



<h3 class="wp-block-heading"><span id="toc12">なぜPhase3はPhase2よりもすぐれているのか？&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<p class="wp-block-paragraph">ShortCutとRedirectと呼ばれる新機能追加により、スポーク側に動的なルート生成を可能としているから。どういうことなのか、簡単に見ていこう！<br><strong>①ハブが社内集約ルートを配る<br></strong><span class="fz-16px">＊これにより、スポークには、ほかのスポークのトンネルIPも内部LAN情報を届かなくなる</span><br><span class="fz-16px">＊社内集約ルート（10.0.0.0/8や192.168.0.0/16など）を流すのではなく、インターネットもハブを経由させたいという場合はそのまま0.0.0.0のデフォルトルートを流すこともある。<br></span><strong>②スポークAがスポークBへ</strong><br><span class="fz-16px">DNSなどの名前解決により、社内LANのIPアドレスが割り当てられたサーバへアクセスしたいと考える。しかし、ネクストホップが分からないので、社内サマリーを持つハブへ丸投げする<br></span><strong>③ハブのRedirect指令！</strong><br>・<span class="fz-16px">ハブは、トンネルから受け取ったパケットをトンネルから流すルーティングであることが判明すると送信元に対して「次からこの通信は俺を経由せず、直接行ってね（<span class="blue">NHRP Redirect</span>)」と指令を出す。</span><br>・<span class="fz-16px">パケット自体は宛先のスポークBへ転送してあげる。<br></span><strong>④スポークAがスポークBにNHRP Resolution Request</strong><br><span class="fz-16px">スポークAはハブから「直接やりなさい」と命令されたら、「よし、じゃあNHRP Resolution Requestを送ろう。ターゲットIPはサーバのプライベートIPとして送ろう」とハブに送り、ハブはOSPFやNHRP情報からスポークBへ転送する。<br></span><strong>⑤スポークBがスポークAへNHRP Resolution Reqlyを返す</strong><br>パターン１：<span class="fz-16px">スポークBはNHRP Requestの送信元を確認し、自身のトンネルIP、物理IP、配下のサブネット情報(192.168.2.0/24 など)などを格納し、スポークAへ直接NHRP Responseを返す。</span><br>パターン２：<span class="fz-16px">パケットの応答を返す際にスポークBも宛先を知らないためデフォルトルートのハブに流すが、ハブからはNHRP Redirectが来るのでスポークBもNHRP Resolution Requestを送りスポークAの物理IP、トンネルIP、サブネット情報などを得る</span><br><span class="fz-16px">※なお、この間に発生するサーバーからの1回目のデータ応答パケットもハブ経由で送られ、ハブからスポークB側にも Redirect が発行される。<br></span><strong>⑥スポーク間でIPsecトンネルを確立</strong><br>・手順⑤によってIPsecトンネルが確立するので、あとの通信はSpokeToSpokeでやり取りをする。<br>・同時にShortCut機能により、各スポークのテーブルに、動的に物理IPとトンネルIPとリモートスポーク配下のサブネットが登録される。→これにより以降はSpokeToSpokeでやり取りできる。</p>



<p class="wp-block-paragraph"><strong>これで大まかな流れは完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc13">DMVPN Phase3でハブはどうやってOSPFの設定をしているの？</span></h3>



<p class="wp-block-paragraph">phase3の勉強をしていると、ハブがサマリールートやデフォルトルートを流し、通信の１step目は必ずハブを通るようにしている。でも、OSPFの設定を間違っていると、そもそも、あるスポークの情報をそのまま別のスポークに流してしまうということもある。なので、ここではハブはどうやってphase3の経路制御をしているのかをコマンドとともに見ていこう！<br><strong><br>解決策：Totally Stubby Area</strong><br><span class="fz-16px">１．ハブとスポークでエリアを分割する<br>２．ハブに<span class="blue"><span class="fz-16px"><span class="blue">area 1 stub no-summary</span></span></span>を実施<br>→タイプ３～５がデフォルトルートに変換される。つまり同一エリアの情報しか渡されない。<br>３．スポークに<span class="blue">area 1 stub</span>を設定する</span><br><span class="fz-16px">→タイプ4～5を受け取らない設定</span><br><span class="fz-16px">＊まぁ正直、スポーク側でもno summaryを設定しても正常に動作する。</span><br><span class="fz-16px">しかし、Cisco以外のメーカーではABRでもないのにno summaryが設定されているとはじかれたりしてしまうので、<span class="blue">KISS</span>(Keep is Simple,Stupid：シンプルにしておけ)の原則に則って設定する。</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#ハブ
router ospf 1
 router-id 1.1.1.1
 
#本社内部LAN側は Area 0
 network 172.16.0.0 0.0.255.255 area 0
 
 #DMVPN トンネル側（Tunnel0）は Area 1 に設定
 network 10.0.0.0 0.0.255.255 area 1
 
 #★ここが核心コマンド！
 #Area 1 を「Totally Stubby Area」に指定する
 area 1 stub no-summary" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#ハブ</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">router-id</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1.1</span><span style="color: #E6DB74">.1.1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#本社内部LAN側は Area 0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">172.16</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#DMVPN トンネル側（Tunnel0）は Area 1 に設定</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#★ここが核心コマンド！</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #88846F">#Area 1 を「Totally Stubby Area」に指定する</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">stub</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">no-summary</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="#スポーク
router ospf 1
 router-id 2.2.2.2
 
#DMVPN トンネル側および配下LANを Area 1 に設定
network 10.0.0.0 0.0.255.255 area 1
network 192.168.2.0 0.0.0.255 area 1
 
#★スポーク側は「no-summary」なしの「stub」のみでOK
area 1 stub" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#スポーク</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">router-id</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2.2</span><span style="color: #E6DB74">.2.2</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#DMVPN トンネル側および配下LANを Area 1 に設定</span></span>
<span class="line"><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">10.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.255.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.168</span><span style="color: #E6DB74">.2.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.255</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #88846F">#★スポーク側は「no-summary」なしの「stub」のみでOK</span></span>
<span class="line"><span style="color: #A6E22E">area</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">stub</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>こんな感じでいったん完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc14">p.4 OSPFでデフォルトルートを配布するには&#8212;&#8212;&#8212;&#8212;&#8212;-</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="920" height="88" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-2.png" alt="" class="wp-image-7916" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-2.png 920w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-2-300x29.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-2-768x73.png 768w" sizes="(max-width: 920px) 100vw, 920px" /></figure>



<p class="wp-block-paragraph">デフォルトルートの配布とはいったい何なのだろうか。。。前提としてOSPFではインタフェース単位でOSPFに参加する。しかし、デフォルトルートはどのインタフェースにも属していないため、明示的に配布する必要がある。その旨を表現しているのが、本文中の「デフォルトルートの配布」である。<br>▼デフォルトルートの配布方法</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="ip route 0.0.0.0 0.0.0.0 出力先

router ospf プロセス番号
 default-information originate" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">出力先</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ospf</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">プロセス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">default-information</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">originate</span></span></code></pre></div>



<p class="wp-block-paragraph">▼そのほかのプロトコルでのデフォルトルートの流し方</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="▼BGP
router bgp AS番号
neighbor ネイバーIP default-originate

▼BGP（スタティックで準備しておく）
ip route 0.0.0.0 0.0.0.0 Null0

router bgp AS番号
 network 0.0.0.0 mask 0.0.0.0

▼EIGRP
int G0/0
 ip summary-address eigrp AS番号 0.0.0.0 0.0.0.0
 
▼EIGRP（スタティックで準備しておく）
ip route 0.0.0.0 0.0.0.0 Null0

router eigrp AS番号
　redistribute static" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">▼BGP</span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">default-originate</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼BGP（スタティックで準備しておく）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Null0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">network</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">mask</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">▼EIGRP</span></span>
<span class="line"><span style="color: #A6E22E">int</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">G0/0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">summary-address</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">▼EIGRP（スタティックで準備しておく）</span></span>
<span class="line"><span style="color: #A6E22E">ip</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0.0</span><span style="color: #E6DB74">.0.0</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">Null0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">eigrp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #A6E22E">　redistribute</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">static</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>こんな感じでいったん完了！！！</strong></p>



<h3 class="wp-block-heading"><span id="toc15">p.5 BGPで認証はどうやってやるの？&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="929" height="111" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-3.png" alt="" class="wp-image-7919" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-3.png 929w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-3-300x36.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-3-768x92.png 768w" sizes="(max-width: 929px) 100vw, 929px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="router bgp AS番号
 neighbor ネイバーIP password パスワード
 
 
以上！これでネイバーと一致すれば認証が完了する" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">password</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">パスワード</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">以上！これでネイバーと一致すれば認証が完了する</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>こんな感じで完了！！</strong></p>



<h3 class="wp-block-heading"><span id="toc16">p.5 AS-PATHプリペンドの設定方法</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="941" height="138" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-4.png" alt="" class="wp-image-7920" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-4.png 941w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-4-300x44.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-4-768x113.png 768w" sizes="(max-width: 941px) 100vw, 941px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="route map マップ名 permit シーケンス番号
 set as-path prepend 自分のAS番号 自分のAS番号
 
router bgp AS番号
 neighbor ネイバーIP route-map マップ名 out" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">route</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">as-path</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prepend</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">out</span></span></code></pre></div>



<p class="wp-block-paragraph">こんな感じで完了！</p>



<h3 class="wp-block-heading"><span id="toc17">p.5 経路フィルタリングのやり方</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="942" height="245" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-6.png" alt="" class="wp-image-7924" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-6.png 942w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-6-300x78.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-6-768x200.png 768w" sizes="(max-width: 942px) 100vw, 942px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">ShellScript</span><span role="button" tabindex="0" data-code="route map マップ名 permit シーケンス番号
 set as-path prepend 自分のAS番号 自分のAS番号
 
router bgp AS番号
 neighbor ネイバーIP route-map マップ名 out" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #A6E22E">route</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">permit</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">シーケンス番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #66D9EF">set</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">as-path</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">prepend</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">自分のAS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span></span>
<span class="line"><span style="color: #A6E22E">router</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">bgp</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">AS番号</span></span>
<span class="line"><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">neighbor</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">ネイバーIP</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">route-map</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">マップ名</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">out</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong><br></strong><br><br><strong><br></strong></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br><br></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br><span class="marker-red"><span class="fz-20px"><br></span></span></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><strong><br></strong>　</p>



<p class="wp-block-paragraph"><br><br></p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red"><br></span></span></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅱ　問２　解答解説</title>
		<link>https://ascend-beyond.com/study/7878/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 06:38:49 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7878</guid>

					<description><![CDATA[設問１a:消費　b:非セルラー　c:セルラー　d:ISM　e:干渉　f:3GPPa:消費　空欄の前にあるLPWA（LowPowerWideArea）の説明としての穴埋め問題。LPWAとは「省電力（LowPower）」で「 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="fz-20px"><span class="marker"><strong><span style="text-decoration: underline;">a:消費　b:非セルラー　c:セルラー　d:ISM　e:干渉　f:3GPP</span></strong></span><br></span><strong><span style="text-decoration: underline;">a:消費<br></span></strong>　空欄の前にあるLPWA（LowPowerWideArea）の説明としての穴埋め問題。LPWAとは「省電力（LowPower）」で「遠域・広範囲まで届く（WideArea）」という特徴を持つ無線通信技術の総称。ここから、空欄aには低消費電力であることが分かる。</p>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;">b:非セルラー<br>c:セルラー</span></strong><br><strong><span style="text-decoration: underline;">d:ISM<br>e:干渉</span><br></strong>　LPWAにはセルラーと非セルラーがある。<br>セルラーは国から許可を得た（＝免許がある）事業者が運用するLPWAのこと。一方、非セルラーは免許がなくても運用できるLPWAのこと。ほかにもいろいろな違いがあるので見ていこう！<br><strong>▼セルラーと非セルラー</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>セルラー系（LTE-M, NB-IoTなど）</strong></td><td><strong>非セルラー系（LoRaWAN, Sigfoxなど）</strong></td></tr></thead><tbody><tr><td><strong>代表的な規格</strong></td><td><strong>LTE-M</strong> (Cat.M1), <strong>NB-IoT</strong> (Cat.NB1)</td><td><strong>LoRaWAN</strong>, <strong>Sigfox</strong></td></tr><tr><td><strong>通信インフラ</strong></td><td>大手携帯キャリアの基地局・通信網を利用</td><td>自社・自治体・個人などで独自に基地局を設置</td></tr><tr><td><strong>電波の利用ルール</strong></td><td><strong>ライセンス帯</strong>（国からの許可・免許が必要）</td><td><strong>アンライセンス帯（<span class="blue">ISM</span>バンド）</strong>（免許不要）</td></tr><tr><td><strong>周波数帯</strong></td><td>プラチナバンド（700M〜900MHz帯）や1.7G〜2GHz帯など</td><td><strong>Sub-GHz帯（920MHz帯）</strong> など</td></tr><tr><td><strong><span class="blue">電波干渉</span>リスク</strong></td><td><strong>非常に低い</strong>（キャリアが独占して利用するため）</td><td><strong>ややある</strong>（同じ周波数を誰でも使えるため）</td></tr><tr><td><strong><span class="blue">SIM</span>カード</strong></td><td><strong>必要</strong>（通信事業者との契約が必要）</td><td><strong>不要</strong>（機器固有ID等で認識）</td></tr><tr><td><strong>エリア展開</strong></td><td>契約すれば<strong>全国どこでもすぐ繋がる</strong></td><td>基地局が届くエリアのみ（未開拓地は自前設置が必要）</td></tr><tr><td><strong>コスト構造</strong></td><td>初期費用（アンテナ代）は不要。<br><strong>毎月の通信料（基本料金）が発生</strong>する</td><td>自前で基地局を建てる初期費用が発生。<br><strong>月額の通信料はゼロ〜格安</strong></td></tr><tr><td><strong>消費電力</strong></td><td>スマホより劇的に低いが、非セルラーよりはやや大きい</td><td><strong>極限まで低い</strong>（乾電池で10年近く動作）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">以上の表より、bには非セルラーが、cにはセルラーが、dにはISM、eには干渉が入る。</p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><strong>f:3GPP</strong><br></span>　3GPPは3rd Generation Partnership Project（第3世代パートナーシッププロジェクト）の略。３GPPとは携帯キャリアが使う通信規格をすべて取り仕切っている世界規模の標準化プロジェクト。<br>昔は、日本の携帯を海外に持って行っても使用できなかった。それは日本と他国が違う方式で通信を運用していたから。しかし、３GPPが発足したことにより世界標準の取り決めができたため、どこの国に行っても通信を維持できるようになった。<br>LPWAの分野で３GPPがでてきたが、LPWAの独自ワードというよりも携帯通信全般（3G,4G,5Gなどなど）の標準化を実施しているのが３GPPという解釈で進んでいこう！</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">g:2　h:Gメーター管理サーバ　i:SIM　j:372　k:RESTful</span></span></strong></span><br><strong><span class="fz-20px"><span style="text-decoration: underline;">g:2</span></span></strong><br>　まずそもそも、IKEv2の目的はESPで共通鍵を交換する際の安全な土台を作ること。具体的には、相手の正当性の確認と共通鍵の生成がミッションとしてある。そのうえで、そのやり取りを何メッセージでやれるかということを考える。<br>　IKEv１では６メッセージ使っていた（アグレッシブモード）。しかし、IKEv2では４メッセージで終わる。そのからくりはTLS1.2からTLS1.3への進化と非常に酷似している。では、流れを見ていこう！<br>▼IKEv2のメッセージ<br><strong>１．IKE_SA_INIT　Request（クライアント→サーバ）<br></strong><span class="fz-16px">　クライアントはサーバに以下を送付する<br>a 暗号化方式の提案（AESやSHAとか）<br>b 暗号化方式に付随する公開鍵<br>c 暗号化方式に付随する鍵生成のための材料（ノンス）</span><br><strong>２．IKE_SA_INIT　Response（サーバ→クライアント）<br></strong><span class="fz-16px">　サーバは以下の情報をクライアントに返す<br>d 暗号化方式の決定<br>e 暗号化方式に付随する公開鍵<br>f 暗号化方式に付随する鍵生成のための材料</span><br>＊<span class="fz-16px">この時点でサーバは<strong><span style="text-decoration: underline;">共通鍵の生成</span></strong>に成功している！<br></span><strong>３．IKE_AUTH　Request（クライアント→サーバ）<br></strong><span class="fz-16px">決定された方式で<strong><span style="text-decoration: underline;">共通鍵を生成</span></strong>する。これ以降、送付するすべてのデータはこのカギによって暗号化される</span><br><span class="fz-16px">　クライアントは以下の情報をサーバに返す<br>g 暗号化したID（IPアドレス、証明書など）<br>h 暗号化した認証データ（ハッシュ値など）</span><br><span class="fz-16px">i 暗号化した<span class="blue">IPsec SAの提案</span></span><br><span class="fz-16px">＊IKEなのにIPsec SA(ESPの定義）とかをやるの？と思うが、IKEv2ではESPもまとめてやっちゃおうよ！という思想のもとわずか４メッセージの中でIKE～ESPまで実行する<br></span><strong>４．IKE_AUTH　Response（サーバ→クライアント）<br></strong><span class="fz-16px">共通鍵を使ってIDを復号し相手の正当性を確かめる</span><br><span class="fz-16px">　サーバは以下の情報をクライアントに返す<br>j 暗号化したID<br>k 暗号化した認証データ<br>l IPsec SAの決定</span><br>以上が大まかな流れ。また、ここからわかる通り２往復で処理していることが分かるので答えには２が入る。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">k:RESTful</span></span></strong><br>　CoAPはWebシステムにおけるAPIシステムである<strong>RESTful</strong>APIアーキテクチャを採用している。RESTやRestAPIなどと呼ばれることもある。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問３</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）l:トランスポート　m:順不同　n:重複　o:同期　p:バックオフ</span></span></strong></span></p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">m:順不同　n:重複</span></span></strong><br>　順不同の意味は「順番がそろっておらずバラバラである状態」のこと。また、ｍ、ｎには様々な用語を入れられそうだが、同じ段落中に「CoAPではメッセージIDを利用することによってこれらのエラーに対処する」旨の記述があるので、メッセージIDで解決できる事象に紐づかなくてはならない。<br>メッセージIDでできるのは順番制御、重複検知なので、それを素直に書けばよい。<br>おまけで３大パケットトラブルを見ていこう！<br>▼３大パケットトラブル</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="1. 消失（パケットが消える）       ─── Loss
2. 重複（同じパケットが2個届く）   ─── Duplication
3. 順不同（順番が入れ替わって届く） ─── Reordering" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #AE81FF">1.</span><span style="color: #F8F8F2"> 消失（パケットが消える）       ─── Loss</span></span>
<span class="line"><span style="color: #AE81FF">2.</span><span style="color: #F8F8F2"> 重複（同じパケットが2個届く）   ─── Duplication</span></span>
<span class="line"><span style="color: #AE81FF">3.</span><span style="color: #F8F8F2"> 順不同（順番が入れ替わって届く） ─── Reordering</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p:バックオフ</span></span></strong><br>　バックオフとは、直訳すると引き下がる、遠慮するという意味。通信の世界におけるバックオフとは、「パケットが届かなかった時にすぐに再送するのではなく、待ち時間を少しずつ伸ばして遠慮しながら再送する仕組み」のこと。<br>で、指数バックオフとは、遠慮する感覚を指数関数的に広げていくこと。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="・1回目の再送待ち： 2秒間 待って再送する
・2回目の再送待ち： 4秒間（2倍）待って再送する
・3回目の再送待ち： 8秒間（さらに2倍）待って再送する
・4回目の再送待ち： 16秒間（さらに2倍）待って再送する" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">・</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">回目の再送待ち： </span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">秒間 待って再送する</span></span>
<span class="line"><span style="color: #F8F8F2">・</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">回目の再送待ち： </span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">秒間（</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">倍）待って再送する</span></span>
<span class="line"><span style="color: #F8F8F2">・</span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">回目の再送待ち： </span><span style="color: #AE81FF">8</span><span style="color: #F8F8F2">秒間（さらに2倍）待って再送する</span></span>
<span class="line"><span style="color: #F8F8F2">・</span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">回目の再送待ち： </span><span style="color: #AE81FF">16</span><span style="color: #F8F8F2">秒間（さらに2倍）待って再送する</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>Q.なぜ指数バックオフが必要なの？</strong><br>　再送が起きる多くの原因はネットワークの混雑であることが多い。そのような状況の中で１秒ごとに再送していると、さらに帯域が圧迫されてしまい、どんどん状況が悪化する。そのような状況を避けるために、待ち時間を長くしていき、遠慮しながら送信すれば帯域に負荷を最小限に抑えつつ再送もできるようになるという仕組み</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）メッセージ：viii　理由：トークン値が一致するから　</span></span></strong></span></span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="856" height="538" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image-1.jpg" alt="" class="wp-image-7897" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image-1.jpg 856w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-300x189.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-1-768x483.jpg 768w" sizes="(max-width: 856px) 100vw, 856px" /></figure>



<p class="wp-block-paragraph">まず、前提としてCoAPのACKはリクエストと同一のメッセージIDを使ってACKを返す。そのことより、(iv)では[0xbc90]をメッセージIDとしている。これと同一のメッセージIDを持つものは(i)である。そして、(i)のトークンは0x71である。そのトークンを持っているのは、(viii)である。以上より、(viii)は<span class="bold">トークンの値が同一</span>だから(i)の応答であると判断できる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（６）判断できること：(i)の送信元が偽装されていないこと　</span></span></strong></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">対応：(iv)を送信せずハンドシェイクを終了する</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="425" height="287" src="https://ascend-beyond.com/wp-content/uploads/2026/08/image.png" alt="" class="wp-image-7898" srcset="https://ascend-beyond.com/wp-content/uploads/2026/08/image.png 425w, https://ascend-beyond.com/wp-content/uploads/2026/08/image-300x203.png 300w" sizes="(max-width: 425px) 100vw, 425px" /></figure>



<p class="wp-block-paragraph">DTLSはUDP上で動作するTLSのようなもの。通常、TLSはTCP上で動作する。TCPでは既に３ウェイハンドシェークによって相手の正当性は確認できるのでTLSにわざわざ相手の正当性確認を組み込まない。しかし、UDPでは簡単に送信元を偽装できてしまうためDTLS上で相手の正当性を保証する仕組みが必要になる。それがcookieだ。cookieは相手の送信元IPなどをベースに作成されるため、本来の送信元と違うと不正な相手であると簡単に判断できる。<br>つまり、cookieがあると判断できることは、「送信元が偽装されていないこと」であり、もし、偽装されたと判断すると「ハンドシェイクを中断する」という挙動になる。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問4</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">(1) Gメーター管理サーバやネットワークへの負荷の集中を避けられる</span></span></strong></span><br>数万台のIoTデバイスが同時にGメーター管理サーバへ接続すると、Gメーター管理サーバーは、一瞬で数万同時接続を処理する必要がある。どんなにIoTデバイスのパケットサイズが小さかろうが、接続処理数が多いとその分だけ接続処理のためのCPUが消費されるため大きな負荷がかかってしまう。そのため、ランダム時間によって分散させる必要がある。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">(３) TCPコネクション確立とコネクション切断の処理が行われるから</span></span></strong></span><br>ここでは、HTTPとCoAPの違いによるHTTPのデメリットを聞かれている。前提としてHTTPはTCP上で動作し、CoAPはUDP上で動作する。そのため、HTTPだとセッションが切れると再度３ウェイハンドシェイクをしたりする必要があるため、必然的にパケット数が増える。一方、CoAPはUDPであるため必要な時に必要なやり取りだけを実施すればよい。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red"><strong>p.15 Q.そもそもLPガスって何？</strong><br></span></span></span>LPガス（Liquefied Petroleum Gas：液化石油ガス）とは、一般的にプロパンガスと呼ばれる。道路の下のガス管から直接供給される「<span class="blue">都市ガス</span>」とは違い、ボンベを使う。<br>郊外の一戸建てやマンションの裏手にあるグレーのボンベがLPガス。LPガスはボンベ内のガスを使うため、「いつ、どのくらい使われたか」を把握する必要がある。<br>一昔前まではガス会社の社員がガスメータを目視で確認していたが、現在ではIoTによってわざわざ出向かなくてもいい構成になりつつある。</p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker-red"><strong><span style="text-decoration: underline;">p.15　LPWAとは</span></strong><br></span></span>LPWA（LowPowerWideArea）とは「省電力（LowPower）」で「遠域・広範囲まで届く（WideArea）」という特徴を持つ無線通信技術の総称。<br>無線通信技術にはWi-FiやLTEなどがある。では、それらと何が違うのか、表を見て理解しよう！<br><strong>▼LPWAとLTEとWi-Fiの違い</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>通信の種類</strong></td><td><strong>届く距離</strong></td><td><strong>電池の持ち</strong></td><td><strong>送れるデータの量（通信速度）</strong></td><td><strong>主な用途</strong></td></tr></thead><tbody><tr><td><strong>Wi-Fi</strong></td><td>短い（家の中くらい）</td><td>悪い（コンセント必須）</td><td><strong>超大きい</strong>（動画もサクサク）</td><td>スマホ、PC、YouTube視聴</td></tr><tr><td><strong>4G / 5G (スマホ用)</strong></td><td>広い（全国）</td><td>悪い（毎日充電が必要）</td><td><strong>超大きい</strong>（動画やゲーム）</td><td>スマホ通信、テザリング</td></tr><tr><td><strong>LPWA</strong></td><td><strong>めちゃくちゃ広い</strong>（数km〜数十km）</td><td><strong>超良い</strong>（乾電池1個で数年間〜10年）</td><td><strong>超小さい</strong>（文字や数字だけ）</td><td>ガスメーター、センサー、位置トラッキング</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red">p.15 Sub-GHz帯とは？</span></span></span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="841" height="38" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-15.png" alt="" class="wp-image-7879" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-15.png 841w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-15-300x14.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-15-768x35.png 768w" sizes="(max-width: 841px) 100vw, 841px" /></figure>



<p class="wp-block-paragraph">SubｰGHz帯とは、「Sub（～より低い）」＋「GHz」とういことなので１GHz以下の周波数のことを指す。日本だと920MHzが該当する。<br>ちなみに、低い周波数の特徴を以下で確認しておこう！<br><strong>▼高周波と低周波の違い</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項目</strong></td><td><strong>高い周波数（例: 2.4GHz / 5GHz / 5Gなど）</strong></td><td><strong>低い周波数（例: Sub-GHz帯(920MHz) / プラチナバンドなど）</strong></td></tr></thead><tbody><tr><td><strong>データ通信速度</strong></td><td><strong>速い（データ量が大きい）</strong> ⭕️</td><td><strong>遅い（データ量が小さい）</strong> ❌</td></tr><tr><td><strong>飛距離</strong></td><td>短い（遠くまで届きにくい） ❌</td><td><strong>長い（遠くまで届く）</strong> ⭕️</td></tr><tr><td><strong>障害物の乗り越え</strong></td><td>弱い（壁や建物で跳ね返る/吸収される） ❌</td><td><strong>強い（壁を回り込んだり通り抜けたりする）</strong> ⭕️</td></tr><tr><td><strong>減衰（弱まりやすさ）</strong></td><td><strong>遠くに行くとすぐ弱まる（減衰しやすい）</strong></td><td><strong>遠くまで届いても弱まりにくい（減衰しにくい）</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker-red"><strong><span style="text-decoration: underline;">Q.3G,4G,5G,6Gって結局何？</span></strong><br></span></span>3GPPで、3G,4G,5Gなどの携帯キャリア通信の標準化を実施ているという話がでた。でも実際、それらがよくわかっていない。なので、見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>世代</strong></td><td><strong>主な時代</strong></td><td><strong>通信速度のイメージ</strong></td><td><strong>何が変わったのか？（技術の変革）</strong></td><td><strong>主な用途</strong></td></tr></thead><tbody><tr><td><strong>1G</strong></td><td>1980年代</td><td>めちゃ遅い</td><td><strong>「アナログ通信」</strong>。音声をそのまま電波に乗せていた。</td><td>肩掛け携帯・自動車電話（通話のみ）</td></tr><tr><td><strong>2G</strong></td><td>1990年代</td><td>数十kbps</td><td><strong>「デジタル化」</strong>。データを「0と1」に変換して送るようになった。</td><td>ガラケー（メール、文字Web）</td></tr><tr><td><strong>3G</strong></td><td>2000年代</td><td>数百k〜数Mbps</td><td><strong>「世界標準化（3GPP発足）」</strong>。画像や着うたがダウンロード可能に。</td><td>ガラケー最盛期、初期スマホ</td></tr><tr><td><strong>4G</strong> (LTE)</td><td>2010年代</td><td>100M〜1Gbps</td><td><strong>「完全IP化」</strong>。通話もデータもすべて「IPパケット」に統一された。</td><td>スマホ、動画配信（YouTube等）</td></tr><tr><td><strong>5G</strong></td><td>2020年代</td><td>最大20Gbps</td><td><strong>「超高周波数（ミリ波等）の利用 ＋ 超低遅延 ＋ 多接続」</strong></td><td>4K/8K動画、自動運転、IoT</td></tr><tr><td><strong>6G</strong></td><td>2030年代〜</td><td>100Gbps〜</td><td><strong>「テラヘルツ波の利用 ＋ 超広域（宇宙・空まで）」</strong></td><td>完全自動運転、メタバース</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red"><strong>Q.4Gってなに？</strong><br></span></span></span>4Gは4Generation(第4世代）の略で、携帯キャリアにおける無線通信規格の一つ。これは3GPPによって標準化されている。<br>簡単に言うと、４G≒LTEという解釈で問題ない。<br><strong>▼4Gの流れ</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="[スマホ/IoT機器]
   │ （無線電波：LTE）
   │ （ベアラ通信）
   ▼
[LTE基地局 (eNodeB)]
   │ （キャリア専用の有線網）
   │ （MME/HSS）
   │ 
   ▼
[キャリアのコアネットワーク (EPC)] ★ここでSIMの認証やパケット処理をする
   │ 
   │ （GTPトンネル）
   │ 
   ├─▶ (A) インターネットへ出る場合 ──▶ [ISP/Internet (BGP等)] ──▶ [相手のサーバ]
   │
   └─▶ (B) 今回のZ社のような閉域網 ──▶ (IPsec VPN) ──▶ [Y社データセンター]" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[スマホ</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">IoT機器]</span></span>
<span class="line"><span style="color: #F8F8F2">   │ （無線電波：LTE）</span></span>
<span class="line"><span style="color: #F8F8F2">   │ （ベアラ通信）</span></span>
<span class="line"><span style="color: #F8F8F2">   ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[LTE基地局 (eNodeB)]</span></span>
<span class="line"><span style="color: #F8F8F2">   │ （キャリア専用の有線網）</span></span>
<span class="line"><span style="color: #F8F8F2">   │ （MME</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">HSS）</span></span>
<span class="line"><span style="color: #F8F8F2">   │ </span></span>
<span class="line"><span style="color: #F8F8F2">   ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[キャリアのコアネットワーク (EPC)] ★ここでSIMの認証やパケット処理をする</span></span>
<span class="line"><span style="color: #F8F8F2">   │ </span></span>
<span class="line"><span style="color: #F8F8F2">   │ （GTPトンネル）</span></span>
<span class="line"><span style="color: #F8F8F2">   │ </span></span>
<span class="line"><span style="color: #F8F8F2">   ├─▶ (A) インターネットへ出る場合 ──▶ [ISP</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">Internet (BGP等)] ──▶ [相手のサーバ]</span></span>
<span class="line"><span style="color: #F8F8F2">   │</span></span>
<span class="line"><span style="color: #F8F8F2">   └─▶ (B) 今回のZ社のような閉域網 ──▶ (IPsec VPN) ──▶ [Y社データセンター]</span></span></code></pre></div>



<p class="wp-block-paragraph">用語解説：<br><strong>MME(Mobility Management Entity)<br></strong><span class="fz-16px">　LTEにおけるユーザを認証する司令塔。ユーザからの認証を確認するためにHSSを呼び出したり、GTPトンネル確立の指示やベアラ通信の指示を出したりする。<br></span><strong>HSS(Home Subscriber Server)</strong><br><span class="fz-16px">　MMEが認証をする際に使うデータベース。MMEは受け付け業務なので、実際のユーザ情報は保持していない。そのためHSSを使って、ユーザ情報を確認する。</span><br><strong>ベアラ</strong><br>　ベアラは仮想的な通信パイプのこと。<br>携帯電話の電波にはいろいろなデータが流れる。音声、動画、緊急速報。これらは緊急度合いが違う。そのため、すべてを同じ優先度で扱ってはならない。そこで、要はQoSを実現するためにベアラと呼ばれる、仮想的なパイプを準備する。用途ごとにベアラは作られる。＝それに応じてGTPも増える。</p>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red">Q.5Gって何？<br></span></span></span></strong>5Gも基本的な挙動は4Gと同じ。しかし、使っている機器や周波数帯などが少しずつ違う。ということで、それを見ていこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>役割・項目</strong></td><td><strong>4G (LTE)</strong></td><td><strong>5G</strong></td></tr></thead><tbody><tr><td><strong>主に使用する周波数帯</strong></td><td><strong>700MHz 〜 3.5GHz</strong><br>（プラチナバンド〜ローバンド）</td><td><strong>3.7GHz 〜 28GHz超</strong><br>（Sub6 / ミリ波）</td></tr><tr><td><strong>電波の性質・届きやすさ</strong></td><td><strong>遠くまで届き、障害物を回り込む</strong><br>（1つの基地局で数kmカバー）</td><td><strong>遠くに届きにくく、障害物に弱い</strong><br>（数メートル〜数百メートル単位）</td></tr><tr><td><strong>無線通信規格</strong></td><td>LTE</td><td>5G NR (New Radio)</td></tr><tr><td><strong>基地局</strong></td><td>eNodeB</td><td>gNodeB</td></tr><tr><td><strong>司令塔（移動管理）</strong></td><td>MME</td><td>AMF <em>(Access and Mobility Management Function)</em></td></tr><tr><td><strong>契約者データベース</strong></td><td>HSS</td><td>UDM <em>(Unified Data Management)</em></td></tr><tr><td><strong>ゲートウェイ（出口）</strong></td><td>S-GW / P-GW</td><td>UPF <em>(User Plane Function)</em></td></tr><tr><td><strong>コアネットワーク全体</strong></td><td>EPC</td><td>5GC <em>(5G Core)</em></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">要は、使う周波数帯をより高周波にすることによって、より高速性を出したのが５G。で、異なる周波数を出すには、異なる媒体が必要なので、４Gとは別の機器・名称として扱われる。<br>また、高周波は障害物や長距離に弱いため、各地にミニ基地局を新たに施設することによってその弱点を補っている。</p>



<p class="wp-block-paragraph"><strong>▼プラチナバンド、ミリ波、subGHz、sub6などの違い</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>グループ</strong></td><td><strong>呼び名</strong></td><td><strong>主な周波数</strong></td><td><strong>特徴</strong></td><td><strong>主な使い道</strong></td></tr></thead><tbody><tr><td><strong>携帯（免許あり）</strong></td><td><strong>プラチナバンド</strong><br><em>(ローバンド)</em></td><td>700〜900MHz<br><em>(サブギガ)</em></td><td>屋内や山奥まで届く</td><td>4G/5Gのエリアの基礎（つながりやすさ重視）</td></tr><tr><td><strong>携帯（免許あり）</strong></td><td><strong>Sub6</strong><br><em>(ミドルバンド)</em></td><td>3.7GHz / 4.5GHz</td><td>速さと広がりのバランス◎</td><td>5Gのメイン回線</td></tr><tr><td><strong>携帯（免許あり）</strong></td><td><strong>ミリ波</strong><br><em>(ハイバンド)</em></td><td>28GHz〜</td><td>障害物に弱いが超爆速</td><td>5Gの局所的な爆速スポット（スタジアム等）</td></tr><tr><td><strong>自由（免許不要）</strong></td><td><strong>ISMバンド</strong></td><td>920MHz <em>(サブギガ)</em><br>2.4GHz / 5GHz</td><td>誰でも自由に使える</td><td>Wi-Fi、Bluetooth、IoTセンサー、電子レンジ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">＊プラチナバンド：携帯キャリアが保証している<ruby>＆<rt>かつ</rt></ruby>SubGHz帯のこと。</p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red"><strong>Q.Sigfox,LoRaWAN,LTE-M,NB-IoT</strong><br></span></span></span>LPWAには様々な方式がある。では、以下で見ていこう<br><strong>▼LPWA（省電力・広域通信）のまとめ</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>電池寿命順位</strong></td><td><strong>規格名</strong></td><td><strong>種類</strong></td><td><strong>使う電波（ルールの違い）</strong></td><th>通信方向</th><td><strong>電池寿命</strong></td><td><strong>データ量・速度</strong></td><td><strong>モビリティ（移動）</strong></td><td><strong>主な特徴・用途</strong></td></tr></thead><tbody><tr><td><strong>1位</strong></td><td><strong>Sigfox</strong></td><td>非セルラー</td><td><strong>ISMバンド</strong><br>（免許不要・誰でも可）</td><td>送信のみ<br>（通常時は、受信機能を閉じているため）</td><td><strong>超長持ち</strong><br>（最長・10年以上）</td><td>超極小<br>（数バイト）</td><td>✕</td><td>文字通り電池が圧倒的に持つ。検針やボタン通知用。</td></tr><tr><td><strong>2位</strong></td><td><strong>LoRaWAN</strong></td><td>非セルラー</td><td><strong>ISMバンド</strong><br>（免許不要・自作可）</td><td>双方向<br>（Sigfoxよりは可能だがセルラー系には劣る）</td><td><strong>かなり長持ち</strong></td><td>小〜中<br>（双方向OK）</td><td>△</td><td>自前で基地局を作れる。農地や工場のセンサー監視用。</td></tr><tr><td><strong>3位</strong></td><td><strong>NB-IoT</strong></td><td>セルラー</td><td><strong>キャリア電波</strong><br>（免許あり・高品質）</td><td>双方向<br>（LoRaWANよりはできるがLTE-Mには劣る）</td><td><strong>長持ち</strong></td><td>中<br>（非セルラーより速い）</td><td><strong>✕（固定のみ）</strong></td><td>キャリアの安心感。動かないスマートメーターや街灯用。</td></tr><tr><td><strong>4位</strong></td><td><strong>LTE-M</strong></td><td>セルラー</td><td><strong>キャリア電波</strong><br>（免許あり・高品質）</td><td>双方向<br>（下りも問題なくできる）</td><td>この中では一番短い<br>（数年程度）</td><td><strong>最大</strong><br>（動画以外は快適）</td><td><strong>◯（移動OK）</strong></td><td><strong>移動追跡ができる！</strong> 子供のGPS、ペット、物流用。</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>▼具体例<br></strong>では、農家でのLoRaWAN使用例を見ていこう！<br>前提：<br>　・LoRaWANは基地局を個人で立てれる（1~3万程度)<br>　・農家は田畑の状況をリアルタイムで知りたい<br>　・家のあたりには数キロに及ぶ自分の田畑がある<br>　　→これを目視確認したりするのは面倒くさい<br>では、以上の前提をユースケースとしてやっていこう！<br><strong>１．LoRaWANの基地局をたてる</strong><br><span class="fz-16px">　基地局は1~3万程度で立てられる。<br>　コンセントにつないだり自宅のLANにつなげれば簡単に起動できる</span><br><strong>２．田畑用のLoRaWANセンサを購入/設置する<br></strong><span class="fz-16px">　①製品の<span class="blue">DevEUI</span>(製品識別子)と<span class="blue">AppKey</span>(パスワード)を確認する<br>　②①の情報を製品に紐づくアプリケーションで登録する<br>＊AppKeyがあることによって、センサーからのデータは既に暗号化された状態でネットワークを経由するため、正しいAppKeyを持っているユーザでなければ復号できない。</span><br><span class="fz-16px">　③目的の箇所にセンサーを設置する<br></span><strong>３．アプリケーションで状況を確認<br></strong><span class="fz-16px">　アプリケーションにログインし、リアルタイムで現状を把握する。<br>＊アクチュエータ（物理的な動作をする機器）も購入しているなら、そのリアルタイム情報からサーバがアクチュエータに適切な指示を出し、水流を調整したりといった物理的な制御もできるようになる。　</span><br><span class="fz-16px">→ちなみにSigfoxは通常時は受信機能を閉じているためサーバからアクチュエータへの命令動作には向いていない。Sigfoxがデータを送信するタイミングで受信機能も解放されるがそれ以外は無理。また、１日に送信できる量は140、受信できる量は4回までという制限もある。</span></p>



<p class="wp-block-paragraph">以上がLoRaWANの流れだった。ちなみに、Sigfox、LTE-M、NB-IoTも基本的には同様の流れで処理される。ただ、使われている個々の名称が若干異なる。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>通信規格</strong></td><td><strong>端末のID（公開されてOKなシリアル番号）</strong></td><td><strong>秘密の鍵（絶対バレちゃダメな暗号キー）</strong></td></tr></thead><tbody><tr><td><strong>LoRaWAN</strong></td><td><strong>DevEUI</strong>（デブ・イーユーアイ）</td><td><strong>AppKey</strong>（アップ・キー）</td></tr><tr><td><strong>Sigfox</strong></td><td><strong>Device ID</strong>（デバイスID）</td><td><strong>PAC</strong>（パック）/ <strong>NKEY</strong></td></tr><tr><td><strong>LTE-M / NB-IoT</strong></td><td><strong>IMEI</strong>（アイエムイーアイ）</td><td><strong>SIMカード内の暗号鍵</strong>（IMSI等）<br>=デバイス一つ一つにSIMを用意する必要がある。</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker-red">p.16　LPWA閉域接続サービスってなに？</span></span></span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="855" height="577" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-18.jpg" alt="" class="wp-image-7886" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-18.jpg 855w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-18-300x202.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-18-768x518.jpg 768w" sizes="(max-width: 855px) 100vw, 855px" /></figure>



<p class="wp-block-paragraph"><span class="marker-red"><strong>Q.そもそも閉域網って何？普通のインターネット接続と何が違うの？</strong><br></span>A.インターネットという公道から完全に隔離された、関係者しか入れない私道のこと。よく耳にするMPLSも閉域網技術の代表例である。<br>このような閉域網があることによって、『外部に公開する必要のないサーバ<ruby>＆<rt>かつ</rt></ruby>正規の人からはリモートからでもアクセスさせたい』という要件において、プレフィックスをインターネットに公開することなくアクセスできるようになる。</p>



<p class="wp-block-paragraph">▼一般的にインターネット接続</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="【一般的なスマホや光回線（インターネット接続）】
[スマホ] ──＞ [キャリア基地局] ──＞[キャリアコア網] ──(APNによって選出されたインターネットGW)──＞ 【一般のインターネット】 ──＞ YouTube等
                                                            ▲ ここで公道（インターネット）に出る！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">【一般的なスマホや光回線（インターネット接続）】</span></span>
<span class="line"><span style="color: #F8F8F2">[スマホ] ──＞ [キャリア基地局] ──＞[キャリアコア網] ──(APNによって選出されたインターネットGW)──＞ 【一般のインターネット】 ──＞ YouTube等</span></span>
<span class="line"><span style="color: #F8F8F2">                                                            ▲ ここで公道（インターネット）に出る！</span></span></code></pre></div>



<p class="wp-block-paragraph">▼閉域網の接続</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="【LPWA閉域接続サービス】
[Gメーター] ──＞ [キャリア基地局] ──＞ [キャリアコア網] ──(APNによって選出された専用GW)──＞ 【Z社の専用閉域網】 ──＞ Z社拠点ルータ
                                                                ▲ インターネットに1ミリも出ない！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">【LPWA閉域接続サービス】</span></span>
<span class="line"><span style="color: #F8F8F2">[Gメーター] ──＞ [キャリア基地局] ──＞ [キャリアコア網] ──(APNによって選出された専用GW)──＞ 【Z社の専用閉域網】 ──＞ Z社拠点ルータ</span></span>
<span class="line"><span style="color: #F8F8F2">                                                                ▲ インターネットに1ミリも出ない！</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="marker-red"><strong>Q.そもそもなんでZ社を経由するの？</strong><br></span>シンプルに、Z社を中継点とする意味が分からない。LTEを使っているなら、そのままISPに行き、そのISP経由でY社まで転送してくれれば通信自体は成立するように見える。しかし、本文中にはなぜかD社を経由している。その理由を紐解いていこう！<br><strong>理由1：暗号化の肩代わり</strong><br><span class="fz-16px">　IoTデバイス（Ｇメータ）は極力軽い処理を担当させたい。そのためIPsecのような強力な暗号化処理は外部に委託したい。そのためZ社にIPsecをやってもらうという対策が取られている。<br>*ただ、LTEによって、端末⇔基地局間はデフォルトで暗号化済み。ここで述べている暗号化はインターネット上の話。</span><br><strong>理由２：そもそもIPsecは拠点間通信に向いている</strong><br><span class="fz-16px">　もし、Ｇメータが暗号化処理をできたとしても、１台1台とIPsecルータ２がセッションを張るとなるとものすごい負担になる。そのため、Z社側で一度集約してから１対１でIPsecルータ２とやり取りをした方がはるかに運用が楽だから。</span><br><strong>理由３：コスト削減<br></strong>　閉域網サービスを利用するには、ISPと閉域用の契約が必要になる。これは月額数百～千万の費用が掛かる。しかし、Z社のような、他社クライアントと共有利用させることによって閉域網サービス提供を生業としている業者に頼めば安く抑えられるから。<br><strong>理由４：マルチキャリア対応のため</strong><br><span class="fz-16px">　閉域網の用途はわかったけど正直、Y社が契約しているSIMのキャリア専用の閉域網を利用すれば解決すると感じる。なぜわざわざ外部のZ社の閉域網を使うのか。それはマルチキャリア対応のため。もし、SIM提供キャリアの閉域網を使うと、ほかのキャリアのデバイスを扱ったときに、またそのキャリアと閉域網契約を結ばなくてはならなくなる。しかし、中間でZ社を挟ませればY社はZ社とのみIPsec通信をする準備をすればよいだけになるので運用やコストの面、また、マルチキャリアの面からもメリットが得られる。<br>＊Z社はおそらく閉域網サービス接続を生業としているため、ソフトバンク、ドコモなどの複数のキャリアと既に閉域網接続をしている。その中の一部をY社に割り当てるというながれ。</span></p>



<p class="wp-block-paragraph">👆のことからもわかる通り、逆を言えばIoTデバイス自体がIPsecをできるようになったら閉域網は不要ということになる。というわけでもない。結局IPsecでは１対１の通信に集約させたいから、その集約点が必要になる。IoTデバイス１台１台がIPsecを張ると、ルータのセッション情報がパンクする。なぜならIoTデバイスは概して何万台もあるから。そこらのリモートワーカーがIPsecをするのとではわけが違う。リモートワーカーの場合は人数が少ないから閉域網を通らずとも直接PCがIPsec処理をして接続できる。</p>



<p class="wp-block-paragraph"><span class="marker-red"><strong><span class="fz-22px">p.16　物理的なデータの流れの全貌</span></strong><br></span>閉域網やIPsec、Z社サービス拠点、などいろいろなものが一気に記されていて頭がこんがらがる&#8230;では、それを解決していこう！</p>



<figure class="wp-block-image size-full"><img decoding="async" width="880" height="411" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-18.png" alt="" class="wp-image-7888" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-18.png 880w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-18-300x140.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-18-768x359.png 768w" sizes="(max-width: 880px) 100vw, 880px" /></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="[ Gメーター ]
    │ ① 無線（LTE-M）
    ▼
[ キャリア基地局 ]
    │ ② 有線（キャリアの社内光ファイバー網）
    ▼
[ キャリアのコア網 ＆ GW（ゲートウェイ）]
    │ ★APNを見て「Y社用だな」と判別！
    │ ★MPLSラベル（専用タグ）を貼って専用ルートを通す！
    │ ③ 有線（専用線）
    ▼
[ Z社拠点（ルータ1）]  ※ここまでが「閉域網」！
    │
    │ ★ここでMPLSラベルを剥がす！
    │ ★Y社に向けてデータを「IPsec（カプセル化暗号化）」する！
    │ ④ 有線（一般的なインターネット回線）
    ▼
[ イ ン タ ー ネ ッ ト ] （公道）
    │ ⑤ 有線
    ▼
[ Y社拠点（ルータ2）]
    │ ★IPsecの暗号化カプセルを解く！
    │ ⑥ 有線（Y社の社内LAN）
    ▼
[ Gメーター管理サーバ ]  ★無事到着！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">[ Gメーター ]</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ① 無線（LTE</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">M）</span></span>
<span class="line"><span style="color: #F8F8F2">    ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[ キャリア基地局 ]</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ② 有線（キャリアの社内光ファイバー網）</span></span>
<span class="line"><span style="color: #F8F8F2">    ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[ キャリアのコア網 ＆ GW（ゲートウェイ）]</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ★APNを見て「Y社用だな」と判別！</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ★MPLSラベル（専用タグ）を貼って専用ルートを通す！</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ③ 有線（専用線）</span></span>
<span class="line"><span style="color: #F8F8F2">    ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[ Z社拠点（ルータ1）]  ※ここまでが「閉域網」！</span></span>
<span class="line"><span style="color: #F8F8F2">    │</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ★ここでMPLSラベルを剥がす！</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ★Y社に向けてデータを「IPsec（カプセル化暗号化）」する！</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ④ 有線（一般的なインターネット回線）</span></span>
<span class="line"><span style="color: #F8F8F2">    ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[ イ ン タ ー ネ ッ ト ] （公道）</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ⑤ 有線</span></span>
<span class="line"><span style="color: #F8F8F2">    ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[ Y社拠点（ルータ2）]</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ★IPsecの暗号化カプセルを解く！</span></span>
<span class="line"><span style="color: #F8F8F2">    │ ⑥ 有線（Y社の社内LAN）</span></span>
<span class="line"><span style="color: #F8F8F2">    ▼</span></span>
<span class="line"><span style="color: #F8F8F2">[ Gメーター管理サーバ ]  ★無事到着！</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>１．Gメータ→キャリア（基地局）<br></strong><span class="fz-16px">　GメータはLTE回線を使ってキャリアまで行く。<br>　　その際にキャリアはSIMで認証をする。</span><br><strong>２．キャリア（基地局）→キャリア（MME）→キャリアのゲートウェイ<br></strong><span class="fz-16px">　①キャリアにつくと、まずSIM情報の認証が必要になるため、MMEに渡す。<br>　②MMEはHSSと呼ばれるデータベースを使い認証処理をする。<br>　③SIM内のAPNから適切なゲートウェイを判別する<br>　④処理が完了すると、無線ベアラやGTPトンネルなどを構築しネットワーク接続可能な状態になる</span><br><strong>３．Gメータ→閉域網→Z社ルータ</strong><br><span class="fz-16px">　①Gメータは無線ベアラを通して基地局にいく<br>　②基地局がGTPトンネルを通してAPNのゲートウェイまで行く<br>　③ゲートウェイは適切なラベルを張りZ社ルータ（CEルータ）まで運ぶ（＝MPLS）</span><br><span class="fz-16px">　④Z社ルータの手前のPEルータでラベルを外してからZ社ルータに届かせる<br></span><strong>４．Z社ルータ→Z社IPsecルータ１</strong><br><span class="fz-16px">Z社ルータに届いたパケットは普通にルーティングをしてZ社IPsecルータに渡す<br></span><strong>５．Z社IPsecルータ１→Y社IPsecルータ２</strong><br><span class="fz-16px">　①Z社IPsecルータ１は宛先からIPsecが必要であると判断する<br>　＊この時に使うのが<span class="blue">SPD</span>（SecurityPolicyDatabase）と呼ばれるどの通信をIPsec適用にするかのデータベース。この中にSPIがあるので、それに基づいてSAD内を検索する<br>　②<span class="blue">SAD</span>からSAを取り出し、パケットヘッダーに<span class="blue">SPI</span>を付与する</span><br><span class="fz-16px">　＊SAD（SecurityAssociationDatabase）はSAを保持しているでーばベース<br>　＊SPI（SecurityParameterIndex）はSAを特定するための識別子<br>　③適切な暗号化をしてY社ルータ２まで届かせる</span><br><strong>６．Y社IPsecルータ２→Gメータ管理サーバ</strong><br><span class="fz-16px">　①パケット内のSPIを確認する<br>　②SPIでSADを検索し、SAを割り出し、SAに従って復号や正当性確認を実施する</span><br><span class="fz-16px">　③復号された中身をSPDと比較して正当性を確認する<br>　④Gメータ管理サーバへ転送する</span></p>



<p class="wp-block-paragraph">👇IPsecの詳細はこちら👇</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<a href="https://ascend-beyond.com/study/7825/" title="平成28年（2016年）ネスペ午後Ⅰ　問二　解答解説" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-160x90.jpg 160w, https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-300x169.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-1024x576.jpg 1024w, https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-768x432.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-120x68.jpg 120w, https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855-320x180.jpg 320w, https://ascend-beyond.com/wp-content/uploads/2026/07/5d455f0907db0366a578b93e1ac39855.jpg 1200w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">平成28年（2016年）ネスペ午後Ⅰ　問二　解答解説</div><div class="blogcard-snippet internal-blogcard-snippet">設問1 ア：AES　イ：事前共有鍵　ウ：SIMカード　エ：APN　オ：NAPT　カ：CONNECTア：AES　　WEPやWAPまではRC4ベースの暗号化を採用していた。しかしこれには脆弱性があるので、WPA2からは、より強固なAESが使わ...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ascend-beyond.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">ascend-beyond.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.07.15</div></div></div></div></a>
</div></figure>



<p class="wp-block-paragraph"><span class="marker-red"><strong><span class="fz-22px"><span style="text-decoration: underline;">Q.IKEv1 phase1アグレッシブモード+phase2について</span></span></strong><br></span>IKEv1のフェーズ１（isakmp sa）のアグレッシブモードの流れを見ていこう！<br><strong>１．クライアント→サーバ<br></strong><span class="fz-16px">以下の情報を渡す<br>・暗号化方式の提案<br>・暗号化方式に付随する公開鍵,パラメータ<br>・ID</span><br><strong>２．サーバ→クライアント<br></strong><span class="fz-16px">以下の情報を渡す<br>・暗号化方式の決定<br>・暗号化方式に付随する公開鍵,パラメータ<br>・ID<br>・認証データ</span><br><strong>３．クライアント→サーバ<br></strong><span class="fz-16px">以下の情報を渡す<br>・認証データ</span><br><span class="fz-16px">＊ここまでがフェーズ１のアグレッシブモード。ここからはついでにフェーズ２を記載していく<br></span><strong>４．クライアント→サーバ<br></strong><span class="fz-16px">フェーズ1で作成された共通鍵をを使いIPsec SA（ESP）の方式を提案する<br></span><strong>５．サーバ→クライアント</strong><br><span class="fz-16px">IPsec SAの方式を決定する<br></span><strong>６．クライアント→サーバ<br></strong><span class="fz-16px">ESPの準備完了したよ！と通知する</span></p>



<p class="wp-block-paragraph"><span class="marker-red"><strong><span class="fz-22px"><span style="text-decoration: underline;">Q.IKEv1 phase1メインモード+phase2について</span></span></strong><br></span>IKEv1のフェーズ１（isakmp sa）のメインモードの流れを見ていこう！<br><strong>１．クライアント→サーバ<br></strong><span class="fz-16px">僕がサポートしている暗号化方式はこれです！と教える<br></span><strong>２．サーバ→クライアント<br></strong><span class="fz-16px">よし、じゃあ暗号化方式はこれでいこう！と決定する<br></span><strong>３．クライアント→サーバ<br></strong><span class="fz-16px">では、実際の鍵生成のフェーズに入ろう！<br>・公開鍵<br>・ノンス<br>をサーバへ渡す</span><br><strong>４．サーバ→クライアント<br></strong><span class="fz-16px">・公開鍵<br>・ノンス<br>をクライアントに返す</span><br><strong>５．クライアント→サーバ<br></strong><span class="fz-16px">ID、認証データを暗号化してサーバへ渡す<br>＊サーバはこれを検証して正当性を確認できる</span><br><strong>６．サーバ→クライアント<br></strong><span class="fz-16px">ID、認証データを暗号化してクライアントへ渡す<br>＊クライアントはこれを検証して正当性を確認できる</span><br>以上の６メッセージを交換後にフェーズ２へ移行する</p>



<p class="wp-block-paragraph"><strong><span class="marker-red"><span class="fz-22px"><span style="text-decoration: underline;">p.17 CoAPとは</span></span></span></strong><br>CoAPはConstraind Application Protocolの略。その名前の通り、制約下のもと動作させることができるプロトコル。特徴を以下にまとめる。<br><strong>・UDPベース<br></strong><span class="fz-16px">　制約の多い環境では軽量さが好まれる。TCPだとセッションなどがありとても面倒くさい。また、順序制御などはアプリケーション側のメッセージを使って実施する<br></span><strong>・RESTfulAPI<span class="marker-red"><span class="fz-22px"><span style="text-decoration: underline;"><br></span></span></span></strong><span class="fz-16px">　RESTfulAPIと呼ばれる、GET,POST,PUT,DELETEなどのようにHTTPと同じように操作できるためWebエンジニアにはなじみやすい<br></span><strong>・IoT向け</strong><br><span class="fz-16px">　IoTで求められるものは、貧弱な環境でも利用できること。貧弱とは、「バッテリー容量が極小」、「ネットワーク帯域が極細」、「CPU能力が低い」、「メモリ少ない」という環境のことを指している。このような環境で動作できるのがCoAP。</span></p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker-red"><strong><span style="text-decoration: underline;">p.17 CoAPのメッセージIDとトークン</span></strong></span></span><br>メッセージIDやらトークンやらが出てきていまいちよくわからない。なので、ここではメッセージIDとトークンの役割を明確にしつつ、それらの違いを紐解いていこう！<br><strong>メッセージID：<br></strong>　再送制御、順序保証などのTCP機能を肩代わりしてくれる機能。<br><strong>トークン：<br></strong>　リクエストに対するレスポンスを対応づける機能。</p>



<p class="wp-block-paragraph"><strong>Q.なんでメッセージIDだけじゃダメなの？トークンいらなくね？<br></strong>メッセージＩＤとトークンは管理対象が異なる。メッセージＩＤはいわばパケットの管理を行う。一方トークンはリクエストとレスポンスの対応関係を整理するもの。<br>もし、メッセージＩＤだけになると、受信側は「あれ？これはどのリクエストに対する回答なの？」と処理ができなくなってしまう。たとえ、「あー、順番通りにきているな。欠損ないな。」というところまで分かったとしても、どのリクエストに対応しているかまではわからない。<br>そういった観点で、やはりトークンは必要と言える。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span class="marker-red">Q.TCPにおける欠損の処理方法</span></span></strong><br>TCPでは様々な方法を使ってパケットロスを検知している。<br><strong>タイマー</strong>：<br><span class="fz-16px">　通常は受信側はACKを返す。それによって送信側は、「あ、俺のパケット届いたな」と判断できる。しかし、欠損すると受信側からはACKが返ってこない。その際にタイマーを稼働させておけば「あ、送信からタイマーの時間経過したけどACKなしか。。ということは欠損してるかも！」ということで欠損を検知して再送をする<br></span><strong><span class="fz-16px"><span class="fz-18px">重複ACK：</span></span><br></strong>　受信側は、順番を飛ばしたパケットが届くと「いや、○○番のパケット届いていないよ！ちょうだい！」と送信側に伝える。これを３回受け取ると送信側は「あ、欠損してるかも」と判断して再送する。<br>＊１，２回だと一時的な遅延や順不同によるものかもしれないため、再送が無駄になることがあり非効率。</p>



<p class="wp-block-paragraph"><strong><span class="marker-red">Q.CoAPにおける欠損の処理方法</span></strong><br>CoAPにおける欠損パケットの処理方法はタイマー方式のみ。CoAPにはCON、NONの２つのメッセージがある。CONは確認応答が必須で、NONは確認応答が不要。<br>CONの場合に確認応答が一定時間返ってこない場合は、欠損と判断して再送される。</p>



<p class="wp-block-paragraph"><span class="fz-22px"><strong><span class="marker-red"><span style="text-decoration: underline;">p.23 HTTP1.1について</span></span></strong></span><br>HTTPには様々なプロトコルがあるHTTP/1.0から始まり現在のHTTP/3まで続いている。では、それらの進化を理解していこう！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>バージョン</strong></td><td><strong>ベースとなる通信</strong></td><td><strong>主な特徴・新機能</strong></td><td><strong>パケット転送・並列処理</strong></td><td><strong>主な課題・限界（デメリット）</strong></td></tr></thead><tbody><tr><td><strong>HTTP/1.0</strong></td><td><strong>TCP</strong></td><td>・1リクエストごとに接続（TCP確立）・切断を行うシンプルな仕組み</td><td>・並列処理不可<br>・リクエストごとに3-way handshakeが発生</td><td>・接続オーバーヘッドが非常に大きく、通信が非常に遅い</td></tr><tr><td><strong>HTTP/1.1</strong></td><td><strong>TCP</strong></td><td>・<strong>Keep-Alive（持続接続）</strong> を導入<br>・1つのTCP接続を使い回せるようになった</td><td>・パイプライニング機能はあるが基本は順番に処理</td><td>・<strong>アプリ層のHOLブロッキング</strong>（前のレスポンスが詰まると後ろも止まる）</td></tr><tr><td><strong>HTTP/2</strong></td><td><strong>TCP</strong></td><td>・<strong>バイナリフォーマット</strong>化<br>・<strong>HPACK</strong>（ヘッダー圧縮）<br>・マルチプレクス（ストリーム化）</td><td>・1つの接続内で<strong>複数ストリームによる並列処理</strong>が可能</td><td>・<strong>TCP層のHOLブロッキング</strong>（パケットロスが1つあると全ストリームの処理が止まる）</td></tr><tr><td><strong>HTTP/3</strong></td><td>UDP<br>(+ QUIC)</td><td>・トランスポート層をUDP＋<strong>QUIC</strong>に刷新<br>・順序制御・再送・TLS1.3暗号化をQUIC側で一括処理</td><td>・<strong>ストリームごとに完全独立して並列処理</strong></td><td>・UDP通信をブロック・制御する一部の古いネットワーク機器/FWでの対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="fz-22px"><strong><span class="marker-red"><span style="text-decoration: underline;"><br></span></span></strong></span></p>



<p class="wp-block-paragraph"><br><strong><span class="fz-18px"><span class="fz-20px"><span class="marker-red"><span class="fz-22px"><span style="text-decoration: underline;"><span class="fz-16px"><br></span></span></span></span></span></span></strong><br><br><br><br><span class="fz-16px"><strong><br></strong></span><span class="marker"><br></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>令和7年（2025年）ネスペ午後Ⅱ　問１　解答解説</title>
		<link>https://ascend-beyond.com/study/7855/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sat, 25 Jul 2026 04:31:48 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7855</guid>

					<description><![CDATA[設問１（１）a:宛先IPアドレス　b:ブロード　c:リプライ ARPパケットには４つの専用フィールドがある。▼ARPパケットのフィールド では、ARPパケットのやり取りを具体的に見ていこう！▼ARPパケットの流れ端末Aが [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）a:宛先IPアドレス　b:ブロード　c:リプライ</span></span></strong></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="976" height="376" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11.jpg" alt="" class="wp-image-7861" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11.jpg 976w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-300x116.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-768x296.jpg 768w" sizes="(max-width: 976px) 100vw, 976px" /></figure>



<p class="wp-block-paragraph">ARPパケットには４つの専用フィールドがある。<br>▼ARPパケットのフィールド</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="送信元MACアドレス
送信元IPアドレス
宛先MACアドレス
宛先IPアドレス" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">送信元MACアドレス</span></span>
<span class="line"><span style="color: #F8F8F2">送信元IPアドレス</span></span>
<span class="line"><span style="color: #F8F8F2">宛先MACアドレス</span></span>
<span class="line"><span style="color: #F8F8F2">宛先IPアドレス</span></span></code></pre></div>



<p class="wp-block-paragraph">では、ARPパケットのやり取りを具体的に見ていこう！<br>▼ARPパケットの流れ<br>端末Aが端末BのMACアドレスを知りたいというユースケースで流れを見ていこう。<br><strong>１．ARPリクエスト<br></strong><span class="fz-16px">　端末Aが以下の構成でARPパケットを作り<span class="blue">ブロードキャスト</span>する</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>フィールド名</strong></td><td><strong>入る値</strong></td><td><strong>説明</strong></td></tr></thead><tbody><tr><td><strong>動作タイプ</strong></td><td><strong>1（リクエスト）</strong></td><td>「問い合わせ」であることを示す</td></tr><tr><td><strong>送信元 MACアドレス</strong></td><td><code>AA:AA:AA:AA:AA:AA</code></td><td>端末A自身のMACアドレス</td></tr><tr><td><strong>送信元 IPアドレス</strong></td><td><code>192.168.1.1</code></td><td>端末A自身のIPアドレス</td></tr><tr><td><strong>宛先MACアドレス</strong></td><td><code>00:00:00:00:00:00</code></td><td><strong>まだ分からないので0で埋める</strong></td></tr><tr><td><strong>宛先IPアドレス</strong></td><td><code>192.168.1.2</code></td><td><strong>【問題a】知りたい端末BのIPアドレス</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>２．ARPリプライ<br></strong><span class="fz-16px">ブロードキャスト受信した端末Bは宛先IPが自身のIPであることから、自分がARPリプライを</span><span class="fz-16px">ユニキャスト</span><span class="fz-16px">で</span><span class="fz-16px">返すと認識する。</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>フィールド名</strong></td><td><strong>入る値</strong></td><td><strong>説明</strong></td></tr></thead><tbody><tr><td><strong>動作タイプ</strong></td><td><strong>2（リプライ）</strong></td><td>「回答」であることを示す</td></tr><tr><td><strong>送信元 MAC</strong></td><td><code>BB:BB:BB:BB:BB:BB</code></td><td><strong>【ご質問の点】端末B自身のMACアドレスをここに入れる！</strong></td></tr><tr><td><strong>送信元 IP</strong></td><td><code>192.168.1.2</code></td><td>端末B自身のIPアドレス</td></tr><tr><td><strong>ターゲット MAC</strong></td><td><code>AA:AA:AA:AA:AA:AA</code></td><td>端末AのMACアドレス（返事の宛先）</td></tr><tr><td><strong>ターゲット IP</strong></td><td><code>192.168.1.1</code></td><td>端末AのIPアドレス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">以上の表より、a,b,cに適切な用語を割り当てることで回答を導ける。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）d:16　e:48　f:64</span></span></strong></span></p>



<figure class="wp-block-image size-large"><img decoding="async" width="875" height="1024" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-2-875x1024.jpg" alt="" class="wp-image-7863" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-2-875x1024.jpg 875w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-2-256x300.jpg 256w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-2-768x899.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-2.jpg 1039w" sizes="(max-width: 875px) 100vw, 875px" /></figure>



<p class="wp-block-paragraph">前提知識として、IPv6アドレスは以下の特徴を持つ。<br><strong>▼IPv6アドレスの特徴</strong><br>・16進数で表現される<br>・1ブロック16ビット<br>・128ビットで構成される<br>・前半64ビットをサブネットプレフィックスと呼び後半64ビットをインタフェースIDと呼ぶ</p>



<p class="wp-block-paragraph">以上の前提知識を踏まえつつd,e,fを埋める。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）データリンク層で通信可能な範囲</span></span></strong></span><br>よくやってしまうミスが「ブロードキャストが届く範囲」と書いてしまうこと。データリンク層で通信可能な範囲と重複しているように見えるが、IPv6にはブロードキャストは存在しない。そのため、IPv6において、そのような回答は✖にされる可能性がある。もし問題が「IPv4においてデータリンク層で通信可能な範囲」と表現されていたらブロードキャストが届く範囲としてもOK。でも今回はIPv6なので、「同一リンク内」というニュアンスが入っている解答の方がベターになる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（３）同じデータリンク層上に同じIPv6アドレスを使用しているノードがいないことを確認するため</span></span></strong></span><br></p>



<figure class="wp-block-image size-large"><img decoding="async" width="909" height="1024" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-3-909x1024.jpg" alt="" class="wp-image-7864" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-3-909x1024.jpg 909w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-3-266x300.jpg 266w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-3-768x865.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-3.jpg 957w" sizes="(max-width: 909px) 100vw, 909px" /></figure>



<p class="wp-block-paragraph">SLAACとは、DHCPサーバを使わずにルータと端末間で動的にIPv6アドレスを生成する。要は、DHCPサーバによる一元管理に依存しないということ。しかし自由度が上がった分、重複管理なども端末が実施する必要がある。そのプロセスがまさに(i)と(v)である。<br>あらかじめ自分が使う予定のアドレスをリンク内に聞いておくことで、重複を防いでいる。これはIPv4のARP Probeと原理は同じである。<br>自分が使う予定のアドレスを拡散して、既に使われていたら応答が返ってきて、応答が返ってこなければ使われていない（重複なし）と判断できる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（４）GUA:2001:db8:aabb:1:8:800:200c:417a　プレフィックス:64</span></span></strong></span><br>LLAがfe80::8:800:200c:417a<br>プレフィックスが<span class="fz-20px"><span class="fz-18px">2001:db8:aabb:1:</span></span>:/64<br>これはシンプルにLLAの後半64bitとプレフィックスの前半64をつなげればいいだけ。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問４</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）インターネットからルータA,ルータB及びFWにアクセスできないようにするため</span></span></strong></span><br>そもそもLLAとは同一リンク内のみで有効なアドレス。つまり、リンク外からはアクセスできないアドレスとなる。つまり、<ruby>況<rt>いわんや</rt></ruby>やインタフェースにLLAのみの割り当てとは同一リンク外からはアクセスできなくなるため、それをうまく利用すればアクセス制限にも利用できるということ。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）traceroute6を利用して調べるときに各機器を識別しやすくなる</span></span></strong></span><br>前提条件としてtraceroute6はLLAに対応し切れない。だから、GUAを設定している。そもそも、もしLLAをtraceroute6で完璧に扱えるのであれば、スタティックなLLAを割り当てればデバイスの識別も可能になるため要件を満たせる。しかし、実際はそうではない。なので、GUAをスタティックに割り当てる必要がある。<br><span class="fz-16px">＊厳密にはtraceroute6はLLAに対する受信はできるが応答は返せないとう表現が正しい</span></p>



<p class="wp-block-paragraph"><strong>Q.インタフェースe~fにGUAを割り当てるならa~dに割り当てないのはどういう了見？<br></strong>A.e~fとa~dの決定的な違いはどこに配置されているか、である。要は、a~dはFWの外側に配置されているのである。一方e~fはFWの内側に配置されている。以上より、もしａ～ｄにGUAを割り当ててしまうとインターネットから無秩序にアクセスされてしまう可能性がある。そのためa~dにはGUAをつけないことが望ましい。</p>



<p class="wp-block-paragraph"><strong><span class="fz-18px">Q.tracerouteの経路途中にLLAのみデバイスがある場合はどうなるの？<br></span></strong>tracerouteの宛先自体はGUAを持っているが、その経路途中にLLAのみのデバイスがあったらどうなるのか。２択の選択肢が浮かぶだろう。１つは途中でtracerouteが中断される。もう一つは、そのデバイスのみ表示されずtracerouteは継続する。答えは後者である。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="1. 2001:db8:xxxx::1 (ISP側のルーター)     &lt;-- GUAが見える
2. * * *                                  &lt;-- ルーターA（GUAがないので応答不能・隠れる）
3. * * *                                  &lt;-- ルーターB（GUAがないので応答不能・隠れる）
4. * * *                                  &lt;-- FWの外側 d（GUAがないので応答不能・隠れる）
5. 2001:db8:yyyy:1::x (監視サーバー)      &lt;-- パケットが届くので、GUAが再び表示される！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #AE81FF">1.</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2001</span><span style="color: #F92672">:</span><span style="color: #F8F8F2">db8</span><span style="color: #F92672">:</span><span style="color: #F8F8F2">xxxx</span><span style="color: #F44747">::</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2"> (ISP側のルーター)     </span><span style="color: #F92672">&lt;--</span><span style="color: #F8F8F2"> GUAが見える</span></span>
<span class="line"><span style="color: #AE81FF">2.</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2">                                  </span><span style="color: #F92672">&lt;--</span><span style="color: #F8F8F2"> ルーターA（GUAがないので応答不能・隠れる）</span></span>
<span class="line"><span style="color: #AE81FF">3.</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2">                                  </span><span style="color: #F92672">&lt;--</span><span style="color: #F8F8F2"> ルーターB（GUAがないので応答不能・隠れる）</span></span>
<span class="line"><span style="color: #AE81FF">4.</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">*</span><span style="color: #F8F8F2">                                  </span><span style="color: #F92672">&lt;--</span><span style="color: #F8F8F2"> FWの外側 d（GUAがないので応答不能・隠れる）</span></span>
<span class="line"><span style="color: #AE81FF">5.</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">2001</span><span style="color: #F92672">:</span><span style="color: #F8F8F2">db8</span><span style="color: #F92672">:</span><span style="color: #F8F8F2">yyyy</span><span style="color: #F92672">:</span><span style="color: #AE81FF">1</span><span style="color: #F92672">::</span><span style="color: #E6DB74">x</span><span style="color: #F8F8F2"> (監視サーバー)      </span><span style="color: #F92672">&lt;--</span><span style="color: #F8F8F2"> パケットが届くので、GUAが再び表示される！</span></span></code></pre></div>



<p class="wp-block-paragraph">このような👆表示になる。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px">Q.これはどの</span><span class="fz-20px">ネットワーク</span><span class="fz-20px">のことを言っているの？</span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="917" height="141" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-14.png" alt="" class="wp-image-7872" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-14.png 917w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-14-300x46.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-14-768x118.png 768w" sizes="(max-width: 917px) 100vw, 917px" /></figure>



<p class="wp-block-paragraph">なんか、回りくどく書かれていて結局どこのネットワークを指しているのかよくわからなくなる。<br>まず、順番に紐解いていこう。<br>１．FWと各拠点のL3SWとの間→広域イーサ網<br>２．PCやサーバを接続しないネットワーク→広域イーサ網の説明<br>以上より、「いや、シンプルに広域イーサ網ってかいてくれよ！」って感じるが、要はこの文は広域イーサ網を指しているということ。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><strong>Q.そもそも、なんでa~dはGUAを割り当てる必要がないの？</strong></span><br></p>



<figure class="wp-block-image size-full"><img decoding="async" width="983" height="959" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-14.jpg" alt="" class="wp-image-7871" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-14.jpg 983w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-14-300x293.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-14-768x749.jpg 768w" sizes="(max-width: 983px) 100vw, 983px" /></figure>



<p class="wp-block-paragraph">そもそもGUAが必要なパターンはリンク外から宛先としてそのデバイスが指定されるとき。その点、インタフェースa~dは宛先として指定されることがないのでGUAもいらない。LLAさえあれば転送処理はできるので、わざわざGUAをつける必要もない。</p>



<p class="wp-block-paragraph"><strong>Q.GUAがなかったらルータにリモートアクセス（SSH,telnet）できないのでは？</strong><br>たしかにLLAのみではリンク外からのアクセスはできなくなる。しかし、実務ではいろいろな方法でその問題を解決している。それが踏み台サーバを用意すること。<br>▼踏み台サーバの流れ<br><span class="fz-16px">１．当該ルータと同一リンクに踏み台サーバを準備する<br>２．管理用PCで踏み台サーバにSSHやtelnetでアクセス<br>３．当該ルータのLLAあてにSSHやtelnetでアクセス<br>　（同一リンク場であるためLLAでのアクセスが可能）</span><br>以上のような手順でLLAしか割り当てられていない機器に対してもリモートアクセスが可能になる方法がある。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（３）PCが送信したRSメッセージに対してRAメッセージを応答する</span></span></strong></span><br>下線⑤からSLAACのプロセスに関する問であることが分かる。そのためSLAACにおけるルータの挙動を回答として提示する。<br>▼SLAACの流れ<br><strong>１．PCがRSメッセージを送信<br></strong><span class="fz-16px">PCはどの自分のアドレスとして「どのプレフィックス？デフォルトルートは？」などの情報を求めるためのRSメッセージをマルチキャストする。</span><br><strong>２．ルータがRAメッセージを送信</strong><br><span class="fz-16px">ルータはプレフィックス、デフォルトルートなどの情報をPCに教える</span><br>以上の流れより、L3SWがやることは「PCが送信したRSメッセージに対してRAメッセージを応答する」である。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（４）ア: fe80::1　イ: b　ウ: <span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">fe80::</span></span></strong></span>2　エ: c　オ<span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">: <span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">fe80::1</span>　</span></strong></span></span></span></strong></span>カ<span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">: d　</span></span></strong></span>キ<span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">: <span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">fe80::</span></span></strong></span></span></span></strong></span>2　ク<span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">: <span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">f　</span></span></strong></span></span></span></strong></span>ケ<span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">: <span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">fe80:::1</span></span></strong></span></span></span></strong></span></span></span></strong></span><br></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項番</strong></td><td><strong>機器名</strong></td><td><strong>静的経路制御又は経路制御プロトコル名</strong></td><td><strong>宛先ネットワーク</strong></td><td><strong>ネクストホップのIPv6アドレス</strong></td><td><strong>出口インタフェース名</strong></td></tr></thead><tbody><tr><td>1</td><td>ルータB</td><td>静的経路制御</td><td>::/0</td><td><strong><span class="fz-20px">ア: fe80::1</span></strong></td><td><strong><span class="fz-20px">イ: b</span></strong></td></tr><tr><td>2</td><td>ルータB</td><td>静的経路制御</td><td>2001:db8:yyyy::/48</td><td>なし</td><td>Null¹⁾</td></tr><tr><td>3</td><td>ルータB</td><td>OSPFv3</td><td>2001:db8:yyyy:3::/64</td><td><strong><span class="fz-20px">ウ: <strong><span class="fz-20px">fe80::</span></strong>2</span></strong></td><td><strong><span class="fz-20px">エ: c</span></strong></td></tr><tr><td>4</td><td>FW</td><td>OSPFv3</td><td>::/0</td><td><strong><span class="fz-20px">オ<strong><span class="fz-20px">: <strong><span class="fz-20px">fe80::1</span></strong></span></strong></span></strong></td><td><strong><span class="fz-20px">カ<strong><span class="fz-20px">: d</span></strong></span></strong></td></tr><tr><td>5</td><td>FW</td><td>OSPFv3</td><td>2001:db8:yyyy:3::/64</td><td><strong><span class="fz-20px">キ<strong><span class="fz-20px">: <strong><span class="fz-20px">fe80::</span></strong></span></strong>2</span></strong></td><td><strong><span class="fz-20px">ク<strong><span class="fz-20px">: <strong><span class="fz-20px">f</span></strong></span></strong></span></strong></td></tr><tr><td>6</td><td>L3SW1</td><td>OSPFv3</td><td>::/0</td><td><strong><span class="fz-20px">ケ<strong><span class="fz-20px">: <strong><span class="fz-20px">fe80:::1</span></strong></span></strong></span></strong></td><td>g</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><br><span class="fz-16px">＊なお、ネクストホップアドレスを聞かれている場合はプレフィックスをつけない。プレフィックスをつけるのは宛先ネットワークなどのネットワークを聞かれている場合はつける。</span><br><span class="fz-16px">＊GUAとLLAの２つを持っている機器で回答にLLAが選ばれるのは、OSPFv3を動作させているから。OSPFv3はLLAで経路交換するため、回答も必然的にLLAになる。<br></span><strong><span class="fz-20px">ア: fe80::1</span></strong><br>宛先が::/0、つまりデフォルトルートなのでルータAに渡す必要がある。なので、答えは、ルータAのインタフェースaである<strong>fe80::1</strong>である。<br><span class="fz-16px">*<strong>fe80::1/64</strong>としないように！<br></span><strong><span class="fz-20px">イ: b</span></strong><br>出口インタフェースはルータAと接続している<strong>b</strong>である。<br><strong><span class="fz-20px">ウ: <strong><span class="fz-20px">fe80::</span></strong>2</span></strong><br>宛先ネットワークが2001:db8:yyyy:3::/64なので、これはL3SW1のh配下であることが分かる。で、そこに行くためにはFWを経由する必要があるので、FWのdである<strong>fe80::2</strong>となる。<br><strong><span class="fz-20px">エ: c</span></strong><br>出口インタフェースはFWと接続している<strong>c</strong>である。<br><strong><span class="fz-20px">オ<strong><span class="fz-20px">: <strong><span class="fz-20px">fe80::1</span></strong></span></strong></span></strong><br>宛先が::/0、つまりデフォルトルートなのでBに渡す必要がある。なので、答えは、ルータBのインタフェースcである<strong>fe80::1</strong>である。<br><strong><span class="fz-20px">カ<strong><span class="fz-20px">: d</span></strong></span></strong><br>出口インタフェースはルータBと接続している<strong>d</strong>である。<br><strong><span class="fz-20px">キ<strong><span class="fz-20px">: <strong><span class="fz-20px">fe80::</span></strong></span></strong>2</span></strong><br>FWから2001:db8:yyyy:3::/64へ行くには、まず、2001:db8:yyyy:3::/64はL3SW1のhあてであることが分かる。なので、ネクストホップは、L3SW1のFWとつながっているインタフェースgのアドレス。つまり、fe80::2である。<br>（gはGUAとLAAの両方を持っているがOSPFv3ではLLAで経路交換するため必然的にLLAが選出される）<br><strong><span class="fz-20px">ク<strong><span class="fz-20px">: <strong><span class="fz-20px">f</span></strong></span></strong></span></strong><br>出口インタフェースはL3SQ1と接続している<strong>f</strong>である。<br><strong><span class="fz-20px">ケ<strong><span class="fz-20px">: <strong><span class="fz-20px">fe80::1</span></strong></span></strong></span></strong><br>宛先が::/0、つまりデフォルトルートなのでFW側に渡したい。FWのインタフェースfのアドレスは<strong>fe80::1</strong>となる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（５）ホップリミットが０になるまで相互に転送し合い、破棄する</span></span></strong></span><br>項番２はQ社が割り当てられているプレフィックスへのパケットはNull0で破棄している。これがあることによってルータAとルータBのループを防ぐことができる。では、項番２がある場合とない場合のケースを見ていこう！<br><strong>▼項番２がない場合<br></strong>１．インターネットからISPに宛先IP<code>2001:db8:yyyy:9999::1</code>として届く<br>２．ISPがプレフィックスを確認し、Q社に割り当てた<code>2001:db8:yyyy::/48の範囲内</code>あることを確認<br>３．Q社へ転送＝<span class="blue">ルータBに転送</span><br>４．Q社は宛先を確認するが、9999に該当するものはないと判断<br>　Q社のGUAを確認すると1~3までしかない。9999に該当するものはない<br>５．わからないルートはデフォルトルートに流す＝<span class="blue">ルータAに流す</span><br>６．ISPは宛先IP<code>2001:db8:yyyy:9999::1</code>を再度受け取るが、プレフィックスはQ社なので再度<span class="blue">ルータBに転送</span><br>７．Q社は受け取るが該当がないので<span class="blue">ルータAに転送</span><br>８．以上のプロセスがホップリミット０になるまで繰り返される<br>このように、自身に割り当てられたアドレスの範囲内なんだけど実際は使っていないアドレスはループを引き起こしてしまう。<br><br><strong>▼項番２がある場合</strong><br>１．インターネットからISPに宛先IP<code>2001:db8:yyyy:9999::1</code>として届く<br>２．ISPがプレフィックスを確認し、Q社に割り当てた<code>2001:db8:yyyy::/48の範囲内</code>あることを確認<br>３．Q社へ転送＝<span class="blue">ルータBに転送</span><br>４．Q社は宛先を確認するが、ぴったり9999に該当するものはないと判断。<br>５．しかし、項番２に2001:db8:yyyy::/48宛てはNull0へとあるのでそこに転送する<br>６．Null0は破棄を意味するので、そこでそのパケットは破棄されて終わる。<br>このように、Null0を作ることによって、自身が割り当てられたプレフィックス内<ruby>＆<rt>かつ</rt></ruby>実際は使っていないアドレスが送られてきても、それを破棄できる。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.3 そもそもなんでIPv6対応させる必要があるの？</span></strong><br></span></span>デュアルスタックやなんやらでIPv6に対応させることは面倒くさそう。それなのになぜわざわざやる必要があるのか..。<br><strong>理由1：IPv6が普及し続けているから。<br></strong>　現在、IPv6は普及し続けている。そのうち、IPv6のみにしか対応していない環境も生まれる。そうなったときにIPv4にしか対応していないと通信が複雑化してしまい面倒くさくなる。<br><strong>理由２：IPv6の方が早いから<br></strong>　IPv4はPPPoEと呼ばれる処理をする。これはISPの手前にある「網終端装置」という認証用のゲートを通らなければならないというルールがある。そのためそこで大渋滞を起こしてしまう可能性がある。一方IPv6はIPoEと呼ばれる処理を実施しており、これは認証ゲートを通らず広い空間を利用できるため、遅延の可能性も抑えることができる。　<br>＊IPv4単体ではIPoEを使えないという<span class="red">日本独自のルール</span>がある。<br><strong>理由３：処理の単純化のため<br></strong>　IPv4でもカプセル化技術を使えばIPoEに対応できる。しかし、毎回カプセル化処理をするとルータへの負担が増大して面倒くさい。</p>



<p class="wp-block-paragraph"><strong>Q.海外にはそもそもPPPoEとIPoEという概念がないのはなぜ？</strong><br>実はIPv4でIPoEが使えないのは日本独自の大人の事情があるから。そもそも海外ではイーサネットに流すのが当たり前すぎて、PPPoEやIPoEという概念がない。そのためIPv4でもイーサネットでそのままISPに流すことが可能。では、なぜこのような違いが生まれたのか見ていこう！<br><strong>A.海外はISPで一本化だが、日本はISPと光回線が別々の事業者で運用されているから！</strong><br>海外の多くは、テレビの同軸ケーブルなどすでに施設されているインフラを使うことによって、独自のインフラを築けた。その結果、テレビ会社がISPサービスも提供できISPサービスと回線の一本化に成功した。一方、日本は国営の日本電信電話公社（現NTT）が主導で日本全国に電柱などのインフラ設備をを施設するという超巨大プロジェクトが実施された。その結果、ほかの会社が今から「独自に日本全国にインフラ作ってやる！」となっても時間・コストともに無理ゲーとなってしまう。<br>そのため、日本では回線はNTTが提供し、ネットワークはISPが提供するという<ruby>歪<rt>いびつ</rt></ruby>で非効率な構成になってしまった。<br>なお日本の法律でNTT東西は直接ISP事業をしてはならないという独占禁止に関連する決まりがあるためNTT自体がISPになって通信を一本化するということもできない。<br>＊しかし、直接ではなくNTTグループ会社の一部がISPとなることはOK</p>



<p class="wp-block-paragraph">▼覚えておきたい前提知識<br><strong>・日本の場合、IPoEに対応しているのはIPv6のみ<br></strong><span class="fz-16px">　→これによりIPv4単体ならPPPoEは必須となる<br></span><strong>・日本は回線提供会社とISP事業会社が分かれている<br></strong><span class="fz-16px">　→これによりISPはL2TP over PPPの認証が必要になる。＝L2TP over PPPを使った認証が必須<br></span><strong>・海外は回線とISPが一本化されている<br></strong><span class="fz-16px">　→これにより回線でユーザを識別できるのでL2TP over PPPの認証が不要。＝IPoEが当たり前<br></span><strong>・IPv6を使う<br></strong><span class="fz-16px">　→IPoEが使える→回線単位での認証が可能になる→L2TP over PPPで認証することが不要になった<br>＊回線でユーザを認識し、その情報をISPと共有することでISP側は認証をすることなく通信の中継ができるようになる。</span></p>



<p class="wp-block-paragraph"><span class="fz-20px"><span class="marker"><span class="fz-22px"><strong>Q.PPPoEとは？</strong><br></span></span></span>PPPoEは、PPP over Ethernetの略。要はイーサネット上でPPPを実現する技術。<br>まず、PPPとは１対１用の認証プロトコル。<br>次にイーサネットとは１対多の通信規格。<br>＊注意点として、GRE over IPsecのように２つの独立したプロトコルをただ重ねたわけではないということ。GREヘッダがあって、その上にIPsecヘッダがあるみたいな構造とは違った構造をとるのがPPPoE。PPP over EthernetとはPPPの上にEthernetという規格を重ねたことを意味するのではなく、PPPoEという単一の専用プロトコルを意味している。つまり、<span class="red">PPPoEヘッダという単一のヘッダ</span>が存在しているということ。</p>



<p class="wp-block-paragraph"><strong>▼PPPoEのパケット構成</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="一番外側（道路を走るための封筒）
  └─①【イーサネットヘッダ】（送信元/宛先 MACアドレス、EtherType: 0x8864）
      └─②【PPPoEヘッダ】（Ver, Type, Code, Session ID など 6バイト）
          └─③【PPPヘッダ】（Protocol ID, 認証データなど）
              └─④【IPヘッダ】（送信元/宛先 IPアドレス）
                  └─⑤【データ本体】（Webサイトのデータなど）" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">一番外側（道路を走るための封筒）</span></span>
<span class="line"><span style="color: #F8F8F2">  └─①【イーサネットヘッダ】（送信元</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">宛先 MACアドレス、EtherType</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2">x8864）</span></span>
<span class="line"><span style="color: #F8F8F2">      └─②【PPPoEヘッダ】（Ver</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Type</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Code</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> Session ID など </span><span style="color: #AE81FF">6</span><span style="color: #F8F8F2">バイト）</span></span>
<span class="line"><span style="color: #F8F8F2">          └─③【PPPヘッダ】（Protocol ID</span><span style="color: #F92672">,</span><span style="color: #F8F8F2"> 認証データなど）</span></span>
<span class="line"><span style="color: #F8F8F2">              └─④【IPヘッダ】（送信元</span><span style="color: #F92672">/</span><span style="color: #F8F8F2">宛先 IPアドレス）</span></span>
<span class="line"><span style="color: #F8F8F2">                  └─⑤【データ本体】（Webサイトのデータなど）</span></span></code></pre></div>



<p class="wp-block-paragraph">このように、PPPoEは独自のPPPoEヘッダが存在していることがわかる。また、そのPPPoEヘッダ内にあるSession IDがトンネルの役割を担い、論理機的な１対１通信を実現している。</p>



<p class="wp-block-paragraph"><strong>▼IPoEとPPPoEの違い</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="【旧：PPPoEの道路】
  [あなたの家] ─(光回線)─&gt; [NTT網] ─&gt; ★【網終端装置（激狭の関所）】 ─&gt; [ISP] ─&gt; [ネット]
  ※夜間になると、この「網終端装置」に全員の通信が集中して大渋滞が発生していた！

【新：IPoEの道路】
  [あなたの家] ─(光回線)─&gt; [NTT網] ────────&gt; 🚀【大容量GW（爆広の高速道路）】 ─&gt; [ISP] ─&gt; [ネット]
  ※激狭の関所を完全にバイパス（迂回）して、スカスカの巨大ゲートウェイを通る！" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">【旧：PPPoEの道路】</span></span>
<span class="line"><span style="color: #F8F8F2">  [あなたの家] ─(光回線)─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [NTT網] ─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> ★【網終端装置（激狭の関所）】 ─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [ISP] ─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [ネット]</span></span>
<span class="line"><span style="color: #F8F8F2">  ※夜間になると、この「網終端装置」に全員の通信が集中して大渋滞が発生していた！</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">【新：IPoEの道路】</span></span>
<span class="line"><span style="color: #F8F8F2">  [あなたの家] ─(光回線)─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [NTT網] ────────</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> 🚀【大容量GW（爆広の高速道路）】 ─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [ISP] ─</span><span style="color: #F92672">&gt;</span><span style="color: #F8F8F2"> [ネット]</span></span>
<span class="line"><span style="color: #F8F8F2">  ※激狭の関所を完全にバイパス（迂回）して、スカスカの巨大ゲートウェイを通る！</span></span></code></pre></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>比較項目</strong></td><td><strong>PPPoE（旧世代）</strong></td><td><strong>IPoE（現代）</strong></td></tr></thead><tbody><tr><td><strong>接続認証</strong></td><td>ID/パスワード（セッション管理）<br>ステートフル</td><td>回線IDによる事前自動照合（顔パス）<br>ステートレス</td></tr><tr><td><strong>通過する設備</strong></td><td>混雑しやすい「網終端装置」</td><td>スカスカな「大容量ゲートウェイ」</td></tr><tr><td><strong>夜間の速度</strong></td><td>渋滞で激遅になりやすい</td><td>常に安定して爆速</td></tr><tr><td><strong>ルータ設定</strong></td><td>ID/PASSの手動入力が必要</td><td>ケーブルを挿すだけ（自動）</td></tr><tr><td><strong>MTU（パケットサイズ）</strong></td><td>1454バイト（オーバーヘッドあり）</td><td>1500バイト（フルサイズで転送可能）</td></tr><tr><td><strong>10G回線対応</strong></td><td>不可能（CPU処理が追いつかない）</td><td>完全対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PPPoEの最大のボトルネックは網終端装置である。一方、IPoEでは大容量ゲートウェイであるため、大量の通信を混雑なく実行できる。そのため現在ではIPoEが主流になっている。しかし、ここで１つの疑問が浮かぶ。「いや、じゃあPPPoEでも終端装置の性能あげればよかったじゃん。なんでしなかったの？」と。では、その疑問を答えていこう！</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px">Q.PPPoEではなぜ網終端装置を改修しなかったのか</span></strong><br></span>PPPoEの最大のボトルネックは網終端装置。それが原因で今ではIPoEが主流になりほぼ利用されなくなってしまった。「いや、じゃあPPPoEでも終端装置の性能あげればよかったじゃん。なんでしなかったの？」と。それには、「日本の法規・契約の壁」「技術的な限界」「コストの壁」という3つの巨大な理由があったため、最終的に「PPPoEを諦めて、IPoEという新しい仕組みを作った方が早い＆安い」という結論になったのだ。<br><strong>理由１：ルールがガチガチだったから</strong><br><span class="fz-16px">　網終端装置(NTE)はNTTの持ち物だが増設するためのルールは総務省とNTTの間で厳格な取り決めがあった。それが「通信料ではなくセッション数（契約者数）が増えないと増設してはならない」というもの。しかし、スマホ、YouTube、ゲームの普及により１人のユーザが大量のデータ通信をするようになり、そのルールでは対応しきれないという問題が生まれるのは時間の問題となった</span><br><strong>理由２：技術の限界</strong><br>　<span class="fz-16px">PPPoEはユーザのセッション情報（接続状態、認証情報）をステートフルにメモリに保存しなければならない。そのため大量のユーザが接続してくると、セッション処理などで莫大なメモリ、CPUを消費してしまう。10Gbps、100Gbpsといった超巨大なデータを流しながら、何万人分の状態管理をミリ秒単位で行う機器は、技術的に作るのが超難しく、CPUやメモリに莫大な負担がかかる。</span><br><strong>理由３：国の戦略・コスト</strong><br>　<span class="fz-16px">枯渇しきった旧世代のIPv4(PPPoE)にこれ以上投資するよりも、IPv6へ一気に日本全体を移行させたいという政策的な狙いがあった。</span></p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span class="marker"><span class="fz-22px">Q.なぜ日本ではIPv4のIPoEができなくて海外ではできるの？<br></span></span></span></strong>海外では当たり前のようにIPv4でIPoEが実施されている（そもそも当たり前すぎてIPoEという概念すらない）。でも、日本ではなぜかIPv6でしか実現できない。それはなぜ？<br><strong>理由１：構造・法律の壁</strong><br>　<span class="fz-16px"><strong>海外</strong>：回線とプロバイダ（ISP）が一本化されているため、クライアントのルータが起動した瞬間に自社のDHCPサーバでIPv4（またはCGNAT用プライベートIPv4）を割り当てる。<br>　<strong>日本</strong>：日本の法律によってNTTはプロバイダ業務（IPアドレス変換、認証など）を実施してはならない。そのため、NTTにぶら下がっている大量のプロバイダに適切に振り分ける仕組みが必要だった。</span><br><strong>理由２：アドレス数の限界<br></strong><span class="fz-16px">海外ではIPv4が枯渇した後も、プロバイダ専用のプライベートIPv4あどれs（100.64.0.0/10=419万)を割り当ててCGNATしていた。</span><br>＊<span class="fz-16px">10.0.0.0/8などの一般プライベートIPは、各家庭のWi-Fi(LAN)と衝突するのでWAN側では使えない。<br>　<strong>海外：</strong>NYエリア、LAエリアのように地域ごとに網が分割されているため、各地域で約419万のプライベートIPを何度も使いまわせた<br>　<strong>日本：</strong>NTTのNGNには全国2,000万人以上が１つのネットワークにつながっている。そのため、419万しかないプライベートIPを使うと重複が起こり通信が壊れる。つまり、どうしても一世帯に１つのIPアドレスが必須。<br>＊なおポート番号の範囲をユーザごとに割り振ると、識別できそうだが2000万人すべての通信をTCP層まで見ようとするとCPUに大きな負荷がかかる。そのため基本的にはL3のIPのみの通信を前提に考えるべき</span><br><br>まとめると、IPoEではユーザID/パスワードの認証ではなく、IPアドレスベースの認証をすることによって処理を軽くしている。つまり、IPoEはIPアドレスが基盤なのでそれが安定して割り当てられなかったら、そもそもIPoEは機能しないよねってこと！</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.3 広域イーサネットサービス網とは？</span></strong></span></span><br>広域イーサネットサービスについての説明では、「超大きなL2スイッチに接続できるサービス」と表現されることが多い。要は、物理的につながっていない拠点間同士でも、あたかも同一L2スイッチに接続しているように、同一サブネットとして振舞えるということである。では、それは内部でどのような処理が行われているのだろう？それを以下で見ていこう！</p>



<p class="wp-block-paragraph">▼大まかな流れ</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="【東京本社】
  [ 自社L2スイッチ ]
       │ (LANケーブル)
  [ ONU (回線終端装置) ]
       │
       │ ① アクセス回線（NTTが敷いた電柱の光ファイバー）
       ▼
┌──────────────────────────────────────────────┐
│  NTT東京局舎（近くの電話局）                 │
└──────────────────────────────────────────────┘
       │
       │ ② POI（NTTとソフトバンクの建物を結ぶ光ケーブル）
       ▼
┌──────────────────────────────────────────────┐
│  ソフトバンク・コアネットワーク              │
│  （全国を結ぶ巨大な仮想L2スイッチ）          │
└──────────────────────────────────────────────┘
       │
       │ ③ POI
       ▼
┌──────────────────────────────────────────────┐
│  NTT大阪局舎（大阪の電話局）                 │
└──────────────────────────────────────────────┘
       │
       │ ④ アクセス回線（NTTの光ファイバー）
       ▼
  [ ONU ] ─── [ 自社L2スイッチ ]
【大阪支店】" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">【東京本社】</span></span>
<span class="line"><span style="color: #F8F8F2">  [ 自社L2スイッチ ]</span></span>
<span class="line"><span style="color: #F8F8F2">       │ (LANケーブル)</span></span>
<span class="line"><span style="color: #F8F8F2">  [ ONU (回線終端装置) ]</span></span>
<span class="line"><span style="color: #F8F8F2">       │</span></span>
<span class="line"><span style="color: #F8F8F2">       │ ① アクセス回線（NTTが敷いた電柱の光ファイバー）</span></span>
<span class="line"><span style="color: #F8F8F2">       ▼</span></span>
<span class="line"><span style="color: #F8F8F2">┌──────────────────────────────────────────────┐</span></span>
<span class="line"><span style="color: #F8F8F2">│  NTT東京局舎（近くの電話局）                 │</span></span>
<span class="line"><span style="color: #F8F8F2">└──────────────────────────────────────────────┘</span></span>
<span class="line"><span style="color: #F8F8F2">       │</span></span>
<span class="line"><span style="color: #F8F8F2">       │ ② POI（NTTとソフトバンクの建物を結ぶ光ケーブル）</span></span>
<span class="line"><span style="color: #F8F8F2">       ▼</span></span>
<span class="line"><span style="color: #F8F8F2">┌──────────────────────────────────────────────┐</span></span>
<span class="line"><span style="color: #F8F8F2">│  ソフトバンク・コアネットワーク              │</span></span>
<span class="line"><span style="color: #F8F8F2">│  （全国を結ぶ巨大な仮想L2スイッチ）          │</span></span>
<span class="line"><span style="color: #F8F8F2">└──────────────────────────────────────────────┘</span></span>
<span class="line"><span style="color: #F8F8F2">       │</span></span>
<span class="line"><span style="color: #F8F8F2">       │ ③ POI</span></span>
<span class="line"><span style="color: #F8F8F2">       ▼</span></span>
<span class="line"><span style="color: #F8F8F2">┌──────────────────────────────────────────────┐</span></span>
<span class="line"><span style="color: #F8F8F2">│  NTT大阪局舎（大阪の電話局）                 │</span></span>
<span class="line"><span style="color: #F8F8F2">└──────────────────────────────────────────────┘</span></span>
<span class="line"><span style="color: #F8F8F2">       │</span></span>
<span class="line"><span style="color: #F8F8F2">       │ ④ アクセス回線（NTTの光ファイバー）</span></span>
<span class="line"><span style="color: #F8F8F2">       ▼</span></span>
<span class="line"><span style="color: #F8F8F2">  [ ONU ] ─── [ 自社L2スイッチ ]</span></span>
<span class="line"><span style="color: #F8F8F2">【大阪支店】</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.4 ルータBは、OSPFv2でデフォルトルートを配布している</span></strong></span></span><br>これの意味は、字義通りデフォルトルートの配布である。では、なぜわざわざ明示的にしているかというと、通常のルート広告とは種類が違うからである。<br>OSPFにおいて経路の有効化はインタフェース単位で行う。しかしデフォルトルートはインタフェースに紐づくものではないため特別なコマンドを明示的にする必要がある。そのような背景から本文のような「ルータBは、OSPFv2でデフォルトルートを配布している」という文章になる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="#OSPFにおけるデフォルトルートの配布方法
router ospf 1
 default-information originate" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">#OSPFにおけるデフォルトルートの配布方法</span></span>
<span class="line"><span style="color: #F8F8F2">router ospf </span><span style="color: #AE81FF">1</span></span>
<span class="line"><span style="color: #F8F8F2"> default</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">information originate</span></span></code></pre></div>



<p class="wp-block-paragraph">また、上記コマンドはデフォルトルートを保持しているルータのみの設定でよい。配下のルータは上記コマンドを設定しなくても自動で配下へと反映する</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.4 IPv4とIPv6のデュアルスタック</span></strong></span></span><br>IPv4とIPv6のデュアルスタックとは一つの機器がIPv6とIPv4の両方に対応できるような構成のこと。具体的には、一つの機器にIPv4とIPv6のIPアドレスを割り当てたりすることが該当する。これによって、２つのプロトコルに対応できるようになる。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.6 SLAAC</span></strong></span></span><br>SLAACはStatelessAddressAutoconfigurationの略。DHCPサーバを使わずにルータと端末とのやり取りだけで、動的にIPv6アドレスを作り出す仕組みのこと。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.8 SなんでIPv6の名前解決になるとIPv4よりも大きなサイズになるの？</span></strong></span></span><br>基本的なDNS構成はIPv4だろうとIPv6だろうと変わらないではなぜこのようなことが起きるのか。。。では、見ていこう！</p>



<figure class="wp-block-image size-full"><img decoding="async" width="946" height="150" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11.png" alt="" class="wp-image-7866" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-11.png 946w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-300x48.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-11-768x122.png 768w" sizes="(max-width: 946px) 100vw, 946px" /></figure>



<p class="wp-block-paragraph"><strong>原因１：アドレス長の違い<br></strong><span class="fz-16px">　IPv4は32bitでIPv6は128bitで構成されている。そのため、レコードに記録する根本的なデータ量が変わってくるのは必然と言える。</span><br><strong>原因２：逆引き</strong><br><span class="fz-16px">　逆引きをする際に、IPv4であれば約20バイト程度で済んだが、IPv6の場合は約75バイトなので、そういった面でもデータサイズが大きくなることがある。</span></p>



<p class="wp-block-paragraph"><strong><span class="fz-18px"><span class="fz-20px">Q.逆引きとは</span></span></strong><br>逆引きとは、IPアドレスからドメインを解決することである。では、逆引きが使われるケースを見ていこう！</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px">▼逆引きが使われるケース<br></span>１．迷惑メール対策</strong><br><span class="fz-16px">①example.comからメールが届く<br>②送信元アドレスから逆引きをする<br>③逆引きで得られたドメインと送信元のドメインが一致することを確認する<br>④一致していたら→正当の可能性あり　不一致なら→偽装</span><br><strong>２．ログ解析</strong><br><span class="fz-16px">ログとしてIPアドレスだけを残すとどこからのアクセスか判断できない。そのため、逆引きをしてドメイン名を明らかにした上でログに残すという手法もある。</span><br>このような使われ方があります。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px">▼逆引きの流れ</span></strong><br>192.0.2.1を逆引きする例を一緒に見ていこう！<br><strong>１．逆引き用の文字列を作る</strong><br>①アドレスを逆さにする（192.0.2.1→1.2.0.192）<br>②逆引き専用のドメインをつける<br>IPv4の場合→.in-addr.arpaなので1.2.0.192.in-addr.arpa.<br>IPv6の場合→.ip6.arpa.<br><strong>２．ルートドメインへ問い合わせ<br></strong><span class="fz-16px"><strong>１クライアント→ルートドメイン<br></strong>「1.2.0.192.in-addr.arpa.のPTRレコードくださーい」<br><strong>２．ルート→クライアント<br></strong>「そのPTRレコードは知らないけど、.in-addr.arpaの管理ならIANAが持ってるよ」<br>返されるデータ：<br>　IANAサーバの<span class="blue">NSレコード</span>＋そのサーバの<span class="blue">A/AAAAレコード</span><br>＊IANA：IPアドレスを配布する世界で１番上に存在する元締め。この下にJPNICやらの地域ごとのアドレス割り当て機関がある</span><br><strong>３．IANAへ問い合わせ<br></strong><span class="fz-16px"><strong>１クライアント→ルートドメイン<br></strong>「1.2.0.192.in-addr.arpa.のPTRレコードくださーい」</span><br><span class="fz-16px"><strong>２．ルート→クライアント</strong><br>「そのPTRレコードは知らないけど、192.in-addr.arpaの管理ならアジアのAPNIC/JPNICのDNSサーバが持ってるよ」<br><span class="fz-16px">返されるデータ：<br>　APNIC/JPNICサーバの<span class="blue">NSレコード</span>＋そのサーバの<span class="blue">A/AAAAレコード</span></span><br><span class="fz-18px"><strong>４．JPNICへ問い合わせ<br></strong></span><span class="fz-16px"><strong>１クライアント→ルートドメイン<br></strong>「1.2.0.192.in-addr.arpa.のPTRレコードくださーい」</span><br><span class="fz-16px"><strong>２．ルート→クライアント</strong><br></span>「そのPTRレコードは知らないけど、0.192.in-addr.arpaの管理なら○○プロバイダのDNSサーバが持ってるよ」<br><span class="fz-16px">返されるデータ：<br></span><span class="blue"><span class="fz-16px"><span class="fz-16px">　</span></span></span><span class="fz-16px"><span class="fz-16px">○○プロバイダの</span></span><span class="blue"><span class="fz-16px"><span class="fz-16px"><span class="blue">NSレコード</span>＋</span></span></span><span class="fz-16px"><span class="fz-16px">そのサーバの</span></span><span class="blue"><span class="fz-16px"><span class="fz-16px"><span class="blue">A/AAAAレコード</span></span><br></span></span></span><strong>５．プロバイダ<br></strong><span class="fz-16px"><span class="fz-16px"><span class="fz-16px"><strong>１クライアント→ルートドメイン<br></strong>「1.2.0.192.in-addr.arpa.のPTRレコードくださーい」</span><br><span class="fz-16px"><strong>２．ルート→クライアント</strong><br>「あ、そのIPはうちのお客さんのIPだねPTRレコードはmail.example.comだよ」</span></span><br><span class="fz-16px"><span class="fz-16px">返されるデータ：<br><span class="blue">　PTRレコード</span></span></span></span><br>これが主なPTRレコードの流れである。</p>



<p class="wp-block-paragraph"><em><strong><span class="marker"><span class="fz-20px"><span style="text-decoration: underline;">Happy Eyeballsとは</span></span></span></strong></em><br>本文には一切出てきていないが、IPv6とIPv4のDNSに関するレコードの選択アルゴリズムの用語としてHappyEyballsは有名なので覚えておこう。<br>HappyEyeballsとは「AレコードとAAAAレコードのどっちを使うかの切り替え機能」である。基本的にDNSではIPv6が優先される。しかし、IPv6と接続できない場合はIPv4に切り替えたほうが効率がよい。そのため、その切り替え機能がHappyEyeballsというわけである。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong><span class="marker">p.8 SIPv6アドレスをキャッシュDNSサーバに割り当てなくてもいい理由</span></strong></span></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="950" height="323" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-12.png" alt="" class="wp-image-7867" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-12.png 950w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-12-300x102.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-12-768x261.png 768w" sizes="(max-width: 950px) 100vw, 950px" /></figure>



<p class="wp-block-paragraph">本文にも書いてある通り、IPv4ネットワークを使ってキャッシュDNSサーバにアクセスしたうえで、AレコードやAAAAレコードを取得すればよいだけなのでわざわざアドレスを割り当てる必要はない。要は、問い合わせに使うネットワークの種類と応答レコードの種類は独立なのでIPv6アドレスを割り当てる必要はないよということ。<br>＊しかし、これはあくまでも現状のデュアルスタックを前提にした話。もし、IPv6への完全移行をするならば、IPv6アドレスの割り当ては必須。</p>



<p class="wp-block-paragraph"><strong><span class="marker"><span class="fz-20px"><span style="text-decoration: underline;">Q.MAP-EとDS-Liteとは</span></span></span></strong><br>MAP-EとDS-LiteはIPv4の弱点をカバーしてIPv6でISPまで届けようとする仕組み。<br>IPv4はPPPoEによる仕様によってNTEと呼ばれる終端装置を通らなければならない。しかし、そこがボトルネックとなりIPv4の速度を落としている。<br>IPv6であればIPoEという技術が使えるため、NTEを通らない代わりに新たな大きなゲートウェイを通すため混雑を抑えられる。<br>そのような背景から、IPv4をIPv6で包んで回線を流せば混雑抑えられるじゃん！ということでMAP-EとDS-Liteという技術がある。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px">▼MAP-Eの流れ</span></strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="【自宅 PC】
  │ (1) 普通のIPv4通信（例: ポート80宛て）
  ▼
【宅内ルーター（MAP-E対応）】★ここで大仕事！
  │ (2) 自分に割り当てられた「IPv4アドレス」と「指定ポート番号」へNAT変換
  │ (3) それをIPv6の封筒で包む（カプセル化）
  ▼
【NTT NGN網（IPoEの大通り）】
  │ スイスイ通過（NTEを通らない！）
  ▼
【VNE（接続事業者）】
  │ (4) IPv6の封筒を破いて脱がすだけ（カプセル解除）
  ▼
【IPv4 インターネット】" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">【自宅 PC】</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">) 普通のIPv4通信（例</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> ポート80宛て）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【宅内ルーター（MAP</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">E対応）】★ここで大仕事！</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">) 自分に割り当てられた「IPv4アドレス」と「指定ポート番号」へNAT変換</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">) それをIPv6の封筒で包む（カプセル化）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【NTT NGN網（IPoEの大通り）】</span></span>
<span class="line"><span style="color: #F8F8F2">  │ スイスイ通過（NTEを通らない！）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【VNE（接続事業者）】</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">) IPv6の封筒を破いて脱がすだけ（カプセル解除）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【IPv4 インターネット】</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong><span class="fz-20px">▼DS-Liteの流れ</span></strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">Wolfram</span><span role="button" tabindex="0" data-code="【自宅 PC】
  │ (1) 普通のプライベートIPv4通信（例: 192.168.1.10）
  ▼
【宅内ルーター（DS-Lite対応）】★超シンプル！
  │ (2) NAT変換はせず、そのままIPv6の封筒で包む（カプセル化）
  ▼
【NTT NGN網（IPoEの大通り）】
  │ スイスイ通過（PPPoEのNTEを通らない！）
  ▼
【AFTR（VNEの大型CGN設備）】★ここで全員分を大処理！
  │ (3) IPv6の封筒を破く（カプセル解除）
  │ (4) 大型NAT設備（CGN）で、公有のグローバルIPv4へアドレス＆ポート変換！
  ▼
【IPv4 インターネット】" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">【自宅 PC】</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">) 普通のプライベートIPv4通信（例</span><span style="color: #F92672">:</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">192.168.1.10</span><span style="color: #F8F8F2">）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【宅内ルーター（DS</span><span style="color: #F92672">-</span><span style="color: #F8F8F2">Lite対応）】★超シンプル！</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">) NAT変換はせず、そのままIPv6の封筒で包む（カプセル化）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【NTT NGN網（IPoEの大通り）】</span></span>
<span class="line"><span style="color: #F8F8F2">  │ スイスイ通過（PPPoEのNTEを通らない！）</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【AFTR（VNEの大型CGN設備）】★ここで全員分を大処理！</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">) IPv6の封筒を破く（カプセル解除）</span></span>
<span class="line"><span style="color: #F8F8F2">  │ (</span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">) 大型NAT設備（CGN）で、公有のグローバルIPv4へアドレス＆ポート変換！</span></span>
<span class="line"><span style="color: #F8F8F2">  ▼</span></span>
<span class="line"><span style="color: #F8F8F2">【IPv4 インターネット】</span></span></code></pre></div>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><br></span></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CCNP対策</title>
		<link>https://ascend-beyond.com/study/7741/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Mon, 20 Jul 2026 04:50:13 +0000</pubDate>
				<category><![CDATA[CCNP]]></category>
		<category><![CDATA[Study]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7741</guid>

					<description><![CDATA[ACLの適用種別&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; interface:ip access-groupinterface(ipv [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading"><span id="toc1">ACLの適用種別&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">interface:ip access-group<br>interface(ipv6):ipv6 traffic-filter _name [in/out]<br>class-map:access-group<br>vty:access-class<br>route-map:ip address</p>



<h3 class="wp-block-heading"><span id="toc2">経路集約&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>プロトコル</th><th>集約場所</th><th>コマンド</th></tr></thead><tbody><tr><td>OSPF ABR</td><td>エリア間</td><td>area range</td></tr><tr><td>OSPF ASBR</td><td>再配送時</td><td>summary-address</td></tr><tr><td>EIGRP</td><td>任意IF</td><td>ip summary-address eigrp</td></tr><tr><td>BGP</td><td>BGPプロセス</td><td>aggregate-address</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc3">EIGRPのコスト計算方法&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></h3>



<p class="wp-block-paragraph">EIGRPのメトリック = 256 ×（ 帯域幅 + 遅延 ）<br>帯域幅 = 10,000,000 ÷ 経路上の最小帯域幅（Kbps）<br>遅延 = 経路上の遅延合計（μ秒） ÷ 10</p>



<p class="wp-block-paragraph"><br>１．目的地までの中で最小帯域幅をピックアップする<br>２．１の帯域幅をkbpsに変換する<br><strong>３．10^7 ÷ &#8220;手順2で算出した数値&#8221; を計算する(単位はkbpsのまま)<br></strong>４．目的地までの遅延の合計を算出する<br><strong>５．4で算出した値 ÷ 10 を計算する</strong><br><strong>６．(3と5で算出した値を加算した値) × 256　を算出する</strong><br>７．各径路の6の値を比較して適切な経路がテーブルに反映される</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>用語</th><th>意味</th></tr></thead><tbody><tr><td><strong>FD（Feasible Distance）</strong></td><td>R1から宛先までの<strong>自分が計算したトータルコスト</strong></td></tr><tr><td><strong>AD（Advertised Distance）</strong></td><td>隣接ルーターが「自分から宛先までのコスト」として<strong>広告してきた値</strong></td></tr><tr><td><strong>サクセサー</strong></td><td>FDが最小のルート＝<strong>メインルート</strong></td></tr><tr><td><strong>フィージブルサクセサー</strong></td><td>バックアップルートになれる候補</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>そのルートのAD ＜ サクセサーのFD</strong>ならばフィージブルサクセサーだよねってこと。<br>variance 2とかをする場合は<strong>　</strong><br><strong>フィージブル条件を満た</strong>している<br><strong>＆(かつ)</strong><br><strong>フィージブルサクセサーのFD ≦ サクセサーのFD × variance</strong>　ならばルーティングに登録</p>



<h3 class="wp-block-heading"><span id="toc4">サブネットマスクの計算</span></h3>



<p class="wp-block-paragraph">やり方は以下の<strong>3ステップ</strong>です。「<code>203.0.113.17 /28</code>」を例にします。<br>（サブネット算出<br>→ 256-サブネット=きざみ幅<br>→IP÷きざみ幅＝ｘあまりｙ<br>→IP-あまり</p>



<ol start="1" class="wp-block-list">
<li><strong>マスクの末尾を256から引いて「きざみ幅」を出す</strong>
<ul class="wp-block-list">
<li>マスクは <code>255.255.255.240</code> です。</li>



<li>256 &#8211; 240 = 16 （16個きざみだと分かります）</li>
</ul>
</li>



<li><strong>IPの末尾を「きざみ幅」で割って「余り」を出す</strong>
<ul class="wp-block-list">
<li>今回のIPは <code>.17</code> です。</li>



<li>17 ÷ 16 = 1 あまり <strong>1</strong></li>
</ul>
</li>



<li><strong>元のIPから「余り」を引く ➔ これがネットワークアドレス！</strong>
<ul class="wp-block-list">
<li>17 &#8211; 1 = 16</li>
</ul>
</li>
</ol>



<h4 class="wp-block-heading"><span id="toc5">ワイルドカードマスクの算出</span></h4>



<p class="wp-block-paragraph">ワイルドカードマスクを求めるときは、<strong>「調べたい範囲の終わりのIP」から「始まりのIP」を引き算する</strong>と、一発で答えが出ます。</p>



<p class="wp-block-paragraph">今回のターゲットである「クラスBのプライベートIP」の範囲を並べて、引き算してみましょう。</p>



<ul class="wp-block-list">
<li>終わりのIP： <code>172 . 31 . 255 . 255</code></li>



<li>始まりのIP： <code>172 . 16 . 0 . 0</code></li>



<li><strong>引き算の答え： <code>0 . 15 . 255 . 255</code></strong></li>
</ul>



<p class="wp-block-paragraph">第2オクテット（2番目の区切り）を見ると、<strong>「31 &#8211; 16 = 15」</strong> になっていますよね。 これが、コマンドで <code>0.15.255.255</code> を使う一番簡単な理由です。</p>



<h3 class="wp-block-heading"><span id="toc6">YANGとXMLとJSONとか</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>名前</th><th>役割</th></tr></thead><tbody><tr><td>YANG</td><td>設計図<br>・インタフェースにはIPアドレスという項目がある<br>・BGPにはAS番号という項目がある<br>という構造・ルールを定義する</td></tr><tr><td>NETCONF/RESTCONF</td><td><strong>データ</strong>の送信方法</td></tr><tr><td>XML/JSON</td><td><strong>データ</strong>の書き方<br>（YANGで定義された必要な項目をどのように書くか）<br><br>pythonやjavaなどはプログラミング言語。<br>送信側と受信側で常に同一言語が使われているわけではない。そういったときのデータの受け渡しには決まりが必要。そのデータ受け渡しの標準がXMLやJSONである。あくまでもデータの受け渡しを担当。<br>＊命令処理などを送ったりするわけではない</td></tr></tbody></table></figure>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">XML</span><span role="button" tabindex="0" data-code="&lt;interface&gt;
  &lt;name&gt;GigabitEthernet0/0&lt;/name&gt;
  &lt;ip&gt;192.168.1.1&lt;/ip&gt;
&lt;/interface&gt;" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">&lt;</span><span style="color: #F92672">interface</span><span style="color: #F8F8F2">&gt;</span></span>
<span class="line"><span style="color: #F8F8F2">  &lt;</span><span style="color: #F92672">name</span><span style="color: #F8F8F2">&gt;GigabitEthernet0/0&lt;/</span><span style="color: #F92672">name</span><span style="color: #F8F8F2">&gt;</span></span>
<span class="line"><span style="color: #F8F8F2">  &lt;</span><span style="color: #F92672">ip</span><span style="color: #F8F8F2">&gt;192.168.1.1&lt;/</span><span style="color: #F92672">ip</span><span style="color: #F8F8F2">&gt;</span></span>
<span class="line"><span style="color: #F8F8F2">&lt;/</span><span style="color: #F92672">interface</span><span style="color: #F8F8F2">&gt;</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">JSON</span><span role="button" tabindex="0" data-code="{
  &quot;interface&quot;: {
    &quot;name&quot;: &quot;GigabitEthernet0/0&quot;,
    &quot;ip&quot;: &quot;192.168.1.1&quot;
  }
}" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">{</span></span>
<span class="line"><span style="color: #F8F8F2">  </span><span style="color: #66D9EF; font-style: italic">&quot;interface&quot;</span><span style="color: #F8F8F2">: {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #66D9EF; font-style: italic">&quot;name&quot;</span><span style="color: #F8F8F2">: </span><span style="color: #CFCFC2">&quot;GigabitEthernet0/0&quot;</span><span style="color: #F8F8F2">,</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #66D9EF; font-style: italic">&quot;ip&quot;</span><span style="color: #F8F8F2">: </span><span style="color: #CFCFC2">&quot;192.168.1.1&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">  }</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span></code></pre></div>



<h3 class="wp-block-heading"><span id="toc7">Pythonのライブラリ</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>関数</th><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>json.dumps</td><td>辞書</td><td>JSON文字列</td></tr><tr><td>json.loads</td><td>JSON文字列</td><td>辞書</td></tr><tr><td>json.dump</td><td>辞書</td><td>ファイル</td></tr><tr><td>json.load</td><td>ファイル</td><td>辞書</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">構成管理ツール</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>特徴</strong></td><td><strong>Ansible</strong></td><td><strong>Puppet</strong></td><td><strong>Chef</strong></td><td><strong>SaltStack</strong></td></tr></thead><tbody><tr><td><strong>PUSH/PULL</strong></td><td>PUSH型</td><td>PULL型</td><td>PULL型</td><td>PUSH型、PULL型<br>(両方の動作が可能)</td></tr><tr><td><strong>使用するプロトコル</strong></td><td>SSH、NETCONFなど</td><td>HTTP</td><td>HTTP</td><td>SSH、ZeroMQなど</td></tr><tr><td><strong>定義ファイルの名称</strong></td><td>プレイブック (Playbook)</td><td>マニフェスト (Manifest)</td><td>レシピ (Recipe)、クックブック (Cookbook)</td><td>ステート (State)</td></tr><tr><td><strong>定義ファイルの記述形式</strong></td><td>YAML形式</td><td>独自形式</td><td>Ruby言語</td><td>YAML形式、独自形式</td></tr><tr><td><strong>サーバ側の待受ポート</strong></td><td>なし</td><td>8140/tcp</td><td>10002/tcp</td><td>4505/tcp、4506/tcp</td></tr><tr><td><strong>エージェントの要否</strong></td><td>不要 (エージェントレス)</td><td>必要 (外部エージェントも利用可能)</td><td>必要</td><td>必要 (Salt SSHではエージェントなしでも動作可能)</td></tr><tr><td><strong>コードの記法</strong></td><td>手続き型</td><td>宣言型</td><td>手続き型</td><td>手続き型、宣言型</td></tr><tr><td><strong>開発言語</strong></td><td>Python</td><td>Ruby</td><td>Ruby</td><td>Python</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong><br></strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>平成28年（2016年）ネスペ午後Ⅰ　問三　解答解説</title>
		<link>https://ascend-beyond.com/study/7846/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sun, 19 Jul 2026 04:05:19 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7846</guid>

					<description><![CDATA[設問１（１）a:ゾーン転送　b:SMTP　ゾーン転送：　DNSサーバ間で情報を同期するための仕組みをゾーン転送という。主にプライマリDNSとセカンダリDNS間で実施される。通常のDNSはUDPが使われるがゾーン転送は大容 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）a:ゾーン転送　b:SMTP　</span></span></strong></span><br><strong>ゾーン転送：<br></strong>　DNSサーバ間で情報を同期するための仕組みをゾーン転送という。主にプライマリDNSとセカンダリDNS間で実施される。通常のDNSはUDPが使われるがゾーン転送は大容量＆信頼性が求められるためTCPが使われる。<br>＊UDPでもEDNS0という拡張機能を使うと512B以上を扱えるが信頼性を考慮するとTCPが使われる。<br><strong>b.SMTP :</strong><br>　MGWとMSVでのやり取りはメール転送である。そして、メール転送で使われるプロトコルはSMTP。なので、答えはSMTPになる。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項番</strong></td><td><strong>送信元</strong></td><td><strong>宛先</strong></td><td><strong>プロトコル</strong></td></tr></thead><tbody><tr><td>1</td><td>MGW1, 2</td><td>MSV1</td><td><strong>b:SMTP</strong></td></tr><tr><td>2</td><td>MSV1〜3</td><td>MGW1, 2</td><td><strong>b:SMTP</strong></td></tr><tr><td>3</td><td>DNS3</td><td><strong>c:DNS1</strong></td><td>DNS プロトコル</td></tr><tr><td>4</td><td>DNS1</td><td>DNS3</td><td>DNS プロトコル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>▼ゾーン転送の流れ<br>１．notifyやrefreshを契機に始動</strong><br><span class="fz-16px"><span class="blue">notify</span>:プライマリDNSに変更があった際に、プライマリDNSがセカンダリDNSに「俺、変更したよぉ」と通知するメッセージのこと<br><span class="blue">refresh</span>:SOAレコード内から得られる情報で、「プライマリへの確認作業のインターバルはこの時間で！」と教えてくれる値。この時間が経過したらセカンダリはプライマリにSOAレコードの取得を試みる</span><br><strong>２．SOAレコードの取得</strong><br><span class="fz-16px">１を契機にプライマリDNSにSOAレコードの取得依頼を送る。<br>＊この通信はUDP53が使われる。</span><strong><br>３．シリアル番号の確認<br></strong><span class="fz-16px">①セカンダリDNSがSOAレコードを取得すると、レコード内のシリアル番号の値を確認する。<br>②既に持っているシリアル番号よりも大きい場合→ゾーン転送が必要<br>　既に持っているシリアル番号よりも小さい場合→ゾーン転送が不要</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">JSON</span><span role="button" tabindex="0" data-code="example.com.  IN  SOA  ns1.example.com.  hostmaster.example.com. (
                        2026071601 ; Serial (シリアル番号)
                        10800      ; Refresh (リフレッシュ間隔)
                        3600       ; Retry (リトライ間隔)
                        604800     ; Expire (有効期限)
                        86400      ; Minimum TTL (ネガティブキャッシュTTL)
                        )" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">example.com.  IN  SOA  ns</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">.example.com.  hostmaster.example.com. (</span></span>
<span class="line"><span style="color: #F8F8F2">                        </span><span style="color: #AE81FF">2026071601</span><span style="color: #F8F8F2"> ; Serial (シリアル番号)</span></span>
<span class="line"><span style="color: #F8F8F2">                        </span><span style="color: #AE81FF">10800</span><span style="color: #F8F8F2">      ; Refresh (リフレッシュ間隔)</span></span>
<span class="line"><span style="color: #F8F8F2">                        </span><span style="color: #AE81FF">3600</span><span style="color: #F8F8F2">       ; Retry (リトライ間隔)</span></span>
<span class="line"><span style="color: #F8F8F2">                        </span><span style="color: #AE81FF">604800</span><span style="color: #F8F8F2">     ; Expire (有効期限)</span></span>
<span class="line"><span style="color: #F8F8F2">                        </span><span style="color: #AE81FF">86400</span><span style="color: #F8F8F2">      ; Minimum TTL (ネガティブキャッシュTTL)</span></span>
<span class="line"><span style="color: #F8F8F2">                        )</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>４．ゾーン転送要求<br></strong><span class="fz-16px">　ゾーン転送が必要な場合は、「ゾーン情報をください！」とプライマリに依頼<br></span><strong>５．ゾーン転送<br></strong><span class="fz-16px">　プライマリがゾーン情報をTCP53番を使いゾーン転送を実施する</span></p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）c:DNS1</span></span></strong></span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項番</strong></td><td><strong>送信元</strong></td><td><strong>宛先</strong></td><td><strong>プロトコル</strong></td></tr></thead><tbody><tr><td>1</td><td>MGW1, 2</td><td>MSV1</td><td><strong>b:SMTP</strong></td></tr><tr><td>2</td><td>MSV1〜3</td><td>MGW1, 2</td><td><strong>b:SMTP</strong></td></tr><tr><td>3</td><td>DNS3</td><td><strong>c:DNS1</strong></td><td>DNS プロトコル</td></tr><tr><td>4</td><td>DNS1</td><td>DNS3</td><td>DNS プロトコル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Cのプロトコルを確認すると、DNSであることが分かる。で、送信元がDNS3なので、DNS３が実施するDNS通信はDNS1へのゾーン転送に関する通信のみ。そのためDNS1が該当する。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（３）公開ゾーン情報の更新通知</span></span></strong></span><br>項番４はDNS1→DNS3へのDNSプロトコル通信であることが分かる。なお、本文(p.11 下から8行目)にもある通りnotifyメッセージを送信していることが分かる。つまり、セカンダリへのDNS情報更新通知であることが分かる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（４）条件：送信元が少数の場合　　　理由：送信元は、DNSのキャッシュが生存している間、宛先を変えないから</span></span></strong></span><br>想像してみよう。今回のケースは、本文中より外部からのメール転送はMGW2のみが担当する。つまり、送信元は１つ。そして、宛先をDNSによって名前解決するとそれがキャッシュとして保存される。つまり、MGW2は１つのMSVを使い続けることになる。ほかのMSVはずっと、手が空いている状況だが、キャッシュの時間内は使われることがない。<br>逆に、送信元が１００台あると、DNS名前解決した結果、すべてのMSV使われるようになる。<br>以上のことから、送信元が１つだとそもそも１つのMSVしか使われないので負荷分散ができない。そして、その根本的な理由はメール受信ごとに名前解決をするのではなく、キャッシュ機能によって保持されるため１度名前解決をすると、それ以降は使われるMSVが変わることがないから。<br>逆を言えば、キャッシュがなければ送信元が１つでも、毎回毎回、名前解決するのでラウンドロビン方式でも分散が可能になる。<br>しかし、処理速度や負荷などを考えると圧倒的にキャッシュを使った方がメリットが大きい。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）d:新MSV1　e:新MSV２</span></span></strong></span><br>p.13の(3)にもある通り、&#8221;新MSV１の故障時にはVRRPによって転送先が切り替わる&#8221;とあるので、新MSV１では確実にVRRPが稼働していると推測できる。また、そこからその新MSV１と対をなす存在はMSV2なので、MSV2もVRRPが稼働していることが分かる。<br>その状況から判断して、dとeにはそれぞれ新MSV1と新MSV２が入る。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問３</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）送信元：メール送受信サーバの変更を実施済みの社員　または　社外</span></span></strong></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">　　　宛先：未変更社員</span></span></strong></span><br>この問題は、新MSVへ届いたメールに対してLDAPを検索しなくてはならない条件を聞いている。通常、新MSVはメールボックスが共有なのでLDAPを使う必要がない。しかし、特定の条件では使う必要が出てくる。それが古いシステムを使っているパターンだ。<br>もし、未変更社員同士のメールであれば、そもそも新MSVを経由しないのでこの問題の対象外となる。未変更ということは、その社員のメールクライアントには古いホスト名が記されている。それを名前解決すると自ずと旧MSVへルーティングされるので新MSVは経由しない。<br>これらのことから、送信元が社外または、新MSVのホスト名に変更済みの社員であるパターン。かつ、宛先はメールボックスが移行されていない社員（＝未変更社員）ということになる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（４）申請者のメールアドレスに対応するメールサーバが、新MSVに変更される</span></span></strong></span><br>旧メールシステムではメールボックスがMSVごとに分けられていた。適切なメールボックスに格納するためにLDAPを使い適切なMSVに転送していた。そのため、新メールシステムに移行したら、自ずとその設定を新MSVに変更する必要がある。そうしないと、古いメールボックス宛てにメールが格納されつづけてしまうから。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.11　LDAPサーバ</span></strong></span></span><br>一言でいうとLDAPサーバとはディレクトリサーバの意。ディレクトリサーバとは組織内のアカウントやデバイスを一元管理するためのサーバ。そしてLDAPはディレクトリサービスにアクセスするための共通ルールのこと。なので、一見するとLDAPサーバと聞くと、ユーザの代わりにLDAP機能を使ってディレクトリサーバにLDAPを使ってアクセスしてくれるサーバなのかなぁとイメージしてしまうけど、IT業界のなかで、LDAPサーバと言ったら十中八九、ディレクトリサーバを指している。</p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.11　MGWの転送先をMSV1で固定しているのはなぜ？MSVは3台あるんだから、３台に分散すべきじゃないの？</span></strong></span></span><br></p>



<figure class="wp-block-image size-full"><img decoding="async" width="876" height="435" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-9.png" alt="" class="wp-image-7851" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-9.png 876w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-9-300x149.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-9-768x381.png 768w" sizes="(max-width: 876px) 100vw, 876px" /></figure>



<p class="wp-block-paragraph">A.メール転送には重い処理と軽い処理がある。<br><strong>軽い処理：<br></strong><span class="fz-16px">　届いたメールを右から左へ転送するだけ。<br></span><strong>重い処理：<br></strong><span class="fz-16px">　届いたメールをメールボックスすに配置したり、クライアントからの要求によってメールをダウンロードしたりする作業はとても重い。なぜならこれらはハードディスクへアクセス（ディスクI/O）が発生するから。</span><br><span class="fz-16px">このようにMSV1に固定されても、MSV1が実施する処理は他のMSVへの転送処理であるため軽い処理で終わる。もちろんMSV1自身に届いたメールは重い処理をするが、それ以外に関しては転送処理が主なので、MSV1の固定でも問題はない。</span></p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.11　MGW2はどうやって転送処理をするの？</span></strong></span></span><br>A.イメージしてみよう。D社社員へのメールは外部DNS3で名前解決されてMGW2に届く。その後、MGW2はどう処理するの？メールアドレスのドメインで名前解決してもMGW2自身のIPしかわからずループしちゃうんじゃないの？このような疑問が浮かぶだろう。しかし、実際はループせずしっかりと送信できる構成ができている。では、流れを見ていこう！<br>▼MGW2が内部MSVへ転送するまでの流れ<br>１．MGW2に外部メールが届く<br>２．MGW２内のルールを参照<br>ルール①：外部からＤ社宛てへのメールがきたら、特定のホストへ転送するルールを決めておく。<br>ルール②：①のホストを名前解決するときにDNSサーバのIPアドレスを登録しておく<br>ルール③：名前解決をして、適切なホスト（MSV）へ転送する<br>３．MSVへ届く</p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.11　障害が起きたらMGWをどうやって切り替えるの？</span></strong></span></span></p>



<figure class="wp-block-image size-full"><img decoding="async" width="841" height="127" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-10.png" alt="" class="wp-image-7853" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-10.png 841w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-10-300x45.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-10-768x116.png 768w" sizes="(max-width: 841px) 100vw, 841px" /></figure>



<p class="wp-block-paragraph"><strong>A.優先度を使うことによって動的な切り替えが可能になる。<br></strong>外部からの名前解決の名前解決では２つのレコードを返すようにする。その際に、MGW２をMGW1よりも優先度を高く設定する。これによって、通常時はMGW2が使われるが、障害が起きた際はMGW2に通信できないので、送信側は優先度の低いMGW1を試す。要は送信側のリトライによって動的な切り替えが可能になっているということである。<br>＊ちなみにMXレコードにおける優先度は、値が小さければ小さいほど優先される。</p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.13　メールサーバでVRRPは動作できるの？</span></strong></span></span><br>p.13では新MSV1と２でVRRPを稼働させる旨の記述がある。ここで疑問が一つ。VRRPってルータなどのファーストホップの冗長化の技術じゃないの？メールサーバでも動かせえるの？答えは、実はメールサーバでも稼働できるんです！Linuxサーバーなどでは 「Keepalived」 という超有名なオープンソースのソフト（デーモン）があり、これを使うことでサーバー自体にVRRPを喋らせる（仮想IPを共有させる）ことが実務でも超一般的に行われている。<br>では、具体的な流れを見ていこう！</p>



<p class="wp-block-paragraph"><strong>▼メールサーバで実施するVRRPのフロー</strong><br><strong>１．準備<br></strong><span class="fz-16px">①新MSV１と２でVRRP設定をする<br>　各MSVは２つのグループに所属し、それぞれに適切なプライオリティを割り当てる<br>②DNS設定<br>　DNS2にメールサーバのホスト名に対応するAレコードを２つ登録する<br>　＊この際に登録するＩＰアドレスは仮想ＩＰアドレス</span><br><strong>２．データ転送<br></strong><span class="fz-16px">①クライアントのメールソフトにメールサーバのホスト名を登録しておく<br>②①の名前解決をDNS2に要求する<br>③仮想ＩＰアドレスが返される。<br>④ＤＮＳには２つのレコードがあるため、ユーザごとに順番に５０％の確率で別々の仮想ＩＰアドレスのＡレコードが返される。結果的に負荷分散ができる。</span><br><strong>３．障害発生時<br></strong><span class="fz-16px">①マスタのキープアライブが途切れる<br>②タイムアウトの時間だけ待ったうえで、スタンバイ側が仮想IP/MACを引き継ぐ<br>③GARPを送信し、配下のスイッチのMACアドレステーブルを更新させる<br>④当該仮想IP宛ての通信は適切に適切にルーティングされる</span><br><strong>４．障害回復<br></strong>①プリエンプト機能が有効な場合、プライオリティが最も高い機器がマスタに戻る<br></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><br></span></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>平成28年（2016年）ネスペ午後Ⅰ　問二　解答解説</title>
		<link>https://ascend-beyond.com/study/7825/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Wed, 15 Jul 2026 07:28:15 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7825</guid>

					<description><![CDATA[設問1 ア：AES　イ：事前共有鍵　ウ：SIMカード　エ：APN　オ：NAPT　カ：CONNECTア：AES　　WEPやWAPまではRC4ベースの暗号化を採用していた。しかしこれには脆弱性があるので、WPA2からは、より [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問1</strong></span></span></span><strong><span class="marker"> <span class="fz-20px"><span style="text-decoration: underline;">ア：AES　イ：事前共有鍵　ウ：SIMカード　エ：APN　オ：NAPT　カ：CONNECT</span></span></span></strong><br><strong>ア：AES</strong>　<br>　WEPやWAPまではRC4ベースの暗号化を採用していた。しかしこれには脆弱性があるので、WPA2からは、より強固なAESが使われている。<br><strong>イ：事前共有鍵</strong><br>　単語の通り、事前に鍵を共有しておく方式のこと。<br><strong>ウ：SIMカード<br></strong>　LTEを使う時にユーザ情報を識別するためのものがSIMカード。これはモバイルWi-FiルータだけでなくスマホやタブレットなどのLTEを使う端末にはすべて必須とされている。<br><strong>エ：APN</strong><br>　APN（Access Point Name）はインターネットへ出るための出口を示すもの。SIMカード内の情報から判断される。<br><strong>オ：NAPT</strong><br>　IPアドレスとポートの変換を担う仕組みをNAPTという。<strong><br>カ：CONNECT</strong><br>　CONNECTはプロキシをバイパスとしてHTTPS通信をしたい場合に使うHTTPメソッドの一つ。通常のプロキシはアプリケーション層の中身を見て、宛先を判断して中継する。しかし、CONNECTの場合はアプリケーション層を暗号化したいので、プロキシでは中継できない。それを防ぐために、プロキシをただのバイパスとして機能させる方法がCONNECTメソッド。別の言い方をすると、アプリケーション層による転送処理ではなく、TCP/IP層のみを見て転送させるというものである。<br>では、実際にどのような流れでHTTPS通信が確立されるかを見ていこう！</p>



<p class="wp-block-paragraph"><strong>▼CONNECTメソッドによるHTTPS通信の流れ<br>１．ブラウザ（クライアント）→</strong>プロキシへ<br><span class="fz-16px">①ブラウザはアクセスしたいサイトのURLを確認する<br>②もしURLがhttps://google.comのようにHTTPSと書かれていれば「HTTPS通信だ！」と認識する<br>③プロキシ設定を確認して、「直接ではなくプロキシを通さないとだめなのか」と認識する<br>④「よし、じゃあプロキシに接続しよう」と内部で以下の設定が発行される</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">HTTP</span><span role="button" tabindex="0" data-code="▼CONNECTメソッド
CONNECT google.com:443 HTTP/1.1
Host: google.com:443" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">▼CONNECTメソッド</span></span>
<span class="line"><span style="color: #F92672">CONNECT</span><span style="color: #F8F8F2"> google.com:443 </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">google.com:443</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>２．プロキシ→</strong>サーバ<br><span class="fz-16px">①プロキシはCONNECTメソッドに指定されたドメインを名前解決する<br>② ①で得たIPアドレスなどをもとに当該サーバとTCPコネクションを張る<br>③TCPのマッピングテーブルを作成する。</span></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>プロキシ内部のID (ソケット)</strong></td><td><strong>クライアント側 (Src IP:Port)</strong></td><td><strong>転送先 (Dest IP:Port)</strong></td></tr></thead><tbody><tr><td>トンネルA</td><td>192.168.1.10 : 50001</td><td>104.21.XX.XX : 443</td></tr><tr><td>トンネルB</td><td>192.168.1.10 : 50002</td><td>142.250.XX.XX : 443</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><span class="fz-16px">上のようなテーブルを作成することで、ユーザとサーバ間のアプリケーション層が暗号化されて宛先の判断に迷っても、適切にバイパス機能を提供できるようになる。</span><br><strong>３．プロキシ→</strong>ブラウザ（クライアント）<br><span class="fz-16px">プロキシからブラウザへ「200 Connection Established」というTCPセッション作成できた旨の報告を入れる。<br>＊このフェーズを参考書などでは、「トンネルの準備ができた」と表現されることがある。これだと、この時点で暗号化通信がプロキシとサーバ間で成立したニュアンスを感じるが実施はただTCPセッションができただけ。</span><br><strong>４．ブラウザ⇔サーバ</strong><br><span class="fz-16px">ブラウザとサーバ間でTLSハンドシェイクを実施する。</span><br><span class="fz-16px">TLSハンドシェイクが完了すると暗号化通信が実施される</span><br><span class="fz-16px">👇TLSハンドシェイクのわかりやすい流れについては以下👇を見てみよう！</span></p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<a href="https://ascend-beyond.com/study/7666/" title="TLSハンドシェイク早見表" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-160x90.jpg 160w, https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-300x169.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-1024x576.jpg 1024w, https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-768x432.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-120x68.jpg 120w, https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation-320x180.jpg 320w, https://ascend-beyond.com/wp-content/uploads/2025/07/Black-and-White-Planet-Outer-Space-Presentation.jpg 1200w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">TLSハンドシェイク早見表</div><div class="blogcard-snippet internal-blogcard-snippet">✅ TLS 1.2 における RSA方式の鍵交換の流れ▼ 1. クライアント Helloクライアントはまず、サーバに「ClientHello」メッセージを送る。ここには以下が含まれる：サポートするTLSのバー...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ascend-beyond.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">ascend-beyond.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2025.07.22</div></div></div></div></a>
</div></figure>



<p class="wp-block-paragraph"><strong>Q.一般的なHTTPのメソッドはどうなってるの？<br></strong>A.CONNECTメソッドだけだと、全体を把握しにくいので、GETメソッドをみて、どういう風なのかをサラッと確認しよう！</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">HTTP</span><span role="button" tabindex="0" data-code="▼CONNECTメソッド
CONNECT google.com:443 HTTP/1.1
Host: google.com:443

▼GETメソッド（プロキシあり）
＊プロキシ経由の場合は絶対パスの指定が必須
GET http://example.com/index.html HTTP/1.1
Host: example.com

▼GETメソッド（プロキシなし）
＊プロキシを経由しない場合はファイルのパスだけでよい
GET /index.html HTTP/1.1
Host: example.com" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">▼CONNECTメソッド</span></span>
<span class="line"><span style="color: #F92672">CONNECT</span><span style="color: #F8F8F2"> google.com:443 </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">google.com:443</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">▼GETメソッド（プロキシあり）</span></span>
<span class="line"><span style="color: #F8F8F2">＊プロキシ経由の場合は絶対パスの指定が必須</span></span>
<span class="line"><span style="color: #F92672">GET</span><span style="color: #F8F8F2"> http://example.com/index.html </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">example.com</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">▼GETメソッド（プロキシなし）</span></span>
<span class="line"><span style="color: #F8F8F2">＊プロキシを経由しない場合はファイルのパスだけでよい</span></span>
<span class="line"><span style="color: #F92672">GET</span><span style="color: #F8F8F2"> /index.html </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">example.com</span></span></code></pre></div>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）定期的に送信するビーコン信号を停止する。</span></span></strong><br></span>結論から言うと、これは修正が必要な回答。正しくは「ビーコン信号にSSIDを含めない」となる。もし、ビーコン信号自体を止めてしまうと、そもそものクライアント接続がとても非効率なものになる。では、御託を並べても仕方がないので実際のフローを見ていこう！<br>▼ステルスモードにおける端末がAPに接続するフロー<br><strong>１．APのビーコン信号<br></strong>　APはSSIDを載せずにビーコン信号を出す。<br>　これにより、ユーザは「SSIDはわからないけど、このチャネルにこのような性能をもつAPがいるんだ！」と認識する<br><strong>２．プローブ要求<br></strong>　クライアントは１で受け取ったSSIDが分からないAPに対して、自身が接続したいSSID名を付与して接続要求を送る。<br><strong>３．接続<br></strong>　クライアントが指定したSSIDとAPのSSIDが一致すれば接続ができる。<br>以上。ここからわかるように、もし、APがビーコン信号すら発っさなければどのチャネルにAPがいるかという情報自体を得ることができなくなる。そうなると、クライアントは、各チャネル１つ１つに対してプローブ要求を送らなければならず、無駄なリソースを消費してしまう。そのため、APはたとえステルスモードであっても、ビーコン信号は発っし続けなければならない。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）SSIDやMACアドレスは暗号化できず、傍受されるから</span></span></strong><br></span>回答の通り、WPAやWPA2などを使ってもSSIDやMACアドレスまでは暗号化できない。それに、無線の場合は電波が届く範囲内にいれば誰でも傍受ができるので、有線よりも簡単にMACアドレスやSSIDが取得できてしまう。</p>



<p class="wp-block-paragraph"><strong>Q.MACアドレスやSSIDが漏れたらどんなリスクがあるの？<br></strong>A.情報が洩れるとなりすましのリスクが格段に上がる。APのなりすましである「Evil Twin攻撃」やクライアントのなりすましなどが発生する。詳細をいかに記そう。<br><strong>・Evil Twin攻撃：<br></strong>　攻撃者が正規のSSIDを取得し、不正APを立てる。そのアクセスポイントに正規のAPと同じSSIDをつけることによって、クライアントが偽APに接続して中間者攻撃などをされてしまう。<br><strong>・なりすまし：<br></strong>　MACアドレスが漏洩すると、攻撃者が正規のMACアドレスと偽って接続できてしまう。そのためMACアドレスフィルタリングをしていても、MACアドレスは正常なので攻撃者からの接続を許してしまう。</p>



<p class="wp-block-paragraph"><strong>Q.MACアドレスやSSIDの漏洩を防ぐ方法はあるの？</strong><br>A.防ぐ方法はない。なぜなら、MACアドレスやSSIDを暗号化してしまうと、そもそもの接続自体が正規ユーザであっても不可能になってしまうから。</p>



<p class="wp-block-paragraph"><strong>Q.どうやって対策するの？<br></strong>A.WPAやWPA2などの暗号化機能や、証明書を利用して正当性を保証する。正直、SSIDやMACアドレスを隠ぺいすることは難しい。なので、そこにフォーカスするのではなく、正当なユーザしか知らない別の情報をあらかじめ用意しておき、その情報をつかって認証することでなりすましを防ごう！という考えにシフトさせる。そうすることで、たとえSSIDやMACアドレスが知られたとしても、それら以外の別の情報が洩れなければ正当性を保証できるようになる。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（３）E</span></span></strong></span><br>タブレット端末はVPNを通してE社のLANと同一サブネットのようなふるまいをする。つまり、区間（E）と同一サブネットになるわけだから、もちろん重複もNGということになる。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="925" height="332" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-5.png" alt="" class="wp-image-7836" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-5.png 925w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-5-300x108.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-5-768x276.png 768w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p class="wp-block-paragraph">では、ここからは上の構成図の詳細を見ていこう！プライベートIPアドレスの割り当てであったり、LTE回線があったり、VPNサーバへのアクセス、など様々なものがこの構成図に集約されている。それらの流れを整理しつつ紐解いていこう！</p>



<p class="wp-block-paragraph">▼LTEとVPNのセッション確立の流れ<br><strong>１．モバイルWi-Fiルータ（以後、MRとする）を起動<br>２．基地局→MME→ゲートウェイへ</strong><br>　MRが起動すると、自身のSIMカード情報を載せてLTE回線を経由して基地局へ運ぶ。その後、基地局は認証機関であるMMEに情報を渡す。MMEが内容を確認してAPNから適切なゲートウェイを見つけ、コアネットワークを経由して運ぶ。<br><strong>３．通信路の確立（MRのインターネットアクセスの準備が整う）<br></strong>　MMEからのパケットが届くと、それらの情報をもとに基地局とゲートウェイ間にGTPトンネルを確立する。また、基地局とMR間には無線ベアラと呼ばれる方式で通信する。<br>＊この時に、ゲートウェイは適切なプライベートIPアドレスをMRに割り当てる。<br><strong>４．タブレット端末からVPNサーバへ</strong><br>①タブレット内のVPNアプリを起動する。宛先IPはVPNサーバ宛てになる。<br>②それがMRに届き、LTEから割り当てられたプライベートIPにNAT変換されてLTEゲートウェイまで届く。<br>③LTEゲートウェイがNAPT変換して、宛先IPまでパケット転送する。<br><strong>５．VPNの作成<br></strong>本文のp.9を見るとL2TP over IPsec方式を採用しているので、まずはIPsecの手順から進める。<br><strong>６．IPsecVPNの確立</strong><br>①ISKMP SAの確立<br><span class="fz-16px">1.クライアント→サーバ<br>　「僕はこのような暗号化方法、認証方法をサポートしているよぉ」と報告<br>2.サーバ→クライアント<br>　「じゃあ、この方法で進めよう」と応答する<br>3.DiffieHellmanで共通鍵の生成<br>　この共通鍵を<span class="blue">SKEYID</span>と呼ぶ<strong><br></strong>4.認証<br>　証明書を、2で決定した暗号化/認証方法に則り、3で作成されたSKEYIDを使って暗号化する。暗号化対象は、認証情報と今までのやり取りの要約情報が対象。</span><br>②IPsec SAの確立<br><span class="fz-16px">1.クライアント→サーバ<br>　「僕はこのような暗号化方法、認証方法をサポートしているよぉ」と報告<br>2.サーバ→クライアント<br>　「じゃあ、この方法で進めよう」と応答する<br>3.鍵生成<br>　PFS（前方秘匿性）がONの場合：DiffieHellmanで共通鍵生成<br>　PFSがOFFの場合：SKEYIDとノンスを使って鍵生成</span><br><span class="fz-18px"><span class="fz-16px">４データ通信開始<br>　2で決定した暗号化/認証方法に則り、3で作成された鍵を使って暗号化する。</span></span><br><strong>７．L2TPのトンネルの確立</strong><br><span class="fz-16px">①.お互いのメモリ上にトンネルマッピングを作る<br>　クライアントが「俺は10番のトンネルIDでいきます！」と宣言し、サーバ側は「よし、じゃあ僕は20番のトンネルIDを使うよ」と宣言する。<br>　これにより、お互いのメモリ上に、トンネルIDの10番と20番をマッピングさせる。これにより論理的なトンネルを作成する。<br>②.</span>セッションIDの交換<br><span class="fz-16px">　クライアントが「俺はセッションIDを100番にします」と宣言し、サーバ側は「よし、じゃあ僕はセッションIDを200番でいくよ」と宣言する。<br>　これにより、トンネルの中に通信レーンが確立される。</span><br><span class="fz-16px">③.仮想的な箱（Virtual-Access インターフェース）の準備<br>　セッションごとに適切な処理をするために仮想的な箱（<span class="blue">Virtual-Access</span> インターフェース）を準備する。vritual-accessとかっこつけた名前だが、要は「vlanインタフェースのような静的に作られる仮想インタフェースではなく、動的に生成される仮想インタフェースのこと」。これによって、ユーザごとに仮想インタフェースを割り当てられるので、ユーザごとにACLを割り当てたりすることができる。</span><br><strong>８．PPPセッションの確立</strong><br><span class="fz-16px">　PPPのステップは「準備→認証→IPアドレス割り当て」の３つのステップからなる。<br>①LCP（Link Control Protocol）確立<br>　「認証どうする？圧縮方式どうする？」というような通信のルールを決めるフェーズの実施。<br>②認証<br>　PAPやCHAPといった仕組みをつかってID/Passwordが正しいことを確認する<br>③IPCP（IP Control Protocol）<br>　IPアドレスの割り当てを行う。その当該IPアドレスはL2TPで作成されたVirtual-Accessインタフェースに付与される。また、クライアントにも当該IPは渡される</span><br>このIPCPが終わるとやっと、通信ができるようになる。ここまでが大まかな通信開始までの流れ。では、この後行われる実際のデータ転送プロセスを見ていこう！</p>



<p class="wp-block-paragraph">▼LTEとVPNのデータ通信の流れ<br><strong>１．タブレット→モバイルWi-Fiルータへ<br></strong>　まずは、タブレット内でデータを生成し、L2TPとIPsecのヘッダをつける。<br>内側IP構成：[送信元：PPPで割り当てられたIPアドレス / 宛先：社内のLAN宛て]<br>外側IP構成：[送信元：MRから割り当てられたIPアドレス / 宛先：VPNサーバ宛て]<br><strong>２．MR→LTEゲートウェイ<br></strong>外側IP構成：[送信元：MRがLTEから割り当てられたIPアドレスに変換/ 宛先：VPNサーバ宛て]<br><strong>３．LTEゲートウェイ→VPNサーバ</strong><br>外側IP構成：[送信元：LTEがNAPT変換/ 宛先：VPNサーバ宛て]<br>NAPT変換によってグローバルIPアドレスに変換され、インターネットを跨ぐことができる。そして、VPNサーバに到達する。<br><strong>４．VPNサーバ→Virtual Access</strong><br><span class="fz-16px">①外側パケットを解除する<br>②L2TPヘッダがでてくる<br>　L2TPヘッダからTunnel ID、セッションIDを確認して、内部のマッピング情報から適切なVirtula Accessへ振り分ける。<br>　この際にL2TPヘッダは剥がされる。<br>③Virtual Access<br>　Virutal Accessへ行くと、PPPヘッダがあるので、それを剥がして内部へパケットを流す</span><br><strong>５．内部LAN<br></strong>　無事、内部LANに届いたら処理をして、今までの逆の処理をしてユーザまで返す。</p>



<p class="wp-block-paragraph">▼IPsecについてはこちらでも解説している</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<a href="https://ascend-beyond.com/study/7792/" title="平成28年（2016年）ネスペ午後Ⅱ　問二　解答解説" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-160x90.jpg 160w, https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-300x169.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-1024x576.jpg 1024w, https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-768x432.jpg 768w, https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-120x68.jpg 120w, https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67-320x180.jpg 320w, https://ascend-beyond.com/wp-content/uploads/2026/07/34cb75a52c2d910eeb71a9eb8b21af67.jpg 1200w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">平成28年（2016年）ネスペ午後Ⅱ　問二　解答解説</div><div class="blogcard-snippet internal-blogcard-snippet">設問１（１）イ：セレクタセキュリティポリシを選択するキーはセレクタと呼ばれる。Q.SPIとセレクタって何が違うの？A.SPIはどのSAを使うかの32ビットの識別子。つまりSADの中から適切なSAを見つけるための識別子。一方、セレクタはどの...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ascend-beyond.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">ascend-beyond.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.07.06</div></div></div></div></a>
</div><figcaption class="wp-element-caption"><strong>p.15 表１　IKEフェーズ１で決定されるパラメータ</strong> で検索</figcaption></figure>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問３</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）VPN接続の利用者IDを停止する</span></span></strong></span><br>本文より、現状の認証は利用者IDとワンタイムパスワードであることが推測できる。また、利用者IDは基本的に推測が容易なIDとなっている。例えば、社員番号やメールアドレスなど。これらは端末が盗まれてPCにログオンできれば簡単に割り出されてしまう。また、VPNの多くはIDを保存するという機能があるので、IDを盗む必要すらないというパターンも多い。そのため、「不正アクセスがありました！」と検知されるよりも前に、何かを紛失してしまった場合は速やかに利用停止をする必要がある。</p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）プロキシサーバと内部DNSサーバへの通信</span></span></strong></span><br>p.7のポツ５つ目より、プロキシサーバを使う旨の記述があるので、まずはプロキシサーバの通信を許可する必要がある。また、VPN接続が完了した後に、実際にプロキシサーバを使うためにはプロキシサーバの名前解決をする必要がある。そのため内部DNSへの通信も許可する必要がある。</p>



<p class="wp-block-paragraph"><strong>Q.どこで通信の可否を判断しているの？</strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="901" height="309" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-6.png" alt="" class="wp-image-7838" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-6.png 901w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-6-300x103.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-6-768x263.png 768w" sizes="(max-width: 901px) 100vw, 901px" /></figure>



<p class="wp-block-paragraph">現状の構成は上記のようになっている。で、結論から言うと、FWで接続可否を判断している。具体的な流れを以下に記す。<br><strong>１．タブレット→VPN<br></strong>まずは、VPN接続完了している端末からアクセスが届く。<br><strong>２．VPN→SW1→FW<br></strong>VPNサーバは外部からの通信なので、FWに通す。そのため、SW1を経由してFWに届ける。<br><strong>３．FW<br></strong>通信ルールから内部DNS or プロキシサーバ宛て以外の通信はブロックする。もし、それら２つならSW2に流す。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問４</strong></span></span></span><br><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）機能名：プロキシ認証　設定内容：営業員ごとに利用者IDを登録する</span></span></strong></span><br><strong>プロキシ認証：<br></strong>プロキシを使う際に認証を実施させる機能。具体的には、ユーザからの情報をもとに認証基盤（ActiveDirectoryなど）に正当性を確認し、OKなら許可しNGなら拒否する。プロキシサーバ自体がIDとパスワードを管理するというのは小規模なら可能だが、大規模の場合は認証基盤を使うのが一般的。</p>



<p class="wp-block-paragraph"><strong>Q.プロキシ認証において、普段の会社のPCとかで毎回認証のポップアップが出ないのはなぜ？</strong><br>A.<span class="blue">統合Windows認証</span>（IWA:Integrated Windows Authentication）を使う。これによりPCにログインした時点でSSOを利用できるようになるため、プロキシを利用するたびにポップアップが表示されなくて済む。<br>なお、統合Windows認証の根幹となる技術はケルベロスによって支えられている。</p>



<p class="wp-block-paragraph"><strong>Q.ケルベロス認証とは<br></strong>A.一度のログインで色んなサービスを使えるようにする技術（SSO）のこと。では、フローを見ながら理解していこう！<br><strong>１．PC→</strong>AS（AuthenticationServer）<strong><br></strong><span class="fz-16px">PCはASへ「ログインしたいです！」と伝える。<br></span><strong>２．<span class="blue">AS</span>（AuthenticationServer）<br></strong><span class="fz-16px">ASは<span class="blue">KDC</span>（KeyDistributtionCenter）内にある窓口の一つで、認証を担当する。<br>暗号化データ（<span class="blue">TGT</span>（Ticket Granting Ticket）と共通鍵（＝<span class="blue">Client-TGSセッション鍵</span>）をクライアントに返す。その際に使われる暗号化鍵はクライアントのパスワードから作られた鍵。</span><br><strong>３．</strong>AS→<strong>PC<br></strong><span class="fz-16px">PCは暗号化データを自身のパスワードをベースにした鍵で復号する。これによりTGTと共通鍵（＝<span class="blue">Client-TGSセッション鍵</span>）を手に入れる。</span><br><strong>４．PC→</strong><span class="blue"><strong>TGS</strong></span>（Ticket Granting Service）<br><span class="fz-16px">PCは「このサービス（例えばファイルサーバなど）を使いたいのでチケットをください！」とTGSへ伝える。<br>　TGTとオーセンティケーター（タイムスタンプ入りの証明書）をTGSに渡す。また、その際に公開領域（リクエスト内の暗号化されていない部分）にアクセスしたいサービスを指定する。<br>＊オーセンティケーターはASからもらった共通鍵で暗号化した状態で送付する。</span><br><strong>５．TGS（Ticket Granting Service）</strong>→PC<br><span class="fz-16px">①公開領域を確認する<br>　公開領域内にアクセスしたい場所が記されているので、それを確認する<br>②TGTをKDCだけがもつ鍵で復号する。<br>　その中にユーザとの共通鍵（<span class="blue">＝Client-TGSセッション鍵</span>）とユーザIDが入っている。それによって、「あ、このユーザIDは認証済みなんだ！」と認識できる。<br>③オーセンティケーターをClient-TGSセッション鍵で復号する。<br>　その中にあるユーザIDやタイムスタンプを確認してTGTとの整合性を確認する<br>③<span class="blue">ST</span>（<span class="blue">ServiceTicket</span>）と共通鍵（<span class="blue">＝Client-Serverセッション鍵</span>）を配布する</span><br><span class="fz-16px"><span class="blue">Client-Serverセッション鍵</span>は<span class="blue">Client-TGSセッション鍵</span>で暗号化されて渡す。<br>STはKDCとサービスサーバとの共通鍵（<span class="blue">ServiceKey</span>）で暗号化されている</span><br><strong>６．</strong>TGS<strong>→PC</strong><br>①<span class="fz-16px">PCは共通鍵を取り出す</span><br><span class="fz-16px">共通鍵（<span class="blue">Client-Serverセッション鍵</span>）は<span class="blue">Client-TGSセッション鍵</span>で暗号化されているので、自身の<span class="blue">Client-TGSセッション鍵</span>で復号する<br>PCはサービスサーバーに対して、オーセンティケーターとSTを渡す</span><br>７．PC→<strong>サービスサーバ</strong><br><span class="fz-16px">①サービスサーバは、STを復号し中にあるユーザIDや共通鍵<span class="blue">（Client-Serverセッション鍵</span>）を取り出す。</span><br><span class="fz-16px">＊STを復号するときはServiceKeyを使う<br>②オーセンティケーターを<span class="fz-16px"><span class="blue">Client-Serverセッション鍵</span></span>で復号し、STとの整合性を確認する</span><br><span class="fz-16px">以上の手順が滞りなく実施されるとユーザのアクセスが許可されサービスの利用が開始される</span><br><strong>８．2回目以降のアクセス</strong><br><span class="fz-16px">手順３にてPCには既にClient-TGSセッションキーがあるので、それを使ってオーセンティケーターを作成する。<br>移行の流れは同じ。<br>＊Client-TGSセッションキーの有効期限が切れると再度、ASに認証を要求する必要がある。</span></p>



<p class="wp-block-paragraph"><span class="marker"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）①接続先ホスト名　②接続先ポート番号</span></span></strong></span><br>Request-URIを簡単にいうと、HTTPリクエストの１行目のこと。<br>例：CONNECTメソッドなら「CONNECT google.com:443 HTTP/1.1」が該当し、GETメソッドなら「GET /index.html HTTP/1.1」が該当する。要はどこにアクセスしたいかを表現する場所のことである。<br>で、ここからわかる情報は、「メソッド、宛先ホスト、ポート番号、HTTPプロトコル」である。なので、回答は接続先ホスト名と接続先ポート番号という風になる。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">HTTP</span><span role="button" tabindex="0" data-code="▼CONNECTメソッド
CONNECT google.com:443 HTTP/1.1
Host: google.com:443

▼GETメソッド（プロキシあり）
＊プロキシ経由の場合は絶対パスの指定が必須
GET http://example.com/index.html HTTP/1.1
Host: example.com

▼GETメソッド（プロキシなし）
＊プロキシを経由しない場合はファイルのパスだけでよい
GET /index.html HTTP/1.1
Host: example.com" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">▼CONNECTメソッド</span></span>
<span class="line"><span style="color: #F92672">CONNECT</span><span style="color: #F8F8F2"> google.com:443 </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">google.com:443</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">▼GETメソッド（プロキシあり）</span></span>
<span class="line"><span style="color: #F8F8F2">＊プロキシ経由の場合は絶対パスの指定が必須</span></span>
<span class="line"><span style="color: #F92672">GET</span><span style="color: #F8F8F2"> http://example.com/index.html </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">example.com</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">▼GETメソッド（プロキシなし）</span></span>
<span class="line"><span style="color: #F8F8F2">＊プロキシを経由しない場合はファイルのパスだけでよい</span></span>
<span class="line"><span style="color: #F92672">GET</span><span style="color: #F8F8F2"> /index.html </span><span style="color: #F92672">HTTP</span><span style="color: #F8F8F2">/</span><span style="color: #AE81FF">1.1</span></span>
<span class="line"><span style="color: #F92672">Host:</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">example.com</span></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.7　内部DNSサーバの必要性</span></strong><br></span></span>　以下の構成において、内部DNSサーバはなぜ必要か。それを見ていこう！</p>



<figure class="wp-block-image size-full"><img decoding="async" width="974" height="374" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-2.png" alt="" class="wp-image-7827" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-2.png 974w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-2-300x115.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-2-768x295.png 768w" sizes="(max-width: 974px) 100vw, 974px" /></figure>



<p class="wp-block-paragraph">答えはシンプルで、VPN接続後のタブレット端末が販売管理サーバと通信したい際に使われる。URLはわかっても実際のIPアドレスが分からないと通信できないので、それを解消するために内部DNSサーバを利用する。</p>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><strong><span style="text-decoration: underline;">p.7 LTE回線</span></strong><br></span></span>LTE（LongTermEvolution）は3GPP（Third Generation Partnership Project）という世界中の通信会社やメーカーが集まる組織が作った、数万ページに及ぶ「規格（ルールブック）」のこと。そして、その規格に則った回線をLTE回線と呼ぶ。以下に特徴をまとめる。<br><strong>・SIMカードを使った認証：<br></strong>　多くの場合、LTE回線では認証を必要とする。なぜなら誰彼構わず通信を提供していたらビジネスにならない。また、移動通信（ハンドオーバー）やトラフィック制御、課金管理などを提供するには利用者を識別する必要があるため認証を実施する。<br><strong>・オールIPによる通信：<br></strong>　音声通話もデータ通信もすべてIPで通信する。一昔前は音声通話は電話用の回路へ送出され、データ通信はデータ通信用の回路へ送出されていた。このように用途によって回路が分かれていたが、LTEはすべてIPで包んで通信させる方式を採用した。<br><strong>・APN（Access Point Name）による接続先の選択： <br></strong>　SIMカードの契約情報に基づき、インターネット網や特定の企業向け閉域網など、適切なネットワーク（ゲートウェイ）へ通信を振り分ける。<br>もし、これがないとモバイルのコアネットワークから外のほかのネットワーク（インターネット、会社VPNなど）へ通信できなくなる。<br>このような特徴をLTEは持つ。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">Q.LTE回線におけるインターネットアクセスのフローは？<br></span></span></strong>A.LTE回線が具体的にどのようなものかイメージするためにはフロー理解が役立つ。なので、見ていこう！<br>１．<strong>端末</strong>：<br>　送信データに宛先IPを付与<br>２．<strong>無線アクセス</strong>：<br>　LTE/5Gの電波に乗せて、基地局（base station）へ運ぶ<br>３．<strong>コアネットワーク</strong>：<br>　基地局経由でコアネットワークに到着<br>４．<strong>ゲートウェイ（APN）</strong>：<br>　端末のAPN設定に基づき、適切なゲートウェイへ振り分け。ここで、NAPT変換やGTPトンネル（モバイル回線）の終端の役割を担う。<br>　＊APNはどのゲートウェイを使うかを示す名前（識別子）<br>５．<strong>NAPT変換</strong>：<br>　ゲートウェイで端末のプライベートIPアドレスをキャリアのグローバルIPアドレスに変換<br>　＊ここで言うプライベートIPアドレスは、端末が「LTEで通信したい！」とキャリアに伝えてからキャリアのゲートウェイが端末に割り振るIPアドレスのことを指す。<br>６．<strong>インターネット接続</strong>：<br>　NAPT変換されたパケットはキャリア網のバックボーンネットワークを経由して、インターネット（AS）との境界ルータへ渡される。で、ここから先はBGPを使い複数のASを経由して宛先までホップする</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">Q.GTP（GPRS Tunneling Protocol）トンネルの作成フロー<br></span></span></strong>では、GTPトンネルの作成フローを見ていこう！<br><strong>１．クライアントが接続要求<br></strong>　SIM情報を載せて基地局へ投げる。<br>＊この時点ではまだ、IPアドレスの払い出しやGTPトンネルは張られていない<br><strong>２．基地局へ届く<br></strong>　基地局へ届くと管理装置であるMMEに処理を投げる<br><strong>３．MME（Mobility Management Entity）<br></strong>　MMEと呼ばれる管理装置は、SIM情報のAPNなどからゲートウェイを特定し、当該ゲートウェイに「ユーザにプライベートIPアドレスを払い出せ！基地局とGTPトンネルを張れ」と処理を投げる。<br>また、基地局に対しては、「ユーザと<strong>無線ベアラ</strong>開通させろ！」と処理を投げる。<br><strong>４．ゲートウェイ</strong><br>　<span class="blue">GTPトンネルの開通</span>：<br>　　・基地局からゲートウェイの間にGTPトンネルを開通させる。<br>　　・TEID（Tunnel Endpoint Identifier）という識別子をトンネルに付与することで「誰のパケット」かを明示する<br>　<span class="blue">IPアドレスの払い出し</span>：<br>　　・ユーザにプライベートIPアドレスの払い出しをする<br><strong>５．ゲートウェイ→MMEへ<br></strong>　GTPトンネルやIP払い出しの準備ができたらその情報をMMEに送る。<br><strong>６．MME→基地局</strong><br>　無線ベアラの接続指示を与える。<br>　５の情報を基地局に伝える。<br><strong>７．基地局→ユーザ</strong><br>　無線ベアラを確立する。<br>以上が大まかな流れだよ。ユーザ⇔基地局　と　基地局⇔ゲートウェイ　のように２つの接続種類を使うことでユーザが移動して基地局が変わったとしても基地局⇔ゲートウェイで使われているトンネル情報を移動先に張り替えるだけで維持できるので、ハンドオーバーをスムーズに実現できるようになる。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span class="marker"><span class="fz-22px"><span style="text-decoration: underline;">p.8 WEP,WPA,WPA2</span></span></span></span></strong><br>WEP,WPA,WPA2は無線LANのセキュリティ規格。では、それぞれ順番にみていこう！</p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-20px"><strong>Q.WEP（WiredEquivalentPrivacy）</strong>:<br></span></span>WEPは、データと謎の鍵（キーストリーム）を合体させて暗号化する方法である<span class="blue">ストリーム暗号方式</span>を採用している。<br>＊キーストリームを作るための材料が<span class="blue">WEPキー（パスワード、共有鍵）</span>と<span class="blue">IV</span></p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">JSON</span><span role="button" tabindex="0" data-code="＃暗号化
データ XOR キーストリーム = 暗号文

＃復号化
暗号文 XOR キーストリーム = データ


#キーストリーム
キーストリーム = RC4（WEPキー,IV）
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">＃暗号化</span></span>
<span class="line"><span style="color: #F8F8F2">データ XOR キーストリーム = 暗号文</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">＃復号化</span></span>
<span class="line"><span style="color: #F8F8F2">暗号文 XOR キーストリーム = データ</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">#キーストリーム</span></span>
<span class="line"><span style="color: #F8F8F2">キーストリーム = RC</span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">（WEPキー,IV）</span></span>
<span class="line"></span></code></pre></div>



<p class="wp-block-paragraph">▼暗号化手順<br>１．<span class="blue">WEPキー</span>（パスワード）と<span class="blue">IV</span>をまぜる<br>＊IVはパケットごとに変化する<br>２．２で混ぜた値をRC4という暗号アルゴリズムに入れてデータと同じ長さの<span class="blue">キーストリーム</span>を生成する<br>３．キーストリームとデータをXORして暗号文を生成<br>４．３でできたデータとIV（平文）をセットして空中に飛ばす</p>



<p class="wp-block-paragraph">▼弱点<br>弱点１：IVが短すぎる<br>　WEPではIVが24ビットしかないので、2^24は1677万しかパターンがない。これは現在の高速Wi-Fi通信において、あっという間に重複してしまう数値。結果として同じキーストリーム（IV＋パスワード）を使いまわすことになり、XORの法則で解析されてしまう。<br>このような式（暗号文A XOR　暗号文B = データB XOR データA）になれば、もしデータBかAが推測できるならばもう一方のデータ必然的に導出されてしまう。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">JSON</span><span role="button" tabindex="0" data-code="###########################
#
# もし、キーストリームが重複すると
#
##########################
XORのルール
①順番はどうでもいい
②同じ値同士のXORは０になる

１．重複した２つのデータを準備
暗号文A　= データA XOR キーストリーム
暗号文B　= データB XOR キーストリーム

２．ルール①より式を変換
キーストリーム = 暗号文A XOR　データA
キーストリーム = 暗号文B XOR　データB

３．等価関係
暗号文A XOR　データA = 暗号文B XOR　データB

４．ルール①より暗号文Bを左辺へ、データAを右辺へ移動させる
暗号文A XOR　暗号文B =  データB XOR データA" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">###########################</span></span>
<span class="line"><span style="color: #F8F8F2">#</span></span>
<span class="line"><span style="color: #F8F8F2"># もし、キーストリームが重複すると</span></span>
<span class="line"><span style="color: #F8F8F2">#</span></span>
<span class="line"><span style="color: #F8F8F2">##########################</span></span>
<span class="line"><span style="color: #F8F8F2">XORのルール</span></span>
<span class="line"><span style="color: #F8F8F2">①順番はどうでもいい</span></span>
<span class="line"><span style="color: #F8F8F2">②同じ値同士のXORは０になる</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">１．重複した２つのデータを準備</span></span>
<span class="line"><span style="color: #F8F8F2">暗号文A　= データA XOR キーストリーム</span></span>
<span class="line"><span style="color: #F8F8F2">暗号文B　= データB XOR キーストリーム</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">２．ルール①より式を変換</span></span>
<span class="line"><span style="color: #F8F8F2">キーストリーム = 暗号文A XOR　データA</span></span>
<span class="line"><span style="color: #F8F8F2">キーストリーム = 暗号文B XOR　データB</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">３．等価関係</span></span>
<span class="line"><span style="color: #F8F8F2">暗号文A XOR　データA = 暗号文B XOR　データB</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">４．ルール①より暗号文Bを左辺へ、データAを右辺へ移動させる</span></span>
<span class="line"><span style="color: #F8F8F2">暗号文A XOR　暗号文B =  データB XOR データA</span></span></code></pre></div>



<p class="wp-block-paragraph">弱点２：RC4の脆弱性<br>RC4が使われるタイミングはキーストリームを生成するとき。キーストリーム = RC4（WEPキー,IV）。しかし、RC4には元のパスワードの統計的情報が生成したキーストリームの先頭付近に漏れ出てしまう特性がある。これを統計処理されると元のパスワードが導出されてしまう。</p>



<p class="wp-block-paragraph">以上の理由からWEPの使用は現在では非推奨とされている。</p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-20px"><strong>Q.WPA（Wi-Fi Protected Access）：<br></strong></span></span>WEPという脆弱性の塊を、ハードウェアの変更をすることなく補強し延命するための規格。</p>



<p class="wp-block-paragraph">▼改善点<br>改善点１：IVの拡大<br>　WEPは24ビット（約1677万）だったがWPAでは48ビット（約281兆）に拡大された。これは重複して使われることがほぼない。</p>



<p class="wp-block-paragraph">改善点２：パラメータの増加<br>　WEPはキーストリームのパラメータが「WEPキー＋IV」の２つだけだった。しかしWPAでは、「<span class="blue">WEPキー</span>＋<span class="blue">IV</span>＋<span class="blue">送信元MACアドレス</span>＋<span class="blue">パケット番号</span>」の４つのパラメータを使っている。<br>＊WPAにおけるWEPキーは４way handshakeによって生成されたTKである。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">JSON</span><span role="button" tabindex="0" data-code="キーストリーム = RC4（WEPキー＋IV＋送信元MACアドレス＋パケット番号）" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F8F8F2">キーストリーム = RC</span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">（WEPキー＋IV＋送信元MACアドレス＋パケット番号）</span></span></code></pre></div>



<p class="wp-block-paragraph">改善点３：４ウェイハンドシェイクの導入<br>使用するパラメータは<br>・Aノンス（APのノンス）<br>・Cノンス（クライアントのノンス）<br>・AMAC（APのMACアドレス）<br>・ＣMAC（クライアントのMACアドレス）<br>・PMK（事前共有鍵）</p>



<p class="wp-block-paragraph">▼４way hand-shakeの流れ<br><strong>１．①AP→クライアントにAノンスを送る<br>２．クライアントがPTKの生成<br></strong>　クライアントは「<span class="blue">PMK</span>＋<span class="blue">Aノンス</span>＋<span class="blue">Cノンス</span>＋<span class="blue">AMAC</span>＋<span class="blue">CMAC</span>」を導出関数に入れて<span class="blue">PTK</span>を生成する。<br>＊導出関数はPRF (Pseudo-Random Function：擬似乱数関数) または KDF (Key Derivation Function：鍵導出関数)と呼ばれる。RC4やAESとは全く別で、「入力した情報をめちゃくちゃに混ぜて規則性のないランダムな値を生成する」ための数学的な仕組み<br><strong>３．PTKから鍵を取り出す<br></strong>PTKにはKCK、KEK、TKと呼ばれる鍵が内在されている。<br><span class="blue">KCK</span>：MICを生成するための鍵<br><span class="blue">KEK</span>：GTKを暗号化するための鍵<br><span class="blue">TK</span>：通常のデータを暗号化するための鍵<br><strong>４．②クライアント→APにCノンスとMICを送る</strong><br>　クライアントは自身の<span class="blue">ノンス</span>と先ほど生成したPTKのKCKから生成した<span class="blue">MIC</span>を送る。<br>＊MIC（MessageIntegrityCheck）<br><strong>５．APが正当性の確認<br></strong>　APを受け取ったCノンスなどの情報を使いPTKを生成する。また、そのPTKのKCKからMICを生成し、そのMICがクライアントから送られてきたMICと一致したら正当性も保証される。<br><strong>６．③AP→クライアントにGTKの配布<br></strong>　GTKと呼ばれるグループ鍵をAPが生成する。それをKEKで暗号化（RC4を使う）してクライアントに配る。また、この際もMICを生成して正当性の確認ができるようにする。<br><strong>７．④クライアント→APにACKの送信</strong><br>　クライアントが受け取ったMICの正当性を確認したり、GTKをRC4で復号できたらACK（確認応答）をAPに返して４way handshakeの完了となる。<br>以上、４way handshakeの手順である。<br>ちなみに実際のデータを送るときは「TK＋送信元MACアドレス＋IV＋パケット番号＋実データ」の５つを使い暗号化する</p>



<p class="wp-block-paragraph"><span class="fz-20px"><strong><span style="text-decoration: underline;">Q.WPA2（Wi-Fi Protected Access 2）：</span></strong></span><br>WPAではRC4ベースの暗号化方式を使っていた。それだと脆弱性があるので、AESベースのCCMP暗号化方式を採用したのがWPA2である。<br>また、整合性チェック（MIC）の方式も変わった。WPAでは、暗号化したデータの後ろにMICを張り付けていた。一方WPA2では、MICも暗号化対象とすることで、改ざんされたら必ず気づけるようになった。これを専門用語で<span class="blue">AEAD</span>(Authenticated Encryption with Associated Data：認証付き暗号)と呼ぶ。</p>



<p class="wp-block-paragraph"><span style="text-decoration: underline;"><span class="fz-20px"><strong>Q.AEAD(Authenticated Encryption with Associated Data：認証付き暗号)</strong><br></span></span><span class="fz-20px"><span class="fz-18px">WPAの時代は、暗号化パケットの後ろにMICをつけていた。いわば、暗号化と認証が別々のプロセスとして扱われていた。そのため、どこかが間違っていると、AP側は「あ、このパットは暗号化部分がミスってるよ！」や「いや、認証部分がミスってるよ」などと具体的なエラーを返すことができた。これを利用して攻撃者はうまく改ざんできる方法を調整していた。</span></span>（このような仕組みは<span class="blue">パディングオラクル攻撃</span>と呼ばれている）<br>しかし、WPA2では、認証と暗号化を同じプロセス内で実施するAEAD方式を採用した。これにより、どこかが間違っていたとしても、AP側は暗号化処理なのか認証処理のどっちがまちがっているのか判断できない。そのため特にエラーメッセージを出すことなくドロップされる。これをされると攻撃者はヒントを得られないので攻撃を進めることが難しくなる。<strong><span class="fz-20px"><span class="fz-18px"><br></span></span></strong></p>



<p class="wp-block-paragraph"><br><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>平成28年（2016年）ネスペ午後Ⅰ　問一　解答解説</title>
		<link>https://ascend-beyond.com/other/7815/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 01:00:18 +0000</pubDate>
				<category><![CDATA[Other]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7815</guid>

					<description><![CDATA[設問１ エ：SMTP-AUTH　SMTP-AUTHは、認証機能をもつメール転送プロトコル。ポート番号は587番で、このポートは別名で「サブミッションポート」と呼ばれる。外部から届くメールはSMTPで受け取り、内部から送信 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１</strong></span></span></span><strong><span class="fz-20px"><span style="text-decoration: underline;"> </span></span></strong><strong><span class="fz-20px"><span style="text-decoration: underline;">エ：SMTP-AUTH</span></span></strong><br>　SMTP-AUTHは、認証機能をもつメール転送プロトコル。ポート番号は587番で、このポートは別名で「サブミッションポート」と呼ばれる。<br>外部から届くメールはSMTPで受け取り、内部から送信されるメールは認証付きのSMTP-AUTHを使う。これによって、踏み台にされることを抑えつつ、外部から転送された25番あてのメールは受信できるようになる。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２</strong></span></span></span><br><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）不正メールの踏み台にされてしまうリスク</span></span></strong><br>もし、A社とは関係のないドメインをほかのメールサーバへ転送してしまうと踏み台にされてしまうリスクがある。踏み台にされると、A社MSV３が不正なメールを送っていると判断されブラックリストに記載される。そうなると、A社内社員からの正当なメールも拒否されてしまい、まともに業務ができなくなる。そのため、外部（B社も含む）からのメールは転送してはいけない設定にする。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="780" height="180" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1.png" alt="" class="wp-image-7819" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1.png 780w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-300x69.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-768x177.png 768w" sizes="(max-width: 780px) 100vw, 780px" /><figcaption class="wp-element-caption">設問２（１）問題文</figcaption></figure>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）ルータ４</span></span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="969" height="689" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-2.jpg" alt="" class="wp-image-7816" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-2.jpg 969w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-2-300x213.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-2-768x546.jpg 768w" sizes="(max-width: 969px) 100vw, 969px" /></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>項番</strong></td><td><strong>動作</strong></td><td><strong>プロトコル(TCP/UDP/IP)</strong></td><td><strong>送信元IP アドレス</strong></td><td><strong>宛先IP アドレス</strong></td><td><strong>宛先ポート番号</strong></td></tr></thead><tbody><tr><td>1</td><td>禁止</td><td>オ（TCP）</td><td>カ（a.b.0.0/20）</td><td>any</td><td>キ（25）</td></tr><tr><td>2</td><td>許可</td><td>IP</td><td>any</td><td>any</td><td>ー</td></tr></tbody></table><figcaption class="wp-element-caption">表１　OP25Bのためのアクセスリスト</figcaption></figure>



<p class="wp-block-paragraph">図１と表１から推測する。もしルータ５にOP25Bを設定してしまうと、B社からMSV2宛ての通信も拒否されてしまう。それだとＢ社がメールサービスを一切利用できなくなる。なので、ルータ４に設定する。こうすれば、動的IPアドレス<ruby>＆<rt>かつ</rt></ruby>ポートが25番の通信をインターネットに出す前にブロックできる。なお、B社が外部宛てにメールを送る際は送信元がMSV2になる。そのため、それは動的IPアドレスではないのでブロックされることなくインターネットへ出ることができる。</p>



<p class="wp-block-paragraph"><strong>Q.サブミッションポートを使う場合はルータ５にOP25Bの設定をしてもいいのでは？<br></strong>A.「もし、全ユーザがサブミッションポート（587番）を使うのであれば、ルータ５にOP25Bの設定をすれば、無駄なトラフィックを入り口で早々に拒否できる。そっちの方が効率的じゃん」という考えを思いつくでしょう。もし、<strong><span class="fz-20px">全員が</span></strong>サブミッションポートを使えるならばいいが実際はそうもいかない。顧客の中には古い機能にしか対応できないシステム構成もある。つまりサブミッションポートに対応できない顧客もいる。なので、ルータ５でOP25Bを作るのではなく、顧客からの25番は甘んじて受け入れるけど、外部に出すときはしっかりフィルタリングさせてもらうよ！という構成が必要になる。そのため今回の構成ではルータ４にOP25Bを適用している。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">（５）110番　587番</span></span></strong><br>110番はPOP3をあらわし、587番はサブミッションポートをあらわしている。外部であるB社がMSV3にアクセスする必要があるので、メールを受信するPOP3とB社社員からのメール投稿を受け付けるためのSMTP-AUTHが必要になる。<br>なお、メールに関しては外部からMSV3に届く転送メールのSMTPの許可も必要だが、これは既に設定されていることなので、25番（SMTP）は回答から外すことができる。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-22px"><span class="marker"><span class="fz-20px"><strong><span style="text-decoration: underline;">p.3 L6 OP25B(Outbound Port 25 Blocking)</span></strong></span><br></span></span>ISP管理下にある動的IPアドレスがISPのメールサーバを経由せず、インターネット上にある外部のメールサーバに直接向かう通信を禁止する仕組み。<br>具体的にはISPがインターネットとつながるルータにOP25Bのフィルタリングルールを追加する。これは、動的IPアドレス<ruby>＆<rt>かつ</rt></ruby>宛先ポート25番（SMTP）ならブロックするというルール。これをすることで、外部への直接接続を遮断できる。</p>



<p class="wp-block-paragraph"><strong>Q.メール転送の流れは？<br></strong>A.動的IPアドレス、メールサーバ、OP25Bなどいろいろな単語がでてきて結局どういう経路でどのようにメールが転送されるのか分かりにくくなってきている。そのため一度以下で明示的に理解しておこう！<br>＊例として問題文中の構成を使う。<br>▼前提<br>　・各ISPはOP25B実施<br>　・B社は動的IPアドレス<br>　・A社は独自メールサーバを運用（a-sha.co.jpドメイン）<br>　・B社はQ社メールサーバを使う（q.sha.co.jpドメイン）<br>　・メールサーバをMSVと略す。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="850" height="701" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-3.jpg" alt="" class="wp-image-7817" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-3.jpg 850w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-3-300x247.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-3-768x633.jpg 768w" sizes="(max-width: 850px) 100vw, 850px" /></figure>



<p class="wp-block-paragraph"><strong>１．B社社員PCからa-sha.co.jp宛てにメールを送りたい<br>２．Q社MSVへ送信<br></strong>　B社のメールソフトクライアントではQ社MSVが登録されているので、Q社MSVにポート587番を使い送信する。<br><strong>３．Q社MSVはa-sha.co.jpの名前解決<br></strong>　宛先ドメインの名前解決は、ユーザではなくMSVが実施する。で、当該ドメインを管理するサーバのホスト名をMXレコードで取得し、再度、当該ホスト名のIPアドレスを名前解決する（Aレコード）。もしくはグルーレコードがあればその時点でIPアドレスの取得が完了する。<br><strong>４．インターネットを跨ぎA社MSVへ到着<br></strong>　手順３でIPアドレスを取得できたので、そこまでパケットを届ける。また、Q社でOP25B設定があっても、メールの送信元IPはQ社MSVのIPアドレスであるためブロック対象から外れるので正常にインターネットへ出ることができる。<br>＊この通信において、P社ISP内にあるP社MSV（MSV1）を経由することはない。<br><strong>５．A社の返信<br></strong>　A社がB社からのメールに返信する際は、送信元ドメインを確認する。この場合はq.sha.co.jpドメインが送信元なので、A社MSVが名前解決処理をするときはそのドメインで名前解決する。<br>＊A社からB社へのメール送信時も、P社ISP内にあるP社MSV（MSV1）を経由することはない。</p>



<p class="wp-block-paragraph"><span class="marker"><span class="fz-22px"><span class="fz-20px"><span style="text-decoration: underline;"><strong>p.4 L8 &#8220;B社がA社ドメインのメールでサポート業務を実施するために、A社のメールサーバであるMSV3を利用する方式を検討したい&#8221;</strong></span></span><br></span></span>なぜB社にA社のMSV３を使わせる必要があるの？一見、B社が契約しているMSV2で直接サポート業務をした方が効率的に見える。しかしそれをやってしまうと幾つかの問題が生まれる。<br><strong>理由１：顧客が不安になる<br></strong>　A社の製品を買ったのにも関わらず、サポートがA社のドメインでない場合、顧客はドメインが違うということでなりすましを疑ってしまう可能性がある。このようにドメインが違うと無駄な誤解を生んでしまう。<br><strong>理由２：メールがはじかれる<br></strong>　B社側がメール送信する際に、送信元をA社に変えた場合、顧客は安心できる。しかし、セキュリティ的に拒否されることがある。なぜならSPFなどで検査した場合、A社ドメインを使っているにも関わらず、実際の送信元のメールサーバはMSV3ではなくMSV2なので不整合が生まれ拒否されてしまう。</p>



<p class="wp-block-paragraph"><strong>Q.では、実際にどうやってメール委託業務をしているの？<br></strong>A.A社MSVを経由しなきゃいけなかったり、ドメインを直しただけでは無理だったり、色々な問題が問題があう。では、解決策はあるのか？答えは&#8230;.ある！。では、実際の流れを見ていこう！<br><strong>１．顧客がA社に問い合わせをする<br></strong>　宛先はA社ドメインで、それを受け取るのはMSV３（A社メールサーバ）。<br><strong>２．B社がMSV3からメールを取得する<br></strong>　B社がMSV３にPOP3でアクセスして、自分のPCにメールをダウンロードする。<br>＊なおPOP3は認証機能があるため、B社以外からはメールが取得できないようになっている。<br><strong>３．B社が返信メールを作成<br></strong>　B社社員が自身のPCで返信メールを作成する。<br>＊この時の送信元はA社のドメインを使う。<br><strong>４．B社社員がメール送信</strong><br>　A社のMSV3宛てにメールを送信する。この時、SMTP（ポート25番）だとQ社側のOP25Bでブロックされるので、SMTP-AUTH（ポート587番）を使う。<br><strong>５．MSV3で認証後、転送する<br></strong>　A社MSV3にSMTP-AUTHでアクセスすると、認証プロセスへ進む。その認証が成功するとメールが転送される。<br>これによって、ドメインはA社のものを使える<ruby>＆<rt>かつ</rt></ruby>なりすましとしてブロックされないようになる。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;"><span class="fz-22px"><span class="marker">p.5 SPF(SenderPolicyFramework)<br></span></span></span></span></strong>　SPFは送信元のメールサーバの正当性を確認する仕組み。では、流れを見ていこう！<br><strong>１．SMTPセッションの開始<br></strong>　メールを送る前に送信側のメールサーバ（MSV100）と受信側のメールサーバ（MSV200）はSMTPセッションを開始する準備を整える<br>＊MSV100はTCP25番接続をする→MSV200は<span class="green">220 Ready</span>を返す<br><strong>２．受信側の情報取得<br></strong>　送信側はEHLOコマンドを受信側に送り相手の情報（ホスト名、サポートしている拡張機能等）を取得する。これにより認証（SMTP-AUTH）、暗号化（STARTTLS）、ファイルサイズ（SIZE）の拡張機能のネゴシエーションができる。<br>＊コマンドは<span class="green">EHLO</span>を使う。EHLOを使うのは送信側だけでよい。受信側はそのEHLOに答えるだけ。<br><strong>３．相手の正当性確認（SPF）<br></strong>　MSV100がMAIL FROMコマンドとして送信者のメールアドレスを記載してMSV200に渡す。<br>MSV200は当該ドメインのTXTレコードを取得し、その中に記載されているIPアドレス範囲とMSV100のIPアドレスを比較し、整合性が取れるかを確認する。<br><strong>４．メール送信<br></strong>　SPFの認証まで終わったら、次に宛先を送り（RCPT TO）、次に本文を送る（DATA）という手順でメールを送信する。</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph"><br><br><span class="fz-20px"><strong><span style="text-decoration: underline;"><br></span></strong></span></p>



<p class="wp-block-paragraph"><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>平成28年（2016年）ネスペ午後Ⅱ　問二　解答解説</title>
		<link>https://ascend-beyond.com/study/7792/</link>
		
		<dc:creator><![CDATA[管理人]]></dc:creator>
		<pubDate>Sun, 05 Jul 2026 23:30:58 +0000</pubDate>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[ネスペ]]></category>
		<guid isPermaLink="false">https://ascend-beyond.com/?p=7792</guid>

					<description><![CDATA[設問１（１）イ：セレクタセキュリティポリシを選択するキーはセレクタと呼ばれる。 Q.SPIとセレクタって何が違うの？A.SPIはどのSAを使うかの32ビットの識別子。つまりSADの中から適切なSAを見つけるための識別子。 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問１<br></strong></span></span></span><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）イ：セレクタ</span></span></strong><br>セキュリティポリシを選択するキーはセレクタと呼ばれる。<br><br><strong>Q.SPIとセレクタって何が違うの？<br></strong>A.SPIはどのSAを使うかの32ビットの識別子。つまりSADの中から適切なSAを見つけるための識別子。<br>一方、セレクタはどのルール（ポリシー）を使うのかの識別子。つまり、SPDの中から適切なルールを見つけるための識別子。これは特定の値ではなく、IPアドレス、ポート番号、プロトコルなど、様々なものを識別子として使える。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問２<br></strong></span></span></span><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）リキー（ReKey）</span></span></strong><br>ReKeyとはSAの再確立のこと。ローテーションと表現されることもあるが、ローテーションは鍵の再確立全般をあらわしている。IPsecにおける再確立ときかれたらReKeyと答えるのが安牌。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><strong><span style="text-decoration: underline;">（２）IPsec通信で送受信されるメッセージが、通信中に改ざんされていないこと</span></strong><br></span>フェーズ２の認証方式によって認証できる対象は、メッセージの改ざん検知など。<br>では、どのような仕組みで改ざん検知ができるのか、認証にフォーカスしたフェーズ2の流れを見ていこう！<br><strong>１．送信者は、データパケットと認証鍵を合わせたものをHMACでハッシュ化する。ハッシュ値を付加してパケットを送信。<br></strong>　＊認証鍵とは&#8221;フェーズ１で作成されてSKEYID&#8221;＋&#8221;ナンス&#8221;+&#8221;SPI&#8221;をPRFという関数に入れて導出される。この値はとても長いので、最初の256bitは暗号化鍵用、次の256bitは認証用という風にチョキチョキしてそれぞれの鍵を作っていく。<br><strong>２．受信者は受け取ったパケットを送信者と同じ手順でハッシュ化する。導出されたハッシュ値が一致したら、改ざんされていないことが証明される。</strong><br>以上の手順より、認証方式によって認証できる対象はメッセージであり、認証内容は改ざんされていないこと。という回答になる。<br><br><strong>Q.ちなみに上記の認証プロセスでは本人の正当性も認証できるのになぜ回答は改ざん検知だけなの？<br></strong>A.上記、認証プロセスでは本人の正当性も保証される。なぜなら、ハッシュ値を算出する際に、SKEYIDも要素の一つとなっているから。同一のSKEYIDを保持できていることは、フェーズ１で正しく鍵交換できている証明になるので本人の正当性の証明になる。<br>しかし、今回の問題の肝はフェーズ２の認証について。なので、本人の正当性はフェーズ１で既に証明されているものなので、わざわざフェーズ２の機能として記す必要もないという考え方から、回答にはメッセージの改ざん検知のみが記載されている。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><strong><span style="text-decoration: underline;">（３）OSPFのリンクステート情報交換は、IPマルチキャスト通信で行われるから。</span></strong></span><br>IPsecはユニキャストにしか対応していない。そのためマルチキャストを使うOSPFを扱うことができない。<br><strong>Q.なぜIPsecでマルチキャストをすると失敗するの？<br></strong>A.では、具体的な流れとともに確認しよう！主に<span class="marker-under">ルーティング担当</span>と<span class="marker-under">IPsec担当</span>がいるということを念頭に置いておきましょう。<br><strong>１．OSPFパケット誕生<br></strong>　ルータがトンネルインタフェースでOSPFパケットを生成してマルチキャストに送信する<br>　宛先：224.0.0.5（リンクローカルマルチキャスト，TTLは１）<br><strong>２．ルーティング担当がパケット処理<br></strong>　tunnel destinationから宛先はWAN側になっているのでWANポートから出す<br><strong>３．IPsec担当が処理</strong><br>　WANポートから出る直前にIPsec担当がパケットを捕まえて、自身のSPDからprotected,bypath,discardを決める。<br>　しかし、宛先が224.0.0.5のトンネルなんて作っていないのでIPsecでは流せない。なお、IPsecでは流さずそのままWANポートから出力しても破棄されて終わる。<strong><br></strong><br><strong>Q.なぜGREを使うとマルチキャストを扱えるようになるのか？<br></strong>A.では、具体的な流れとともに確認しよう！主に<span class="marker-under">ルーティング担当</span>と<span class="marker-under">IPsec担当</span>がいるということを念頭に置いておきましょう。<br><strong>１．あらかじめGREトンネルを拠点間で作成しておく<br></strong>　＊これによりパケットの中身は関係なく、一旦GREのトンネル入れて流そうというプロセスが追加される（＝この段階で１対１通信が確立する）。<br><strong>２．OSPFパケット誕生<br></strong>　ルータがトンネルインタフェースでOSPFパケットを生成してマルチキャストに送信する。トンネルインタフェースでOSPFを有効化しているので、マルチキャストももちろん対向のトンネルに送出される。<br>　宛先：224.0.0.5（リンクローカルマルチキャスト，TTLは１）<br><strong>３．パケットをGREカプセル化<br></strong>　GREが手順２で送信されたマルチキャストパケットはトンネルを通るのでキャッチしてGREでカプセル化<br><strong>４．IPsec担当が処理</strong><br>　手順３によって通常の１対１パケットとしてIPsecに届くので、いつも通り宛先をSPDで判断して、「あ、これはGREトンネルの１対１だから、このSAでこういう方式で暗号化とかすればいいのね。OK～」と処理をして流す。</p>



<p class="wp-block-paragraph"><strong>Q.GREでやってることはIPsecのTunnelモードではできないの？<br></strong>A.答えは「パケットがIPsecまで来た際に、SPDを検索するがそもそも224.0.0.5に関するポリシーなんて定義していないから」。</p>



<p class="wp-block-paragraph"><strong>Q.正直、トンネルを作れる（１対１にできる）ならGREじゃなくてもいいんじゃないの？<br></strong>A.確かに、１対１のトンネルを作れるならば、GREでなくもてIPsec自体は成立する。実際にIP in IPやL2TPをつかってもIPsecは作れる。しかし、GREでなくてはならない理由もある。<br><strong>理由１：GREはなんでも流せる<br></strong>GREはGenericRoutingEncapsulation（汎用ルーティングカプセル化）という名前の通り、GREはなんでもカプセル化の対象にできる。IP-in-IPは理論上、IPをカプセル化できるといえど、多くのルータではIP-in-IPを使う時にマルチキャストをブロック挙動を取ることが多い。<br>一方、L2TPはマルチキャストを流せる。がその処理がとても重くなってしまう。<br><strong>理由２：ヘッダが軽量</strong><br>GREヘッダは24バイト（[新IPヘッダ(20)][GREヘッダ(4)]）のカプセル化。一方L2TPは40~50Byte（[新IP(20)] [UDP (8)] [L2TP (6〜16)] [PPP (2〜4)] [元のパケット]）に膨れ上がる。<br><strong>理由３：コネクションレス型<br></strong>GREはコネクションレス。しかし、コネクションは通常のパケット同様にTCPかアプリケーション側が管理するのでわざわざGREが管理しなくても順序保証、欠損管理などの機能は別でカバーできる。一方L2TPは内部で運ぶPPP回線が順序の入れ替わりにきわめて弱いため、順序保証を確実にする必要がある。そのためコネクション型となりパケットサイズやオーバーヘッドも必然的に多くなってしまう。<br>👆ほかにも理由があるが、GREが選ばれるのはこういう理由があるよという解釈を持っておこう！</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問４<br></strong></span></span></span><strong><span class="fz-20px"><span style="text-decoration: underline;">（１）GREでトンネリングが行われるから</span></span></strong><br>GREを使うことで既に以下のような構成になっている。<br><span class="green">GRE：[外側IP][GRE][社内IP][データ]</span><br>一方、IPsecのトンネルモード単体はこのようなパケット構成になる。<br><span class="green">トンネルモード：[外側IP][ESP][社内IP][データ]</span><br>このように新しい外側IPを付与することで内側のパケットを暗号化対象にできる。<br>では、最後にトランスポートモードのパケット構成を見ていこう<br><span class="green">トランスポートモード：[社内IP][ESP][データ]</span><br>こちらは既に設定されているIPの内側を暗号対象にしている。<br>では、GREとの組み合わせを見ていこう。<br><span class="green">GRE＋トンネルモード：[外側IP][ESP][外側IP][GRE][社内IP][データ]<br>GRE＋トランスポートモード：[外側IP][ESP][GRE][社内IP][データ]</span><br>以上、よりトンネルモードだと外側IPが二重に付加されてしまい無駄なオーバーヘッドが発生する。一方、トランスポートモードでは二重のオーバーヘッドがないため、こちらを採用するほうが効率的と言える。</p>



<p class="wp-block-paragraph"><span class="fz-16px"><span class="fz-22px"><span class="fz-28px"><strong>設問５</strong></span></span></span><br></p>



<figure class="wp-block-image size-full"><img decoding="async" width="883" height="519" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1.jpg" alt="" class="wp-image-7808" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1.jpg 883w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-300x176.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-768x451.jpg 768w" sizes="(max-width: 883px) 100vw, 883px" /></figure>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">（２）L2SWaとL2SWbを異なるサブネットにする</span></span></strong><br>　現状のデータセンタ構成をみると、IPsecルータ、L3SW、L2SWa、L2SWbの間でループ構成ができてしまっている。しかし、異なるサブネットに配置することで、ループを防ぐことができる。<br>具体的には、<br><span class="green">今までのARP経路：</span>「L3SW→L2SWa→IPsecルータ→L2SWb→L3SW→ループ」と「L3SW→L2SWb→IPsecルータ→L2SWa→L3SW→ループ」というようにループが発生してしまう。<span class="green">異なるサブネット変更後：</span>「L3SW→L2SWa→IPsecルータで止まる」と「L3SW→L2SWb→IPsecルータで止まる」<br>以上、より異なるサブネットに配置することでループを防げるようになる。<br>＊異なるサブネット：カッコつけた表現だが、実際はVLAN分離をしているだけという解釈<br>＊L3SWとIPsecルータがループ構成から外れている理由は、もともとOSPF用のリンクであるため異なるVLANで構築されているから。<br><br><strong>Q.そもそも現状の構成でなぜループが発生するのか？<br></strong>A.では、ループになる原因を図９を参照しながら見ていこう！<br><strong>１．データセンターのL3SWがWebサーバにパケットを届けたい<br></strong>　IPアドレスは知っていてけど、MACアドレスを知らないときはARPをブロードキャストする<br><strong>２．各機器にARPが届く<br></strong>　L3SWからのARPは受信以外のすべてのポートから出力される。つまり、IPsecルータ、L2SWa、L2SWbにARPが届く。<br><strong>３．各機器もARPを拡散する<br></strong>　各機器は受信ポート以外のすべてのポートでARPを送信する。<br><strong>４．ARP応答がくる<br></strong>　L2SWaのARPは無事、Webサーバまで届きWebサーバから適切なARP応答がL2SWaに届く。<br><strong>５．L3SWにARP応答が返る<br></strong>　WebサーバからのARP応答がL2SWaまで届き、それがL3SWに届く。<br>これで完了！と思うかもしれないがここにpithallがある。<br><strong>６．未解決のARPが回り続ける<br></strong>　手順３の段階で各機器にARPが届いているので、自分宛でないARPは受信ポート以外のすべてのポートに転送される。これによってループが発生する。<br>　＊ループを起こさないためには木構造（終端があり１つの行先には１通りの通し方しかない構造）にする必要がある。<br>以上のプロセスによってループが発生してしまう。</p>



<p class="wp-block-paragraph"><strong>Q.ループが発生していても正常なARP応答はL3SWに届くのに、なぜ通信はできないの？<br></strong>A.ARPループによっていくつかの不具合が発生してしまうから<br><strong>1つ目：ARPによって、MACアドレステーブルが頻繁に変動する<br></strong>　例えば、ARP応答は巡り巡って発信者のL3SWまで届いてしまう。そうなると、ARPの送信元はL3SWのMACアドレスであるにもかかわらず、ARP送信元MACと受信ポートをL3SW自身が学習してしまう。このようなことが繰り返されることによって、MACアドレステーブルが頻繁に変動（フラッピング）してしまい、適切な出力ポートが分からず通信ができなくなってしまう。<br><strong>2つ目：CPUのキャパオーバー<br></strong>　これはいたってシンプルな理由。ARPの転送にはCPUを消費する。ループすればするほどパケットのサイズは際限なく増幅する。その増幅したパケットをCPUが処理しきれなくなってしまい、正常な通信も処理されなくなってしまう。<br><strong>３つ目：ARP応答ができるのは本人のみ</strong><br>　L3SWが正常なWebサーバのMACアドレスを持っているといえど、ARP応答を返せるのはWebサーバのみ。そのため、L3SWに届いたARP応答も通常通り、受信ポート以外から転送されるだけ。<br>　＊もし、L3SWでも自分が知っているからという理由でARP応答を返せたらループは消滅できる。<strong><br></strong>　<br><strong><span class="fz-20px"><span style="text-decoration: underline;">（３）本社：２　営業所：１　データセンタ：２</span></span></strong><br>VRRPを動かすための独立したサブネットが、当該拠点にいくつあるかを考える。その考えをもとに、名古屋営業所は、L2SW１つだけなので、１つの仮想IPで運用可能。本社は、L2SWaとL2SWbの２つのサブネットがあるため、２つの仮想IPを準備する必要がある。データセンタに関しては、本社と同様の理由で２つの仮想IPが必要になる。<br>＊もし、独立したサブネットが３つあるならVRRPの仮想IPも３つ準備する必要がある。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">（４）どのサーバアクセスも、VRRPのマスタルータが稼働する機器に接続されたWAN回線を経由して行われる。</span></span></strong><br>名古屋営業所のIPsecルータとL3SW間のOSPFリンクが動作している場合は、お互いを冗長経路として把握することができる。しかし、そこのリンクが切れると、OSPFは動作しなくなりルーティング情報からお互いの経路情報が消えて冗長化対象として扱われなくなる。そうなると、VRRPマスタルータがつながっているWAN回線でのみ通信が行われる。客観的にみて別の回線を使ったほうがコストが低かったとしても、その情報を互いに知る由もないため、１つの回線のみを使い続けてしまう。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">（５）インターネットVPN経由のコスト値が最小230であるのに対して、専用線経由のコスト値は200で最も小さい</span></span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="894" height="547" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-1.jpg" alt="" class="wp-image-7810" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-1.jpg 894w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-1-300x184.jpg 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-1-1-768x470.jpg 768w" sizes="(max-width: 894px) 100vw, 894px" /></figure>



<p class="wp-block-paragraph">本社からインターネットへの２つの経路の通信コストを算出すると、<br>・本社L3SW→(+10)→本社IPsecルータ→インターネットVPN(+220)→データセンタIPsecルータ＝230<br>・本社L3SW→専用線(+200)→データセンタL3SW=200<br>つまり専用線を通ったほうがコストが小さいため専用線が使われる。もし、IPsecルータがVRRPマスタルータでもコストは210で依然として専用線が使われる。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">（6）う：広域イーサ網→本社→専用線　え：インターネットVPN→データセンタ→専用線</span></span></strong><br>「う」の名古屋営業所のPCからデータセンタへは、通常はインターネットVPN接続を通るが、表３より名古屋営業所のインターネットVPNに障害が発生している。これにより広域イーサ網を使う経路になる。<br>「え」の名古屋営業所のPCから本社のDMサーバへは通常は広域イーサ網を使う。しかし、表３より名古屋営業所の広域イーサ網に障害が発生している。そのためインターネットVPNを使う経路になる。しかし、問題文中より営業所と本社は直接インターネットVPN接続がない。そのためデータセンタを経由する必要がある。なので、経路は、「名古屋営業所PC→インターネットVPN→データセンタ→専用線→DMサーバ」となる。<br>＊なおL3SWやIPsecルータなどの記載がされない理由はVRRPによって機器が動的に変動する可能性があるため明示的には記載しないなどの理由がある。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong>p.13 広域イーサネットサービス</strong><br></span></span>広域イーサネットサービスとは、物理的に離れた機器同士をあたかも同一LAN（ブロードキャスト等が利用可能）に接続しているようなふるまいを可能にするサービス。なお、使うネットワークとしてはインターネットのような不特定多数の利用者がいる環境ではなく、事業者が独自に構築した閉域網を使う。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong>p.14 L3 &#8220;サーバのIPアドレスの変更が生じないようにする&#8221;とあるが、物理的移動したのにIPアドレスを維持することなんてできるの？</strong><br></span></span>インターネットをまたぐ際は、カプセル化をすることで相手まで到達させる。そしてその後、カプセル化を解除すれば、物理移動に依存せずIPアドレスを維持できる。具体的な手順を以下に記す。<br>１．サーバをデータセンタへ移行する<br>２．本社とデータセンタ間でトンネルを構築する（簡素化のため支社のことはここでは考えない）<br>３．OSPFを稼働させ内部のIPプレフィックスをトンネルを通して相互に通知しあう<br>４．相手の内部情報が把握できたので、今後、その内部宛てに送るときはトンネルを経由して通信可能になる。<br>以上のプロセスを経由することによって、物理的な移動があってもIPアドレスを維持できる。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong>p.14 L7 &#8220;インターネットVPNと既設の広域イーサ網間でOSPFを稼働させれば、この要件を満たすことができると考えた&#8221;とあるがどういうこと？</strong><br></span></span>「インターネットVPNと広域イーサ網間で〜」という問題文の日本語は、初見だと「2つの回線をガッチャンコしてその間で何かするの？」と誤解しやすい、ちょっと意地悪な表現。でも、実際に言いたいことは、これは「インターネットVPNというルート」と「広域イーサ網（および新設する専用線）というルート」の、それぞれの回線上で独立してOSPFを稼働させるという意味。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.14 L7 &#8220;広域イーサ網間でのOSPF&#8221;って具体的にどういう挙動？<br></span></span></strong>広域イーサ網は１つの巨大L2スイッチとして動作している。そのため、広域イーサ網を使ってOSPFを使う場合は、通常のOSPFと同じように特にカプセル化など不要でそのままパケットを広域イーサ網に流せばOK。あとは巨大L2スイッチ（広域イーサ網）がパケットをコピーして、MACアドレス情報などから適切な宛先に転送してくれる。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><span style="text-decoration: underline;"><strong>p.14  SA</strong><br></span></span>IPsecにはパケットを暗号化、復号などのルールに関する関連単語が複数ある。その一つがSA。では、以下でそれぞれを詳しく見ていく。<br><strong>SA（Security Association）<br></strong>　：コネクションのこと。関係性。物理的なものではなく概念的なもの。<br><strong>SPI（Security Parameter Index）<br></strong>　：どのSAを使っているかの識別子。32ビットで構成。<br><strong>SAD（Security Association Database）<br></strong>　：SAの詳細な情報を保持するデータベース。具体的には、SPI、暗号アルゴリズム、秘密鍵など。<br><strong>SPD（Security Policy Database）<br></strong>　：どの通信はIPsecを通して、どの通信は通さないかなどのIPsecのルール（ポリシー）のデータベース。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.15 表１　IKEフェーズ１で決定されるパラメータ</span></span></strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>パラメータ</strong></td><td><strong>説明</strong></td></tr></thead><tbody><tr><td>暗号化方式(AES-256)</td><td>ISAKMP メッセージの暗号化アルゴリズム</td></tr><tr><td>ハッシュ方式(SHA-256)</td><td>ISAKMP メッセージの完全性の検証と鍵計算に使用するハッシュアルゴリズム</td></tr><tr><td>ライフタイム</td><td>ISAKMP SA の生存期間</td></tr><tr><td>認証方式(PSK)</td><td>IPsec 通信相手機器の認証方式</td></tr><tr><td>鍵交換方式(DH14)</td><td>鍵交換のためのアルゴリズム</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">具体的にそれぞれのパラメータがどのタイミングでどのような意図で使われるのか見ていこう。<br><strong>１．プロポーザルの交換<br></strong>　暗号化方式（aes）、ハッシュ方式(sha256)、認証方式(preshare)、鍵交換方式（DHグループ(14））、ライフタイム(7200)を生の状態で相手と交換して、二者間で取り決め（ポリシー）を作る。<br><strong>２．DH鍵交換<br></strong>　DHを使って今後の暗号化用の鍵、ハッシュ用の鍵のもとになる鍵(SKEYID)を生成する<br><strong>３．認証と改ざんチェック（ここから暗号化）<br></strong>　１で決めた暗号化方式（aes）、ハッシュ方式(sha256)、認証方式(preshare)に則り、２で作成された共通鍵(SKEYID)をベースにID（IPアドレスやホスト名）と要約情報（これまでのやり取りの）を暗号化して相手に送る。<br><strong>４．答え合わせとフェーズ１の完了<br></strong>　３のパケットを復号して自分がハッシュ方式(sha256)によって算出した要約情報と相手の要約情報が一致することを確認する。相手のIDが正しいことも確認する<br><strong>５．ライフタイムによるローテーション<br></strong>　２、３で作った鍵は１でやり取りした際のライフタイムに則り破棄されローテーションする。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">YAML</span><span role="button" tabindex="0" data-code="実例
#事前共有鍵の作成
crypto isakmp key &lt;key&gt; address &lt;IPアドレス&gt;

#フェーズ１
crypto isakmp policy &lt;ポリシー番号&gt;
encryption aes 192
hash sha256
authentication pre-share
group 14
lifetime 3600" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #E6DB74">実例</span></span>
<span class="line"><span style="color: #88846F">#事前共有鍵の作成</span></span>
<span class="line"><span style="color: #E6DB74">crypto isakmp key &lt;key&gt; address &lt;IPアドレス&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88846F">#フェーズ１</span></span>
<span class="line"><span style="color: #E6DB74">crypto isakmp policy &lt;ポリシー番号&gt;</span></span>
<span class="line"><span style="color: #E6DB74">encryption aes 192</span></span>
<span class="line"><span style="color: #E6DB74">hash sha256</span></span>
<span class="line"><span style="color: #E6DB74">authentication pre-share</span></span>
<span class="line"><span style="color: #E6DB74">group 14</span></span>
<span class="line"><span style="color: #E6DB74">lifetime 3600</span></span></code></pre></div>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.16 表２　IKEフェーズ２で決定されるパラメータ</span></span></strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>パラメータ</strong></td><td><strong>説明</strong></td></tr></thead><tbody><tr><td>セキュリティプロトコル（esp か AH）</td><td>IPsec 通信で使用するセキュリティプロトコル</td></tr><tr><td>暗号化方式</td><td>IPsec 通信で使用する暗号化アルゴリズム</td></tr><tr><td>認証方式≒ハッシュ方式（sha-256）</td><td>IPsec 通信で使用する認証アルゴリズム</td></tr><tr><td>ライフタイム</td><td>IPsec SA の生存期間</td></tr><tr><td>通信モード</td><td>トンネルモード又はトランスポートモード</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">具体的にそれぞれのパラメータがどのタイミングでどのような意図で使われるのか見ていこう。<br><strong>１．プロポーザルの交換<br></strong>　セキュリティプロトコル(esp)、暗号化方式(aes-256)、ハッシュ方式（sha-256）、ライフタイム(3600)、通信モード(transport)を交換する<br><strong>２．本番鍵の生成<br></strong>　ナンスを交換し、その素材とフェーズ１で作成したSKEYIDをベースに、暗号化鍵、ハッシュ鍵を生成する。<br>　＊例外としてもし、PFSを導入する場合はフェーズ１と同様にDHで１から鍵を作り直す<br><strong>３．フェーズ２の完了</strong><br>　これ以降の通信はフェーズ１のトンネルは通らず、フェーズ２の鍵で実際に通信される</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">YAML</span><span role="button" tabindex="0" data-code="実例
#フェーズ２
crypto ipsec transform-set &lt;ts名&gt; esp-aes 256 esp-sha256-hmac
mode &lt;tunnel または transport&gt;" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #E6DB74">実例</span></span>
<span class="line"><span style="color: #88846F">#フェーズ２</span></span>
<span class="line"><span style="color: #E6DB74">crypto ipsec transform-set &lt;ts名&gt; esp-aes 256 esp-sha256-hmac</span></span>
<span class="line"><span style="color: #E6DB74">mode &lt;tunnel または transport&gt;</span></span></code></pre></div>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><span class="fz-18px"><span class="fz-22px"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.16 静的経路制御でも広域イーサ網との間で負荷分散を行うことができるが、運用管理を容易にするためにOSPFを稼働させたい</span></span></strong><br></span></span><strong>Q.静的制御でどうやってやるの？<br></strong>A.具体的には各拠点のプレフィックスなどからネクストホップをトンネルに設定したりする。しかし拠点のプレフィックスなどが増えるたびに、全拠点でスタティック設定を追加しなければならないため運用がとても大変。<br><strong>Q.負荷分散はどうやってやるの？</strong><br>A.同じ宛先に対してネクストホップを広域イーサ網とトンネルの２つを設定する。スタティック設定の場合、ただ２つを準備すれば勝手に負荷分散してくれるので、ルートマップやポリシー制御は特に不要。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.17 L2TP（Layer 2 Tunneling Protocol）</span></span></strong><br>まずはパケット構成から見ていこう。<br>[新IP][UDP][L2TP][PPP][IPパケット]のようになっている。<br>この図からわかる通り、L2TPだけでなく、PPPというヘッダも付加されていることが分かる。そのため、問題文中では単にL2TPと呼ばれているが厳密にいうと、PPP over L2TPのことである。なのでここからは問題文中のL2TPをPPP over L2TPと呼ぶことにする。<br><br><strong>Q.PPP over L2TPは認証に重きを置いている。ではなぜGREoverIPsecではL2TP,PPPのような大きな認証ヘッダが付加されないの？<br></strong>A.そもそもGRE over IPsecは拠点間通信に使われる。つまり、相互のルータの正当性が保証されている状態にある。そのため相手ルータ自体の認証機能はあるものの、ユーザ個人単位の認証は必要ないためそれに伴うヘッダも付加されない。一方、L2TPはリモートワークなどで動的に相手のIPアドレスが変わる環境で使われる。要は、信頼性が担保されない場面で使われる。そのためL2TPヘッダやPPPヘッダを別で付加して利用者個人に対する認証機能を装備する必要がある。要は、「GREoverIPsecは個人認証不要。逆にL2TPは個人認証が必須だからそれに伴いパケットサイズも増大してしまう」ということ。<br><br><strong>Q.PPPってなに？<br></strong>A.PPPはレイヤ２のプロトコル。つまり単体ではL3のルータを跨げないプロトコル。また、役割としては認証とIPアドレス配布を担う。具体的にどのように認証とIPアドレス配布が行われるのか手順を確認しよう。<br><strong>１．LCP（Link Control Protocol）フェーズ<br></strong>　お互いで「こういう通信にしようぜ」というのをすり合わせる<br><strong>２．認証フェーズ<br></strong>　チャレンジレスポンス方式などを使いユーザの認証を行う<br><strong>３．NCP(Network Control Protocol) / IPCPフェーズ<br></strong>　IPアドレスの払い出し<br>以上が大まかな流れなので軽く押さえておきましょう！</p>



<p class="wp-block-paragraph"><strong>Q.L2TPってなに？<br></strong>A.一言でいうと、「トンネリングプロトコル」。トンネルを張ることで同一のLANにいるかのような振る舞いができる。では、イメージしやすいようにL2TPのトンネリングまでの流れを見ていこう！<br><strong>１．物理IPの確認とTunnel IDの確認（Control Connection フェーズ）<br></strong>　PCから会社のルータに通信をして、「俺はTunnel IDの10番を使います！」と送り、ルータもPCに「では、私はTunnel IDの20番を使います！」と送る。それに対してPCが「OK、了解！」と送る。<br>　＊１つ目ののメッセージを<span class="marker-under">SCCRQ</span>と呼び、2つ目をを<span class="marker-under">SCCRP</span>と呼び、３つ目を<span class="marker-under">SCCN</span>と呼ぶ。<br><strong>２．Session IDの確認（Session フェーズ）<br></strong>　手順１では機器間で使う道に対するTunnel IDを確認した。次にやるのは実際にその道を使う人を識別するためのSession IDを交換する。PCは「俺はSession IDの200を使います！」と送り、ルータもPCに「では私は、Sessopn ID 220番を使います！」と送る。<br>　＊１つ目ののメッセージを<span class="marker-under">ICRQ</span>と呼び、2つ目をを<span class="marker-under">ICRP</span>と呼び、３つ目を<span class="marker-under">ICCN</span>と呼ぶ。<br><strong>３．ルータ側でSession IDごとに仮想的な箱を作っておく</strong><br>　ルータがSession IDごとに仮想的な箱(<span class="marker-under">Virtual-Access</span>)を作っておくことで、「あ、このSessionIDならこの箱に丸投げしよう」とタスクを分けることができる。この箱はLANと接続しており、通常通りプライベートIPアドレスでの通信が可能になる。ルータと内部LANの中間にこの箱を挟むことで、ルータが外側IPをはがした後に「え？急にプライベートIPアドレスのパケット出てきたけど。。。どういうこと？」という混乱を吸収できる。<br>上記手順によって、仮想的にトンネルを作り出すことができる。<br>なお、このようにL2TPでは通常のルータが行う単純な転送機能の範疇を越えている。そのため、既存のルータの挙動を重ね合わせて理解しようとするのではなく、L2TPにはL2TP専用の高性能なルータが必要であり、内部での処理も別次元のことをしているという前提を持っておく必要がある。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.18 PPPoE<br></span></span></strong>A.PPPoEが使われる理由を一言でいうと「宛先を明示的にするため」。PPPは１対１が前提であるため、宛先を指定せずに通信ができる。しかしイーサネットの場合は１対多を前提にしているため、PPPのように宛先を記さない場合、宛先が分からず破棄されてしまう。そこで、イーサネット上でも１対１の通信をするためにPPPをイーサネットでカプセル化して、宛先を明示させる。それによりはきされることなく通信することができる。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.18 図６　L2TP利用時の通信例</span></span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="808" height="421" src="https://ascend-beyond.com/wp-content/uploads/2026/07/image.png" alt="" class="wp-image-7802" srcset="https://ascend-beyond.com/wp-content/uploads/2026/07/image.png 808w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-300x156.png 300w, https://ascend-beyond.com/wp-content/uploads/2026/07/image-768x400.png 768w" sizes="(max-width: 808px) 100vw, 808px" /></figure>



<p class="wp-block-paragraph"><strong>１．①PPPoEでインターネット接続可能にする<br></strong>　PCがインターネットを使えるようになるにはISPとPPPoE接続が必要になる。これによって自身のグローバルIPアドレスを取得してインターネットとの通信を可能にさせる。<br><em><span class="green">ここまでのパケット構成：[Ethernet][PPP][PPP接続制御データ]<br></span></em>　＊直接PCがIPアドレスを取得するというよりも家庭内Wi-FiルータがISPとPPPoE接続をしてIPアドレスを取得するケースが多い。内部のPCはルータから払い出されるプライベートIPアドレスを使い、ルータがそれをNAPT変換してPPPoEに流すという構成が一般的。<br>　＊正直現在においてはPPPoEよりもIPoEがデフォルトになっている。なのでPPPoEやL2TPはややレガシー寄りの技術。<br><strong>２．L2TPトンネルを作成する<br></strong>　手順１でグローバルIPを取得できたので、そのIPを使い会社のVPN装置とトンネルを作成する。<br>なお、依然としてISP経由の通信なのでPPPoEでのカプセル化は継続される。<br><em><span class="green">ここまでのパケット構成：[Ethernet][PPP][物理IP][TCP/UDP][L2TP]<br></span></em>　＊なお１回目の通信でPPP認証は終わったので、移行のPPPはセッションIDが格納される。それによりユーザを識別子、毎回毎回認証必須とならないようにする。<br><strong>３．PPPセッション確立</strong><br>　社内にいるかのような同一サブネットとして振舞わせるために、認証とIPアドレス払い出しをしてもらう必要がある。なお、L2TPでトンネル確立済みであるため、それがPPPの１対１通信をインターネットを跨いでも可能にしている。<strong><br></strong><span class="green"><em>ここまでのパケット構成：[Ethernet][PPP]<em>[物理IP][L2TP][VPN用PPP][社内IP][TCP/UDP]</em></em><br></span><strong>４．PCとサーバで通信</strong><br>　１～３までの手順により、社内サーバと同一サブネットとして振舞うことができるようになったので、実際に通信する。<br><span class="green"><em>ここまでのパケット構成：[Ethernet][PPP]<em>[物理IP][L2TP][VPN用PPP][社内IP][TCP/UDP]</em></em></span></p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">p.19 ESPヘッダ、ESPトレーラ、ESP認証データ</span></span></strong><br><span class="green">ESPヘッダ：</span>SPIとシーケンス番号を格納している。<br>　SPIはどのSAを使うかの識別子をあらわす。シーケンス番号はリプレイ攻撃に備え、同一のシーケンスは受け取らないようにすることで攻撃を防ぐ意味合いがある。<br><span class="green">ESPトレーラ</span>：パディングと次ヘッダーを格納<br>　パディングは暗号化処理等で切りのいいデータ長にするためのもの。暗号化をする際は切りのいいデータ長でないと動作しないことがある。そのため、穴埋めの調整役として使われる箇所。<br>　次ヘッダーは、次にどのようなパケットがあるか（IPv4なのかGREなのか..とか）を示すためのもの<br><span class="green">ESP認証データ</span><span class="green">≒ICV（Integrity Check Value）</span>：ESPヘッダ～ESPトレーラまでをハッシュ化した値を格納する。<strong><span class="fz-20px"><span style="text-decoration: underline;"><br></span></span></strong></p>



<p class="wp-block-paragraph"><span class="fz-20px"><strong><span style="text-decoration: underline;">p.20 GREトンネルとルーティングの挙動</span></strong><br></span>GREトンネルを作成した時のルーティングの挙動を見ていこう！なぜ、対向のトンネルで同一プレフィックスを使っているのか？なぜ、宛先を対向ルータIPにせず対向トンネルIPにするのか？<br>様々な疑問を解消していこう！ここでは、以下の構成に当てはめながら進めていく。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">YAML</span><span role="button" tabindex="0" data-code="#全体像
LAN 10.0.0.0/8
Tunnel 172.16.10.1/30
A拠点
WAN100.0.0.1/24
|
|
|
|
|
|
WAN 200.0.0.1/24
B拠点
Tunnel 172.16.10.2/30
LAN 192.168.0.0/16
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#全体像</span></span>
<span class="line"><span style="color: #E6DB74">LAN 10.0.0.0/8</span></span>
<span class="line"><span style="color: #E6DB74">Tunnel 172.16.10.1/30</span></span>
<span class="line"><span style="color: #E6DB74">A拠点</span></span>
<span class="line"><span style="color: #E6DB74">WAN100.0.0.1/24</span></span>
<span class="line"><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #F92672">|</span></span>
<span class="line"><span style="color: #E6DB74">WAN 200.0.0.1/24</span></span>
<span class="line"><span style="color: #E6DB74">B拠点</span></span>
<span class="line"><span style="color: #E6DB74">Tunnel 172.16.10.2/30</span></span>
<span class="line"><span style="color: #E6DB74">LAN 192.168.0.0/16</span></span>
<span class="line"></span></code></pre></div>



<p class="wp-block-paragraph"><strong>１．A拠点LAN（10.0.0.0/8）がB拠点LAN（192.168.0.0/16）への接続を図る<br>２．A拠点ルータが192.168.0.0/16へのネクストホップを検索する<br></strong>　スタティック設定をしている場合は、ネクストホップがB拠点のトンネル（172.16.10.2）になる</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">YAML</span><span role="button" tabindex="0" data-code="#拠点Aスタティック設定例
ip route 192.168.0.0 255.255.0.0 172.16.10.2" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#拠点Aスタティック設定例</span></span>
<span class="line"><span style="color: #E6DB74">ip route 192.168.0.0 255.255.0.0 172.16.10.2</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>３．172.16.10.2へはどのインタフェースから流せばよいかを検索する。（再帰検索）<br></strong>　その結果、A拠点のトンネルインタフェースからの出力であることを判明させる。<br><strong>４．トンネルから経由する際にGRE処理を実施する<br></strong>　GRE処理とはGREヘッダーの付加や新しい外側IPアドレスの付加を意味する。<br>＊もし、GREヘッダがないと受信側は外側IPを剥がした途端にプライベートIPアドレスがでてきて、混乱してしまう。そうならないように、GREで中身はIPv4ですよ！マルチキャストですよ！これはトンネルですよ！と教えてあげることで、処理をスムーズに進める役割を担う。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">YAML</span><span role="button" tabindex="0" data-code="#拠点Aのトンネル設定
interface Tunnel0
ip address 172.16.10.1 255.255.255.252

tunnel source Gi0/0
tunnel destination 200.0.0.1

!Tips
上記コマンドにより、トンネルのIPアドレスを設定し、トンネルの物理的な送信元IPと宛先IPを指定する
トンネルの送信元をインタフェースにすることでIPアドレスの変更にも対応できる" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F">#拠点Aのトンネル設定</span></span>
<span class="line"><span style="color: #E6DB74">interface Tunnel0</span></span>
<span class="line"><span style="color: #E6DB74">ip address 172.16.10.1 255.255.255.252</span></span>
<span class="line"></span>
<span class="line"><span style="color: #E6DB74">tunnel source Gi0/0</span></span>
<span class="line"><span style="color: #E6DB74">tunnel destination 200.0.0.1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #66D9EF; font-style: italic">!Tips</span></span>
<span class="line"><span style="color: #E6DB74">上記コマンドにより、トンネルのIPアドレスを設定し、トンネルの物理的な送信元IPと宛先IPを指定する</span></span>
<span class="line"><span style="color: #E6DB74">トンネルの送信元をインタフェースにすることでIPアドレスの変更にも対応できる</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>５．インターネットへ流す<br></strong>　GRE処理が終わるとインターネットを跨げる状態になるので拠点BのWAN側インターフェースまでパケットを流す<br><strong>６．拠点BのWAN側インタフェースからトンネルへ</strong><br>　外側IPアドレスとGREヘッダから、「これはトンネルの通信だ！」と判断し、トンネルインタフェースに流す。なお、拠点Bのルータは、送信元と宛先のペアから適切なトンネルを判断する。<br>　＊万が一、送信元と宛先のペア内に複数のトンネルを作りたい場合は、特別にキーを指定することで識別を可能にする。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#F8F8F2;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#34362e;color:#efefe1">YAML</span><span role="button" tabindex="0" data-code="# トンネル0と1で、GREヘッダーの中に別々の「合言葉（Key）」を埋め込む設定
(config-if)# tunnel key 100  (Tunnel 0用)
(config-if)# tunnel key 200  (Tunnel 1用)" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #88846F"># トンネル0と1で、GREヘッダーの中に別々の「合言葉（Key）」を埋め込む設定</span></span>
<span class="line"><span style="color: #E6DB74">(config-if)# tunnel key 100  (Tunnel 0用)</span></span>
<span class="line"><span style="color: #E6DB74">(config-if)# tunnel key 200  (Tunnel 1用)</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>７．トンネルインタフェースから内部LANへ<br></strong>　トンネルの出口でGREヘッダを剥がす。そこでトンネル通信が終端して、あとは、通常通り内部LAN側インタフェースからパケットを送信する。<br>以上、これがGREトンネルの流れ。</p>



<p class="wp-block-paragraph"><strong><span class="fz-20px"><span style="text-decoration: underline;">Q. そもそもPC同士が通信する必要ある？特定のサーバをNAPTすればトンネルとかいらなくね？<br></span></span></strong>A.実はPC同士でやり取りする機会はめっちゃ多い。そのためすべてをNAPTしていたらマッピングテーブルを手動で何百回も設定しなおす必要があるため、とても大変になる。また、内部のPCをNAPTできてしまうと、外部の攻撃者も内部PCにアクセスできてしまうのでセキュリティリスクがある。<br>では、具体的にPC同士の通信をするケースを見ていこう。<br><strong>①IT管理者によるリモートデスクトップ接続：<br></strong>　社員のPC不具合時などにリモデでIT管理者が直す際に、社員ごとにポートを割り当てたり、切り替えたりするのは効率的とは言えない。それよりも同一サブネットのように扱わせればプライベートIPアドレスでやり取りができるようになる。<br><strong>②配信最適化（Windowsアップデート等）：<br></strong>　Windowsのアップデートなどで全PCがMicrosoftのサーバにファイルを取りに行くとインターネット回線が圧迫される。しかし同一のサブネットであればPC同士で「君、ファイル持っている？」とやり取りしてもっていたら近くのPCからファイルをもらえるようになる。これによりインターネット回線によるシェーピングやポリシングなどの制限を受けることなくLANのMAXを引き出しダウンロードの高速化をすることができるようになる。<br><strong>③分散コンパイル：<br></strong>　3Dグラフィックなどの多くのCPU処理を必要とする場合、処理を空いているPCに分散して割り振るということができる。しかし、空いているPCは常に固定ではないのでNAPTで対応しようとすると面倒くさい。そのため「トンネル使ったほうがいいよね！」というケースがある。</p>



<p class="wp-block-paragraph"><span class="fz-20px"><strong><span style="text-decoration: underline;">p.21 OSPFのリンクステート情報の交換は、L3SWとIPsecルータのWANへのアクセス回線を接続するポートだけでなく、L3SWとIPsecルータを直接接続するポートでも行わせる。</span></strong></span><br>IPsecルータとL3SW間で直接OSPFを動作させることで経路の冗長化が可能になる。冗長化することで、同一宛先に対して、複数の経路を持てるようになる。もし、一方のWAN回線が切れたら、優先度が低かった経路情報がルーティングにのってそれに従ってほかのWAN回線から通信ができるようになる。<br><span class="fz-20px"><br></span></p>



<p class="wp-block-paragraph"><br><strong><span class="fz-20px"><span style="text-decoration: underline;"><span class="green"><br></span></span></span><span class="marker-under"><em><br></em></span></strong><br></p>



<p class="wp-block-paragraph"><br><br><strong><span class="fz-20px"><span style="text-decoration: underline;"><br></span></span></strong></p>



<p class="wp-block-paragraph"><br><br><strong><br><br></strong></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
