計算機ネットワーク (2025 年度前期)
- 第 1 回: スタートアップ授業 / インターネットの概要
- 第 2 回: 誤り検出・誤り訂正
- 第 3 回: 媒体アクセス制御
- 第 4 回: イーサネット・無線 LAN
- 第 5 回: インターネットプロトコル (IP)
- 第 6 回: 経路制御: OSPF
- 第 7 回: 経路制御: BGP
- 第 8 回: 前半の総復習
- 第 9 回: トランスポートプロトコル: TCP・UDP
- 第 10 回: TCP の概要
- 第 11 回: TCP の詳細
- 第 12 回: インターネットサービス: DNS (Domain Name System)
1. URL
2. 担当者
中村 遼 E-mail: r-nakamura[atmark]fukuoka-u.ac.jp 居室: 14 号館 3 階 313 オフィスアワー: 月曜日 1 限
3. 連絡
- 4/8 出欠は、カードリーダ上の記録で管理します。 授業に出席したら、カードリーダに学生証を触れさせてください。
- 6/12 授業のスケジュールを更新しました。日時・時限・教室に注意してください。
4. スケジュール (予定)
1. スタートアップ授業 / インターネットの概要 25/ 4/17 2. 誤り検出・誤り訂正 25/ 4/24 3. 媒体アクセス制御 25/ 5/ 1 4. イーサネット・無線 LAN 25/ 5/ 8 5. インターネットプロトコル (IP) 25/ 5/15 6. 経路制御: OSPF 25/ 5/22 7. 経路制御: BGP 25/ 5/29 8. 前半の総復習 25/ 6/ 5 9. トランスポートプロトコル: TCP・UDP 25/ 6/12 10. TCP の概要 25/ 6/19 11. TCP の詳細 25/ 6/26 12. インターネットサービス: DNS (Domain Name System) 25/ 6/28 2 限 @ 1111 13. インターネットサービス: WWW (World Wide Web)・メールシステム 25/ 7/ 3 休講 25/ 7/ 7 6 限 @ 1121 14. インターネットを支える要素技術 25/ 7/10 休講 25/ 7/17 休講 25 7/22 5 限 @ 1111 15. 後半の総復習 / 授業アンケート FURIKA の実施
5. 到達目標
[O1] パケット交換方式と回線交換方式の差異、および、インターネットにおける通信を細分化した四つの各階層の役割を理解し、説明できるようになる
[O2] メディアアクセス制御と物理 (MAC) アドレスの基礎的知識を理解できるようになる
[O3] IP アドレス付けとルーティングアルゴリズムの原理を理解し、説明できるようになる
[O4] TCP による高信頼データ転送や輻輳制御の原理を理解し、説明できるよ うになる
[O5] DNS の原理を理解し、名前解決の仕組みを説明できるようになる
[O6] インターネットの運用を支えるための要素技術を理解できるようになる
6. 成績評価
平常点を 20%、定期試験の得点を 80% で重み付けした得点と、 定期試験の得点を 100% とした得点とのうち、 大きいものを最終的な成績とします。
7. 参考書
- 尾家 裕二, 西尾 章治郎, 後藤 滋樹, 小西 和憲, 宮原 秀夫, 村井 純, "岩波講座 インターネット <1> インターネット入門", ISBN 978-4000110518
- 大崎 博之, "インターネット, 7 つの疑問 数理から理解するその仕組み", ISBN 978-4320009264
- 竹下 隆史, 村山 公保, 荒井 透, 苅田 幸雄, "マスタリング TCP/IP 入門編", ISBN 978-4274068768
- アンドリュー・S・タネンバウム, デイビッド・S・ウエザロール, "コンピュータネットワーク 第 6 版", ISBN 978-4-296-07042-8
8. 確認テスト
- 問題は、確認テストを実施する直前に公開されます。
- 持込はなしです。 ただし、確認テストの問題を閲覧するために、PC・タブレット・スマートフォンを用いるのは構いません。 確認テストを解いている間はこれらの機器を他の用途には用いないでください。
- 答案用紙には手持ちのノート・ルーズリーフなどを用いてください。 所持していなければ、A4 の紙を配布します。
- 確認テストを終えた後には採点してください。できれば、周りの人と答案を交換し相互に採点してください。
- 採点された答案を撮影し、以下のフォームから提出してください。 提出の期限は、確認テストを実施した当日の 11:59pm (JST) です。
Microsoft Forms (学内関係者限定) https://forms.office.com/r/LtUTGWmAgu
9. 第 1 回: スタートアップ授業 / インターネットの概要
9.1. 講義資料
9.2. 確認演習
演習 1
インターネットという言葉を、 その語源である Internet という語句にもとづいて、 説明しなさい。
演習 2
以下の問いに答えなさい。ただし、解答は、回線交換方式とパケット交換方式の二択である。
- ア. 通信品質が優れているのはどちらの方式であるか?
- イ. 通信資源を効率的に利用できるのはどちらの方式であるか?
- ウ. 障害への耐性を有しているのはどちらの方式であるか?
- エ. 事前に回線を確保した上でデータを転送するのは、どちらの方式であるか?
解答の根拠を説明できることが望ましい。
演習 3
以下の文は、OSI 7 階層モデルにおけるいずれかの層の役割を説明している。 各文の説明に合致する層の名称を答えなさい。
- ア. エンドツーエンド間でのデータ転送をになう
- イ. 高信頼・高効率なデータ転送をになう
- ウ. 隣接する通信機器間でのデータ転送をになう
9.3. 略解
演習 1
(講義資料を参照すればよいので) 省略。
演習 2
- ア. 回線交換方式
- イ. パケット交換方式
- ウ. パケット交換方式
- エ. 回線交換方式
演習 3
- ア. ネットワーク層
- イ. トランスポート層
- ウ. データ・リンク層
10. 第 2 回: 誤り検出・誤り訂正
10.1. 講義資料
10.2. 確認演習
演習 1
(講義内で説明した) リンク層の役割を説明しない。
演習 2
以下の 1. 〜 3. に示すビット列それぞれに対して、 偶数パリティによる単一ビットパリティ検査に従いながら、 ビット誤りが発生しているかどうかを答えなさい。 ただし、次の二つを仮定する。 (i) 冗長ビットが付与される位置はビット列の末尾である; (ii) ビット誤りは高々 1 ビットしか発生しない、 つまり、複数ビットのビット誤りは同時に発生しないものとする。
- 11010011
- 00100100
- 11101110
演習 3
誤り訂正のために 8 ビットあたりに一つの冗長ビットを付与すると仮定する。 このとき、256 ビットから成るビット列に付与される冗長ビット数を 答えなさい。
演習 4
単一ビットパリティ検査は、 複数ビットでビット誤りが同時に発生した場合には、 その誤りを検出できない理由を、 例を用いながら、説明しなさい。
10.3. 略解
演習 1
(講義資料を参照すればよいので) 省略。
演習 2
- 誤りが発生している
- 誤りは発生していない
- 誤りは発生していない
演習 3
32 ビット
演習 4
元々のビット列を 00100010
とする。
よって、冗長ビットが付与された後のビット列は 001000100
である。
仮に、1 ビット目と 2 ビット目でビット誤りが発生したとすると、
誤りが発生した後のビット列は 111000100
である。
このとき、
ビット列 111000100
において 1
が出現する回数は偶数であるため、
誤りが発生しているにもかかわらず、
誤りが発生していることを検出できない。
11. 第 3 回: 媒体アクセス制御
11.1. 講義資料
前回と同じものを用いるので、新たに配布するものはない。
11.2. 確認演習
演習 1
メディアアクセス制御 (MAC) に求められる要件を挙げなさい。
演習 2
スロット化 ALOHA の伝送効率は Pure ALOHA の 2 倍となる理由を、 フレーム衝突が発生する期間にもとづいて、 説明しなさい。
演習 3
CSMA によって ALOHA よりフレームの衝突を回避できる理由を説明しなさい。
(発展) 演習 4
Pure ALOHA の伝送効率が \(S = G e^{-2G}\) で与えられる理由を説明しなさい。 ここで、 \(G\) は、ポアソン分布に従う (フレーム時間あたりの) フレーム生成レートである。 また、フレームの大きさは等しいことを仮定している。
11.3. 略解
演習 1
複数の端末によって共有されるリンクを、フレーム同士の衝突を回避しながら、 効率的に利用すること。
演習 2
Pure ALOHA において、 あるフレームと他のフレームが衝突しないようにするには、 2 フレーム時間を確保しなければならない。 一方、スロット化 ALOHA は、フレームを送る時点をスロットの先頭のみに限定しているため、 フレームの衝突が発生する期間は高々 1 フレーム時間である。 よって、衝突が発生する期間が半減していることから、 スロット化 ALOHA の伝送効率は 2 倍となる。
演習 3
搬送波検知によってチャネル (リンク) が使用されていることを検知した場合には、 フレームの送信を見送るから。
(発展) 演習 4
以下のページを参照されたい。
https://en.wikipedia.org/wiki/ALOHAnet#Pure_ALOHA
12. 第 4 回: イーサネット・無線 LAN
12.1. 講義資料
12.2. 補足資料
IEEE 802.11 は以下にまとめられています。
IEEE 802.11 https://en.wikipedia.org/wiki/IEEE_802.11
最近の無線通信のトレンドに興味がある方は以下の記事が参考になります。
Beyond 5G(6G)について https://b5g-rd.nict.go.jp/about/ ミリ波の活用分野6選!ほか周波数帯との違いや5Gへの活用についても解説 https://business.ntt-east.co.jp/service/gigaraku5g/column/gigaraku5g_millimeterwave_none/index.html 非地上系ネットワーク(NTN)とは?最新の動向や今後の展望を解説 https://www.ntt.com/bizon/ntn.html
12.3. 確認演習
演習 1
手元で保有しているスマートフォンやノート PC (の NIC) に割り当てられている MAC アドレスを確認しなさい。
演習 2
演習 1 で得た MAC アドレスからその NIC の製造元 (ベンダー) を調べなさ い。
演習 3
ある LAN において、ホスト A がホスト B にフレームを送る、という状況を 考える。この時に、ホスト A は、宛先となるホスト B の IP アドレスを知っ ているが、ホスト B の MAC アドレスを知らないものとする。ここで、ARP に よって、ホスト A がホスト B の MAC アドレスを得る手順を説明しなさい。
12.4. 略解
演習 1
スマートフォンの場合
省略
Linux が動作する PC の場合
> ifconfig
Windows が動作する PC の場合
Windows Power Shell で以下のコマンドを実行すればよい。
> ipconfig /all
演習 2
演習 3
- ホスト A は、ホスト B の IP アドレスを含めた ARP クエリを LAN 内に ブロードキャストする。
- 1. による ARP クエリをホスト B が受け取ると、ホスト B は、ARP クエ リの送信元であるホスト A に、自身の MAC アドレスをユニキャストで応 答する。
- ホスト B による応答を受け取ると、ホスト A は、ホスト B の IP アドレ スと MAC アドレスとの対応を知ることができる。
13. 第 5 回: インターネットプロトコル (IP)
13.1. 講義資料
13.2. 補足資料
RFC791 https://www.rfc-editor.org/rfc/rfc791 # RFC791 の 1.1. Motivation はぜひ。 IPv6 https://en.wikipedia.org/wiki/IPv6 JPNIC とは https://www.nic.ad.jp/ja/profile/ # 「インターネット用語1分解説」もオススメです。
13.3. 確認演習
演習 1
以下に示す (単純な) ネットワークを考える。 以下の図において、 数字はルータを表しており、 数字間を結ぶ実線はリンクを表している。
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
ここで、ルータ 1 に、宛先をルータ 6 とするパケットが到着したものとする。 このとき、このパケットが経路 1, 4, 5, 6 を通過されるように、 関係するルータの経路制御表を記述しなさい。 経路制御表における宛先アドレスと次ホップは、簡略化した表現として、 ルータの記号で表記しなさい。
演習 2
(何らかの有線/無線 LAN に接続している) スマートフォンやノート PC (の NIC) に割り当てられている IP アドレスを確認しなさい。
演習 3
下記の表は、あるルータにおける経路制御表を示している。
01111111 00001010 0010**** ******** 1 01111111 00001010 00101*** ******** 2 01111111 00001010 001011** ******** 3 デフォルト 4
このルータに、ア. 〜 ウ. に示す、 宛先 IP アドレスを有するパケットが到着したときに、 パケットが転送される出力ポートの番号を答えなさい。 ただし、ルータは、 パケットの転送先を決定する上では、 最長プレフィックス一致に従うものとする。
- ア. 01111111 00001010 00101101 00001000
- イ. 01111111 00001010 00100101 01001100
- ウ. 01111111 00001010 01101101 10000001
13.4. 略解
演習 1
講義資料における p.6 を参照すればよいので省略。
演習 3
- ア. ポート 3
- イ. ポート 1
- ウ. ポート 4
14. 第 6 回: 経路制御: OSPF
14.1. 講義資料
14.2. 確認演習
演習 1
インターネットのルーティングを説明した以下の文章における空欄にあてはま る適切な語句を答えなさい。
- インターネットのルーティング (経路制御) は、[ ア ] 内ルーティングと [ ア ] 間ルーティングとに大別される。
- [ ア ] 内ルーティングを実現する代表的なプロトコルは [ イ ] である。[ イ ] は [ ウ ] 型ルーティングを採用している。[ イ ] によって経路を決 定する大まかな流れは、ルータ間で [ ウ ] の広告を反復することでネット ワーク全体のトポロジを構築し、(何らかの基準に従って) トポロジ上での 最適な経路を求める、というものである。
- 一方、[ ア ] 間ルーティングを実現する代表的なプロトコルは [ エ ] で ある。[ エ ] は [ オ ] 型ルーティングを採用している。[ エ ] によって 経路を決定する大まかな流れは、宛先までの AS 経路を徐々に広告すること である。
(発展) 演習 2
(任意のプログラミング言語で) ダイクストラ法を実装しなさい。
14.3. 略解
演習 1
(講義資料を参照すればよいので) 省略。
(発展) 演習 2
TBD
15. 第 7 回: 経路制御: BGP
15.1. 講義資料
15.2. 参考資料
角川インターネット講座1 インターネットの基礎 情報革命を支えるインフラストラクチャー https://www.kadokawa.co.jp/product/321305000552/
15.3. 確認演習
演習 1
AS 番号 55375 の AS 名を調査し、答えなさい。
演習 2
次の用語を、その違いに注意しながら、簡潔に説明しなさい。
- Border Gateway Protocol (BGP)
- Interior/Internal Border Gateway Protocol (IBGP)
- Exterior/External Border Gateway Protocol (EBGP)
演習 3
AS の接続関係を表す次のグラフを考える。 このグラフにおける頂点の数字は AS 番号を指している。
1 ----- 2 / \ 0 5 --- 6 \ / 3 ----- 4
このとき、(講義内での説明に従って、) AS6 から BGP 広告され、AS0 に到着する AS 経路を答えなさい。
15.4. 略解
演習 1
SI-NET
演習 2
BGP
AS 間でルーティング情報を交換するために用いられる IP ルーティング プロトコルである。
IBGP
同一 AS 内のルーティングに用いられる BGP である。
EBGP
異なる AS 間のルーティングに用いられる BGP である。
演習 3
AS0, AS1, AS2, AS5, AS6 および AS0, AS3, AS4, AS5, AS6
16. 第 8 回: 前半の総復習
16.2. 確認テスト
ありません。
17. 第 9 回: トランスポートプロトコル: TCP・UDP
17.1. 講義資料
17.2. 確認演習
演習 1
https://en.wikipedia.org/wiki/Port_(computer_networking) における冒頭 の 2 段落を理解した後に、次の問いに答えなさい。
- ア. ポート番号が一意に識別するものは何であるか?
- イ. ポート番号を用いる代表的なトランスポートプロトコルは何であるか?
- ウ. ポート番号と常に関連付けられる二つの要素は何であるか?
- エ. well-known ポート番号として用いられるポート番号は何番であるか?
注: 英文に抵抗を感じる場合には、上記記事を機械翻訳で訳した日本語を理解 するとよい。
演習 2
以下の ア.〜エ. における ○○○ には、「TCP」・「UDP」・「TCP および UDP」のいずれかがあてはまる。
- ア. ○○○ は、データを送信する前にコネクションを確立しない
- イ. ○○○ は、ネットワーク内で損失したデータを再送する
- ウ. ○○○ は、到着したセグメントの順序を並び換える
- エ. ○○○ はポート番号を利用する
適切なものを答えなさい。
演習 3
手元に保有しているノート PC 上での TCP コネクションを確認しなさい。
17.3. 略解
演習 1
- ア. a port or port number is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service.
- イ. The most common transport protocols that use port numbers are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP);
- ウ. A port number is always associated with a network address of a host, such as an IP address, and the type of transport protocol used for communication.
- エ. port numbers lower than 1024 identify the historically most commonly used services and are called the well-known port numbers.
演習 2
(講義資料を参照すればよいので) 省略。
演習 3
Linux が動作する PC の場合
> netstat -t
Windows が動作する PC の場合
Windows Power Shell で以下のコマンドを実行すればよい。
> netstat
18. 第 10 回: TCP プロトコルの概要
18.1. 講義資料
講義資料 (受講者限定) https://www.ins.tl.fukuoka-u.ac.jp/~nakamura/lecture/comnet/2025/priv/10.pdf
注: 第 9 回の講義資料も持参してください。
18.2. 確認演習
演習 1
TCP では、送信者は、 仮に転送の過程でセグメントが損失したとしても、 つまりセグメントが受信者に届けられなかったとしても、 セグメントの損失を検出することができる。
この原理を、確認応答 (ACK) という語句を用いながら、説明しなさい。
演習 2
RTO (Retransmission TimeOut) を更新する一連の流れを、何らかの RTT を与 えながら、実際に手計算してみなさい。 パラメータ \((\alpha, \beta)\) は (1/8, 1/4) とすればよい。 また、SRTT と RTTVAR の初期値は任意の値を設定すればよい。
演習 3
本演習は、重複 ACK に関する問いである。以下に、前提を説明する。
- 送信者が、シーケンス番号を 1 〜 10 とする一連のセグメントを送出したと する。
- シーケンス番号 5 のセグメントは受信者には配送されなかったものの、他 のセグメントはシーケンス番号 1, 2, 3, 4, 6, 7, 8, 9, 10 という順序で 受信者に配送されたものとする。
- 受信者はセグメントを一つ受け取る度に、ACK を送信者に返送するものとす る。仮定として、ACK の順序入れ替えおよび損失のどちらも発生しないもの とする。
このとき、送信者が重複 ACK によってシーケンス番号 5 のセグメントの損失 を検出するのは、どのセグメントに対する ACK を受け取った時であるか?
18.3. 略解
演習 1
以下の二点に言及していればよい。
- TCP では、受信者は、セグメントを受け取ると、確認応答 (ACK) を送信 者に返送する。
- 送信者は、一定時間を待機しても、ACK を受け取れなかった場合に、当 該セグメントを損失したものと判定する。
演習 2
省略。
演習 3
講義資料の p.8 を参照しなさい。
19. 第 11 回: TCP プロトコルの詳細
19.1. 講義資料
新たに配布するものはありません。
19.2. 確認演習
演習 1
以下の文章は、2 台のホスト A とホスト B との間で TCP コネクションを 双方向に確立する一連の流れを説明している。 この文章における空欄にあてはまる適切な語句を答えなさい。
- ホスト A は、ホスト B に、[ ア ] フラグを有効にした TCP セグメントを 送る。以降では、このセグメントのシーケンス番号を x と表記する。
- ホスト B は、ホスト A に、[ イ ] フラグおよび [ ウ ] フラグを有効に した TCP セグメントを送る。このセグメントに付与される確認応答番号は [ エ ] である。以降では、このセグメントのシーケンス番号を y と表記す る。
- ホスト A は、ホスト B に、[ オ ] フラグを有効にした TCP セグメントを 送る。このセグメントに付与される確認応答番号は [ カ ] である
演習 2
TCP による輻輳制御の必要性を説明しなさい。
演習 3
本演習はウィンドウサイズに関する問いである。まず、前提は次の通りである。
- 送信ホストは、ウィンドウサイズが許す限り、セグメントを 1, 2, 3, … という順序で送出する。
- 送信ホストのウィンドウサイズの初期値は 1 である。
- 受信ホストは、送信ホストからセグメントを受け取る度に、当該セグメントに対する ACK を返送する。
- 送信ホストは、ACK を受け取ると、ウィンドウサイズを一つ増加させる。
- セグメントおよび ACK の順序入れ替えおよび損失は発生しないものとする。
このとき、送信側ホストがセグメント 10 に対する ACK を受け取り、 ウィンドウサイズを増加させた時点でのウィンドウサイズを答えなさい。
19.3. 略解
演習 1
- ア: SYN
- イ: SYN
- ウ: ACK
- エ: x + 1
- オ: ACK
- カ: y + 1
演習 2
例: ホストによる データ転送の送信レートを調整する ことで、 ネットワーク 内での輻輳を回避しながら 、 利用可能な帯域を最大限に活用する ため。
演習 3
省略。
第 12 回: インターネットサービス: DNS (Domain Name System)
確認演習
演習 1
TLD (top-level domain) を調査し、(好きなだけ) 列挙しなさい。
演習 2
ドメイン名 www.ins.tl.fukuoka-u.ac.jp
を名前解決しなさい。
つまり、対応する IP アドレスを答えなさい。
演習 3
IP アドレスと比較したドメイン名の利点を答えなさい。
略解
演習 1
演習 2
133.167.8.147
演習 3
省略。