男「パケットの気持ちになってみる」女「小包の気持ち?」(41)

男「直訳はそうだな。ここでは通信に用いる伝送単位としてのパケットだ」

女「あー、パケ放題とかのパケット?」

男「うむ」

男「まあ細かい話は俺も知らないから、今回の理解の目標は

 ・パケットが伝送される経路がどうやって決まっているか

 だ」

女「通信会社の中の人が頑張っている」

男「そういう言い方をすればある意味その通りだが・・身も蓋もない」

女「むう。正直、そんな話に興味ないんだけどなあ」

男「パケットの伝送方法が分かれば自宅でwebサーバを建てるときに何をすれば良いかってことが自然と分かるぞ」

女「自宅でwebサーバ?」

男「要するに自分の家のパソコンとインターネット回線で自作のホームページを公開できる」

女「どうせお金かかるんでしょ」

男「ところがどっこい、パソコンと回線費用と電気代以外はかからないんだな」

女「・・ちょっと良いかもって思ったけど、公開したいものなんかなかった」

男「まあまあ、何か公開したいってなったときの足掛かりになるだろ?」

女「そのときはそのとき聞く」

男「それもまあ悪いとは言わないが、公開したいコンテンツを作ることと、webサーバを建てることは全く別の技術だから、両方を同時に学ぶのはしんどいってこともある」

男「別々に勉強すれば問題の切り分けもしやすくなるしな」

女「むう、まあ話したいなら話せば良いんじゃない」

男「うむ、勝手に話す」

男「さて、最初に言ったように今回はパケットの気持ちになって話を進めようと思う」

女「パケットの気持ち、ねえ」

男「登場人物は、パケット、交通整理の爺多数、送信側のパソコン、受信側のパソコン、あと強いて言えば通信路かな」

女「爺多数ですか」

男「仮に爺A、爺Bみたいにしておく」

女「一体どんな説明する気なのよ・・」

送PC「さて、じゃあパケットちゃん。このデータを受PCさんの家に送り届けてくれるかい? 彼の家の具体的な場所は私は分からないけど、そこにいる爺Aさんが外の世界に詳しいから訊いてみると良いよ」

パケット「うん分かった、お母さん! 初めてのお使い頑張るよ!」

・・

女「ねえ、ちょっと」

男「なんだよ、良いところなのに」

女「パケットの気持ちになってって、こういうことなの」

男「うむ」

女「・・そっか」

・・

パケット「爺Aさん! 受PCさんのところに行きたいのだけど、どうやって行けば良いの?」

爺A「おお、パケットちゃん、おはようさん。お使いかい、偉いねえ。えーっと、受PCさんとな? 送PCさんからIPアドレスの書かれた紙は貰ってるかい?」

パケット「んーっと、あった、IPアドレスは分かるよ! これでしょ!」つ 000.111.222.123

爺A「ふむ・・なるほどな000国、111県、222丁、123番地か」

パケット「受PCさんのところへの行き方分かったの?」

爺A「すまんのう、そのIPアドレスはワシでは分からんのじゃ」

パケット「ええー・・」

爺A「でものう、000国の内情に詳しい奴ならワシの知り合いにおるぞ」

パケット「その人なら受PCさんのこと知ってるの?」

爺A「少なくとも彼奴ならば、111県を知る者を知っておるだろう」

パケット「ほんと?! やったー!」

爺A「おっと、そうだ。ここに帰ってくるまでコレを大事に持っておきなさい」

パケット「なあに、これ?」

爺A「なに、帰ってくれば分かるさ」

女「・・IPアドレス?」

男「Internet Protocolアドレスの略だな」

女「インターネットの約束事住所」

男「うむ。IPアドレスと言うのは現実で言う住所に相当するもので、場所に対して割り振られるものだな」

女「場所に対して? なんか気になる言い方をするね」

男「個々の機器に対してはMACアドレスとかがあるからな。Media Access Controlアドレス」

女「どう違うの?」

男「IPアドレスが家なら、MACアドレスは個人かな」

女「ふーん?」

男「ちなみに、爺は現実ではルータに相当するわけだが」

男「送PCが爺Aの場所を知っているのは、そういう設定がされているからだ」

女「そういう設定?」

男「知らない場所へパケットを送るときはとりあえず爺A(ルータ)に訊け、っていう設定。デフォルトゲートウェイ、とか言う奴だな」

パケット「爺Aさんの言う通りならこの経路をまっすぐ行けば爺Bさんのところに行ける・・はず」

爺B「・・おや? どうしたんだい、君。迷子かい?」

パケット「あわわっ!」

爺B「おっと、驚かせてしまったかい、済まないねえ」

パケット「あ、いえこちらこそゴメンナサイ!」

爺B「で、君は誰だい? この爺Bに何か用かい?」

パケット「爺Bさんですか?! よかったぁ、ちゃんと会えて」

爺B「ふむ? さては君、私に道を尋ねに来たのかい」

パケット「そうなんです! 受PCさんを探してて・・えっとIPアドレスは000.111.222.123です!」

爺B「おお、君は私の国の者への贈り物を届けに来たのであったか、ありがたいねえ」

パケット「爺Aさんから爺Bさんを訪ねろと言われたんです」

爺B「ほうほう、爺Aから。懐かしい名前だのう」

パケット「えっと、あのわたしはこれからどっちに行けば良いんでしょう?」

爺B「ふむ000国はここだからな、とりあえずは111県に行くことだろう、そこに行けば爺Cというものが222丁への行き方を教えてくれるはずだよ」

爺B「111県へはこの3叉路の真ん中の道をまっすぐ行けば行けるよ」

パケット「ありがとうございます!」

・・・・

男「こうして、爺A〜Dの協力を経て、パケットちゃんは無事に受PCさんある家にまで辿り着きました」

女「おーめでたしめでたしだね」

男「ところがどっこい!」

女「?!」

男「受PCさんの家には偏屈な爺がいたのだ!」

女「な、ナンダッテー!?」

爺E「おう、なんだい嬢ちゃん? 家になんか用かい?」

パケット「あ、あのえっと・・わたしこの家に送り届けるものがあって・・」

爺E「ほーん? 確かにお嬢ちゃんの言う住所はここだけどのう」

爺E「ここを通るにはある番号が必要なんじゃよ」

パケット「ある・・番号?」

爺E「なんだ、嬢ちゃんはそんなことも知らんでここまで来たのか。しょーがねえな、小包の中にポート番号ってデータはないかい?」

パケット「ポート番号・・? あ、あった! えーっと、・・80番?」

爺E「?! その番号は・・」

パケット「え、ええ? なんかダメだったの?」

爺E「いや、いい。・・この道を行きな、そこに受PCがいる。おっとそうだ、受PCに会ったらこう伝えな」

爺E「ポート番号は『8088番』だ、とな」

パケット「?? うん、分かった。8088番だね!」

女「あっさり通してくれてるじゃない」

男「まあ、正しいポート番号を持ってたからな」

女「そのポート番号ってなんなの?」

男「パソコンってのは色々なアプリケーションがネットワークを利用するんだよ」

女「そりゃそうだよね」

男「例えば同じパソコンがアプリZとアプリYでネットワークからのデータを受信していたとする」

男「このときIPアドレスだけではアプリZとYはネットワークから送られて来たパケットのどれがどっちのだか分からないだろ?」

女「あー」

男「だからZはポート1にYはポート2にパケットを送る、とすればアプリ毎にパケットを区別できるわけだ」

女「なるほどね」

男「ルータはポート番号毎にLAN側のどのパソコンのどのポートに送るかっていう対応表を持ってるんだ」

女「最後に爺Eが教えてくれた番号?」

男「そう。例えば今回なら80番ポートに来たら受PCの8088番へのアクセスだと変換される」

男「この機能を利用して、特定のポートへのアクセスを遮断することも出来る、これがルータのファイアウォール機能だな」

女「なんか聞いた事あるよ、ファイアウォール」

男「特定のアクセスを制限したり許可したりと、制御する門番だと思えばいい」

男「今回だと爺Eはファイアウォールとしての役目もあるわけだ。だから偏屈にもなる」

女「偏屈設定はそんなところに由来してたのね・・」

パケット「ふえぇ・・ようやく受PCさんのところに着いたよぉ」

受PC「おや、お客さんですか」

パケット「あ、えーっとわたしパケットって言います!」

受PC「うん、礼儀正しい子だね。僕は受PCというんだ。僕になんの用だい?」

パケット「えーっと、このデータを届けに来ました! あ、そうだ。爺Eさんがポート番号は8088番だって」

受PC「ほうほう、なるほど送PCさんから僕の8088番ポートにこれを、ね」

パケット「・・あの?」

受PC「おっと、済まない、ちょっと計算をしていてね」

受PC「うん、分かったよ。えーっとパケットちゃん、だよね? 届けて来てもらったばかりで悪いけど、今度はこのデータを送PCさんに送ってくれないかい?」

パケット「え、あ、はい! 分かりました!」

パケット(あれ、なんでお母さんの名前を知ってるんだろう?)

女「たしかに、パケットちゃんは受PCに送PCさんの名前を教えてないよね」

男「それはパケットちゃんが持ってたデータに秘密があるんだ」

女「秘密?」

男「まあ大したものではないよ。普通郵便を送るときは宛先と自分の住所を書くだろ」

女「あー、なるほど。パケットちゃんのあげたデータの中に送PCより、って書いてあったんだ」

男「そういうこと」

パケット「よーっし、今度はこれをお母さんのところへ帰るぞ!!」

受PC「いってらっしゃい、気をつけてね」

パケット「うん!!」

・・

パケット「・・・・・・」ダラダラ

受PC「どうかしたの?」

パケット「帰り道、忘れちゃった・・・・」

受PC「おやおや、でもパケットちゃん、君は送PCさんの家の住所、覚えてるでしょ?」

パケット「あ、そう言えば・・」

送PC「何か困ったことがあったら、家の住所、ここに書いておくから、これで近くの人に道を尋ねなさい」

・・

パケット「そうだった、えーっと・・」つ123.123.123.12

受PC「それさえあれば、爺Eに訊けば道を教えてくれるはずだよ」

パケット「うん、ここに来たときと一緒だよね!」

受PC「うん、今度こそ気を付けていってらっしゃい」

パケット「ふあぁ・・一杯歩いたなあ・・」

爺C「おや、君は」

パケット「あ、爺Cさん! こんにちは!」

爺C「ほう、その様子だと無事に受PC殿に会えたようだね」

パケット「うん、おかげさまで! ありがとう」

爺C「どういたしまして」

パケット「えっと、帰り道は」つ123.123.123.12

爺C「ふむ、それならばこっちじゃな」

パケット「ありがとう!」

爺C「気をつけてな」

パケット「」グゥ–

パケット「///」

爺C「ほっほっほ、ではこのお菓子をやろう」

パケット「いただきます///」

女「これはどういう意味?」

男「パケットとか言うと単なる01データに見えるが、現実には電気信号だったり光信号なわけだ」

女「まあ当然ね」

男「であれば、減衰をすることもあるだろ?」

女「じゃあこれは、ルータとかが減衰したデータを増幅してくれるってことなのね」

男「そういうこと」

パケット「やっと家まで着いたよ・・」

爺A「おやおや、おかえりパケットちゃんや」

パケット「ただいま!」

爺A「おっと、ここまで来たパケットちゃんなら何をすればいいか、分かっておろう?」

パケット「・・?」

爺A「わしもルータの端くれじゃ、何も言わぬものを通すわけにはイカンのじゃよ」

パケット「! えっと123.123.123.12で、えっとポートは?」

爺A「出かけ際に渡したもの、あれを今出すのじゃ」

パケット「あ! えーっと」ガシャガシャ

パケット「あった! えっと、・・52343? なんだか今まで見た番号よりも大きい」

爺A「それで良いんじゃよ、ふむ。その番号は確か・・65532番であったかな」

爺A「では送PCさんのところに65532番ポートへの返事だと言ってデータを渡すといい」

パケット「ありがと!」

男「こうして、無事にパケットちゃんは送PCと受PCとの通信を完了しましたとさ」

女「良かったねえ」

女「ん? でもこれとwebページを作れるってことがわたしの中で対応しないよ」

男「俺が言ったのはwebサーバを建てられる、であってwebページが作れる、ではないぞ」

女「??」

男「ウェブページを公開するために必要なことは、

 ・パソコンが外部からの要求を受け付けられるようにする

 この1点だけだ」

女「そう聞くと簡単そうだね」

男「まあ複雑なことは少ないかな」

これは新しい。

支援。

男「webページってのはHTTPというプロトコルで支えられているのだが」

女「HTTP?」

男「その名前についてはあまり気にしなくて良い」

男「HTTPってのは特に指定しなければ80番ポートへのアクセスを要求するんだ」

女「80番ポート? なんか聞き覚えが」

男「送PCが受PCに対してパケットを送ったポート番号だな」

男「つまり、webページを見たいパソコン(送PC)がwebページを提供しているパソコン(受PC)の80番ポートに対してみせてーと要求する(=要求を意味するパケットを送信する)わけだ」

男「で、見せる側のパソコンはその要求に応えてwebページの情報をパケットに乗せて送る」

>>21
残念ながらパケットちゃんの話はもうこれで終わりなのだ
本当はパケット消失の話も書きたいけど俺が詳しくないからなぁ・・

男「この送PCから受PCへの要求はブラウザが行うからクライアントは全く無意識に要求できる」

女「逆は違うと」

男「うむ、受PCがパケットを受け付けること、それ以降について分けて考えるぞ」

男「まずパケットを受け付けるためにはインターネットに接している端末(爺E)のHTTP用ポート(80番)を開放して、webサーバとして動いているパソコンに紐づける必要があるよな」

男「これはルータ毎に設定方法が多少異なるが、ポート変換や、ポート開放、と呼ばれる設定をすることでできる」

女「変換?」

男「さっきの話では爺Eが8088番だって言ってたところだな。実際のサーバが80番を開放していなくとも、外から見て80番を開放しているように見えればいいわけだ」

女「外からは80番で要求するけど、実際のパソコンは必ずしも80番でもなくても良いってことね」

男「ルータ(爺E)が受PCに要求すべきポート番号を知っているからな」

男「これで受PCにパケットを渡すことができるわけだが、このパケットの内容については今回は特に説明しない」

女「なんで?」

男「HTTPっていう約束事によって内容が決められているわけだが、具体的に何をしてるかというのは今回あまり重要じゃないからな」

男「一応イメージだけ説明すると、webページを見たいパソコン(送PC)が情報を提供しているパソコン(送PC)に対して見せて→いいよ、これ→ありがとうって感じのやりとりをしてるんだ」

男「しかしこの辺りの話はパケットの中身の話であって、パケットの通る道の話ではないからな」

女「そういえばパケットの気持ちになるって話だったね」

男「そういうことだ。パケットはあくまでデータを届けるための手段だ」

女「あれ? そういえば、IPアドレスで相手を捜すって言ったけど、普段ネット使うときにあんな数字なんて見ないよ」

男「まあ人間の感性では数字を直接覚えるのは辛いからな。数字と文字列を対応づける表があるんだ」

女「表?」

男「うむ、DNSとか言われるものだな。Domain Name Serviceの略だ」

女「領域名前サービス」

男「ドメイン名の検索サービスとでも言えば良いのかね」

男「xxx.co.jpとかよく見るだろ?」

女「URLだよね」

男「これがドメインだ。っていうかURLはhttp://とかつく奴じゃないかね。あまり詳しく知らんが・・」

女「へー」

男「DNSの仕組みも基本的にはIPの解決と同じように直接繋がってる相手に知らないか尋ねるだけだ」

男「まあこの辺りはもうパケットのパの字も出ないから別の機会にな」

女「なんだか消化不良な感じにされて不満だよ・・」

男「当初の目標である経路決定は説明できたから良いんだ。話を広げすぎると分からなくなる」

そんなわけで終わり
ネットワークは全然専門じゃないから間違ってるかも
CPUについての質問なら受け付けるよ

あと、個人宅でwebサーバを建てるなら普通はDNSではなくDDNSを使うことになると思います

自前でweb鯖建てる機会があったからパケットの経路決定について調べたらパケットが可愛過ぎてこんなssを書いてみた

パケットの消失(イメージ)

パケットちゃん「ずいぶん歩いたなあ、もうそろそろ爺Dさんのところに着くかな?」

???「どけどけどけぇえええええ!!! パケット様のお通りだぁぁあああああ!!」

パケットちゃん「え? え??」

ドォン!!

パケットちゃん「いたっ!!」

パケット様「いってーな、おめえ! 邪魔クセえんだよ!」ヒュー

パケットちゃん「もーなんなのよ! あの人は!!」

パケットちゃん「・・あれ? ・・・・ない! ないない!! お母さんからもらったデータが全部!」

パケットちゃん「・・あれがないと行くことも帰ることもできないよお・・」

・・・・

一方そのころ送PC

送PC「パケットちゃんの帰りが遅いわね・・。どこかで事故にあったのかもしれないわ・・」

送PC「・・仕方ないわね、面倒くさいけどもう一度同じデータを今度はパケット君に送ってもらおうかしら」

終わり

やっぱりお前だったのか。

パケットの気持ちでググったらまともな通信に関する記事があって草
考えることは大体一緒なんだな

>>32
ななななんのことでしょうか

DNSについてならJPRSのやつが面白い
http://xn--q9jh368tq7p5og4uvy02bbo6a.jp/

爺Eがいるのは自宅サーバーとかの受PCがグローバルIPを持たないときだけだから普通は居ないような

>>36
最近は複数PCとかタブレットとかのためにルータ使うことが普通だからいると思うんだけれど間違ってるかな
モデム?から直にPCにぶっこんでる家庭は少ないんじゃないか?
付け焼き刃だから突っ込まれると自信ない

>商用サービスのサーバのほうがインターネットを構成しているものの圧倒的大多数
言われてみれば確かにそんな気はする
今回は自宅鯖建てをきっかけにしてたから、個人レベルでの話を想定してた
これを読む層も組織の鯖管よりは一般PCユーザーの方が多いと思うし

このSSまとめへのコメント

このSSまとめにはまだコメントがありません

名前:
コメント:


未完結のSSにコメントをする時は、まだSSの更新がある可能性を考慮してコメントしてください

ScrollBottom