KATUBLO
2019年04月07日

【ネットワーク】NAPT、TCP、UDPとは?初心者がまとめてみた

こんにちは。KATUOです。

ここ数日、空いてる時間を全て個人開発に注いでいたのでブログサボってました。

 

 

とりあえず、これからデプロイっていう感じです。不安でしかないですが。


VPSの中では格安のvultrに載せる予定です。ドキュメントがすべて英語のため、なおさら不安。頑張ります。ちなみに今回の記事では学習する上でわからなかった用語を理解のためにアウトプットしていきます。

 

メモリインターリーブ

メモリを仮想的に分身させることによって、同時に処理を行い、CPUとメモリとのやりとりを高速化させる技術です。

 

CPUとメモリ

CPUは計算を行う部分

メモリはCPUが計算を行う上で必要な情報を置く部分

 

仮想的に分身ってどいうこと?

実際に1GBのメモリがあって、これを分身することで2GBにできる。なんてこと物理的に不可能ですよね。実際にどのようなことが起きてるかを解説していきます。まず、メモリを複数のメモリバンクに分割します。このメモリバンクというのはメモリ内での論理的な構成単位、すなわちメモリを分割したときの単位を表していると考えて問題なさそうです。もちろん分割したメモリを全て足し合わせると分割する前のメモリと同じサイズになるのはいうまでもないでしょう。分割することによってメモリとCPUとのデータ転送にかかる時間が軽減します。申し訳ないのですが、この技術的なところに関しては調べても理解できませんでした。ただ、イメージとしては分割することで、メモリの奥に保存していたデータの出し入れがにかかる時間が減るみたいな感じなんですかね。あくまでも推測です。

 

NAPTとは

プライベートアドレスを複数用意して、グローバルアドレス1つと結び付けるのを管理してくれる。NARTを使用することでグローバルアドレス1つで複数の端末をインターネットに接続することが可能にさせてくれる技術。

 

NARTの仕組みを見てみよう

ポート番号というのを割り当てて、グローバルアドレスを書く端末に割り当てる。

 

TCPとは

TCPという言葉、エンジニアなら絶対聞いたことあるフレーズだと思います。ですが、私みたいな初心者はただ用語を知ってるだけというレベルの方が多いと思います。ここで少しTCPについて調べて若干のレベルアップをしたいと思います。

一般的にTCPTCP/IPというフレーズで使うシーンが多いようです。また内容としてはレイヤー3IPとレイヤー4TCPを組み合わせて通信を行うプロトコルです。このTCPより上のレイヤーにいるHTTPFTPといったプロトコルとの仲介役を担います。またパケットの再送やエラー訂正などを行う。

TCPの特徴は?

TCPは通信の信頼性を重視するという特徴があります。信頼性を重視するというはどういうことと思うのが普通だと思います。これ通信方式が厳重であることからこのように言われています。その仕組みとして送信側がデータを送ったのち、受信側が受け取ったことを、確認する信号を発信し、それを送信側が確認できた時点で通信が完了したとする仕組みである。

 

UDPとは

UDPTCP/IP同様にUDP/IPというフレーズで使われることが多いです。こちらもレイヤー4UDPとレイヤー3IPを組み合わせて通信を実現します。

 

UDPの特徴は?

UDPTCPとは異なり、通信の信頼性は重視していません。これはどういうことか、説明します。送信側がデータを送信し、受信側はただデータを受信するだけで、TCPのように受け取ったという確認の情報は送信側には送らない。つまり、受け取ったという確認をせずに通信を完了とするのがUDPの特徴である。

 

まとめ

TCPとUDPがそれぞれどのような特徴があるのか理解できました。次はポート番号について調べようかなって思ってます。

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

スポンサードリンク

大学生必見就活イベント