平成 27 年度名古屋大学技術職員研修（情報通信コース）受講報告

谷口泰広 A)、田上奈緒 A)、柘植朗 A)、眞野篤志 B)
A)B)

共通基盤技術支援室 情報通信技術系

教育・研究技術支援室 計測・制御技術系

概要
平成 27 年 9 月 2 日から 9 月 4 日にかけて、名古屋大学技術職員研修(情報通信コース)が名古屋大学東山地区で開催された。
RaspberryPi を用いた IPv6 ネットワークの構築について講義と実習で学ぶ型式であった。
本報告では、大きく RaspberryPi、Ipv6、実習に分けて受講内容を報告する。

1

RaspberryPi について

図 1. RaspberryPi の外観
RaspberryPi は、イギリスのラズベリーパイ財団（Raspberry Pi Foundation）が開発した超小型のコンピューターで、学校で基本的なコンピュータ科学の教育を促進することを意図している。モデルが複数あるが、本研修では、RaspberryPi2Model を使用した。OS も複数対応しているが、本研修では Debian をベースとした
Raspbian（ラズビアン）を使用した。ストレージとして、SD メモリーカードを利用した。
RaspberryPi の仕様を次に示す。
表 1. RaspberryPi の仕様
項目SoCCPUGPUメモリ
USB 2.0

Raspberry Pi 2 Model
Broadcom BCM2836 ARM Cortex-A7 クアッドコアプロセッサ
900 MHz（ARMv7 ファミリ）
Broadcom VideoCore IV,OpenGL ES 2.0, 1080p 30fps
1 GB LPDDR24（統合 USB ハブ）

映像出力
音声出力
ストレージ
ネットワーク
電源ソース
大きさ
OS

HDMI（rev1.3&1.4）, コンポジットビデオ
HDMI, 3.5mm4 極ジャック
microSD メモリーカードスロット（SDIO 対応）
10/100Mbps イーサネット
5 V / USB Micro-B コネクタ 900mA (4.5W-5.5W)
86 x 56 x 20 mm
Debian, Fedora, Arc, Windows 10

キーボードとマウスを USB ポートに接続し、ネットワークケーブルを LAN ポートに、ディスプレーケー
ブルは HDMI 端子に接続して使用する。電源スイッチはなく USB の Micro-B コネクタに接続すると電源 ONの状態になる。

図 2. 周辺機器の接続

OS のインストールは、「NOOBS」を使った。
本来は NOOBS をダウンロードしなければいけないが、既に microSD カードに保存するまで準備されていたため、RaspberryPi を起動するだけで、インストーラーの画面になった。
インストールする OS に Raspbian を選択し、メニューに従って進めるだけで簡単にインストールができた。

図 3. インストール画面

2

IPv6 基礎

RaspberyPi を用いた IPv6 実習に先立ち IPv6 の基礎について講義を受講した。
2.1

IPv6 パケット構成
データリンク層フレーム
IPv6 データグラム
TCP セグメントまたは UDP データグラム
L2 フレーム
ヘッダ

IPv6
基本ヘッダ

IPv6
拡張ヘッダ

アプリケーション
データTCP/UDP
ヘッダ

L2 フレーム
トレーラ

図 4. IPv6 パケット構成
主な特徴として、以下の点がある。
① IPv6 パケットのヘッダー自体は IPv4 と比較して長くなっているが基本ヘッダー（40 バイト固定長）拡張ヘッダー（7 種類の拡張ヘッダーのうち必要なものが数珠つなぎになっている）に別れており、ルータが参照するのは基本ヘッダーのみ（一部拡張ヘッダーも参照）としてネットワーク系路上におけるルータの負荷を軽減している。
② フロー（通信における端末間の１連のパケットの流れ）を識別する番号であるフローラベルが基本ヘッダーにあり、ルータは UCP/UDP ヘッダーを参照しなくてもフロー制御が可能。
③ IPv4 におけるフラグメントでは、パケットサイズがデータリンク層におけるフレーム最大長（MTU）内に収まるよう経路上の各ルータで分割されるが、IPv6 ではフラグメント処理をルータでは行なわず、送信元で経路上の最小 MTU を探索し、そのサイズに収まるようあらかじめ分割されるため、ルータでの分割が不必要。
2.2

IPv6 アドレス構成

1.2.1 アドレス構成
IPv6 のアドレスは 128 ビットであり、以下の構成となる。
サブネットプレフィックス（n ビット）インターフェース ID（128-n ビット）

図 5. IPv6 パケット構成
一般的には「サブネットプレフィックス 64 ビット」＋「インターフェース ID 64 ビット」で、前者は IPv4 のネットワークアドレスに、後者は IPv4 のホストアドレスに相当する。
1.2.2 アドレスの種類
通信方法により以下の３種類に分類される。
ユニキャスト
アドレス[１：１]通信

通常の通信

マルチキャスト
アドレス[１：他]通信

複数のノードに同一 IP を割り当て、グループ内通知を送信する。
ブロードキャストはここに含まれる。近隣探索などでも使用

エニーキャストアドレス[１：他の中の１]通信

複数のノードに同一 IP を割り当て、そのグループ内で経路が最短のノード１つのみに送信
経路最短の判断・・・RIP の場合ホップ数、OSPF の場合通信速度

表 2. 通信方法によるアドレス分類

さらに、ユニキャストアドレスはスコープにより以下のように分類される。
リンクローカルユニキャストアドレス

同一セグメント（同一サブネット）内の通信のみ可能
ルータ越えしない

ユニークローカル
ユニキャストアドレス

企業内・組織内など特定ネットワーク内で通信可能ex)名大学内ネットワーク
ルータ越えするが、インターネットには出て行けないグローバルユニキャストアドレス

インターネット上でユニークなアドレス

表 3. スコープによるユニキャストアドレス分類
1.2.3 アドレス分類まとめ
上記をまとめると以下のようになる。
種類

スコープ

リンク
ローカル

ユニーク
ローカル
ユ ニキ ャ
スト
アドレス

サブネットプレフィックス（一般に 64bit）
上位 16bit
FE80
FE80:0000:0000:0000（64bit）
FCxx
or
FDxx
11111100 or 11111101（8bit）＋
グローバル ID（40bit）＋
サブネット ID（16bit）
2xxx
or
3xxx

インターフェース ID（一般に 64bit）
・手動生成
・自動生成
EUI-64・・MAC アドレスから生成（*)
or
匿名アドレス(*) MAC アドレス上位 24bit＋
0xFFFE＋
MAC アドレス下位 24bit

001（3bit）＋

グローバル

で 7bit 目を反転

グローバルルーティングプレフィックス（主に 45bit）＋
サブネット ID（主に 16bit）
FFxx
11111111（8bit）＋
各フラグ（4bit）＋
スコープ（4bit）

マルチキャストアドレスex) 0010:リンクローカル
or1110:グローバル＋グループ ID（112bit）
エニーキャスト
アドレス
その他
未指定
アドレス
ループバッ
クアドレス

WellKnown マルチキャストアドレス
FF0x:: 予約済みマルチキャスト
FF01::1 全ノードアドレス（ノードローカル）
FF01::2 全ルータアドレス（ノードローカル）
FF02::1 全ノードアドレス（リンクローカル）
・・・IPv4 のブロードキャスト

FF02::2 全ルータアドレス（リンクローカル）
FF02::1:FFxx:xxxx 要請ノードアドレス
・・・近隣探索など

グループ ID は上記予約アドレス以外は自由に割り当て?
0:0:0:0:0:0:0:0 または ::0:0:0:0:0:0:0:1 または ::1

表 4. アドレス分類まとめ

ユニキャストアドレスのリンクローカル・ユニークローカル・グローバルそれぞれのアドレス割当ては以下の方法で行なわれる。
リンクローカルユニキャストアドレス

インターフェースの初期化時に自動的に割り当て
DHCPv6 サーバから割り当て（ステートフル）
またはルータから自動割り当て（ステートレス）

ユニークローカル
ユニキャストアドレス

グローバル ID は組織内で決定
サブネット ID は組織内でサブネット分割する場合割当て
上記２つの ID を、ルータ orDHCP サーバに設定しておく
DHCPv6 サーバから割り当て（ステートフル）
またはルータから自動割り当て（ステートレス）

グローバル
ユニキャストアドレス

グローバル ID は管理団体（プロバイダ）から割り当て
サブネット ID は組織内でサブネット分割する場合割当て
上記２つの ID を、ルータ orDHCP サーバに設定しておく

表 5.ユニキャストアドレスの IP アドレス割当て方法
ユニークローカルとグローバルについては、ネットワークアドレスをルータからを取得する“ステートレス自動構成”と、DHCPv6 サーバから取得する“ステートフル自動構成”があり、両方の組み合わせることで、必要なネットワーク情報が全て取得できる。
以下にルータ・DHCPv6 サーバのそれぞれから取得可能な情報を示す。
（○：取得可能 △：場合による ×：取得不可能）
IP アドレス
デフォルトゲートウェイ
DNS サーバ

ルータ（ステートレス） DHCPv6（ステートフル）
○
○○×△
○

表 6. ステートレスとステートフルの取得可能な情報
1.2.4 アドレス表記の規則
128 ビットを 16 ビットずつ８ブロックに分け、16 進数で表現例）1080:0000:0000:0008:0800:200C:417A:3210↓

ブロック毎の前 0 は省略可能、0000 は 0 に省略可能

1080:0:0:8:800:200C:417A:3210↓

ブロック=0 が続く場合何ブロックでも::に省略可能（ただし１箇所のみ）

1080::8:800:200C:417A:3210

2.3

ICMPv6 の機能
IPv6 においては、その各機能を実現するために ICMPv6 が重要な役割を果たす。
IPv4 における ICMP 機能に加えて、マルチキャストリスナ探索・近隣探索の機能もあるがここでは割愛する。

2.4

IPv4 から IPv6 移行技術
IPv4 と IPv6 を共存させる技術は以下のものがある。

デュアルスタック

IPv4,IPv6 両方のプロトコルスタックがインストールされてる。
ある相手と通信する際にまず、IPv6 の AAAA レコードで名前解決しようとし、あれば IPv6 で通信・なければ IPv4 で通信経路上のすべてに IPv6 がインストールされている必要がある

トンネリング

IPv4 の経路では IPv6 パケットを IPv4 パケットでカプセル化
表 7. IPv4→IPv6 移行技術

3

実習

「RaspberryPi について」「Ip-v6 について」等の講義のあとに RaspberyPi を用いた IPv6 の実習を行った。
3.1

実習環境

実習は２名ずつ４班に分かれて行い、それぞれサーバ PC とクライアント PC を担当した (図 6)。
講師用Group3

Group1
サーバ

受講者サーバクライアントイン
ター
ネット

受講者クライアント

受講者クライアント

Group4

Group2

受講者サーバ

受講者サーバ受講者クライアント

受講者クライアント

図 6. 実習環境
3.2

受講者サーバサーバ PC とクライアント PC の設定

受講者はテキストに従い、以下の設定を行った[1]。
パスワード変更



ユーザ作成

ネットワーク設定



時間合わせ



SSH 設定VNC サーバ

VNC クライアント

HTTP 設定

DNS 設定(図 7)

その後、DNS の動作確認を行い、正しく設定されたことが確認できた。

$TTL@gw
svclwww86400
IN SOA sv.ドメイン名. postmaster.ドメイン名. (2015090300;Serial10800;Refresh 3 hours
3600;Retry 1 hour
86400;Expire 1 day3600);Minimum 24 hoursIN
A
サーバ IPIN
NSsv.ドメイン名.
IN
IN
IN
IN

A
A
A
CNAME

ゲートウェイ IP
サーバ IP
クライアント IP
sv
図 7. DNS の設定

3.3

Wireshark と Tshark の設定

Wireshark とは、ネットワークを流れるデータを捕縛して内容を解析・表示するプロトコルアナライザ（ネットワークアナライザ）の一つである(図 8)。Wireshark をインストールしたコンピュータの所属するネットワークのパケットを収集・記録し、内部のプロトコルを解析、送信元や宛先、各プロトコル固有の制御情報などを表示することができる。ネットワークの障害やトラブルの原因究明などのためによく利用される[2]。

図 8. Wireshark の起動画面
実習では Wireshark のインストールを行った後、相手に対して Ping コマンドを実行し、Wireshark 上にレスポンスが追加されていく様子を確認した。

Wireshark は GUI なので、CPU やメモリを多く使用する。メモリが枯渇すれば停止してしまうので、CUIである Tshark のほうがパケットキャプチャに向いている[3]。
実習では Tshark のインストールを行い、Ping コマンドのレスポンスを確認した。さらに Tshark でキャプチャしたデータを Wireshark で読み込みできることを確認した。さらに、フィルターによるキャプチャデータの解析により、平文の認証情報(ID とパスワード)が解析できることが確認できた。
3.4

ルータの設定サーバの IPv6 設定をするにあたり、ルータの RA 化を行った。ルータに Telnet で接続し、ipv6 プレフィックスの設定及び RA 化のための設定を行った(図 9)。
# ipv6 lan1 address fd00:12ab:34cd:1::1/64# ipv6 prefix 1 fd00:12ab:34cd:1::/64# ipv6 lan1 rtadv send 1# save
図 9. IPv6 プレフィックスの設定及び RA 化のための設定例
3.5

IPv6 の設定

これまでの設定してきたネットワーク、HTTP、DNS 等の IPv4 での設定を IPv6 に対応した設定に変更する実習を行った[4]。
初期設定では起動時に IPv6 モジュールが読み込まれていない状態なので IPv6 を有効にし、ifconfig コマンドで IPv6 が有効になりアドレスが割り振られたことを確認した。
また、DNS サーバの IPv6 設定を行い(図 10)、dig コマンドや Wireshark で正しく設定されていることが確認できた。
$TTL;
@gw
gw
svsvclcl
www86400
IN SOA sv.ドメイン名. postmaster.ドメイン名. (2015090301;Serial10800;Refresh 3 hours
3600;Retry 1 hour
86400;Expire 1 day3600);Minimum 24 hoursIN
A
サーバ IP
IN
AAAA
サーバの IPv6IN
NSsv.ドメイン名.
IN
A
ゲートウェイ IPIN
AAAA
fd00:12ab:34cd:1::1
INA
サーバ IP
IN
AAAA
サーバの IPv6IN
A
クライアント IP
IN
AAAA
クライアントの IPv6IN
CNAME
sv
図 10. DNS サーバの IPv6 設定

参考文献
[1]

平成 27 年度名古屋大学技術職員研修（情報通信コース）講義資料 「ネットワークの基礎」[2]

IT 用語辞典 e-Words, http://e-words.jp/w/Wireshark.html[3]

平成 27 年度名古屋大学技術職員研修（情報通信コース）講義資料 「ネットワークのパケットキャプチ
ャ」[4]

平成 27 年度名古屋大学技術職員研修（情報通信コース）講義資料 「IPv6 設定」[5]

平成 27 年度名古屋大学技術職員研修（情報通信コース）講義資料 「Raspberry Pi[6]

NEC ラーニング株式会社講習会テキスト「IPv6 基礎」

について」