Copyright © 2000-2005 eazyfox. All Rights Reserved.
HOME| Firewall | Security| 製品紹介| SecuTool| Forest| Hello| Link| 掲示板| 雑談掲示板| SiteMap| Contact
HOME > Security > ドメイン・IP・ポート番号について

ドメイン・IPアドレス・ポート番号

Firewallを理解する上でInternetとTCP/IPのプロトコルの知識は不可欠である。ここではTCP/IPとインターネットを知る上でどうしても避けて通れないドメイン、IPアドレス、ポート番号について簡単に説明していきたい。

・ドメイン名とホスト名とIPアドレスの関係


IPアドレスとは世界中に散在するインターネットに接続するコンピュータを一意であらわすための識別番号で8ビット×4の合計32ビットで表す。通常はこのIPアドレスという番号でアクセスをするのだが、そんなものをいちいち覚えることは出来ないので覚えやすくするためにドメイン名とホスト名を組み合わせた表現方法が使われている。

ドメイン名は会社や団体や個人名を申請して、ある範囲のIPアドレスを割り当ててもらったもので、例えばYahooのwwwサーバはwww.yahoo.comという表記をする。

ホスト名とはTCP/IP上でのコンピュータの名前である。yahoo.comがドメイン名であり、www.yahoo.comとはYahoo.comのWWWサーバを表す。yahoo.comではWWWサーバはwwwというホスト名となる。

www. yahoo.co.jp 左から1つ目の"."までがホスト名、それより右側がドメイン名となる。
FQDNとは「完全修飾ドメイン名」と訳されるホスト名とドメイン名を省略せずに表記した内容を示す
ホスト名 ドメイン名
Fully Qualified Domain Name(FQDN)

しかしTCP/IPで識別するのはあくまでもIPアドレスである"204.71.20.160"といった数字となる。どこかでこのIPアドレスとドメイン名、ホスト名の変換を行う必要がでてくる。これを行うサーバーがDNS(Domain Name System)である。

このページをご覧の方のPCもインターネットに接続しているときには1つのIPを使っている。現在自分が使っているIPアドレスを調べるにはWin9x系では"Winipcfg.exe"、NT系では"ipconfig.exe"を実行してもらいたい。ISPに接続したときにDHCPやPPP接続サーバーから割り当てられたIPアドレスが表示されるはずだ。
IPアドレスの割り当てを行うDHCPとPPPについては後述する。

通常、どこかのWWWサーバからコンテンツを受け取って自PCのブラウザで表示するためには以下のような手順をとる。

  1. ブラウザに目的のサイトのURL、例えば"www.yahoo.com"と入力する
  2. ブラウザはISPまたは指定されたDNSサーバに"www.yahoo.com"のIPアドレスを問い合わせる
  3. DNSサーバはキャッシュ内に"www.yahoo.com"のアドレスがあるか検索し、あればそのアドレスを、なければさらに上位のDNSサーバに問合せを行い上位DNSから回答されたIPアドレス(204.71.20.160)をブラウザに回答する。
  4. ブラウザは受け取った"204.71.20.160"を相手先アドレスに設定して80番ポートにコンテンツの要求を送る。そのとき自PCのアドレスを送信元アドレスに設定する
  5. yahoo.comのwwwサーバは受け取った要求に該当するコンテンツを送信元に返信する
  6. コンテンツを受け取ったブラウザはコンテンツの内容を判断しながら画面に表示する

ここで"www.yahoo.com"といったURLはDNSでIPアドレスに必ず変換されるということを理解していただきたい。DNSが利用できないときにはURLの変わりに"207.19.50.166:80"といったIPアドレスの指定が必要になる。ではまとめてみよう

・ポート番号


IPアドレスによってコンピュータの識別ができるが、そのコンピュータで動作しているメールサーバやWWWサーバといったサービスは固有の窓口番号を持っている。これがポート番号である。

コンピュータを大きな港だと考えるとIPアドレスは横浜港や神戸港といった港の名前で、ポート番号は埠頭の番号である。5番埠頭は砂糖の荷降し専用ポートであり、10番埠頭は塩の専用埠頭だとする。埠頭ではいつでも入港可能なようにクレーンや港湾関係者が待機している。当然5番に入ってくる船の荷物は砂糖として扱われ、入港と同時に荷降しを行う。船は後からいくらでも来るし、埠頭に横付けしただけで放っておくわけには行かないのですぐに荷降しの処理しないといけない。
ある船が塩を満載して5番埠頭に入ったとすると、積荷の塩は当然のように砂糖として処理されてしまう。荷を最後まで降ろさなければ次の船の処理ができないので積荷の中身は関係なく降ろしてしまわないといけない。ここで大切なことは

  1. 港には専用の埠頭がたくさんある
  2. 積荷の種類によって決まった専用埠頭に降ろさねばならない
  3. 専用埠頭に入ってきた荷は埠頭に該当する品物としてすぐに荷降しされる
  4. 降ろした荷は塩専用業者がチェックする。

つまりこれをサーバに当てはめてみると

  1. サーバにはサービス固有のポートが多数ある
  2. WWWなら80番、SMTPなら25番と決まったポートにメッセージを送らないといけない
  3. ポートに届いたメッセージは内容をチェックせずにすぐにサービスに引き渡される
  4. メッセージを受け取ったサービスは内容を解析してメッセージを返信する(サービスを提供する)

サーバにおけるポートとはメッセージ受け取り窓口番号だと理解いただけただろうか?
同様にクライアントでもサーバからのメッセージを受け取るための受信箱としてポートを使う。通常は1024番以上のどのプログラムも使っていない番号を探して使われる。そしてデータを受け取り終わるとポートを閉じる。

ポートとはつまり機能(サービス)を提供するための窓口番号とサービスを受けるための受信箱である。したがってWin9x系のクライアント用Windowsが動いているPCでインターネットを見るのが目的なら、通常サーバソフトは動いていない。WWWの80番もFTPの21番もSMTPの25番もNNTPの119番もポートが常に開いていることはないのである。

しかし世の中にはサーバとして機能する(ポートを常に開いている)ソフトもたくさんある。ICQやMSNメッセンジャー等のチャット系のソフトのように相手の接続を待っているようなものや、恐ろしいBackDoorと呼ばれるトロイの木馬系のソフトなどだ。またWindowsでもっとも怖いのはWindowsネットワークまたはファイル・プリンタ共有というNBT(NetBIOS over TCP/IP)のポートである。少し整理してみよう

  1. ポートはサービスを提供するための窓口、またはサービスの提供を受けるための受信箱である。
  2. 通常のWin9xのようなクライアントPCでは提供するサービスがない(少ない)ので開かれているポートは極めて少ない。また開いても一時的で相手は決まっている。
  3. クライアントPCで開いているポートはチャット系とトロイの木馬によるものが多い
  4. インターネットに対してWindowsネットワークのポートを開くのは極めて危険である
  5. Win2K ServerなどのServer系OSでは提供するサービスが多いので開いているポートも多い
  6. 開いているポートが多いと攻撃を受けて被害に遭う可能性が高い

またFirewallを理解するには"コネクションの方向"という考え方も必要となってくる。コネクションの方向とは自分から接続に行く(外向き、Outbound)と外部から接続に来る(内向き、Inbound)がある。これはデータの流れる方向とは関係が無い。

役所などが提供しているFAX情報提供サービスというものをご存知だろうか?だれでもFAXサーバに電話して番号を押せば必要な情報がもらえるというものだ。
情報が必要な人はFAXサーバに自分で電話をかけて情報をFAXでサーバからもらう。FAXサーバ側からみると自分に電話がかかってくるのを待っていて、かかってきた相手にFAX情報を送信するということになる。

つまり電話をかけるのか、かかってくるのかというのが、ここでいう方向というものだ。サービスとは通常かかってくるのを待っている(Inbound)。クライアントPCでは自分で電話をかけてデータをもらう(Outbound)。自分で電話をかけたときには繋がった相手とだけ会話が可能である。またかかってくるのを待つという事は誰からの電話でも受け取るということになる。つまりクライアントから接続に行くと相手のサーバとだけ会話が可能であり、サービスを立ち上げているサーバは接続に来た誰とでも会話しなくてはいけないということである。

・ポート番号、プロトコル番号、ICMPタイプ、Well-Known Portsについては「ポートとプロトコル」に記載しています

参考資料:トップ レベル ドメイン

トップ・レベル・ドメインとはドメイン名の最後に付く国や機関のを表すものである。たいていは国を示す(例:日本なら"JP")。しかし例外として米国だけは機関を示している。

AD Andorra ER Eritrea LS Lesotho SG Singapore
AE United Arab Emirates ES Spain LT Lithuania SH St. Helena
AF Afghanistan ET Ethiopia LU Luxembourg SI Slovenia
AG Antigua and Barbuda FI Finland LV Latvia SJ Svalbard and Jan Mayen Islands
AI Anguilla FJ Fiji LY Libya SK Slovak Republic
AL Albania FK Falkland Islands (Malvinas) MA Morocco SL Sierra Leone
AM Armenia FM Micronesia MC Monaco SM San Marino
AN Netherlands Antilles FO Faroe Islands MD Moldova SN Senegal
AO Angola FR France MG Madagascar SO Somalia
AQ Antarctica FX France, Metropolitan MH Marshall Islands SR Suriname
AR Argentina GA Gabon MK Macedonia ST Sao Tome and Principe
AS American Samoa GB Great Britain (UK) ML Mali SU USSR (former)
AT Austria GD Grenada MM Myanmar SV El Salvador
AU Australia GE Georgia MN Mongolia SY Syria
AW Aruba GF French Guiana MO Macau SZ Swaziland
AZ Azerbaijan GH Ghana MP Northern Mariana Islands TC Turks and Caicos Islands
BA Bosnia and Herzegovina GI Gibraltar MQ Martinique TD Chad
BB Barbados GL Greenland MR Mauritania TF French Southern Territories
BD Bangladesh GM Gambia MS Montserrat TG Togo
BE Belgium GN Guinea MT Malta TH Thailand
BF Burkina Faso GP Guadeloupe MU Mauritius TJ Tajikistan
BG Bulgaria GQ Equatorial Guinea MV Maldives TK Tokelau
BH Bahrain GR Greece MW Malawi TM Turkmenistan
BI Burundi GS S. Georgia and S. Sandwich Isls. MX Mexico TN Tunisia
BJ Benin GT Guatemala MY Malaysia TO Tonga
BM Bermuda GU Guam MZ Mozambique TP East Timor
BN Brunei Darussalam GW Guinea-Bissau NA Namibia TR Turkey
BO Bolivia GY Guyana NC New Caledonia TT Trinidad and Tobago
BR Brazil HK Hong Kong NE Niger TV Tuvalu
BS Bahamas HM Heard and McDonald Islands NF Norfolk Island TW Taiwan
BT Bhutan HN Honduras NG Nigeria TZ Tanzania
BV Bouvet Island HR Croatia (Hrvatska) NI Nicaragua UA Ukraine
BW Botswana HT Haiti NL Netherlands UG Uganda
BY Belarus HU Hungary NO Norway UK United Kingdom
BZ Belize ID Indonesia NP Nepal UM US Minor Outlying Islands
CA Canada IE Ireland NR Nauru US United States
CC Cocos (Keeling) Islands IL Israel NT Neutral Zone UY Uruguay
CF Central African Republic IN India NU Niue UZ Uzbekistan
CG Congo IO British Indian Ocean Territory NZ New Zealand (Aotearoa) VA Vatican City State (Holy See)
CH Switzerland IQ Iraq OM Oman VC Saint Vincent and the Grenadines
CI Cote D'Ivoire (Ivory Coast) IR Iran PA Panama VE Venezuela
CK Cook Islands IS Iceland PE Peru VG Virgin Islands (British)
CL Chile IT Italy PF French Polynesia VI Virgin Islands (U.S.)
CM Cameroon JM Jamaica PG Papua New Guinea VN Viet Nam
CN China JO Jordan PH Philippines VU Vanuatu
CO Colombia JP Japan PK Pakistan WF Wallis and Futuna Islands
CR Costa Rica KE Kenya PL Poland WS Samoa
CS Czechoslovakia (former) KG Kyrgyzstan PM St. Pierre and Miquelon YE Yemen
CU Cuba KH Cambodia PN Pitcairn YT Mayotte
CV Cape Verde KI Kiribati PR Puerto Rico YU Yugoslavia
CX Christmas Island KM Comoros PT Portugal ZA South Africa
CY Cyprus KN Saint Kitts and Nevis PW Palau ZM Zambia
CZ Czech Republic KP Korea (North) PY Paraguay ZR Zaire
DE Germany KR Korea (South) QA Qatar ZW Zimbabwe
DJ Djibouti KW Kuwait RE Reunion COM US Commercial
DK Denmark KY Cayman Islands RO Romania EDU US Educational
DM Dominica KZ Kazakhstan RU Russia GOV US Government
DO Dominican Republic LA Laos RW Rwanda INT International
DZ Algeria LB Lebanon SA Saudi Arabia MIL US Military
EC Ecuador LC Saint Lucia Sb Solomon Islands NET Network
EE Estonia LI Liechtenstein SC Seychelles ORG Non-Profit Organization
EG Egypt LK Sri Lanka SD Sudan ARPA Arpanet
EH Western Sahara LR Liberia SE Sweden NATO Nato field

さらに新しいトップレベルドメインとして下記の名前が使用されている。

biz ビジネスを示す(会社用) http://www.nic.biz/
info 誰でも使用可能 http://www.nic.info/
name 誰でも使用可能 http://www.nic.name/
museum Museum Domain Management Associationが提供する博物館系ドメイン http://www.nic.museum/
coop National Cooperative Business Association が提供する生協系ドメイン http://www.nic.coop/
aero Societe Internationale de Telecommunications Aeronautiquesが提供するドメイン http://www.nic.aero/
pro インターネット・プロのドメイン。誰でも使用可能 http://www.registrypro.com/

Firewallの概説に戻る。
SecurityのTopに戻る。