- ベストアンサー
ポートとはなんなのでしょうか?
インターネットでよく「ポートに接続・・・」とか「ポートを解放・・・」なんて言葉を目にしますが、 正直ポートという言葉の意味をよく理解していません。 ポートとは何なのでしょうか?
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
長くなりますがご了承ください。 まず、ポートというと2種類あります。 1つ目がインタフェース。つまり物理的な接続をするための末端部分。 例えばLANケーブルを挿すために、パソコンに穴が開いていますよね? あそこもポートと呼ばれます。(パソコンに対してはあまり言いませんが・・・) 2つ目がTCP/IPで使われるポート。 おそらくzinrouさんが質問されている"ポート"とはこちらのことです。 ポートをきちんと理解するためにはNAT(NAPT)などについても 勉強する必要がありますが、こちらは後ほど。 さて、質問の"ポートに接続"ですが、まずポートというのはアプリケーションや プロトコルを識別するための番号と考えてもらえればいいと思います。 サービスを提供する側はサーバ、逆にそのサービスを受ける側は クライアントと呼ばれますが、このクライアントがサーバと通信を するためにはIPアドレスとポート番号が必要になります。 例えば、ブラウザでYahoo!のページを見たいとすると、 クライアントは下記のアドレスとポート番号宛にまず通信をします。 [Yahoo!のWebサーバ] IPアドレス:203.216.251.233 (www.yahoo.co.jp) ポート番号:80 [クライアント] IPアドレス:111.111.111.111 (例) ポート番号:60000 接続する際は、クライアントとWebサーバ間の双方向でやり取りを行いますので Webサーバからクライアント宛にはポート60000番宛てに通信をします。 ちなみに80番はWebサーバ(HTTP)であることを示しています。 接続完了後に、クライアントはWebのコンテンツを送るよう要求をし、 サーバがそれに応えることでブラウザにページが表示される仕組みです。 # クライアント側のポート番号はランダムで自動的に割り当てられます。 ポートの番号が1023以下のものはwell-knownポートと呼ばれますが、 それぞれ特定のプロトコルに割り当てられています。 こちらに一覧が乗っています。 http://ja.wikipedia.org/wiki/TCP%E3%82%84UDP%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%E3%81%AE%E4%B8%80%E8%A6%A7 --- 続いて"ポートを開放"についてです。 まず、IPアドレスにはプライベートアドレスとグローバルアドレス があります。 プライベートアドレスは、誰でも自由に使用することができる アドレスですが、特定の範囲内でしか通信できません。 グローバルアドレスはある機関が管理・割り当てをしている 世界で重複のないアドレスです。 インターネットに出るにはこのグローバルアドレスが必要です。 一般家庭のネットワークでは、ISPと契約するとグローバルアドレスが もらえますので、それを使用してインターネットと通信するのですが、 家にパソコンが1台とは限りません。 なので、NATというものを使います。 グローバルアドレスをISPと接続しているルータと呼ばれる機器に割り当て、 パソコンなどの端末にはプライベートアドレスを割り当てます。 先ほど書いたように、プライベートアドレスだとインターネットと 通信できませんので、ルータのグローバルアドレスに変換をします。 では、プライベートアドレスとグローバルアドレスの変換は、 どのように行われているかですが、ここでポート番号が登場します。 先ほどの例に少し付け足しますが。 [Yahoo!のWebサーバ] IPアドレス:203.216.251.233 (www.yahoo.co.jp) ポート番号:80 [クライアント] IPアドレス:111.111.111.111 (ルータのグローバルアドレス) IPアドレス:192.168.1.1 (パソコンのプライベートアドレス) ポート番号:60000 このポート番号とプライベートアドレスの紐付けをルータが記憶し、 変換します。 パソコンが複数あったとしてもポート番号とプライベートアドレスの 紐付けがあれば、どのプライベートアドレス宛に通信させればいいか 判断できますよね。 少し前置きが長くなりましたが。。 今度は自分がWebのサービスを提供したいとすると、80番ポートで Webサーバを立ち上げる必要があります。 ※正確には80でなくても提供することは可能ですが サーバを立ち上げる機器に割り当てられたIPアドレスは プライベートアドレスですので、ポート80番を紐付ける必要が あります。 この設定がいわゆるポート開放というものです。 正確にはポートフォワードやIPマスカレードといいます。 ポート開放ができていれば、ISPと接続しているルータは 自身が持つグローバルアドレスのポート80番宛てに来た 通信はきちんと正しいプライベートアドレス宛に転送します。 [自分で立ち上げたWebサーバ] IPアドレス:111.111.111.111 (ルータのグローバルアドレス) IPアドレス:192.168.1.1 (パソコンのプライベートアドレス) ポート番号:80 [クライアント] IPアドレス:222.222.222.222 ポート番号:50000 別のパソコンでもWebサーバを立ち上げたい場合ですが、ポート80番を すでに紐付けてしまっているので、同じポート番号は使用できません。 長くなってしまいましたが、以上です。
その他の回答 (10)
パソコンの通信ポートとは無線、有線に関わらずインターネット回線に繋げるためのI/Oです。 専門的にはインプット、アウトプットと言います。実際に繋げばLANケーブルからルーターからモデムから電信柱を介して相手先のコンピューター(サーバー等)へ繋がってます、両方向に接続できるからポートと言います、入力と出力と言う事ですね!港にも色んな所から来た船や色んな所に行く船が就航してますよね!しかし到着ホームと出発ホームが決まってます。許可なく勝手に接岸や出航は出来ないように監視してるです、双方向で監視してます。ポート番号の許可証を要求します。解かり易く抽象的に捉えて難しく考えない事です、置き換えて考えてください!万人にわかりやすくポートと表現してると思います!
- wbuta
- ベストアンサー率37% (203/543)
本格的に、ポートの実態を知るには「通信プロトコルとか、TCP/IP」などと言う本を読まないと分からないし読んでもその道に興味が無いと、とてもじゃ無いけど簡単に理解出来る代物では有りません。 --- 下の様々な回答は、全て的を得て居ますが、(盲人に象を触らせると)様々な答えが返って来ると言う逸話←あれと同じで判った様な良く判らない様な感じは有りませんか。 ---- そこで、実体験(実感)として、今自分のPCの中でどのようなポートが使われて居るのか見て見ませんか! ---- 先ず、下のURLにて「ポートビュアー」と言うツール(soft)をDLしてinstallします。PortViewer.exeが出来ますので、それをクリックすれば、視覚的に自分が今使ってるポートが見れます。 http://homepage3.nifty.com/rio_i/lab/portviewer/index.html ↑此処を下へ下げて行くと、 「4.ダウンロード」←そこに、 portviewer-2.0.0.1.zip ←此れをDLし、解凍(場所は何処でも良い←レジストリーは使って無いので、削除も簡単)其処に出来た、PortViewer.exe←をクリックすれば、使用中のポートが一覧表示されます。 ---------
- bardfish
- ベストアンサー率28% (5029/17766)
貴方の言うポートとはTCPやUDPで通信する場合のことでしょう。 http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7 例えば、ホームページを見るときには「http://www.google.co.jp:80」とアドレスを使い、最後にある「80」というのがポート番号になります。 HTTPの場合は80が標準なのでURLを指定する場合「:80」は普通省略します。 ファイヤーウォールなどで80番ポートを閉じてしまうとホームページを見ることができなくなります。 (俗に言う)インターネットでポートを全て開放しているということは、家の玄関や窓を全て開けっ放しにして「泥棒さんウェルカム!!」状態と同じ事。 自分のパソコンやルーターでポートフィルターをかける人もいますが、大抵の場合はプロバイダ側でもポートフィルタリングをしていたり、ポートごとに帯域制限をかけていたりします。
- gungnir7
- ベストアンサー率43% (1124/2579)
入出力の概念のことです。 パソコンにUSB、IEEE、LAN、マウスなどの入出力装置があります。 それらがそれぞれの物理的なI/Oポートということになります。 物理的にポートが接続されてないと装置は使えないわけですが、 ポートを解放という表現は論理ポートを指しています。 物理的に線で繋がった状態で使うにはソフトウェアが必要です。 このソフトで通信する際に必要な概念が論理ポートです。 通信のポートは一番良く使われるでしょうから、これに絞って話をします。 インターネットで通信をするソフトはたくさんあるわけです。 今、IEを3つ立ち上げていて、ウィルスバスターが裏で検索していて・・・ それぞれのソフトが通信をする時に通信ができますかとお伺いをたてます。 OSができますよと返事をしてきたら、自分のところにちゃんと届くようにポート接続します。 このときの識別子みたいなものがポート番号とかで呼ばれているものです。 使い終わったポート番号は保持していてもいいのですが、 放置していくとどんどんとたまっていってしまいます。 何せ論理ポートの中には数秒しか使わないものもあるからです。 そこで不要になったポートは順次ポート番号を0にして解放してあげるわけですね。
IP アドレスで場所を特定できます。それでパケット(データ)は目的地に送れるんですが、さらにそこから分類しやすいように識別番号(ポート番号)を指定して送って来る訳です。 わかりやすくいえばIPアドレスは住所。ポート番号はマンションの部屋番号みたいなもんですね。
- Cupper-2
- ベストアンサー率29% (1342/4565)
もう少し分かりやすい言葉に置き換えるなら、 接続口 でしょうか。 通信に使われる UDP・TCP の各ポート番号は 0から 65,535 まであります。 要は 131072個のデータの接続口(出入口)があると言うことです。 いくつかは決まった使い方をすることになっている予約済みのポートです。 質問の趣旨と離れるのでこの詳細は割愛します。
- denza
- ベストアンサー率27% (63/231)
港は港なのですが。。 たとえばインターネット上のWEBページを見るためには80のポートを使います。 たとえばインターネットでメール受信するにはポート110番を使います。 TCP/IP上にポートという概念があり、使えるサービスを区別しています。 WEBページ閲覧には横浜港。 メール受信には神戸港。 当然港を開放しなければ貿易出来ません。 てなイメージ。ちょっと違うけど。
- frown_knight
- ベストアンサー率30% (234/777)
ちょい訂正。 周辺機器の接続やデータが出入りする港。
- frown_knight
- ベストアンサー率30% (234/777)
ポートすなわち港。 つまり周辺機器をつなげるための港というわけ。