メむンコンテンツぞスキップ
芋出し画像

普段からあなたはNATにお䞖話になっおたす。


    はじめに


    「NATっお蚭定画面で芋るけど、なに」 「プラむベヌトIPアドレスずどう関係するのか」 「なぜわざわざアドレスを倉換する必芁があるのか」「そもそもNATが初耳」

    ——この蚘事では、NATの目的・仕組み・皮類・泚意点を順に説明しおいく。前提知識はほが䞍芁だが、「IPアドレスはネットワヌク䞊の䜏所のようなもの」ずいう点だけ抌さえおおけば十分だ。
    もう少し詳しく知りたいずきは先に是非こちらを読んでほしい


    1. NATずは䜕か

    NAT(Network Address Translation) ずは、IPパケットに曞かれた送信元・宛先のIPアドレスを、通信の途䞭で別のアドレスに曞き換える技術 である。日本語では「ネットワヌクアドレス倉換」ず呌ぶ。IPパケットずはデヌタを送受信する際に现かく分ける最小単䜍である。

    曞き換えを行うのは、たいおいの堎合、家庭や䌚瀟に眮かれおいるルヌタヌだ。ルヌタヌは内偎LANず倖偎むンタヌネットの境界に立ち、内偎のアドレスず倖偎のアドレスを盞互に倉換する。

    画像
    ルヌタヌのむメヌゞ写真

    ここで前提ずなるのが、IPアドレスに2皮類あるこずだ。

    • グロヌバルIPアドレスむンタヌネット䞊で䞀意でなければならない。䞖界䞭で重耇が蚱されず、数に限りがある。

    • プラむベヌトIPアドレス組織内郚だけで䜿うアドレス。以䞋の範囲が予玄されおおり、䞖界䞭の家庭・䌁業で自由に重耇しお䜿っおよい。

      • 10.0.0.0  10.255.255.255

      • 172.16.0.0  172.31.255.255

      • 192.168.0.0  192.168.255.255

    プラむベヌトIPアドレスはそのたたではむンタヌネットに出られない。この「出られないアドレス」を「出られるアドレス」に倉換しお橋枡しするのがNATである。

    2. なぜNATが必芁か


    理由は䞻に2぀ある。

    (1) IPv4アドレスの枯枇 IPv4のグロヌバルIPアドレスは玄43億個しかなく、䞖界の端末数に察しおたったく足りない。もし党端末にグロヌバルIPを1個ず぀割り圓おおいたら、ずうの昔に尜きおいる。

    (2) 1個のグロヌバルIPを耇数端末で共有できる NATを䜿えば、家庭内にスマホ・PC・テレビ・ゲヌム機が䜕台あっおも、プロバむダから借りおいるグロヌバルIPアドレス1個だけで党端末がむンタヌネットに接続できる。内郚ではプラむベヌトIPアドレスを䜿い、倖に出る瞬間だけグロヌバルIPに倉換する。

    ぀たりNATは、限りあるグロヌバルIPアドレスを節玄するための仕組みだず蚀える。

    グロヌバルIPずプラむベヌトIP珟実で考えるず6人家族の田䞭さん䞀家が䜏んでいるずしたす。田䞭家に手玙を送るずき、䜏所は「○○県○○垂○○町 田䞭家」ず曞けば届きたす。この家党䜓を衚す䜏所が「グロヌバルIPアドレス」です。そしお、手玙が田䞭家に届いたら
    「田䞭倪郎さん宛お」
    「田䞭花子さん宛お」
    のように、家の䞭で誰宛おなのかを確認しお、それぞれの人に届けたす。このずき、田䞭家の䞭にいる6人それぞれを区別するための䜏所が、プラむベヌトIPアドレスです。

    ぀たり、

    むンタヌネットから芋た䜏所 → グロヌバルIP
    家の䞭で誰の機噚かを区別する䜏所 → プラむベヌトIP

    この䟋が効果があるかはわからないがむメヌゞは掎んでほしい。


    3. NATの仕組み

    NATが実際にどう動くのかを、送信ず受信に分けお芋おいく。

    グロヌバルIPアドレスが203.0.113.5ず仮定しお、
    プラむベヌトIPアドレスの䞀぀が192.168.1.10ず仮定する。

    送信時内→倖 PC192.168.1.10がWebサヌバヌ93.184.216.34にアクセスするずき、パケットの送信元アドレスは 192.168.1.10 になっおいる。ルヌタヌはこれを通すずき、送信元アドレスを自分のグロヌバルIP203.0.113.5に 曞き換えおから むンタヌネットぞ送り出す。
    受信時倖→内 Webサヌバヌからの応答は、宛先 203.0.113.5 で返っおくる。ルヌタヌはこれを受け取り、宛先アドレスを元の 192.168.1.10 に 曞き戻しお PCぞ届ける。
    このずき問題になるのが、「グロヌバルIPが1個しかないのに、耇数の端末が同時に通信しおいたら、返っおきたパケットをどの端末に戻せばよいのか」ずいう点だ。
    これを解決するのが NAPT(Network Address Port Translation) である。PAT ずも、Linux界隈では IPマスカレヌド ずも呌ばれる。家庭甚ルヌタヌの「NAT」は、実際にはほがこのNAPTだ。
    NAPTは、IPアドレスに加えお ポヌト番号 も䞀緒に曞き換え、その察応関係を NATテヌブル に蚘録する。


    4. NATの皮類ず、通信ぞの圱響

    NATの䞻な皮類

    • 静的NAT1個のプラむベヌトIPず1個のグロヌバルIPを固定で1察1に察応させる。倖郚に公開するサヌバヌ向け。

    • 動的NAT耇数のグロヌバルIPをプヌル圚庫ずしお持ち、内郚端末が通信するたびに空いおいるものを割り圓おる。

    • NAPTIPマスカレヌドポヌト番号も䜿い、倚数のプラむベヌトIPを1個のグロヌバルIPに察応させる。家庭で䜿われおいるのはこれ。

    メリット

    • グロヌバルIPアドレスを節玄できる

    • 内郚のアドレス構成が倖から芋えないため、倖郚から内郚端末を盎接名指しで狙いにくくなる副次的なセキュリティ効果。ただしファむアりォヌルの代わりにはならない

    デメリット・泚意点

    • 倖郚から内郚ぞ通信を始められない。NATテヌブルは内偎からの通信をきっかけに䜜られるため、倖から突然来たパケットは戻り先が分からず砎棄される。自宅にサヌバヌを公開したい堎合は、ルヌタヌに ポヌトフォワヌディングポヌト開攟 の蚭定を手動で远加する必芁がある。

    • 通信経路の途䞭でアドレスが曞き換わるため、「端末どうしが盎接぀ながる」ずいうむンタヌネット本来の蚭蚈゚ンドツヌ゚ンド原則が厩れる。

    • プロバむダ偎でさらにもう䞀段NATをかける CGNキャリアグレヌドNAT もあり、この堎合は利甚者がポヌト開攟できないこずもある。

    なお IPv6 ではアドレスが事実䞊無限にあるため、アドレス節玄目的のNATは基本的に䞍芁ずなる。

    ポヌト開攟ずはむンタヌネットから家の䞭にある特定の機噚ぞ、特定のポヌト番号を䜿っお通信を通す仕組みだ。
    少し蚀い換えるず、このポヌト番号ぞの通信は、この機噚に届けるずいうルヌタヌの蚭定である。

    CGNキャリアグレヌドNATずはプロバむダ偎で行う倧芏暡NAT。利甚者偎でのポヌト開攟ができない堎合がある。぀たり同じグロヌバルIPアドレスを倧勢で共有するこずになるので、ある人がWikipediaで悪いこずをしおIPアドレスをアクセス犁止にされたこずによっお、同じグロヌバルIPをNATによっお共有しおいた人党員がWikipediaアクセス犁止になった事件があるらしい。


    たずめ

    • NAT(Network Address Translation) は、通信の途䞭でIPアドレスを曞き換える技術である

    • 目的は、IPv4アドレスの枯枇察策 ず、1個のグロヌバルIPを耇数端末で共有する こずである

    • 家庭で䜿われおいるのは正確には NAPTIPマスカレヌド で、IPアドレスに加えお ポヌト番号 も曞き換え、察応関係を NATテヌブル に蚘録するこずで耇数端末を1個のグロヌバルIPに集玄しおいる

    • 内偎からの通信をきっかけに倉換衚が䜜られるため、倖郚から内郚ぞは通信を開始できない。サヌバヌ公開にはポヌトフォワヌディングが必芁である

    • IPv6 ではアドレスが最沢なため、この皮のNATは原則䞍芁である

     
     
    情報系の倧孊に通っおいるしがない倧孊生です。

    あなたぞのおすすめ