プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • ネットワーク
  • 【ネットワーク】「NATタイプ」とは?
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【ネットワーク】「NATタイプ」とは?

12.30

  • miyabisan2
  • 1件のコメント

この記事は2分で読めます

NATタイプとは?

NAT変換する際のポート番号、逆変換の対象に関連するタイプ分けです。(動的NAT、静的NAT、NAPTなどとはまた別の分類です。)、家庭用のBBR(ブロードバンドルータ)では設定は変更できないようになっています。

NATタイプの大まかな分類

cone型とSymmetric型の2種類があります。

cone型

宛先に関わらず、唯一のアドレスを生成します。

イメージ図

後は、LAN側のNATがWAN側へ一度でも送信したことがあるかでセキュリティレベルが変わってきます。ただ、セキュリティレベルが高くなったとしても(address restricted portやport restricted portが使われた場合でも)クライアントAとクライアントBで一度送受信を行えば相手のNATに通信履歴が登録されるので、向こう側からの通信が成功するのでUDPホールパンチングは成功します。

Symmetric型

宛先ごとに動的にポート番号を生成します。なので、cone型のように一度失敗してNATテーブルに宛先を記憶させてアクセスさせるというような手法は使えません。

NATタイプの種類

Full cone(フルコーン) NAT(セキュリティレベルが低い)

「インターネット側からLAN側への通信において、一度も送信したことがないIPアドレスでも受信可能な方式」です。(なお、UPnPのポートマッピングはほぼこれに該当します。)

一度NATの変換され、対応エントリが存在する場合には、一度も送信したことのないWAN側の端末からのパケットもエントリが存在するIPアドレス:Port番号宛てにパケットが届いた場合はLAN側に転送する。

Address-Restricted cone(制限付きコーン) NAT(セキュリティレベルが低め)

「一度送信した端末(NATデバイス上にWAN側に送信先アドレスのエントリが存在する場合)であれば受信可能」な方式です。

一度送信したことのある端末からのパケット(送信元IPアドレスが一度送信したことある端末のも)であるならば、WAN側からのエントリが存在するIPアドレス:Port番号宛てにパケットが届いた場合はLAN側に転送する。

Port-Restricted cone(ポート制限付きコーン)NAT(セキュリティレベルが高め)

「一度送信した端末(NATデバイス上にWAN側に送信先アドレスと送り元Portのエントリが存在する)であれば受信可能」です。

一度送信したことのある端末からのパケット(送信元IPアドレス:Port番号が一度送信したことある端末のも)であるならば、WAN側からのエントリが存在するIPアドレス:Port番号宛てにパケットが届いた場合はLAN側に転送する。
*つまり、WAN側からきたパケットの送信元IPとportが一回送信したことのあるやつじゃないと通さないってことですね。

Symmetric(シマンテック、対象型) NAT(セキュリティレベルが高い)

対象型NATは最も制限の厳しいもので、「宛先アドレスとポートを用いて接続先を区別し、一つの接続先に対し一つのアドレス変換を用いる」方式です。

LAN側のIPアドレス:Port番号とNAT変換されるWAN側のIPアドレス:Port番号が1対1に対応し、WAN側の宛先毎に変換されるport番号が変わる。
*LAN側の端末A(192.168.1.1,port1000)がWAN側の端末B(10.10.10.1,port80)に対してパケットを送信する際にはNAT変換されたIPアドレスとPort番号は(仮10.10.10.100,port1000)となるが、LAN側の端末A(192.168.1.1,port1000)がWAN側の端末C(10.10.10.2,port80)に対してパケットを送信する際にはNAT変換されたIPアドレスとPort番号は(仮10.10.10.100,port1001)となる。より具体的には宛先Bのport80とport20に対してパケットを送信した場合にも同様に変換される歳のポート番号が変わることになる。

スポンサーリンク
  • 2021 12.30
  • miyabisan2
  • 1件のコメント
  • ネットワーク
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2019 12.23

    【ネットワーク】「bindアドレス」や「0.0.0.0」とは?

  2. 2020 06.09

    【サーバー技術】「ポート番号」、「lsofコマンド」について

  3. 2020 06.16

    【ネットワーク】プロトコルやTCP/IPについて

  4. 2022 01.01

    【ネットワーク】「SRTP」について

  5. 2021 12.10

    【ネットワーク】「ソケット通信」と「HTTP通信」の違い

  6. 2020 09.29

    【インフラ】「ロードバランサー(負荷分散装置)」について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【セキュリティ】「暗号スイート」、「SSLハンドシェイ…

【マルチメディア】「ハウリング」と「エコー」について

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー