インターネットで通信するためのプロトコル=TCP/IP
TCPとIPは層が違うが、2層分合わせて一式とみなす(さらにアプリケーション層も含む)
遠くに繋げるのに必要な要素
- アドレス
- 経路
TCP/IP
別名:インターネットプロトコルスイーツ
インターネットを構築する上で必要となるプロトコル一式
仕様はオープン
#ネットワーク層・インターネット層
特徴
IPアドレスを元にパケットを転送する仕組み
様々な物理層/データリンク層をまたがった広域通信を実現。異なるネットワークを相互接続する。
異なる物理層規格のネットワークを接続する装置=ルーター
ルーター(転送装置)はネットワーク層を処理
役割
データリンクの抽象化
データリンクとの違い
イーサネット、無線LAN、PPPなどを上位層に見せない
IP層の通信方式
コレクションレス型通信
通信相手とコネクションを確立しない
簡略化と高速化のため
コネクション確立が必要な場合は上位層が提供(TCP)
ベストエフォート
パケットを宛先に届けようと最大限頑張るけど、届くかの保証はしない
エンド・エンド原理
ネットワーク層以下のはできる限り簡素化、複雑な処理(トランスポート層以上)はエンドホストで行う。
ルーター
インターネットはルーターで相互接続されている
ルータの仕事: 受け取ったパケットに書かれた宛先のアドレスをみて、パケットを次のルータにフォワード(転送)する。宛先はヘッダに書かれている。
転送するだけで届いたかは確認しない
ノード=ホスト+ルーター
IP層の機能
IPアドレス
ホストやルータにアドレスが割り当てられる
アドレスはパケットのヘッダに記載される
NIC(Network Interface Card)毎に割り当てられる
MACアドレスじゃダメなの?
MACアドレスは階層性を持たない
もし全てイーサネットでつながれていたら...
280兆個のエントリ数を持つ経路表を管理できれば可能
IPアドレスの形式
32bitの2進数
ユーザーフレンドリーではない=>DNS(ex www.waseda.jp)
32bit=4byteの正数値(unsigned int)
人間は8bitずつに区切って10真数に変換して扱う。
ネットワーク部とホスト部
ネットワーク部とホスト部にわかれる(境界は自由に決めて良い)
アドレスの階層化・分散管理の実現が目的
ネットワーク部: 組織単位で割り当て
ホスト部: 組織毎のネットワークで割り当て
プレフィックス表記
例: 192.168.128.10/24
先頭から24bitがネットワーク部
サブネットマスク
M=11111111.11111111.11111111.10000000
MとIPアドレスを論理積演算するとネットワーク部が出てくる
ブロードキャストアドレス
ホスト部を全て1にしたもの
同一セグメントに接続された全てのホストにパケットに送信するためのアドレス
IPマルチキャスト
特定のグループに所属する全てのホストにパケットを送信する仕組み
経路制御(ルーティング)
宛先IPアドレスのホストまでパケットを届けるための機能
ホップバイホップルーティング
ホップ: データリンク層フレームが伝送される1区間
経路MTU探索
IPによるフラグメンテーションはできれば行いたくない(ルータの負担増加、パケットロス時の無駄)