Biên dịch địa chỉ mạng

Biên dịch địa chỉ mạng ( - NAT) trong mạng máy tính là quá trình thay đổi thông tin địa chỉ IP trong gói tin đang được truyền qua một thiết bị định tuyến.

Khi dịch địa chỉ mạng sửa đổi thông tin địa chỉ IP trong các gói, việc triển khai NAT có thể khác nhau về hành vi cụ thể của chúng trong các trường hợp địa chỉ khác nhau và ảnh hưởng của chúng đối với lưu lượng mạng. Các chi tiết cụ thể của hành vi NAT thường không được các nhà cung cấp thiết bị có triển khai NAT ghi lại.

 NAT cơ bản 
Loại NAT đơn giản nhất cung cấp việc biên dịch một - một cho một địa chỉ IP. Chuẩn RFC 2663 gọi loại NAT này là NAT cơ bản. Nó đôi khi cũng được gọi là NAT một-một. Trong kiểu phiên dịch này chỉ có địa chỉ IP, IP header, phần kiểm lỗi cần phải thay đổi (đối với TCP/UDP thì như vậy là đủ, nhưng một số giao thức tầng cao hơn có thể yêu cầu biên dịch nhiều hơn). NAT cơ bản có thể sử dụng để kết nối hai mạng máy tính có địa chỉ không tương thích.

 Một tới nhiều NAT 
nhỏ|Mapping địa chỉ mạng
Thông thường trong một mạng máy tính, các máy trong mạng được gán địa chỉ IP riêng, mạng chỉ có một hoặc một vài địa chỉ công cộng được gán cho thiết bị trực tiếp kết nối với mạng toàn cầu. Để các máy trong mạng có thể kết nối với bên ngoài, người ta sử dụng loại NAT một-nhiều. Trong kiểu NAT này, thông tin ở bậc cao trong các gói gửi đi hơn như cổng TCP/UDP được thay đổi và lưu trữ một bảng biên dịch, các gói tin trả về sẽ được tham chiếu với bảng này để thay đổi số cổng trước khi gửi tới máy cần nhận. Trong chuẩn RFC 2663, người ta còn gọi loại NAT này là NAPT (network address and port translation: biên dịch địa chỉ mạng và cổng). Các tên gọi khác là PAT (port address translation: biên dịch địa chỉ cổng), giả dạng IP, quá tải NAT. Do đây là loại thường gặp nhất của NAT nên khi gọi NAT, ta ngầm hiểu đó là NAT một-tới-nhiều.

Như đã nói, phương pháp này cho phép kết nối hoạt động chỉ khi yêu cầu kết nối bắt nguồn từ bên trong mạng. Ví dụ một trình duyệt web từ bên trong có thể kết nối tới một trang mạng bên ngoài, nhưng một trình duyệt từ bên ngoài không thể truy cập vào một trang web bên trong. Tuy nhiên, hiện nay hầu hết các thiết bị NAT đều cho phép cấu hình các giá trị trong bảng biên dịch sử dụng trong thời gian dài, từ đó ta có thể thiết lập NAT tĩnh hay chuyển tiếp cổng để cho phép các truy cập từ mạng "bên ngoài" vào các dịch vụ trong mạng nội bộ.

Trong những năm giữa thập niên 90, NAT trở thành một công cụ phổ biến để giải quyết vấn đề cạn kiệt địa chỉ IPv4. Nó trở thành một chức năng thiết yếu trong thiết bị định tuyến cho các kết nối tại nhà và công ty nhỏ. Hầu hết các hệ thống sử dụng thiết lập NAT để cho phép nhiều máy chủ trong mạng cục bộ có thể kết nối mạng toàn cầu thông qua chỉ một địa chỉ IP công cộng.

Biên dịch địa chỉ mạng bị hạn chế bởi chất lượng của kết nối mạng và yêu cầu nghiêm ngặt trong việc cài đặt. Ngoài ra tất cả các kiểu NAT đều bẻ gãy chuẩn kết nối khi truyền thông với mạng toàn cầu. NAT-T (NAT traversal) được đề xuất để xử lý vấn đề này.

 Phương pháp biên dịch 

 Loại NAT và NAT truyền tải, vai trò của việc bảo quản cổng cho TCP 

 Thực hiện 

 Thiết lập giao tiếp hai chiều 

 Tương tự phần mở rộng số điện thoại 

 Quy trình dịch thuật 

 Khả năng hiển thị của hoạt động 

 Ứng dụng 

 Kỹ thuật liên quan 

 Vấn đề và hạn chế 

 Phân mảnh và tổng kiểm tra 

 DNAT 

 SNAT 

 Biên dịch địa chỉ mạng động 

 NAT Hairpinning 

 NAT trong IPv6 

 Ứng dụng bị NAT ảnh hưởng 

 Ví dụ về phần mềm NAT 
 Chia sẻ kết nối Internet (ICS): Triển khai NAT & DHCP được bao gồm trong hệ điều hành máy tính để bànWindows
 IPFilter: đi kèm với (Open) Solaris, FreeBSD và NetBSD, khả dụng cho nhiều hệ điều hành giống như Unix
 ipfirewall (ipfw): Bộ lọc gói gốc FreeBSD
 Netfilter với iptables/nftables: bộ lọc gói Linux
 NPF: Bộ lọc gói gốc NetBSD
 PF: Bộ lọc gói gốc OpenBSD
 Dịch vụ định tuyến và truy cập từ xa: Triển khai định tuyến được bao gồm trong hệ điều hành Windows Server
 WinGate: triển khai định tuyến của bên thứ ba cho Windows

Xem thêm

 Anything In Anything (AYIYA) – IPv6 over IPv4 UDP, thus working IPv6 tunneling over most NATs

 Internet Gateway Device Protocol (IGD) – UPnP NAT-traversal method
 Teredo tunneling – NAT traversal using IPv6
 Carrier-grade NAT – NAT behind NAT within ISP.

Chú thích

Liên kết ngoài

 NAT-Traversal Test and results
 Characterization of different TCP NATs – Paper discussing the different types of NAT
 Anatomy: A Look Inside Network Address Translators – Volume 7, Issue 3, September 2004
 Jeff Tyson, HowStuffWorks: How Network Address Translation Works
 Routing with NAT (Part of the documentation for the IBM iSeries)
 Network Address Translation (NAT) FAQ – Cisco Systems

Thể loại:Kiến trúc Internet