船舶海洋情報学

九州大学 工学府海洋システム工学専攻 講義資料 担当：木村

01. コンピュータネットワーク

船舶の艤装品同士がイーサーネットで接続されてオープンな規格で通信されるようになりつつある
遠隔監視や保守・運航などにそれらからの膨大なデータを活用する動き→ 船内ＬＡＮ規格 ISO16425
近年のIoTの普及により通信デバイスが極めて安価に利用可能に

本講義では、ネットワーク・情報技術について以下のトピックスを取り上げる：・コンピュータネットワーク： TCP, IP, Ethernet, Wi-Fi, プロトコル, PPP, VLAN, VPN
・アプリケーションのプロトコル： DNS, DHCP, SMTP, POP,IMAP, MIME, HTTP, HTML, Samba, NTP, CGI
・データ表現、オブジェクト指向：XML, スキーマ, Java・データベース： SQL

・暗号と認証・GPIOとデジタル回路

・工業所有権、知的財産権に関する各種法令（著作権法／特許法／不正競争防止法）

コンピュータネットワークの標準化
異なるコンピュータ間で互いに通信できるようにネットワークを標準化
ISO（国際標準化機構）はOSI (Open Systems Interconnection: 開放型システム間相互接続)と呼ばれる通信体系標準化を進めた（1980年代）
現在広く普及しているTCP-IPはISOの国際標準ではなく、デファクトスタンダード

ＴＣＰ－ＩＰプロトコルの階層化
通信に必要な機能を階層に分け、複雑になりがちなプロトコルを単純化
アプリケーションプログラム

アプリケーション層：DNS, HTML, HTTP, TLS/SSL, SMTP, POP, IMAP, SSH
一般的なプログラム言語で、アプリとして開発可能

トランスポート層
オペレーティングシステム

トランスポート層：TCP, UDP

デバイスドライバとネットワーク
インターフェース

ネットワークインターフェース層： Ethernet, Wi-Fi

インターネット層：IP, ARP

ハードウエア専門の業者がハードウエアやＯＳ毎に開発・供給

ＴＣＰ－ＩＰプロトコルの階層(1)ハードウエア：Ethernetや電話回線など、通信媒体はケーブルでも無線でも良い（決められていない）ネットワーク
インタフェース層：

EthernetやWi-Fiなどのデータリンクを利用して通信するためのインターフェースとなる階層。
NIC (Network Interface Controller) を動かすためのデバイスドライバで、ＯＳとハードウエアを橋渡しをするソフトウエア。

インターネット層：

通常IP (Internet Protocol)が使われる。ネットワークをまたいでパケットを交換したり、インターネット全体にパケットを送り届けるためのプロトコル。ただしパケットが相手に到達する保障はない。
ARP (Address Resolution Protocol)：パケットの送り先の物理的なアドレス（MACアドレス）をIPアドレスから取得するプロトコル
ICMP (Internet Control Message Protocol) : IPパケットの配送中に何らかの異常が生じてパケットを転送できなくなった場合にパケット送信元に異常を知らせるためのプロトコル。

トランスポート層：

この層の役割は、アプリケーションプログラムの通信を実現すること。
アプリケーションプログラムの識別には「ポート番号」と呼ばれる識別子を用いる。
TCP (Transmission Control Protocol) : 両端のホスト間でデータの到達性を保障する。
パケットの消失を検出して自動的に再送したり、パケットの順序が通信経路を通る間に入れ替わっても正しく解決してくれるが、通信速度は保障されない。
UDP (User Datagram Protocol) : 送信したデータが相手に届いているかどうかチェックしない
ブロードキャストやマルチキャスト通信、ビデオや音声などマルチメディア通信に適する。

イーサネット (Ethernet)
データリンクの代表。IEEE802.3委員会によって規格化
端末とスイッチ（ハブ）の間を専用ケーブルで接続してイーサネットプロトコルで通信する。
端末やスイッチは互いをMACアドレスで識別する。
有線ケーブルのネットワークはツリー状に接続される。ループがあると不具合を起こす。
イーサネットの種類：ケーブルの種類や通信速度で例えば以下のようなものがある：
10BASE-T

ケーブル最大長：100[m]ツイストペアケーブル（UTPカテゴリ３－５）

100BASE-TX

ケーブル最大長：100[m]ツイストペアケーブル（UTPカテゴリ5/STP）

100BASE-FX

ケーブル最大長：412[m]光ファイバケーブル（MMF）

1000BASE-T

ケーブル最大長：100[m]ツイストペアケーブル（UTPカテゴリ5/5e推奨）

10, 100, 1000の数字は通信速度を示す。
【補足】
UTP： シールドなしツイストペアケーブル
STP： シールドされたツイストペアケーブル
MMF： マルチモード光ファイバーケーブルが長すぎたり、途中で極端に折れ曲がっていたり、コネクタ部分の工作がへたくそだと通信ロス発生（パケットが届かなくなり通信が極端に遅くなる）コマンドプロンプトから ping (通信相手のIPアドレス)を実行すると通信ロスを計測できる

Wi-Fi (IEEE802.11無線LAN規格)
無線LANの物理層とデータリンク層の一部（MAC層）を定義した規格。
MAC層ではイーサネットと同じMACアドレスが利用される。
802.11b/g/a/n は後発の通信方式で最大速度や電波の周波数帯が異なる。
無線LANは通信可能範囲内であれば誰でも電波を受信できるため、盗聴や改ざんといった危険がある
そのため無線LAN規格ではデータ暗号化の規格も定められているが、一部の規格では暗号に脆弱性あり（専用クラッキングツールが出回っている）
データ暗号化だけでなくアクセス認証も併用すべし

マイクロソフトWindows上で受信可能な
Wi-Fi一覧の詳細を見る方法[Windowsシステムツール]から[コマンドプロンプト]を選択し実行
コマンドプロンプト上で以下のコマンドを実行> netsh wlan show networks mode=bssid

IPアドレスとネットマスク (IPv4)
TCP-IPで通信をするとき、IPアドレスを使ってホストやルータが識別される。
インターネットで通信するときは、世界全体で正しくIPアドレスを割り当てなければならない。
IPアドレスは32bitの正の整数値

通例、海洋システムのネットワークアドレスは例）１０講座のメールサーバ

１３３．５．１３６．０／２４ のように表す
最後の /24 はネットワーク部が24bitの意味

１３３．
５． １３６． １７０
ビット列へ変換 1000 0110. 0000 0101. 1000 1000. 1010 1010
ネットマスク
ビット列へ変換

２５５． ２５５． ２５５.
０1111 1111. 1111 1111. 1111 1111. 0000 0000
ネットワーク部（ネットワークアドレス部）

ホスト部（ホストアドレス部）

IPv6 (IP version 6)
インターネットの普及により、IPv4の32bitによるIPアドレスが足りなくなっている
そこで４倍の128ビットでIPアドレスを表す
また、IPv4と相互に通信できるよう互換性を持たせている

ネットマスクはＩＰアドレスのネットワーク部を特定する情報

後で説明するプライベートアドレスは、以下の3種類がある：
10.0.0.0—10.255.255.255
172.16.0.0—172.31.255.255
192.168.0.0—192.168.255.255
これ以外はグローバルIPアドレス

ネットワークにおけるコンピュータのID
ＥｔｈｅｒＮｅｔ：各コンピュータには「MACアドレス」というハードウエアレベルで識別するための文字列を持つ
NICメーカ毎に特定の数字だが、世界で唯一とは限らない
代わりに「IPアドレス」と呼ばれるIDが割り当てられ、互いに通信できる
WAN（Wide Area Network）

133.5.136.3

ルータ
LAN（Local Area Network）
ネットワーク部192.168.3 まで共通
残りはホスト部
プライベートアドレス

ルータは２つのコネクタを持ち、通信の橋渡しを行う

192.168.3.253

133.5.136.77

133.5.136.170

通称メールサーバ
Webサーバ
System.nams.kyushu-u.ac.jp
SMTPサーバ（郵便ポスト）
POPサーバ（郵便受け）

192.168.3.116

192.168.3.20

192.168.3.1

例）ネットワークファイルシステム
コンピュータ同士でファイルシステムを共有
ネットワーク上の他のコンピュータのファイルを操作できる

ＷＷＷ
メールシステムネットワークファイルシステム
Etc..

各コンピュータの「IPアドレス」は、固定された値を設定する場合と、ネットワークへ接続するたびに、空いている値を自動的に割り当てる場合がある。

ルータ
LAN（Local Area Network）

192.168.3.253

LANにおいて使用可能なIPアドレスを自動的に割り当てるサー
ビスを行うサーバ：

DHCPサーバ

Wi-Fi
192.168.3.45
DHCPサーバより取得
有線・無線LAN共に同様

192.168.3.20
固定IP

192.168.3.1
固定IPグローバルネットワーク（通称WAN）とローカルエリアネットワーク（通称LAN）について
133.5.136.* のネットワーク

WAN
インターネット

ルーター
WANとLANの橋渡しをする

133.5.136.3

192.168.3.* のネットワーク（プライベートアドレス）
LAN ＷＡＮ側のＰＣへ接続できる

講座内のＰＣ・プリンタなど

ＷＡＮ側からLAN側のＰＣへは接続できない

メールサーバ・ＷＥＢサーバ
ＤＮＳサーバなど：
グローバルなＩＰアドレスを持ち、世界中から特定のマシンへ接続可能（グローバルアドレス取得は許可制）

ＷＡＮ側からはルータしか見えず、内側のコンピュータを区別できない→ セキュリティ上安全
LAN内のIPアドレス設定は自由各アドレスのコンピュータにおけるサービスの区別「IPアドレス」でコンピュータを区別さらにサービスも区別せねばならぬ → 各コンピュータにサービス受付の「ポート番号」
WAN（Wide Area Network）

ルータ
LAN（Local Area Network）

133.5.136.77

133.5.136.170

通称メールサーバ
System.nams.kyushu-u.ac.jp

Webサーバ80番ポートSMTPサーバ（郵便ポスト）25番ポート
POPサーバ（郵便受け）110番ポート

192.168.3.116

192.168.3.20

192.168.3.1

ポート番号を変えることにより、同一コンピュータで複数のサービスを提供できる
有名なプロトコルのポート番号はほぼ決められている

ＴＣＰ－ＩＰプロトコルの階層(2) 次回詳しく説明
アプリケーション層：

この階層はすべてアプリケーションプログラムの中で実現される。
多くはクライアント／サーバモデルで作られる。
WWW (World Wide Web)：ブラウザとサーバを利用してインターネットで情報をやりとりする仕組み。ブラウザとサーバ間の通信に使われるプロトコルが HTTP(Hyper Text TransferProtocol)で、そのやりとりするデータ形式がHTML (Hyper Text Markup language)である。

Index.html を送って！

WebサーバIPアドレス
133.5.136.170
80番ポートクライアントPC
IPアドレス:
192.168.3.20
ブラウザでwebサーバへTCP接続

はいよ！
Content-type: text/html; charset=UTF-8<html><body>H.Kimura’s homepage….

まとめ

TCP-IPプロトコルを使った通信：階層構造
アプリケーション層：DNS, HTML, HTTP, TLS/SSL, SMTP, POP, IMAP, SSH
一般的なプログラム言語でアプリとして開発可能
トランスポート層：TCP通信, アプリ毎にポート番号
インターネット層：IPアドレス・ネットマスク、グローバルIPとプライベートIPアドレス
ネットワークインターフェース層： Ethernet, Wi-Fi, MACアドレス

レポート課題各自が所属する講座（研究室）のネットワークの構成を調べてレポートせよ。
１） 物理的にケーブルが接続されている部屋とケーブル引き回し状況、VPN使用状況、
２） ルータのIPアドレス（内側と外側）、講座内部のネットワークアドレス、
３） 研究室内で利用しているサーバのサービス名とIPアドレス、
４） 研究室内で使用しているＰＣのおおよその台数と、設定されているIPアドレスの範囲など（分かる範囲内で）下記の課題提出用フォルダへ、課題の番号と提出者が分かるようにファイル名を以下のようにしてアップロードせよ
第１回2TE19xxxZ名前.pdf
https://share.iii.kyushu-u.ac.jp/public/hROwAAqIPI5ATI4BUXJtIJeJbMLJzVszfitNl89GHcMK