- vừa được xem lúc

[Networking] Tìm hiểu về NAT trong mạng - Part 1

0 0 7

Người đăng: Duy Võ

Theo Viblo Asia

Vấn đề với Địa chỉ IPv4

Địa chỉ IPv4 có 32bits <=> 2^32 ~ 4.2 tỷ địa chỉ, với sự bùng nổ công nghệ và internet thì con số sấp sỉ 4.2 tỷ địa chỉ kia không đủ để chia đều cho các thiết bị trên toàn cầu. Việc chuyển từ IPv4 sang IPv6 mất khá nhiều thời gian. Vì vậy cần một giải pháp có thể mở rộng không gian địa chỉ IPv4 để chứa tất cả các thiết bị, đó là lý do NAT (Network Address Translation) ra đời.

Cách NAT Giải quyết vấn đề

NAT cho phép một tổ chức sử dụng một bộ địa chỉ IP riêng (private IP) trong mạng nội bộ và chỉ sử dụng một hoặc một vài địa chỉ IP công cộng (public IP) để giao tiếp với bên ngoài. Điều này giúp tiết kiệm số lượng địa chỉ IP công cộng.

Bộ Địa chỉ IP Riêng (Private IP)

  • 10.0.0.0/8: Từ 10.0.0.0 đến 10.255.255.255
  • 172.16.0.0/12: Từ 172.16.0.0 đến 172.31.255.255
  • 192.168.0.0/16: Từ 192.168.0.0 đến 192.168.255.255

Các địa chỉ IP thuộc dãy private này có thể được tái sử dụng cho tất cả các thiết bị trong mạng nội bộ. Địa chỉ IP công cộng (Public IP) là duy nhất và được sử dụng để giao tiếp với Internet. Quá trình chuyển đổi giữa địa chỉ IP private và địa chỉ IP công cộng chính là NAT.

Ví dụ:

Hãy tưởng tượng một khu phố với nhiều ngôi nhà:

  • Khu phố: đại diện cho internet toàn cầu.
  • Ngôi nhà: đại diện cho một mạng nội bộ, và địa chỉ ngôi nhà là duy nhất đại diện "Public IP".
  • Các phòng trong ngôi nhà: đại diện cho các thiết bị trong mạng nội bộ, và mỗi thiết bị mang một địa chỉ riêng "Private IP".

Các ngôi nhà khác nhau (mạng nội bộ khác nhau): Mỗi ngôi nhà có thể có các phòng giống nhau như phòng khách, nhà tắm, phòng ngủ,... (địa chỉ IP riêng tư giống nhau), nhưng chúng không xung đột vì mỗi ngôi nhà có địa chỉ công cộng duy nhất.

=> Tái sử dụng địa chỉ IP.

Cách hoạt động

  1. Truy cập từ bên trong ra ngoài (Outbound Traffic):
  • Khi người trong nhà (thiết bị nội bộ) muốn gửi thư (dữ liệu) ra ngoài khu phố (Internet), cổng chính của ngôi nhà (router NAT) sẽ thay đổi địa chỉ từ địa chỉ phòng (Private IP) thành địa chỉ ngôi nhà (Public IP).
  • Ví dụ: Thư từ phòng khách (192.168.1.2) sẽ được gửi đi với địa chỉ "123 Main Street" (203.0.113.1).
  1. Nhận thư từ bên ngoài vào trong (Inbound Traffic):
  • Khi thư từ bên ngoài đến địa chỉ ngôi nhà (Public IP), cổng chính (router NAT) sẽ chuyển thư đến đúng phòng bên trong dựa trên địa chỉ nội bộ.
  • Ví dụ: Thư gửi đến "123 Main Street" sẽ được chuyển đến phòng khách (192.168.1.2).
  1. Sự tái sử dụng địa chỉ IP riêng tư
  • Các ngôi nhà khác nhau (mạng nội bộ khác nhau): Mỗi ngôi nhà có thể có các phòng giống nhau (địa chỉ IP riêng tư giống nhau), nhưng chúng không xung đột vì mỗi ngôi nhà có địa chỉ công cộng duy nhất.
  • Ví dụ: "124 Main Street" (203.0.113.2) cũng có phòng khách (192.168.1.2).

Khu phố là mạng Internet, ngôi nhà là mạng nội bộ với địa chỉ IP công cộng, và các phòng là thiết bị với địa chỉ IP riêng tư. NAT giúp chuyển đổi giữa địa chỉ IP riêng tư và công cộng, cho phép các thiết bị nội bộ giao tiếp an toàn và hiệu quả với mạng bên ngoài.

Kết luận

Nhờ NAT, việc quản lý và mở rộng không gian địa chỉ IPv4 trở nên khả thi hơn, giúp duy trì hoạt động của mạng Internet toàn cầu trong bối cảnh chuyển đổi dần sang IPv6.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Set Up Network and HTTP Load Balancers

1. Overview. There are two types of load balancers in Google Cloud Platform:. .

0 0 65

- vừa được xem lúc

AWS Basic Networking Structure!

Lời nói đầu. Gần đây mình mới có cơ hội được tham gia vào một khóa học về networking cơ bản rất thú vị .

0 0 45

- vừa được xem lúc

Basic Networking !

Lời nói đầu. Gần đây mình mới có cơ hội được tham gia vào một khóa học về networking cơ bản rất thú vị .

0 0 35

- vừa được xem lúc

Một số linux command cơ bản trong quản trị mạng mà bạn nên biết

Là một kỹ sư lập trình hệ thống, một system admin hay một DevOps… thì phần lớn thời gian bạn sẽ phải làm việc trên hệ thống Unix/Linux. Networking là một phần thiết yếu của hệ điều hành.

0 0 58

- vừa được xem lúc

Hướng dẫn cầu hình máy tính cá nhân thành một public server trên mạng internet

Ngày xửa ngày xưa, xưa lắm lắm lắm lắm (Bốn chữ lắm - Trúc Nhân ft Trương Thảo Nhi). Nghe các cụ trong làng kể lại thì nó vào khoảng 3 4 năm trước đây :v .

0 0 180

- vừa được xem lúc

Lập trình socket, giao tiếp client và server bằng ngôn ngữ C (với giao thức TCP)

Lập trình mạng là gì. Lập trình mạng là một trong những nhiệm vụ căn bản để phát triển các ứng dụng.

0 0 163