
講義ページ
https://lsnl.jp/l/netcomp
講義ページ (複数ページ版 (モバイル端末向け)、各回の資料のみ)
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/toc.html
[授業開始時に提出] 出席確認フォーム (パスワードが必要です)
https://lsnl.jp/app/lecture/attend/show/netcomp
[授業中に使用] クリッカー (パスワードが必要です)
https://lsnl.jp/app/lecture/clicker/show/netcomp
[授業中・授業後に提出] リフレクションシート (パスワードが必要です)
https://lsnl.jp/app/lecture/refl/show/netcomp
[自習後に提出] レポート送信フォーム (パスワードが必要です)
https://lsnl.jp/app/lecture/report/show/netcomp
講義ビデオ (パスワードが必要です)
https://lsnl.jp/video/netcomp/2025/
連絡用メイリングリスト (教員に届きます)
netcomp-staff[atmark]lsnl.jp
本文には、必ず学生番号・氏名・メールアドレス (@kwansei.ac.jp のもの) を明記してください。
Kwanseiコンピテンシー
https://www.kwansei.ac.jp/about/kg_competencies
工学部 3つのポリシー
https://www.kwansei.ac.jp/s_engineering/philosophy/policy/
大崎 博之
関西学院大学 理工学部 情報科学科
E-mail: netcomp-staff[atmark]lsnl.jp
Q1.インターネットを使えば、 メールしたり、 会話したり、 買物したり、 何でもできそうに思える。 インターネットはどういう仕組で動いているのだろうか? なぜ今の形になったのだろうか? インターネットのどこが優れているのだろうか? また弱点はどこだろうか?
Q2.インターネット上で、 次々と新しいサービスが登場している。 なぜあんなサービスが実現できるのだろうか? 他にどんな使い方ができるのだろうか? 自分で新しいサービスを作ることは可能だろうか? もし可能ならどうすればできるだろうか?
Q3.今のインターネットにできないことはあるだろうか? もしあるとすれはそれは何だろうか? できない理由は何だろうか? インターネットの限界を超えることは原理的に可能なのだろうか? 可能だとすればそれはなぜだろうか?
Q4.今、 ネットワーク研究の最先端では、 どんなネットワークが研究されているのだろうか? 新しいネットワークとはどのようなものだろうか? そのしくみはどうなっているのだろうか?
クラウドコンピューティング、 新しいネットワークアーキテクチャ、 新しいネットワークサービスなど、 ネットワーキングとコンピューティングの融合によって実現される「ネットワークコンピューティング」に関する最新の知識を学ぶ。
ネットワークコンピューティングの最新技術およびトレンドが理解できるようになる。
講義形式で行う
授業中試験 40%、平常リポート 60%
※ 平常リポートは内容に応じて採点する。 平常リポートの「満点」が 60 点である (提出しただけでは満点にならない)。
2025/ 9/24 LAN の構成要素・通信プロトコル
2025/10/ 1 無線 LAN、VLAN (仮想 LAN)
2025/10/ 8 インターネットの概要、TCP/IP
2025/10/15 IP プロトコル (1)
2025/10/22 IP プロトコル (2)
2025/10/29 前半の総復習
2025/11/ 5 TCP プロトコル (1)
2025/11/12 TCP プロトコル (2)
2025/11/19 インターネットの要素技術 (経路制御)
2025/11/26 インターネットサービス (名前解決)
2025/12/ 3 DHCP、ネットワークアドレス変換
2025/12/10 HTTP
2025/12/17 後半の総復習
2026/ 1/ 7 授業中試験
注意事項、 教育方針、 学習のポイント、 病欠/公欠の時に何をすればよいか等を説明しています。
大崎が担当する科目に共通の連絡事項・アドバイス
https://lsnl.jp/~ohsaki/lecture/
1. 解説 (30 分)
2. グループワーク (55 分)
3. 確認テスト (10 分)
4. 採点・リフレクションシート記入 (5 分)
- いろいろな人とチームになる
- チームの人数は自由に決めてよい
- しゃべる
- 質問する
- 説明する
- 動く (立ち歩く)
- チームで協力する
- チームに貢献する
- LAN (ローカルエリアネットワーク) とは何かを他人に説明できるようになる。
- MAC アドレスとは何かを他人に説明できるようになる。
- イーサネットの原理・特徴を他人に説明できるようになる。
- イーサネットの基本的な特性を簡単なモデルを用いて数理的に分析できるようになる。
Wikipedia 日本語版およびブログ等を情報源として用いてはならない。
英語のトレーニングも兼ねて、 日頃から英語の文献を読むとよい。 英語を読み続けるのがつらい場合は、 日本語の文献を探すのではなく、 機械翻訳 (ChatGPT がおすすめ) を使って読むという方法もある。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/01.pdf
- 書籍
W. リチャード・スティーヴンス, ``詳解TCP/IP〈Vol.1〉プロトコル,'' ピ
アソンエデュケーション, 2000.
宮原 秀夫, 尾家 祐二, ``コンピュータネットワーク,'' 共立出版, 1999.
竹下 隆史, 村山 公保, 荒井 透, 苅田 幸雄, ``マスタリングTCP/IP 入門編
第5版,'' オーム社, 2012.
電子情報通信学会, ``電子情報通信ハンドブック,'' オーム社, 1988.
- オンラインドキュメント
Computer network
http://en.wikipedia.org/wiki/Computer_network
Local area network
http://en.wikipedia.org/wiki/Local_area_network
電子情報通信学会 知識ベース
http://www.ieice-hbkb.org/portal/
IV 号館 4F のグララボで PC を使用している時、 LAN、 ホスト、 スイッチ、 リンクはそれぞれ何に対応するか。 また、 それらはそれぞれどこにあるか。
自身が使用している端末 (ノート PC もしくはスマートフォン) の MAC アドレスを答えよ。 また、 その MAC アドレスを割り当てた組織名を答えよ。
イーサネットフレームに n (46 <= n <= 1500) オクテットのペイロードを格納する時の伝送効率 (リンクの通信容量のうちデータ転送に利用できる割合) を求めよ。 また、 伝送効率の最小値および最大値を求めよ。
CSMA/CD の特性を近似的に解析したい。 (1) Q 台のホストが転送すべきデータを持っている、 (2) Q 台のホストはスロット単位で同期して動作する、 (3) 各ホストは各スロットにおいて確率 1/Q でフレーム伝送を試みる、 という単純化したモデルを考える。 このモデルでは、 Q 台のホストのうち 1 台のホストのみがフレーム伝送を試みた場合に限りフレーム伝送が行われる (0 台であれば未使用、 2 台以上であれば競合のため伝送に失敗する)。
あるスロットにおいて 1 台のホストのみがフレーム伝送を試みる確率 A を求めよ。 また、 いずれかのホストがフレーム伝送に成功するまでのスロット数の期待値 W を求めよ。
LAN →イーサネット LAN (グララボ、マルラボ、準備室)
ホスト→ Windows PC (グララボ)
スイッチ→イーサネットスイッチ (グララボ教卓横のラック内)
リンク→イーサネットケーブル (PC 背面から床下を通ってグララボ教卓横のラックまで)
Windows であればコマンドプロンプトから ipconfig /all で確認できる。 iOS であれば、 設定→一般→情報の「Wi-Fi アドレス」で確認できる。
ipconfig
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
なお、 iOS 14 以降は MAC アドレスのランダム化を行っていることに注意。
Wi-Fi privacy
https://support.apple.com/guide/security/wi-fi-privacy-secb9cb3140c/web
MAC アドレスのブロックは IEEE が発行・管理しており、 MAC アドレスブロックのデータベースが公開されている。
IEEE Registration Authority
https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries
例えば、 MAC アドレスが 94:EA:32:**:**:** であれば、 MAC Address Block Large (MA-L) (oui.txt) から Apple が割り当てたものであることがわかる。
94-EA-32 (hex) Apple, Inc.
94EA32 (base 16) Apple, Inc.
1 Infinite Loop
Cupertino CA 95014
US
94:EA:32 のブロックは IEEE が割り当て、 そのブロック中の MAC アドレスは Apple が割り当てている。
ヘッダが 7 + 1 + 6 + 6 + 2 で計 22 オクテット、 トレイラが 4 オクテットであるから、 イーサネットフレーム長は 22 + n + 4 = 26 + n オクテット。 26 + n オクテットのうち、 n オクテットだけがデータ伝送に利用されるから、 利用効率は
n
------
26 + n
である。 n = 46 の時、 伝送効率は最小 (約 64 %) となり、 n = 1500 の時、 伝送効率は最大 (約 98%) となる。
資料
Ethernet: Distributed Packet Switching for Local Computer Networks
http://magrawal.myweb.usf.edu/dcom/Ch3_MetcalfeBoggsCACM1976.pdf
ある 1 台のホストのみフレーム伝送を試みる確率は、 そのホストがフレーム伝送を試み、 他の Q - 1 台がフレーム伝送を試みない確率であるから
1/Q * (1 - 1/Q)^(Q - 1)
である。 あるスロットにおいて 1 台のホストのみがフレーム伝送を試みる確率 A は、 「フレーム伝送に成功する 1 台のホスト」が Q 通りあるから
A = Q * 1/Q * (1 - 1/Q)^(Q - 1) = (1 - 1/Q)^(Q - 1)
である。
待ちが発生しない確率が A、 1 スロットだけ待ちが発生する確率が (1 - A) * A (1 回伝送に失敗し、 2 回目で伝送に成功する確率) である。 同様に、 i スロットだけ待ちが発生する確率が (1 - A)^i * A (i 回伝送に失敗し、 次の i + 1 回目で伝送に成功する確率) である。 したがって、
∞
W = Σ i * (1 - A)^i * A = (1 - A) / A
i = 0
である。
(補足)
W - (1 - A) W を考えると、
W - (1 - A) W = (1 - A) A + (1 - A)^2 A + (1 - A)^3 A + …
のように初項 (1 - A) A、 公比 1 - A の無限等比級数の和となっている。 これより、
W = (1 - A) / A
が求まる。
なし
なし
なし
じゃんけんの特性を数理的に解析したい。 (1) Q 人でじゃんけんをする、 (2) 各人はグー・チョキー・パーをそれぞれ 1/3 の確率で出す、 というモデルを考える。 このじゃんけんでは、 Q 人のうち 1 人だけが勝ちの場合に限り勝敗が確定する (勝ちが二人以上の場合は相子 (あいこ) とみなす) とする。
1 回のじゃんけんで 1 人だけが勝ちとなる確率 A を求めよ。 また、 くいずれかの人が勝ちになるまでじゃんけんを繰り返す時、 勝者が決まるまでのじゃんけんの回数の期待値 W を求めよ。
授業終了後に自習を行い、 到達目標まで到達せよ。 疑問に思った点、 わからない点は各自で信頼できる文献を用いて調査せよ。
その後、「今週の作業内容」、 「『内容目標』をどの程度達成できた/できなかったか」、 「質問・要望・コメント」、 「感想」を「ネットワークコンピューティング」レポート送信フォームから送信せよ。
提出方法: 「レポート送信フォーム」から送信せよ。 レポートが正しく提出されると、レポートの控えが自身のメールアドレス宛に送信される。 レポートの控えは成績発表まで保存しておくこと。 レポートが再提出された場合は、 新しいほうを採点対象とする。
提出期限: 次回の授業開始の 48 時間前とする (例えば、 9/24(水) の課題であれば、 10/1(水) 1:30pm の 48 時間前である 9/29(月) 1:30pm)。 期限を過ぎたものは受理しない。
注意事項: 「質問・要望・コメント」は匿名にした上で公開する (講義ページに掲載する)。 公開されて困る内容は「質問・要望・コメント」等に含めないこと。 個人的な質問・相談等は「感想」の覧に記入せよ。
- 確認テスト答案提出フォームというものがありましたが、指示がない限りは提出しなくても大丈夫でしょうか。
はい。
- なぜ英語版の Wikipedia は信憑生が高いと言えるのか編集できるのは同じではないのしょうか。
英語版 Wikipedia のすべてのエントリが信頼できる訳ではありませんが、LAN や イー
サネットのような (そこまでニッチではない) エントリであれば、かなり質の高い情
報になっています。
基本的に、編集に参加しているユーザ数の違いで、以下のような状況だと思います。
日本語版 Wikipedia の「イーサネット」→ イーサネットのことをよく理解している
編集者はほぼゼロで、よくわからないなりにあちこちの情報 (日本語の書籍などの二
次情報) を切り貼りして日本語版のエントリを書いている。
英語版 Wikipedia の「Ethernet」→ イーサネットのことをよく理解している編集者
が少数だがいるので、ある程度わかった人が英語の一次情報をもとに英語版のエント
リを書いている。
編集者の質と人数の問題なので、例えば、日本語版 Wikipedia でも「ポケモン」と
か「鬼滅の刃」などはきわめて信頼性が高い情報源だと思います。
- スロット数の期待値の計算についてはまだ慣れていないので、演習問題を増やしていただけると理解がさらに深まると思いました。
2025/09/24 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-1
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/02.pdf
- 無線 LAN の概要・特徴を他人に説明できるようになる。
- 無線ネットワークの特性を理解し、それを定量的に説明できるようになる。
- CSMA/CD と CSMA/CA の違いを他人に説明できるようになる。
- VLAN の概要および原理を理解し、VLAN 導入の効果を定量的に説明できるようになる。
学内で Wi-Fi を使用している時、 LAN、 ホスト、 スイッチ、 リンクはそれぞれ何に対応するか。 また、 それらはそれぞれどこにあるか。
(1) BER (Bit Error Rate) が p の無線ネットワークにおいて、 長さ N オクテットのフレームが誤りなく伝送される確率を求めよ。
(2) BER が 10^-4 の時に、 1250 オクテットのフレームが誤りなく伝送される確率を答えよ。
CSMA/CD と CSMA/CA の主要な違いを 2 つ述べよ。 また、 これらの違いがある理由を、 無線ネットワークの特性をもとに説明せよ。
下図のイーサネット LAN において、 各ホストが送出するブロードキャストフレームの数を等しく n とする。 LAN 中でフレームの損失は起きないものとする。
(1) VLAN を使用しない場合に、 リンク上を伝送されるブロードキャストフレームの総数を答えよ。
(2) 図ように VLAN を構成した場合に、 リンク上を伝送されるブロードキャストフレームの総数を答えよ。
(3) VLAN 使用によるトラヒック削減率 (伝送されるフレーム数の削減率) を答えよ。
LAN → 無線 LAN (教室周辺)
ホスト → KGU-WLAN に接続している PC もしくはスマートフォン (教室内)
スイッチ → Wi-Fi のアクセスポイント (教室周辺)
リンク → 無線 (電磁波) (教室内の空間)
(1) N オクテットは 8 * N ビットである。 フレームの伝送成功率は、 すべてのビットが正しく伝送される確率で与えられる。
(1 - p)^(8 * N)
(2) 上記に p = 10^-4、N = 1250 を代入すると
(1 - 10^-4)^10000 = 0.36786...
従って約 37% である。
送信局がキャリアセンス失敗時に指数バックオフを行うこと。 受信局がフレームの正常受信時に ACK を送信局に返送すること。 CSMA/CD はこれらを行わないが、 CSMA/CA はどちらも行う。
無線リンクでは複数局の同時送信によるフレーム衝突を検出できない。 従って、 送信局はキャリアセンス時の衝突確率を下げるために指数バックオフを行う。 同様に、 送信局がフレームの伝送の成否を判断できないため、 受信局がフレーム伝送の成功を送信局に通知する。
(1) リンク数が 6 であるから、 あるホストが送出したブロードキャストフレームは 6 リンク上を伝送される。 従って、 1 ホストあたり 6 n のブロードキャストフレームが LAN 上を伝送される。 ホスト数が 4 であるから、 伝送されるブロードキャストフレームの総数は
4 * 6 n = 24 n
(2) 上側の VLAN 上を伝送されるブロードキャストフレームの総数は
2 * 3 n = 6 n
下側の VLAN 上を伝送されるブロードキャストフレームの総数は
2 * 4 n = 8 n
従って、伝送されるブロードキャストフレームの総数は
6 n + 8 n = 14 n
(3) 削減されたブロードキャストフレーム数は 24 n - 14 n = 10 n であるから、 フレーム数の削減率は
10 n / 24 n = 0.417 であるから約 41%。
「レポート課題 2025/09/24」と同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-10
- 授業では基本的な仕組みの理解ができましたが、実際のネットワーク運用現場でどのようにCSMA/CAやVLANが使われているのか、もう少し具体例があるとさらに学びやすいと思いました。
2025/09/24 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-1
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/03.pdf
- パケット交換方式と回線交換方式それぞれの原理を他人に説明できるようになる。
- パケット交換方式の利点と欠点を他人に説明できるようになる。
- IP アドレスの構造と意味を理解し、他人に説明できるようになる。
- パケット交換方式と回線交換方式の優劣を定量的に議論できるようになる。
回線交換方式で動作するネットワークについて、 以下の小問に答えよ。 ただし、 スイッチ間のリンクの利用率をすべて等しく p_1、 各リンクの伝搬遅延をすべて等しく τ [s]、 各スイッチにおける処理遅延をすべて等しく Δ [s] とする。 ホスト X からホスト Y までのホップ数を h とする。
(1) ホスト X〜ホスト Y 間の呼損率 q_1 を求めよ。
(2) ホスト X からホスト Y までメッセージを伝送する時の通信遅延 D_1 を求めよ。
パケット交換方式で動作するネットワークについて、 以下の小問に答えよ。 ただし、 各スイッチにおけるパケット損失率をすべて等しく p_2、 各リンクの伝搬遅延をすべて等しく τ [s]、 各スイッチにおける処理遅延およびキューイング遅延をすべて等しく Δ [s] および W [s] とする。 ホスト X からホスト Y までのホップ数を h とする。
(1) ホスト X〜ホスト Y 間のパケット損失率 q_2 を求めよ。
(2) ホスト X からホスト Y までパケットを伝送する時の平均遅延 D_2 を求めよ。
16 進数で C0DAA8CA の IP アドレスについて、以下の小問に答えよ。
(1) 10 進ドット表記で示せ。
(2) アドレスクラスを答えよ。
(3) サブネットに収容できるホスト数を答えよ。
課題 1 および課題 2 において、 p_1 = 0.1、 p_2 = 0.01、 h = 5、 τ = 1 [ms]、 Δ = 0 [ms] の場合を考える。 以下の小問に答えよ。
(1) q_1、q_2、D_1、D_2 をそれぞれ求めよ。
(2) 上の条件下において、 W の値がどの程度までなら、 回線交換方式よりもパケット交換方式のほうが望ましいと考えられるかを論ぜよ。
ホスト X〜ホスト Y 間に存在するスイッチ数が h - 1、 スイッチ間のリンク数が h - 2 である。
(1) h - 2 本のリンクがすべて利用可能である時に限り呼損とならないから
q_1 = 1 - (1 - p_1)^(h - 2)
(2) ホスト X〜ホスト Y 間に存在するリンク数が h、 スイッチ数が h - 1 であるから
D_1 = τ * h + Δ * (h - 1)
ホスト X〜ホスト Y 間に存在するスイッチ数が h - 1 である。
(1) h - 1 台のすべてのスイッチにおいてパケット損失が起きない時に限りパケット伝送が成功するから
q_2 = 1 - (1 - p_2)^(h - 1)
(2) ホスト X〜ホスト Y 間に存在するリンク数が h、 スイッチ数が h - 1 であるから
D_2 = τ * h + (Δ + W) * (h - 1)
(1) 192.218.168.202
(2) クラス C
(3) 254
(1) q_1 = 0.271、q_2 = 0.039404、D_1 = 5 [ms]、D_2 = 5 + 4 W [ms]
(2) 省略
「レポート課題 2025/09/24」と同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-10
- Wi-Fiとかで、再起動?したら回線が治ったりするのはどういった理由ですか?使用されていたメモリがクリアになり、動作が安定するから、みたいなことなのでしょうか?
いい質問ですね。Wi-Fi に限らず、ソフトウェアの不具合によって生じている問題は、
再起動することで (一時的かもしれませんが) 改善されることがあるからです。
通信では、2 点間のどこか一箇所でも問題があれば通信できません。例えば、自宅の
PC から大学の L UNA にアクセスできない、といった場合、多数の原因が考えられま
す。
- 使用者の問題
- PC の問題
- Wi-Fi、IP の問題
- 自宅のネット回線の問題
- ISP (インターネットサービスプロバイダ) の問題
- LUNA 側の問題
- それ以外の問題
さらに、例えば、Wi-Fi の問題だけでも、以下のような多数の原因が考えられます。
- アクセスポイントが正常に動作していない
- 電源が入っていない
- AC アダプタの不良、電源回路の不良、接触不良
- ハードウェア障害
- アクセスポイントのソフトウェア不具合
- アクセスポイントの熱暴走
- アクセスポイントがスリープモードに入っている
- その他の問題
- 電波強度が低い
- アンテナに不具合がある
- 障害物がある
- ノイズの発生源が近くにある
- その他の問題
- アクセスポイントの設定ミス
- インターフェースが有効化されていない
- 通信方式の設定が間違っている
- 認証情報 (例: PSK) が間違っている
- 端末を誤ってフィルタリングしている
- セキュリティ設定を誤って有効化している
- その他の問題
- その他の問題
これらのうち、(通信に必要なもののうち、どれか) 一つでも問題があれば正常に通
信できません。
もし問題が、ソフトウェアの不具合によって生じているのであれば、端末や機器の再
起動で改善する場合があります。
2025/09/24 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-1
- OSI 参照モデルとは何かを他人に説明できるようになる。
- IP では、何ができて、何ができないかを他人に説明できるようになる。
- パケット交換ネットワークの基本的な特性を数理的に分析できるようになる。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/04.pdf
OSI 参照モデル (OSI reference model) を説明する以下の文について、 下記の問に答えよ。
A seven-layer structure designed to describe computer network [ ア ] and the way that data passes through them. This model was developed by the ISO in 1978 to clearly define the [ イ ] in multivendor networks, and to provide users of those networks with conceptual [ ウ ] in the construction of such networks. See also: International Organization for Standardization. (RFC 1392)
(1) 1 層〜7 層の名称を答えよ。
(2) 空欄 [ ア ]〜[ ウ ] にあてはまる最も適切な用語を以下から選べ。
Internet、 architectures、 documents、 guidelines、 interfaces、 protocols、 servers、 softwares、 specifications
Internet Protocol (IP, IPv4) を説明する以下の文について、 下記の問いに答えよ。
The Internet Protocol (version 4), defined in RFC 791, is the network layer for the TCP/IP Protocol Suite. It is a connectionless, best-effort packet switching protocol. See also: packet switching, TCP/IP Protocol Suite, Internet Protocol Version 6. (RFC 1983)
(1) IPv4 が connectionless である理由を、その通信方式から説明せよ。
(2) IPv4 が best-effort である理由を、その通信方式から説明せよ。
IP ネットワークはベストエフォート型であるため、 送信側ホストが送出したパケットが必ずしも宛先ホストに届くとは限らない。
IP ネットワークのみを用いて、 「送信側ホストが送出したパケットが宛先ホストに到着したか」を確実に知る方法はあるか。 あるならその方法を答えよ。 ないなら、 その理由を答えよ。
パケット交換ネットワーク上で、 送信側ホストから宛先ホストまで単一のパケットを正常に転送するまでの時間の期待値 E[D] を求めたい。 ネットワーク中のパケット棄却率を p、 送信側ホストから宛先ホストまでの平均遅延を d [s] とする。 送信側ホストは、 パケット送出から T [s] 以内に宛先ホストからの ACK を受信しなければ同一パケットを再送するとする。
(1) k 回目のパケット送信で始めて宛先ホストにパケットが到着する確率 q_k を答えよ。
(2) E[D] を求めよ。
(1) 物理層、 データリンク層、 ネットワーク層、 トランスポート層、 セッション層、 プレゼンテーション層、 アプリケーション層
(2) ア: architectures、イ: interfaces、ウ: guidelines
(1) IP の通信方式がパケット交換方式であるから。 宛先ホストと宛先ホストの間で事前にコネクションを確立することなく、 パケットを非同期でネットワーク中に送出するため。
(2) IP の通信方式がパケット交換方式であるから。 中継ノード (ルータ) は受信したパケットをバケツリレー形式で隣接するルータに中継する。 パケットはルータで待たされるかもしれないし、 廃棄されるかもしれないし、 バケツリレーによる中継が間違うかもしれないから。
ない。
送信側ホストが、送出したパケットが宛先ホストに到着したかを知る
ことは
宛先ホストが、送信側ホストに対してパケットを受信できたかを伝える
ことと同じである (宛先ホスト→送信側ホストの逆方向の通信)。 順方向も逆方向もどちらも信頼性のない通信チャネルであるため、 「確実に知る」ことはできない。
※ なお、課題 4 のように、再送を繰り返すことによって情報伝送の成功確率 を上げることはできる (ただし、確率 1 にはできない)。
(1) 過去 k - 1 回のパケット送信が失敗し、 次のパケット送信が成功する確率であるから
q_k = p^(k - 1) (1 - p)
(2) k 回目のパケット送信で始めて宛先ホストにパケットが到着した時の遅延時間 D_k は、 k - 1 回のタイムアウト時間 T [s] と、 送信側ホストから宛先ホストまでの片方向遅延 d [s] の和である。
D_k = (k - 1) T + d
したがって
∞
E[D] = Σ q_k D_k
k = 1
p
= ------- T + d
1 - p
なし
以下は ChatGPT による「普通郵便」の説明です。
普通郵便とは、日本の郵便サービスにおいて最も一般的で基本的な郵便サービスのこ
とを指します。普通郵便は、特別な速達や追跡サービスがついていない通常の郵便物
の配送方法で、手紙やはがき、小包などを送る際に利用されます。配達速度は通常の
範囲内で、特に急ぎではない郵便物に適しています。料金も他のサービスに比べて比
較的安価で、日本全国に広く対応しています。
(1) 普通郵便が connectionless である理由を、その配送方式から説明せよ。
(2) 普通郵便が best-effort である理由を、その配送方式から説明せよ。
(略解) (1) ポストに投函された郵便物を収集し、宛先ポストに投函するという (あら かじめ配送経路を確保しない) 配送方式だから。(2) ポストに投函された郵便物を人手 で収集し、宛先ポストに人手で投函するという (郵便物の破損や紛失をゼロにはできな い) 配送方式だから。
普通郵便はベストエフォート型であるため、 送信者が送出した郵便が必ずしも受取人に届くとは限らない。
普通郵便のみを用いて、 「送信者が送出した郵便が受取人に到着したか」を確実に知る方法はあるか。 あるならその方法を答えよ。 ないなら、 その理由を答えよ。
(略解) ない。受信人が、送信者に対して郵便を受信できたかを確実に伝えられないか ら。
いいかげんな配送業者を利用して、 あなたの自宅から田舎の親戚宅まで単一の荷物を正常に送付するまでの日数の期待値 E[D] を求めたい。 いいかげんな配送業者の荷物紛失率を p、 自宅から田舎の親戚宅までの平均運送日数を d [ 日 ] とする。 あなたは、 荷物の発送から T [ 日 ] 以内に親戚から「届いたよ」の連絡がなければ荷物を再送するとする。
(1) k 回目の荷物送出始めて親戚に荷物が到着する確率 q_k を答えよ。
(2) E[D] を求めよ。
課題 4 の式は、 数式処理言語 (Mathematica) を使えば以下のように解ける。
ex.m:
(* Mathematica ではユーザ定義シンボルは小文字なので小文字を使用している *)
q[k_] := p^(k - 1) (1 - p)
d[k_] := (k - 1) t + d0
Sum[q[k] d[k], {k, 1, Infinity}] // FullSimplify
> WolframKernel <ex.m
Wolfram Language 13.0.1 Engine for Linux x86 (64-bit)
Copyright 1988-2025 Wolfram Research, Inc.
In[1]:=
In[2]:=
In[3]:=
In[4]:=
p t
Out[4]= d0 - ------
-1 + p
In[5]:=
「レポート課題 2025/09/24」と同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-10
- IPプロトコルとかかれている記事を見たことがあるのですが、これは変だと思います。IPはInternet Protocolの略からです。これはそういうものなのでしょうか?それともIPプロトコルという呼び方がおかしいのですか?
すばらしい言語感覚を持っていますね。IP の定義からすると変なのですが、「IP プ
ロトコル」は今では普通に使われています。
その違和感はもっともで、本来は「transfer a packet with the IP」のように言い
ます。IP protocol と言うと、「馬から落馬する」とか「頭に頭痛がある」と似たよ
うな冗長な表現になります。
しかし、IP は有名になったので、IP そのものが一つの固有名詞として使われるよう
になっています。だから、英語圏でも「transfer a packet with the IP protocol」
のような表現は普通に使われるようになっています。
- 前回の授業の内容になってしまうのですが、ホップ数の数え方が他の文献などと異なるように思ったのですが、具体的にどのような数え方をしていますか。
これも良い質問ですね。私の授業では、以下の例で、A → D を 3 ホップと数えています。
A ---- B ---- C ---- D
以下のページにおける 1-origin hop count に相当します。
Hop (networking)
https://en.wikipedia.org/wiki/Hop_(networking)
- IPの再送やタイムアウト処理について、課題4のように数理的に整理されていたが、実際のネットワークでどの程度の遅延や損失が起きるのかを体験できるシミュレーションがあると、より理解が深まりそうだと感じた。
遅延は 10/21(火) の課題 4 で実際に測ってもらいます。パケット損失率は TCP 通
信では直接見えませんが、UDP 等を利用すれば計測することも可能です。
2025/09/24 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-1
- IP パケットのヘッダフォーマットを理解し、IP パケットの 16 進ダンプから IP ヘッダの各フィールドの意味を読み取れるようになる。
- IP ヘッダのフォーマットから、IP プロトコルの仕様上の限界 (例: IP ヘッダの大きさ、ペイロードの大きさ) を理解できるようになる。
- データリンク層のフレームとネットワーク層のパケットの関係を理解し、ネットワークの伝送効率を計算できるようになる。
- 自身が使用している計算機の通信速度を計測できるようになり、計測結果からインターネットのボトルネックルータの状態を推測できるようになる。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/04.pdf
以下は IP パケットの 16 進ダンプである。 IP のバージョン、 ヘッダ長、 データグラム長、 ペイロード長、 プロトコルの種類を答えよ。
02:34:33.256082 IP dhcp39 > server-18-65-116-27.kix50.r.cloudfront.net: ICMP echo request, id 12850, seq 6, length 64
0x0000: 4500 0054 8751 4000 4001 6c2c c0a8 0027
0x0010: 1241 741b 0800 ce68 3232 0006 a940 4c63
0x0020: 0000 0000 3fe8 0300 0000 0000 1011 1213
0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223
0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233
0x0050: 3435 3637
IP ヘッダの詳細については RFC791 の 3.1. Internet Header Format を見よ。
RFC791: 3.1. Internet Header Format
https://www.rfc-editor.org/rfc/rfc791#section-3.1
(1) IPv4 ヘッダの大きさは最小何オクテットか。理由もあわせて答えよ。
(2) IPv4 パケットのペイロードの大きさは最大何オクテットか。理由もあわせて答えよ。
(1) 1500 オクテットのペイロードを持つイーサネットフレームに収容できる IPv4 パケットのペイロードの最大値を答えよ。
(2) この時の伝送効率 (リンクの通信容量のうちデータ転送に利用できる割合) を求めよ。
(1) https://fast.com にアクセスし、 ダウンロード速度を計測せよ。
(2) 計測結果の「Show more info」をクリックし、 Unloaded および Loaded の遅延 (latency) を確認せよ。 これらの遅延の差から、 Loaded 状態において中継ルータのキュー長がどの程度増加したかを推測せよ。 なお、ボトルネックルータの帯域を 1 G [bit/s]、 イーサネットフレームの大きさを 1500 [byte] と仮定せよ。
IP のバージョンは第 1 オクテット (0x45) の上位 4 ビットであるから 4。
IHL (Internet Header Length) は第 1 オクテット (0x45) の下位 4 ビットであるから 5。 IHL の意味は
IHL: 4 bits
Internet Header Length is the length of the internet header in 32
bit words, and thus points to the beginning of the data. Note that
the minimum value for a correct header is 5.
であるからヘッダ長は 5 × 32 ビット = 20 オクテット。
データグラム長は第 3 および第 4 オクテットの 0x0054 である。 ネットワークオーダ (ビッグエンディアン) であるから 0x0054 = 84 オクテット。
「ペイロード長 = データグラム長 - ヘッダ長」であるから 84 - 20 = 64 オクテット。
プロトコルの種類は第 10 オクテット (0x01) であるから 1。 なお、 プロトコル番号 1 は ICMP (Internet Control Message Protocol) である。
(1) 20 オクテット。 Version から Destination Address までが必須で、 これらの合計が 20 オクテット。
(2) データグラム長は 16 ビットであるから最大値は 65,535 オクテット。 「最大ペイロード長 = 最大データグラム長 - 最小ヘッダ長」であるから、 最大ペイロード長は 65,535 - 20 = 65,515 オクテット。
※ IPv4 は 1970 年代に設計されたプロトコルであるため、 データグラム長はプロトコルの仕様により 64 KB に (プロトコル設計後 50 年以上経過した現代でも) 制限されている。
(1) 「最大ペイロード長 = 1,500 オクテット - 最小ヘッダ長」であるから、 1500 - 20 = 1480 オクテット
(2) イーサネットフレームの大きさは 1500 + 22 (ヘッダ) + 4 (トレイラ) = 1526 オクテット。 したがって伝送効率は 1480 / 1526 = 約 0.97 であるから、 約 97 %。
※イーサネットの最大伝送効率は最大で約 98% であった (2025/9/24 課題 3)。 L2 にイーサネットを使った時の IPv4 の伝送効率は最大で約 97 % にとどまる。
(1) 省略
(2) 例えば、 ダウンロード速度が 80 [Mbit/s]、 負荷なし (unloaded) の遅延が 10 [ms]、 負荷あり (loaded) の遅延が 40 [ms] であったとする。 従って、「負荷あり遅延 - 負荷なしの遅延」は 30 [ms] である。
ボトルネックルータの帯域 1 [Gbit/s] を、 packet/ms に単位換算すると
10^9 [bit/s] / 8 / 1500 [byte] / 1000 = 83.333 [packet/ms]
である。 つまり、 ルータは 1 [ms] 間に 83.333 パケットをキューから送出できることを意味する。
30 [ms] の遅延の増大に対応するキュー長の増大は
83.333 [packet/ms] * 30 [ms] = 2500 [packet]
である。
079-565-0123* という電話番号 (* は 0〜9 のいずれか) の、 市外局番、 所在地、 市内局番、 事業者名を答えよ。
市外局番や市内局番については以下の資料を参照せよ。
市外局番の一覧
https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/shigai_list.html
電気通信番号指定状況 (電気通信番号計画(令和元年総務省告示第6号)第1第4項による公表)
https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html#kotei-denwa
(略解) 79565 の 5 桁が市外局番 + 市内局番である。 「電気通信番号指定状況→ 7 から始まる市外局番」の資料から、 079、 兵庫県三田市、 565、 西日本電信株式会社であることがわかる。
(1) 1cm × 1cm の角材を使って外形が 20cm x 30cm の額を作りたい。 どれだけの長さの角材が最低でも必要か。 理由もあわせて答えよ。
(略解) 枠の厚みが 1cm だから、 20 * 2 + (30 - 1 - 1) * 2 = 96cm
(2) 額の中に収められる紙の面積は最大何 cm^2 か。 理由もあわせて答えよ。
(略解) 18cm x 28cm = 504 cm^2
(1) 類題 2 (1) の額 (額 A と呼ぶ) の中に、 1cm × 1cm の角材を使って作ったもう一つの額 (額 B と呼ぶ) を収めたい。 額 B に収められる紙の面積は最大何 cm^2 か。
(略解) 16cm x 26cm = 416 cm^2
(2) この時の収納率 (額が占める面積のうち収められる紙の面積の割合) を求めよ。
(略解) 416 / (20 * 30) = 0.693333... だから約 69%。
(1) なし
(2) 学生が相談のために VIII 号館の事務室に入ってから出るまでの時間を測定したところ、 最短で 5 分、 最長で 60 分であった。 事務室が混んでいる時に相談の学生が何人待っていたかを推測せよ。 なお、 学生一人あたりの相談時間を 5 分と仮定せよ。
(略解) 最長で 60 分、 最短で 5 分だから、 55 分増加している。 一人あたりの相談時間が 5 分だから、 55/5 = 11 人の待ちが発生していたと考えられる。
「レポート課題 2025/09/24」と同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-10
- 少ないデータを送る際にヘッダの割合がデータに対して大きくなると思うのですが、それによる効率の低下は考慮する必要がない些細な問題なのですか。
いいえ。通信ネットワークの設計において非常に重要な問題です。
伝送効率だけ考えると、パケット長は大きければ大きいほうがよく、ヘッダ長は小さ
ければ小さいほどよいです。一方、応答性能だけを考えると、パケット長は小さけれ
ば小さいほうよいです。さらに機能性だけ考えると、ヘッダ長は大きければ大きいほ
どよいです。
現実には、これらのトレードオフを考慮してパケット長やヘッダ長 (正確にはヘッダ
にどんな情報を格納するか) を決定する必要があります。
- IPv4ヘッダの構造をより直感的に理解するために、Wiresharkなどを用いて実際のパケットを観察する機会があると理解がさらに深まると感じた。また、IPv6でのヘッダ構成の違いも今後比較して学びたい。
1. 解説 (90 分)
2. リフレクションシート記入 (10 分)
- 解説された内容を判的思考で分析し、できるだけ多くを吸収する。
- 脳が覚醒した状態のままでいる。
- クリッカーに記入する質問は、可能な限り、正しい日本語で具体的に記入する。
- 始めて知ったこと、なるほどと思ったことはノートに記録する。
- 前半の「内容目標」すべてに到達できるようになる。
- 前半の内容に関連して、理解が不十分なもの、疑問が残っているもの、もっと知りたいものを言語化して質問できるようになる。
- 前半の内容に関連する疑問を一つでも多く解消できるようになる。
[授業中に使用] クリッカー (パスワードが必要です)
https://lsnl.jp/app/lecture/clicker/show/netcomp
- 文献によってホップ数の数え方に違いがあるとのことでしたが、なぜその違いが生じてしまっているのでしょうか?
hop は一般的な動詞なので、何を hop ととらえるかで数え方が変わるからだと思い
ます。
「自然数」の定義には 0 を含むものと含まないものがある、「年収」の定義には税
込みのものと税別のものがある、というのと同じような話だと思います。
- IPプロトコル(2)課題1について,16進ダンプの前半にはヘッダとしての情報があり,後半は全て送信するデータという認識であっていますか?
「後半はトランスポート層以上のレイヤが送信するデータか」という意味なら Yes
です。
- CSMA/CAの指数バックオフは、ランダムに時間を遅らせるという認識であってますか?また衝突確率を下げる目的で行われますが、特定の局がネットワークを占有してしまうなどのデメリットは存在しないんですか?
binary exponential backoff なので、待ち時間の期待値を 2 倍ずつ増加させます。
待ち時間の上限 W を 2 倍ずつ増加させ、実際の待ち時間は [0, W] の一様分布で決
定します。
「全ノードが紳士的にふるまう」ことが前提なので、悪意のあるノードがバックオフ
せずにフレームをガンガン送信すれば、そのノードが帯域を大く利用できてしまいま
す。
- 大崎研での研究テーマのうち、ネットワークコンピューティング前半の内容と重なるところがあれば教えていただきたいです。
授業で扱っているのは「現在広く使われている (= 研究段階ではなく実用段階の)」
通信方式なので、研究ではこういった古いプロトコルそのものは扱っていません。
ただ、データリンク層や、ネットワーク層、トランスポート層のプロトコルという意
味では同じです。TCP/IP よりも、もっと未来のプロトコルの研究をしていると思っ
てくれれば合っていると思います。
- IPアドレスはどのように決定されるのですか?何か法則はありますか?
IANA という組織が割り当てています。IP アドレスは希少性があるので、今では高値
で売買されているそうです。
- 私はセキュリティに興味があり、CTF(Capture The Flag)の勉強を始めたいと考えています。CTFではLinuxの知識が重要だと聞きましたが、具体的にはどの程度のスキルレベル(例えば、基本的なコマンド操作、シェルスクリプト、ネットワーク設定など)が必要になるのでしょうか? また、CTFで役立つLinuxのスキルを効率よく学ぶために、最初に取り組むべきことや、おすすめの学習リソース(特定のディストリビューションや学習サイトなど)があれば教えていただきたいです。
セキュリティ CTF ですね。私自身はセキュリティ CTF に取り組んだ経験はないので
すが、世界中に多数のセキュリティ CTF があって、難易度もピンキリだという理解
です。初心者向けのセキュリティ CTF もあると思うので、とにかく始めてみればい
いのでは、という認識です。
- IPヘッダのTTLはなぜ必要となるのですか?
パケット交換方式はバケツリレーで、ルーティングプロトコルによって経路がループ
する可能性があるからです。TTL がないと、パケットが永遠にネットワーク上をさま
よってしまう可能性があります。
- 大崎先生の研究室での研究内容に興味があります。そのために、どのような力や姿勢を身につけておくことが望ましいでしょうか?大崎先生の研究室に合っている生徒は、どのようなことができる生徒ですか?
以下のページを読んでみてください。必要なのは「興味」と「挑戦しようという想い」
です。
ネットワークアーキテクチャ研究室の紹介 (2024 年バージョン)
https://lsnl.jp/~ohsaki/lsnl/intro/
- プロトコル番号について調べたところ1から142番まで出てきたのですが、すべての種類を覚えるのは難しいと思うので、覚えておくべき大事なものはありますか?
「プロトコル番号」そのものは覚えなくてもよいと思います (それほど使う場面があ
りません)。まずは TCP、UDP、ICMP などのプロトコルを理解するとよいでしょう。
- VPNを用いると、海外専用のサービスにアクセスできますが、どのようにして実現しているのですか。また、それは制限している側からは、アクセスをはじくことができないのですか・
トンネリングという技術を使います (許可されている通信プロトコルの本文のところ
に、許可されていない通信プロトコルを埋め込んで送受信するというイメージです)。
通信内容が暗号化されていれば、トンネリングしているかどうか判別が困難なので、
アクセスを禁止することも困難です。通信内容が暗号化されていないなら、通信内容
を検閲すればトンネリングの有無がわかるのでアクセス制限も可能です。
- ネットワークコンピューティング実習の後にこの講義をしているのはなぜですか?
時間割の構成上「たまたまそうなった」以上の理由はありません。
- RSA暗号等で現状のネットワーク上のデータは暗号化が実施されていると考えています。今後、量子コンピューターが発 展してくると、その暗号ですら一瞬で突破されると考えられます。その際の暗号化とはどのようになりますか?
どうなるんでしょうね (わかりません)。素因数分解に基づかない暗号化方式が主流
になるのでしょうかね (よくわかりません)。
- 今までの工学部の学生のうち、外部の大学院にチャレンジしている人は何割ぐらいに感じますか
毎年数人くらいのイメージです。卒業生の 5% くらい、大学院進学希望者の 15% く
らいのイメージです。
- この講義では伝送効率やヒット率の式が割と理解できるような式になっていますが、実際はもっと難しい数式を扱いますか(行列や積分等)?
どのような条件下で、何を求めたいかによります。実用上、多くの場合は、本講義で
扱っているような単純な見積りで十分です。研究レベルだと、もっと複雑な数学を使
うものもあります (トラヒック理論では確率をよく使います)。
- IPv6の普及が進まない主な理由は何だと思いますか?
(思ったよりも) 意外と進んでいると思います。
RFC 9386 IPv6 Deployment Status
https://www.rfc-editor.org/rfc/rfc9386.html
- プレゼンやレポートの作り方は人によって異なりますが、大崎先生はどういう風に作っていますか?ベースとするものや必要・不必要だと思うものを教えてください。
以下のページを読んでみてください。
充実した大学・大学院生活のための 100 のヒント (草稿)
https://lsnl.jp/~ohsaki/research/100-tips/
充実した研究室生活のための 100 のヒント (草稿)
https://lsnl.jp/~ohsaki/research/100-tips-lab/
基本的に、すべてプレーンテキストで作成しています (Word、PowerPoint 等は使用
しません)。
- lsnlとは何ですか?何かの略称ですか?
Large-Scale Networking Laboratory の略です。
- インターネットの概要、TCP/IPの講義の課題3でIPアドレスのサブネットに収容できるホスト数を計算したと思います。この課題ではサブネットマスク/24で計算したと思うのですが24じゃないときもあるとネットワークの講義で学んだ気がします。なぜでしょうか?
今では CIDR も広く使われているからです。クラス C アドレスは /24 ですが、/24
で使うと (空きがでて) もったいないので、/26 とか /28 とかに分けて使おう、と
いう利用法です。
Classless Inter-Domain Routing
https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
- IPヘッダのオプション部分は実際の通信でどのくらい使われているのですか?
ほとんど使われていないと思います。
- 回線交換方式ではスループットはどのように決まりますか?
いろいろな条件を定めないとスループットは決まりませんが、ざっくり言えば、エン
ド-エンドで一番遅い (帯域が最小の) 通信回線の速度になります。
- 呼損や損失、正しい順序で通信が行われない可能性があるなど安定性に欠けるパケット交換方式が今のWiFiやスマホの通信に用いられているのはなぜですか?
「インターネットの概要、TCP/IP」の回をもう一度復習してみてください。一言で言
えば、「圧倒的に安いから」です。
- IPパケットを16進ダンプの読み取り方がまだ理解できていないのですが、どのように読み取ればいいのでしょうか
過去の講義ビデオを観るか、わかっている人に聞いてみてください。
- ネットワークの回線はよく青・水色で表現されることが多いですがなぜだと思いますか?個人的には透明だと感じています
青・水色で表現されることが多いですか? 普通は黒の太線だと思います。
- IPプロトコル(2)課題2の2においてデータグラム長は最大65535オクテットになるというのがあります。しかしIPv4ヘッダのサイズは20オクテットではないのでしょうか?これはデータグラム長の可変によって異なるという認識でいいですか
どういう意味ですか? IP ヘッダ長は最小 20 オクテット、最大 60 オクテットです。
IP パケット長は最小 20 オクテット (IP ヘッダ長が最小の 20 オクテットで、ペイ
ロードなし) 、最大 65,535 オクテットです。
- お子さんがいると聞きましたが、家庭でもネットワークの話をしているんですか?
いいえ。
なし
授業中試験の実施方法は以下の通りです。
場所: 未定
試験時間: 60 分
持込み: 不可 (筆記用具、時計のみ)
座席指定: 有
解答形式: 記述
出題範囲: 講義中で扱った全範囲
配点: シラバスに記載の通り
途中退出: 可 (答案を裏返しにして静かに退出してください)
2025/09/24 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-1
- TCP のフロー制御の必要性とその影響を理解し、他人に説明できるようになる。
- TCP のウィンドウフロー制御 (スロースタートフェーズおよび輻輳回避フェーズ) におけるウィンドウサイズの変化を理解し、他人に説明できるようになる。
- ネットワーク中でのパケット棄却率と TCP パケット再送回数の関係を簡単なシミュレーション実験によって計測し、それらの関係を定量的に理解できるようになる。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/04.pdf
TCP の宛先ホストにおける受信バッファの空きが常に 32 [Kbyte] である時、 TCP フローの最大スループットはいくらか。 ただし、 TCP フローのラウンドトリップ時間を 10 [ms] とする。
TCP の初期ウィンドウサイズを 1 [Kbyte] とする。 スロースタートフェーズにおいて、 ウィンドウサイズが 1 [Gbyte] (= 1024 * 1024 [Kbyte]) に達するまでに要する時間の最小値を求めよ。 ただし、 TCP のセグメント長を 1 [Kbyte]、 ラウンドトリップ時間を 100 [ms] とする。
ウィンドウサイズが 100 [Kbyte] の TCP フローが、 輻輳回避フェーズにおいて、 ウィンドウサイズが 1 [Gbyte] (= 1024 * 1024 [Kbyte]) に達するまでに要する時間の最小値を求めよ。 ただし、 TCP のセグメント長を 1 [Kbyte]、 ラウンドトリップ時間を 100 [ms] とする。
TCP の送信元ホスト〜宛先ホスト間のパケット損失率を p とする。 100,000 個の TCP パケットを送信元ホストから宛先ホストまで伝送する時に、 最大で何回の再送が起きるかを計測するシミュレーションプログラムを作成せよ。
p = 0.1 と p = 0.5 の場合にシミュレーションをそれぞれ 3 回実行し、 再送回数の平均を求めよ。
TCP フローのスループットが最大となるのは、 宛先ホストにおける受信バッファの空きによって律速される場合である。 この時のウィンドウサイズが 32 [Kbyte] であるから、 最大スループットは
32 [Kbyte]
---------- = 26214400 [bit/s] = 26.2 [Mbit/s]
10 [ms]
である。
ネットワーク中でパケット損失が起きない場合、 スロースタートフェーズにおいてウィンドウサイズは最も高速に増加する。
この場合、 1 ラウンドトリップ時間 (= 100 [ms]) 後に初期ウィンドウサイズの 2 倍の 2 [Kbyte] になり、 2 ラウンドトリップ時間 (= 200 [ms]) 後に初期ウィンドウサイズの 4 倍の 4 [Kbyte] になる。 したがって、 n ラウンド後のウィンドウサイズは 2^n * 1 [Kbyte] である。
ウィンドウサイズが 1024*1024 [Kbyte] を超えるのは、n が
2^n >= 1024*1024
となる時である。上記を満たす最小の n は n = 20 である。
従って、20 ラウンド後である
100 [ms] * 20 = 2 [s]
が要する時間の最小値である。
ネットワーク中でパケット損失が起きない場合、 輻輳回避フェーズにおいてウィンドウサイズは最も高速に増加する。
この場合、 1 ラウンドトリップ時間 (= 100 [ms]) 後にウィンドウサイズは 1 [Kbyte] だけ増加し、 2 ラウンドトリップ時間 (= 200 [ms]) 後にウィンドウサイズは 2 [Kbyte] だけ増加する。 したがって、 n ラウンド後のウィンドウサイズは 100 + n [Kbyte] である。
ウィンドウサイズが 1024*1024 [Kbyte] を超えるのは、n が
100 + n >= 1024*1024
となる時である。上記を満たす最小の n は n = 1024*1024 - 100 = 1048476 である。
従って、1048476 ラウンド後である
100 [ms] * 1048476 = 104847600 [ms] = 29.12 [hour]
が要する時間の最小値である。
100,000 個の TCP パケットのうち、 それぞれを確率 1 - p で伝送に成功したとみなし、 確率 p で伝送に失敗したとみなす。 上記の試行を、 100,000 個の TCP パケットの伝送がすべて完了するまで繰り返せばよい。
tcp-sim.py
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/tcp-sim.py
p = 0.5 の実行結果 (の例):
> python3 tcp-sim.py
0 100000
1 49984
2 24968
3 12425
4 6304
5 3152
6 1577
7 790
8 400
9 195
10 93
11 49
12 18
13 9
14 5
15 5
16 3
3 回の試行:
> python3 tcp-sim.py | tail -1 | awk '{ print $1 }'
17
> python3 tcp-sim.py | tail -1 | awk '{ print $1 }'
14
> python3 tcp-sim.py | tail -1 | awk '{ print $1 }'
19
平均: (17 + 14 + 19) / 3 = 16.66 [回]
1 台の車を使って、 神戸三田キャンパスと三田駅をピストン輸送すると、 1 時間に何人を三田駅に送れるか。 ただし、 神戸三田キャンパスと三田駅の往復に 20 分かかり、 三田駅のロータリーでは (市の条例により) 一度に降車できる人数が 4 に制限されているとする。
(略解) 20 分に 4 名送れるので、1 時間だと 12 名。
新聞紙の厚みを 0.1 mm とする。 1 秒間に 1 枚ずつ新聞紙を積んでゆくとき、 積んだ新聞紙の高さが 100 km になるまでに要する時間を求めよ。
※ 現実には不可能だが、ここでは積みあげることができると仮定せよ。
(略解) 100 [km] / 0.1[mm] = 1000000000 であるから、 1000000000 [s] = 約 31.7 年。
新聞紙の厚みを 0.1 mm とする。 1 秒間に 1 回ずつ新聞紙を半分に折り畳んでゆくとき、 折り畳んだ新聞紙の厚みが 100 km になるまでに要する時間を求めよ。
※ 現実には不可能だが、ここでは折り畳むことができると仮定せよ。
(略解) 折り畳んだ回数を n とすると、その時の厚みは 0.1 [mm] * 2^n。 これが 100 km を超えるのは 30 回目であるから 30 秒。
1 回 100 円のくじがあり、1/2 の確率で当たりがでる。 情報工学課程 2 年生の 100 名全員が、 それぞれ当たりがでるまでくじを買った時、 最も多く支払った人は何円になるか。 シミュレーション実験で求めよ。
「レポート課題 2025/09/24」と同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-10
- 授業中に指摘されていたら申し訳ない、配布テキストの04.pdf上で「ACK (ACKnowledgement) 番号は、宛先ホストが最後に正常に受信したデータのシーケンス番号である。」と書かれてありますが、恐らく「宛先ホストが、次に期待しているデータのシーケンス番号」とするのが正しいのではないでしょうか?実際、RFC793のpage14、3.1.Header Formatでは"Acknowledgment Number: 32 bitsIf the ACK control bit is set this field contains the value of the next sequence number the sender of the segment is expecting to receive. Once a connection is established this is always sent."と書かれています。
指摘ありがとう。その通りです。
- 講義ありがとうございました。復習で計算方法は理解できましたが、根本的な部分でまだ不安があります。
2025/09/24 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-1
- TCP パケットのヘッダにどのような情報が記載されており、TCP の制御にどのように利用されているのかを理解し、他人に説明できるようになる。
- トランスポートプロトコルにおけるタイムアウト時間を決定することの困難さを理解し、適切なタイムアウト時間をどのように設定できるようになる。
- チェックサムによる誤り制御の原理を理解し、16 ビットのチェックサムによってどの程度のメッセージ破壊を見逃すかを定量的に理解できるようになる。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/priv/04.pdf
ある IP アドレスを持つホストが同時に確立できる TCP フロー数の最大値はいくらか。
TCP のコネクション確立が、 2-way ハンドシェイクでも、 4-way ハンドシェイクでもなく、 3-way ハンドシェイクであるのはなぜか。
Connection establishment, Transmission Control Protocol
https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_establishment
ホスト X からホスト Y までのラウンドトリップ時間が、 平均 100 [ms]、 標準偏差 20 [ms] の正規分布で近似できると仮定する。 この時、 TCP の誤り制御におけるパケット損失の誤検出率を 2.5% 程度にするためには、 TCP 再送タイムアウト時間 (RTO) がどのような値であればよいか。
TCP はヘッダおよびペイロードの誤り検出のために 16 ビットのチェックサムを使用している。 メッセージ長が 1,500 バイトで、 ビット誤り率が大きい時に、 16 ビットのチェックサムによってメッセージ破壊を見落す (メッセージが破壊されているにもかかわらず、 それを検出できない) 確率はいくらか。
TCP フローの終端は「IP アドレス; ポート番号」で区別される。 従って、 ある IP アドレスに対して、 ポート番号の種類だけ TCP フローを確立することができる。 ポート番号は 16 ビットであるから、 同時に確立できる TCP フロー数の最大値は 65,536 である。
RFC793: 3.1. Header Format
https://www.rfc-editor.org/rfc/rfc793
TCP コネクションは全二重 (full-duplex) であるから、 2 方向のストリームの確立が必要となる。 各ストリームの確立に、 コネクション確立の要求 (SYN) と確認 (SYN ACK) の送信が必要となる。
従って、 2-way ハンドシェイクでは全二重のコネクション確立を実現できない。
2 方向のストリームに対して、 それぞれ個別にコネクション確立の要求 (SYN) と確認 (SYN ACK) を行う 4-way ハンドシェイクであれば全二重のコネクション確立は実現できる。
しかし、 4-way ハンドシェイクは、 3-way ハンドシェイクに比べるとコネクション確立の時間が大きくなる (往路・復路の通信遅延が等しければ 4/3 倍になる) ため、 TCP では 3-way ハンドシェイクが用いられている。
ラウンドトリップ時間の確率変数を X、 パケット損失の誤検出率が 2.5% となる RTO の値を T と表記する。 この時、
P(X > T) = 0.025
となるように T を定めればよい。
正規分布 N(μ, σ ^2) では、 平均μの± 2 σに分布の約 95 % が収まることが知られている (68-95-99.7 rule)。
68-95-99.7 rule
https://en.wikipedia.org/wiki/68%E2%80%9395%E2%80%9399.7_rule
従って、
T = μ + 2 σ = 100 [ms] + 2 * 20 [ms] = 140 [ms]
と設定すればパケット損失の誤検出率が 2.5% 程度となる。
チェックサムの大きさが 16 ビットであるため、 チェックサムで表現できる値の種類は 2^16 = 65,536 である。
ビット誤り率が大きい場合は、 破壊されたメッセージのチェックサムが、 元のメッセージのチェックサムと一致する確率は 1/2^16 = 0.0000153 である。
一人の人が、両手の指で表現できる情報は何通りか。ただし、それぞれの指を伸ばす/ 折り曲げるのどちらかしかできないとする。
(略解) 2^10 = 1,024 通り
X さんと Y さんが自身の名前をそれぞれ確実に相手に伝えたい。X さんと Y さんで、 合計何回発話する必要があるか。
(略解) 3 回
X: 私の名前は太郎です。 Y: わかりました。私の名前は健太です。 X: わかりました。
ヤフオクで、 これまで何度も取引きのある出品者からフィギュアを落札した。 この出品者は、 格安でフィギュアを出品してくれるのだが、 おっちょこちょいで発送作業を忘れることがある。 この出品者は、 (無事に発送された場合は) 落札から商品到着までの時間が、 平均 100 時間、 標準偏差 20 時間の正規分布で近似できることがわかっている。 発送済みにもかかわらず催促してしまう割合を 2.5% 程度にするためには、 落札からどれだけの時間を待ってから「発送いただいたでしょうか?」 と催促すればよいか。
(略解) 課題 3 の「秒」を「時間」に置き換えればよい。140 時間。
一人の人が、 両手の指でチェックサム付きで情報を表現する。 8 本の指で 2^8 通りの情報を表し、 2 本の指をチェックサムに使うとする。
10 本の指で情報とチェックサムを表現した後、 いたずら好きの友人に指の曲げ伸ばしをあちこち変化させられた。 変化させられたことを、 2 本の指のチェックサムで検出できない確率はいくらか。
(略解) チェックサムの大きさが 2 ビットであるため、 チェックサムで表現できる値の種類は 2^2 = 4 である。
友人があちこちの指の曲げ伸ばしを変化させた場合は、 変化後の 8 本の指の情報のチェックサムが、 2 本の指のチェックサムと一致する確率であるから 1/4 である。
「レポート課題 2025/09/24」と同じ。
https://lsnl.jp/~ohsaki/lecture/netcomp/2025/#10-10