#norelated
#title(コンピュータネットワーク2の授業メモ)

[[FrontPage>FrontPage]] > [[Network2>./]] (Now)

------------------------------
#contents
------------------------------


* はじめに [#p621168b]
2年生時、秋学期、コンピュータネットワーク2の授業のメモ。

* 準備 [#a14b6e5b]
TCP/IP 下位層は、「プリ、デブ、ネル」だ!


* Lesson01 [#la142d1d]
休みました~
** 物理層 [#r0411e42]
** データリンク層前半 [#xc87de75]

* Lesson02 [#zc552660]
データリンク、ネットワーク層について

** データリンク層 - 後半[#bdf3ff65]
*** 役割 [#rffb9dd2]
+誤り検出
+媒介アクセス制御

*** 誤り検出 [#jaac09c0]
「ネットワーク層」に大して「未検出の伝送の誤りのない回線」と見えるような回線に変換する
*** 媒介アクセス制御(MAC : Media Access Control) [#y4175d78]
多元接続の機能を提供する


***Ethernetフレームフォーマット [#d78a4743]
大事なのは、宛先MACアドレス、送信元MACアドレスの2つがあること。
***MACアドレス [#h8bccb7d]
ベンダ識別子(OUI:Organiztionally Unique Identifier) + ベンダ内での識別子
 
** 媒介共有型ネットワーク [#gb0e9280]
*** CD/CSMA [#k3a0897b]
Collision Detection/Carrier Sense Muitiple Access | 超重要な概念。~
ネットワークを監視し、もし通信の衝突が起こったら、そのことをネットワーク全体に報告(Jam Signal)し、ランダム時間待機して、再送信を行う。


** 媒体非共有型ネットワーク [#u756c4c2]
*** スイッチング技術 [#l928fd00]
:スイッチングハブ | それぞれのポートがブリッジになっているハブ
*** 無線LAN [#rb2761f7]
:CSMA/CA | Carrer Cense Multiple Access を使用している

*** ループ検出するための技術 [#b14c1ca6]
:スパニングツリー | ルートブリッジを起点にブリッジ間でツリーを構築。~
各ブリッジ間で、データのループを検出し、他のツリーに流さない。
:ソースルーティング | 送信元にデータが帰ってきたときに、経由ブリッジを把握し、効率よく送信を行う

** ネットワーク層 [#z3a36733]
*** 目的 [#t6e3f83a]
+ 異種データリンク間の相互接続
+ 拡張性の問題の解決

*** IP [#l2111b9c]
:Internet Protocol | Networl Layer の勘所。~
EndToEnd の通信を実現するもの。
:IP Address | Internet に接続されるホストは、IP Address がつけられる。~
これを元に IP Paket が送られる
:ルーティング | 経路制御のこと。これも IP を用いる。


*** コネクション型通信 [#j4765548]
通信開始時に、一度ネットワークを構築してから、通信を行う。~
早さがなく、複雑になりやすいが、信頼性のある通信に用いる。

*** コネクションレス型通信 [#qe30aadb]
:ポップバイポップルーティング | 各ホップごとに、最短のルートへ通信を行い、その後のことは気にしない。
早く、簡単に通信を行う。~
データの信頼性はあまりない。

*** IP Address [#zf8692bc]
:IP Address | 32bit長のデータ。~
ネットワーク部 + ホスト部で構築される。
:Sub Net Mask | IP Address におけるネットワーク部のこと
:クラス | A ~ D までのクラスがある。~
ネットワーク部の長さによって分けられた IP Address の分類。~
ちなみに、クラスDはブロードキャストアドレス。
:ネットワークアドレス | そのネットワークのみに対してデータ送信を行うアドレス
:ブロードキャストアドレス | すべてのネットワークに対してデータ送信を行うアドレス
:プライベートアドレス | 決して接続することのない端末同士が、同じ IP Address を持っていもいい仕組み

*** ルーティングテーブル [#sf6a9f47]
+ 経路制御表を参照
+IP送信先ネットワーク決定
+送信
+次のネットワークへ

*** ルーティングテーブルの集約 [#m11d4cb2]
よくわからない。~
要は、サブネットマスクを1bitのばして、一括送信する。管理する

*** IPの分割処理と、再構築処理 [#h3ee3b88]
異なるネットワークに属している場合、最大送信パケット長が異なる場合がある。~
そういうときにルータにデータが届いた時点で、データを短くしたり、逆に、戻すときに復元したりする処理が必要になったりする。
:経路MTU検索 | [[IT Pro 記事:http://itpro.nikkeibp.co.jp/article/COLUMN/20051202/225628/]]
*** IP ヘッダ [#yd2d3206]
IPv4とかIPv6の企画に従って、ヘッダが規定されている。
*** ARP [#yaee12af]
:Address Resolution Protocol | 送信先の MAC Address を取得する
- MAC Address の必要性
知らないホスト間をネットワークでつなぐ際、MAC Address だけで構築されたネットワークだと、接続されたネットワークに対してすべてのパケットを送信しないといけない。~
すると、システムへの付加が大きい。~
なので、IPAddress によって構築されたネットワーク単位で解決することで、全体的な付加を軽減する。
*** ICMP [#g1154563]
:Internet Control Message Protocol | IPの補助的使用~
到達可能メッセージなど、いろいろなメッセージがある
*** NAT [#ebaf0143]
:Network Address Translator |ローカルネットワークでは、プライベートIPアドレスに設定~
インターネットワークでは、グローバルIPアドレスに変換
*** NAPT [#ve1de318]
:Network Address Ports Translator | TCPやUDPのポートも変換する~
一つのグローバルIPアドレスで、複数のホスト間での通信が可能
*** DHCP [#b6f1837b]
:Dynamic Host Configuration Protocol | ホストのネットワーク接続時の設定を自動化

--------------------------
実は、ここから後期の範囲

* Lesson 3 - トランスポート層[#q05e1958]
** 役割 [#ya1f8cc5]
+ポート番号によるアプリケーションの識別
+通信の処理~
クライアント/サーバモデル~
サーバプログラム:デーモン、fork
** ポート番号 [#kf0e1fbc]
:5つの数字による通信の識別 | IPヘッダ部(送信元IPAddress, 宛先IPAddress, TCP)と、TCPヘッダ(送信元ポート番号, 宛先ポート番号)
:Well-known Port Number | 0 ~ 1023
:ほげほげなんばー? | 1024 ~ 49151
:ダイナミックなポート番号 | 49152 ~ 65535
** UDP と TCP [#qb14622a]
:User Datagram Protocol | 単純。IPを用いてコネクションレス。
:Transmission Control Protocol | 複雑。信頼性の高い通信。~
順序制御、再送制御、ウィンドウ制御、フロー制御、輻輳制御







* 参考プログラム [#v6ca2bcb]
:[[Sock - Richard Stevens' sock Program:http://www.icir.org/christian/sock.html]] | 授業で解説があったプログラム


* 参考資料 [#i1ff4340]
:[[TCP/IP入門:http://www.atmarkit.co.jp/channel/tcpip/tcpip.html]] | @IT の連載記事
:[[復習を始める、その前に。TCP/IPまるわかり:http://ascii.jp/elem/000/000/424/424788/]] | ASCII.jp の連載記事
:[[仮想ネットワークの実装で学ぶTCP/IP:http://codezine.jp/article/corner/260]] | CodeAine の連載記事

 

* 参考文献 [#r84b7ed3]
:[[マスタリングTCP/IP 入門編 - 著者 発行日 出版社:]] | 教科書。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Ads by Sitemix