ネットワーク/TCP/IP

Last-modified: 2010-11-10 (水) 00:26:33

基礎知識

TCP/IP

  • TCP(Transmission Control Protocol)とIP(Internet Protocol)から成るプロトコル
    • プロトコル
      • コンピュータが相互通信を行う際に必要な通信規約および通信手順を取り決めたもの
      • プロトコルや技術はRFC(Request For Comments)と呼ばれるドキュメントにまとめられており、一般に参照することができる。※
  •  TCP/IPは狭義にはTCPとIPを指すが、広義にはICMP,UDP,HTTP,SMTPといったTCP/IPに関連するプロトコルも含む、いわゆる「TCP/IPプロトコル群」を意味する。

※プロトコルはIETF(The Internet Engineering Task Force)という組織によって標準化されている

TCP/IPの階層モデル

OSI参照モデル

 かつて各社のコンピュータによる通信環境の差異により互換性が欠如していた。そのため、各社のコンピュータでの相互通信を可能にするため、通信規約の標準化が行われた。その事情により構築されたのがOSI参照モデルである。OSI参照モデルは1970年代後半より検討され、ISO(国際標準化機構)やCCITT(国際電信電話諮問委員会)によって標準化された。

OSI参照モデルの7階層

  • 第7層 アプリケーション層
    アプリケーション間の通信
  • 第6層 プレゼンテーション層
    データの表現形式
  • 第5層 セッション層
    プログラム間の通信手順
  • 第4層 トランスポート層
    直接通信する2プロセス間の通信方法
  • 第3層 ネットワーク層
    通信経路の選択とその通信方法
  • 第2層 データリンク層
    隣接ノード間でのデータ伝送の制御
  • 第1層 物理層
    信号線の物理的・電気的特性

OSI参照モデルとTCP/IP、プロトコルの関連

OSI参照モデルTCP/IPプロトコル
アプリケーション層アプリケーション層HTTP FTP POP3 SMTP SNMP TELNET
プレゼンテーション層
セッション層
トランスポート層トランスポート層TCP UDP
ネットワーク層インターネット層IP ICMP
データリンク層物理ネットワーク層Ethernet ARP RARP ATM FDDI PPP
物理層

IPアドレスとサブネッティング

IPアドレス

  • IPネットワークに接続されたホストに割り振られた個別の識別番号
    • IPv4 32bitのアドレス空間 2^32 = 4,294,967,296 ≠ 43億
    • IPv6 128bitのアドレス空間 2^128 = 3.4×10^38 ≠ 340澗(10^36)

IPアドレスの表記法

  • IPv4
    8bitごと"."で区切って表記される。
    IPv4 の表記法
    192.168.1.11
    11000000101010000000000100001000
  • IPv6
    16bitごと":"で区切って表記される。
    IPv6 の表記法
    2001:fe89:0512:0000:0000:0000:0000:001216bitごとに区切る
    2001:fe89:0512:0:0:0:0012パートが"0000"の場合、"0"と表記できる
    2001:fe89:512:0:0:0:0:12パートの頭に"0"がある場合、省略できる
    2001:fe89:512::12"0"のパートが連続する場合、コロンを2つ続けることで省略できる

ネットワークアドレスの指定

アドレスクラス

IPアドレス(10進数)192.168.10.3ホスト数ネットワーク数
IPアドレス(2進数)11000000101010000000101000000011
0xxxxxxx(1~127)のクラスAネットワーク部(8bit)ホスト部(24bit)16,777,214126
10xxxxxx(128~191)のクラスBネットワーク部(16bit)ホスト部(16bit)65,53416,382
110xxxxx(192~223)のクラスCネットワーク部(24bit)ホスト部(8bit)2542,097,150
 

参考文献

  • ROM付 基本情報技術者 午前 スーパー合格本 2004春(三輪幸市,2003,秀和システム)
  • 萌え萌えうにっくす!UNIXネットワーク管理ガイド(プロジェクトタイムマシン,2003,毎日コミュニケーションズ)
  • Linuxネットワークプログラミング(あきみち,2010,ソフトバンククリエイティブ)

参考URL