インターネットの基礎
この資料に出てくる内容が理解できないと 実験自体の理解ができません.
しっかり予習して臨むこと.
インターネットの概要
• インターネット
•
世界中の企業,大学,団体,組織のネットワークを相互接続し たもの• ISP(インターネットサービスプロバイダ)
•
インターネット接続サービスを提供•
携帯電話会社も一種のISP•
日本最大のISPはドコモのiモード(2014年度3月で5000万人)ISP
携帯電話会社
インターネット
電話網
携帯電話会社 データ通信
電話
OSI参照モデル
• 様々なレベルで通信の取り決めが行われる
•
様々なコンピュータが同一のネットワークに接続してやり取 りするため•
ハードウェアからソフトウェアまで厳密に決められるこのあたりの話
矢沢久雄の情報工学“再”入門 - 第10回 OSI基本参照モデル――7階層による道案内で、データを迷わせない:ITpro http://itpro.nikkeibp.co.jp/article/COLUMN/20070914/281963/
TCP/IP (Transmission Control Protocol / Internet Protocol)
• インターネットで使われる標準プロトコル
•
伝送路やパケットの構成,処理方法をなどを取り決め•
小規模なLANから巨大なネットワークまで柔軟に対応•
標準仕様として技術を公開• IPアドレス
•
ネットワークには様々な識別子が混在•
パソコンなど:MACアドレスという機器固有の番号
•
モバイル:電話番号
•
異なるネットワークに対して,同じ枠組みでの通信を提供• IPv4: 現行の主力規格で32ビットで表現
• IPv6: IPv4の枯渇に伴い開発された128ビットの規格
ネットワークの基本的な考え方
• 通信時にはIPアドレス宛にデータを送る
• ルータは通信を中継する
192.168.1.2 192.168.1.3
ルータ
192.168.1.2 192.168.1.1 192.168.2.2
192.168.1.3さん データ送るよー
192.168.1.2さん OKだよー
ルータ
192.168.2.1
192.168.2.2さんに データ送りたいんだけど...
192.168.2.2 だって?
知らないなぁ...
192.168.2.1は知ってる?
ああ,知ってる知ってる.
192.168.2.2さーん 呼んでるよー!!
はーい.
準備OKですよー.
IPv4
• 10.128.255.7 のように4つの区分で表現
•
各区分は8ビットで4区分で32ビット•
ネットワーク上の住所•
全部で約43億個のアドレスを持つ• 重複は許されない
•
重複するアドレスがあると,そこにはデータが送れなくなる• IANAという組織で一括管理
• ISPに一定範囲のIPアドレスを割り当てる
• グローバルアドレスとプライベートアドレス
•
グローバル:直接インターネットに接続できるアドレス
•
プライベート:LANの中だけで使えるアドレス
• DHCP: プライベートアドレスを動的にLAN内に割り振る
NAT / NAPT (Network Address Port Translation)
• 1つのグローバルアドレスを用いて,複数のプライベー
トアドレスからインターネットへ接続する仕組み
• NAT
•
通信を行う際に,LAN内のPCからやってきたプライベートア ドレスをルータが持つグローバルアドレスに変換•
ルータが持つグローバルアドレス数分しか同時接続できない• NAPT
•
ポート番号が重ならないように動的に割り振ることで1つのグ ローバルアドレスで複数のLAN内のPCを通信可能にルータ インター
ネット
192.168.1.2
192.168.1.3
192.168.1.1
10.128.255.7
ネットワークアドレスとホストアドレス
• 同一のネットワーク内にあるコンピュータを識別する ためにアドレスにルールを設定
•
ネットワークアドレス•
同一ネットワークであることを表現するための部分•
同一ネットワークでは同じアドレス•
ホストアドレス•
ネットワーク内のコンピュータを識別するための部分•
同一ネットワークでは必ず異なるアドレス•
サブネットマスク•
どこまでがネットワークアドレスなのかを表現IP: 10.128.255.7 サブネット: 255.255.255.0
ネットワーク ホスト
IPv6
• fe80:0000:0000:6914:690d:ae59:1234:5432
• 8つの区分で4桁の16進数表記(128ビット)
•
全部で約約340澗(3.4 1038
)個のアドレスを持つ• グローバルルーティングプレフィックスとインタフェース ID
• IPv4でいうネットワーク部とホスト部
•
先頭48ビットがグローバル...,後半64ビットがインタフェースID•
間に入るのはサブネットで,グローバル...を分割する時に使う• グローバルルーティングプレフィックス
• IP管理組織(7ビット),ISP(9ビット),企業組織(16ビット)
• インタフェースID
• MACアドレスから自動的に割り振り可能(EUI-64フォーマット)
トランスポート層(TCP / UDP )
• IPでやってきたパケットをプログラムに渡す
• ポート番号
• 0~65535番までのポート番号がある
•
プログラムとポート番号が紐づいている• IPパケットに送信元ポート番号と送信先ポート番号がついてる
• ウェルノウンポート(Well-known Ports)
• 0~1023番は基本的なプロトコルに割り当てられている
• FTP: 20, 21 (ファイル交換ソフト等)
• SSH: 22 (サーバの遠隔操作等)
• DNS: 53 (IPアドレスとドメイン名の辞書引き)
• HTTP: 80 (Webブラウザ等)
TCP とUDP
• TCP: コネクションを確立する通信
•
大きなデータを分割送信し,受信側で元通りにする•
データが正しく届いたかを確認し,異状があれば再送する1.
分割したデータに以下のデータを付与して送信•
データサイズ•
全体の何バイト目(シーケンス番号)2.
受信時にACK番号(データサイズ+シーケンス番号)を返信3.
送信側はACK番号が正しくないか,返信が無いと再送• UDP: コネクションを確立しない通信
•
ただただ分割したデータを送信•
リアルタイム性を重視した通信に仕様• IP電話,ストリーミング動画