IPとIPアドレス

インターネットの通信方式

インターネットの通信の基本的なプロトコルをインターネットプロトコル(IP)といいます。

通信の基本単位であるパケットに発信者と宛先などの情報を付加して送ること、発信者と宛先はIPアドレスで表すことがこのプロトコルで決められています。

実際の通信ではパケットが届いたかどうかの確認や送り直しが必要な場合もあり、様々な機能が別の名前のプロトコルとしてたくさん追加されています。

このたくさんのプロトコルの集まりを表現するのに、TCP/IP といいます。

IPアドレス

現在用いられているアドレスは主にIPv4(アイピーブイヨン)です。0から255までの数値を4つドットで区切って並べたものです。

たとえば、

219.118.218.250

しかし、この方法では 256*256*256*256= 約42億 しかアドレスがとれません。これでは全世界のひとりひとりに1個のアドレスを割り振るにも不足です。

そしてついに2011年前半で新たに割り振るアドレスがなくなりました。これからはかねてから用意してあったIPv6(アイピーブイ6、アイピーバージョン6)が割り振られます。

しばらくはIPv4とIPv6を混用することになっているのでいろいろトラブルが起こるかもしれません。

IPv6は次のようなアドレスです。

2001:c90:509c:8110:224:8cff:fe63:24f6

16進表記で4桁ずつ:で区切ったものが8つになりますが、略記法もあって短く書ける場合もあります。これでいくつのアドレスが使えるかというと 約340澗(かん) 個。これは340兆の1兆倍のさらに1兆倍(万、億、兆、京、垓、𥝱(秭)、穣、溝、澗、正、...です)。340×1036です。

IPv4と比較のためにビット数(2進表記にしたときの桁数)で比較すると

IPv4  32ビット
IPv6 128ビット

分散管理

ローカルネットワーク内の接続は個々のネットワーク管理者の責任となります。

分岐点にはルーターと呼ばれる装置がありパケットを振り分けていますが、ルーターは常に隣のルーターと経路情報を交換して自動で経路を決めていきます。ルーターの故障や増設があったときには相互の情報交換で新しい経路を見つけ出します。経路情報を集中して管理している人がいるわけではありません。

個々のLANを管理する人はいても、中央で全体を管理している人がいないのは不安かもしれませんが、大きな天災やテロ、戦争や政変でも全体が麻痺してしまわないように分散管理が大切なのです。

IPアドレスや次に説明するドメイン名は誰にどれを割り当てるかの管理が必要ですがこれも複数の国、政府機関、企業、民間団体など性格の異なるものに権限を分割しています。ただし歴史的にアメリカ合衆国の組織が多いので、これを心配をする人もいます。

RFC

インターネットの仕組みの取り決めはRFCで合議で行われます。ある国や会社が決定する権限を持たないようにしているのです。

Request for Comments(略称:RFC)はIETF(Internet Engineering Task Force)による技術仕様の保存、公開形式である。内容には特に制限はないが、プロトコルやファイルフォーマットが主に扱われる。RFCは日本語では「コメント募集」の意味であり、もともとは技術仕様を公開し、それについての意見を広く募集してより良いものにしていく観点から始められたようである。全てのRFCはインターネット上で公開されており、誰でも閲覧することができる。出典: フリー百科事典『ウィキペディア(Wikipedia)』

 RFCの一覧

    * RFC 748 - Telnet ランダム喪失オプション(1978年のジョークRFC)
    * RFC 768 - UDP
    * RFC 783 - TFTP
    * RFC 791 - IP
    * RFC 792 - ICMP
    * RFC 793 - TCP
    * RFC 826 - ARP
    * RFC 854 - Telnet
    * RFC 894 - IP over Ethernet
    * RFC 903 - RARP
    * RFC 959 - FTP
    * RFC 1034, RFC 1035 - DNS
    * RFC 1149 - 鳥類キャリアによるIPデータグラムの標準規格(1990年のジョークRFC)
    * RFC 1157 - SNMP
    * RFC 1189 - CMIP
    * RFC 1242 - ネットワーク相互接続機器のためのベンチマーク用語
    * RFC 1305 - NTP
    * RFC 1459 - IRC
    * RFC 1468 - インターネットメッセージのための日本語文字符号化(ISO-2022-JP)
    * RFC 1808 - 相対URL(RFC 3986により破棄)
    * RFC 1855 - ネチケットガイドライン
    * RFC 1866 - HTML 2.0(RFC 2854により破棄)
    * RFC 1867 - HTMLにおけるフォームからのファイルアップロード(RFC 2854により破棄)
    * RFC 1928 - SOCKS v5
    * RFC 1939 - POP Version 3
    * RFC 1942 - HTMLにおけるテーブル(RFC 2854により破棄)
    * RFC 1951 - Deflate圧縮フォーマット仕様 Version 1.3
    * RFC 1980 - HTMLにおけるクライアントサイドイメージマップ(RFC 2854により破棄)
    * RFC 2070 - HTMLの国際化(ISO-8859-1以外の文字セットをHTMLで使えるようにしたもの。「HTML2.x」もしくは「HTML i18n」ともいわれる。RFC 2854により破棄)
    * RFC 2080 - RIPng for IPv6
    * RFC 2083 - PNG
    * RFC 2131 - DHCP
    * RFC 2205 - RSVP
    * RFC 2247 - LDAP/X.500 識別名におけるドメイン名の使用
    * RFC 2251 - LDAP v3
    * RFC 2252 - LDAP v3: 属性文法の定義
    * RFC 2253 - LDAP v3: UTF-8 識別名のストリングリプレゼンテーション
    * RFC 2254 - LDAP v3: LDAP 検索フィルタの定義
    * RFC 2255 - LDAP URL形式
    * RFC 2256 - LDAP v3 で利用される X.500(96) ユーザスキーマの要約
    * RFC 2322 - Management of IP numbers by peg-dhcp(洗濯ばさみ-DHCPによるIPアドレス管理)(1998年のジョークRFC。実装例は#外部リンク参照)
    * RFC 2324 - Hyper Text Coffee Pot Control Protocol(1998年のジョークRFC)
    * RFC 2328 - OSPF Version 2
    * RFC 2396 - URIの一般的書式(RFC 3986により破棄)
    * RFC 2401 - IPSec : Security Architecture for the Internet Protocol
    * RFC 2453 - RIP Version 2
    * RFC 2460 - IPv6
    * RFC 2468 - IANAを偲ぶ
    * RFC 2549 - 鳥類キャリアによるIPのサービス品質(1999年のジョークRFC)
    * RFC 2550 - Y10K and Beyond(1999年のジョークRFC。2000年問題ではなく10000年問題について)
    * RFC 2555 - RFCの30年
    * RFC 2616 - HTTP/1.1
    * RFC 2732 - URLへのIPv6アドレスによるリテラルを含む書式(RFC 3986により破棄)
    * RFC 2740 - OSPF for IPv6
    * RFC 2795 - The Infinite Monkey Protocol Suite (IMPS)(1999年のジョークRFC。無限の猿定理の実証で用いることのできるプロトコル)
    * RFC 2854 - text/htmlメディアタイプ(IETFにより標準化されたHTMLを破棄し、メディアタイプがtext/htmlである文書の仕様についてはW3Cの仕様書を参照するように定めた)
    * RFC 2865 - RADIUS認証プロトコル
    * RFC 3261 - SIP
    * RFC 3305 - Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations(URI、URL、URNという概念についての考え方)
    * RFC 3377 - LDAP v3: 技術仕様
    * RFC 3411, RFC 3412, RFC 3413, RFC 3414, RFC 3415, RFC 3416, RFC 3417, RFC 3418 - SNMP
    * RFC 3501 - IMAP Version 4rev1
    * RFC 3514 - The Security Flag in the IPv4 Header(2003年のジョークRFC。このRFCは発行されたその日にFreeBSD上で実装された(すぐにキャンセルされたが))
    * RFC 3550 - RTP
    * RFC 3751 - Omniscience Protocol Requirements(2004年のジョークRFC)
    * RFC 3920, RFC 3921, RFC 3922, RFC 3923 - Extensible Messaging and Presence Protocol (XMPP) (Jabberを参照)
    * RFC 3977 - NNTP
    * RFC 3986 - URIの一般的書式
    * RFC 3987 - Internationalized Resource Identifiers(Unicodeの文字を使えるようにしたリソース識別子であるIRIの仕様定義)
    * RFC 4041 - Requirements for Morality Sections in Routing Area Drafts(2005年のジョークRFC)
    * RFC 4042 - UTF-9 and UTF-18 Efficient Transformation Formats of Unicode(2005年のジョークRFC)
    * RFC 4250, RFC 4251, RFC 4252, RFC 4253, RFC 4254, RFC 4255, RFC 4256 - SSH
    * RFC 4271 - BGP
    * RFC 4346 - TLS
    * RFC 4824 - The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS)(2007年のジョークRFC)
    * RFC 4960 - SCTP
    * RFC 5321 - SMTP
    * RFC 5322 - Internet Message Format

Internet Engineering Task Force

The Internet Engineering Task Force (インターネット技術タスクフォース、IETF) はインターネットで利用される技術の標準化を策定する組織である。

極めてオープンな組織で、実際の作業を行っている作業部会(Working group; WG)のメーリングリストに参加することで、誰でも議論に参加することが可能となっている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

IPアドレスを調べる

Linuxの場合、自分のコンピュータのIPアドレスは次の様にして調べます。

コマンドライン端末を使います。

[アプリケーション]-[アクセサリ]-[端末]で起動されるソフトウェアです。

コマンドライン端末はターミナルとかコンソールなどとも呼ばれます。

プロンプトの $ の後に、ip addr と入力して[Enter]キーを押します。

adachi@vine41:~$ ip addr[Enter]

次のような表示になるはずです。

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:e0:18:05:1a:65 brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.40/8 brd 10.255.255.255 scope global eth0
    inet6 fe80::2e0:18ff:fe05:1a65/64 scope link 
       valid_lft forever preferred_lft forever

2:eth0 の inet にIPv4のアドレス、inet6 にIPv6のアドレスが出ています。

ちょっと前のLinuxではこちらの ifconfig を使わなければならないかもしれません。

adachi@vine41:~$ /sbin/ifconfig[Enter]
$ /sbin/ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス 00:e0:18:05:1a:65 
          inetアドレス:10.10.10.40 ブロードキャスト:10.255.255.255  マスク:255.0.0.0
          inet6アドレス: fe80::2e0:18ff:fe05:1a65/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:13838 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:13182 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000 
          RXバイト:8936497 (8.5 MiB)  TXバイト:3470306 (3.3 MiB)
          割り込み:10 ベースアドレス:0xb000 

lo        Link encap:ローカルループバック  
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:16436  メトリック:1
          RXパケット:30 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:30 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:0 
          RXバイト:2332 (2.2 KiB)  TXバイト:2332 (2.2 KiB)

ただし、10.xxx.yyy.zzz というアドレスや、192.168.xxx.yyy というアドレスは LAN内のみで使うことを許された「プライベートアドレス」です。インターネットにアクセスするにはLANとインターネットをつないでいるルーターでインターネットに通用する「グローバルアドレス」に変換します。

IPv6のfe80で始まるアドレスもLAN内で限定的に使われるアドレスです。

「IPとIPアドレス」の課題

(1)インターネットの通信をなぜパケット方式にしたのか

(2)インターネットの規約をRFCという形式にしたのはなぜか

(3)自分が使っているコンピュータのIPアドレスを調べなさい。(IPv4,IPv6両方)

聖愛中学高等学校
http://www.seiai.ed.jp/
Feb. 2012