Biên dịch địa chỉ mạng
| Bài này còn sơ khai. Mời bạn góp sức viết thêm để bài được hoàn thiện hơn. Xem phần trợ giúp về cách sửa bài. |
Trong mạng máy tính, biên dịch địa chỉ mạng (tiếng anh:network address translation :NAT) 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.
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.
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-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.[1] 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.
Mục lục |
[sửa] NAT một-nhiều
[sửa] Các phương pháp biên dịch cổng
[sửa] Kiểu của NAT và NAT Traversal
[sửa] Cài đặt
[sửa] Thiết lập một liên lạc hai chiều
[sửa] Một sự tương tự
[sửa] Biên dịch điểm cuối
[sửa] Visibility of Operation
[sửa] NAT và TCP/UDP
[sửa] Biên dịch địa chỉ mạng đích (DNAT)
[sửa] SNAT
[sửa] Biên dịch động
[sửa] Ảnh hưởng tới tầng ứng dụng
[sửa] Ưu điểm của PAT
[sửa] Hạn chế
[sửa] Specifications
[sửa] Vài phần mềm NAT
- Internet Connection Sharing (ICS): Windows NAT+DHCP từ W98SE
- WinGate: tương tự ICS, thêm nhiều hỗ trợ điều khiển
- iptables: bộ lọc gói tin và NAT trên Linux
- IPFilter: Solaris, NetBSD, FreeBSD, xMach.
- PF (firewall): Bộ lọc gói tin trên OpenBSD.
- Netfilter Chương trình khung cho lọc gói tin trên Linux.
[sửa] Xem thêm
- AYIYA (IPv6 over IPv4 UDP thus working IPv6 tunneling over most NATs)
- Carrier Grade NAT
- Firewall
- Gateway
- Internet Gateway Device (IGD) Protocol: UPnP NAT-traversal method
- Middlebox
- Internet Protocol version 4
- NAT-PT
- Port forwarding
- Private IP address
- Proxy server
- Routing
- Subnet
- port
- Teredo tunneling: NAT traversal using IPv6
[sửa] Chú thích
[sửa] 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
- NAT traversal techniques in multimedia Networks – White Paper from Newport Networks
- Peer-to-Peer Communication Across Network Address Translators (PDF) – NAT traversal techniques for UDP and TCP
- http://www.zdnetasia.com/insight/network/0,39044847,39050002,00.htm
- RFCs
- RFC 1631 (Status: Obsolete) - The IP Network Address Translator (NAT)
- RFC 1918 - Address Allocation for Private Internets
- RFC 3022 (Status: Informational) – Traditional IP Network Address Translator (Traditional NAT)
- RFC 4008 (Status: Standards Track) – Definitions of Managed Objects for Network Address Translators (NAT)
- RFC 5128 (Status: Informational) - State of Peer-to-Peer (P2P) Communications across Network Address Translators (NATs)
- RFC 4966 (Status: Informational) - Reasons to Move the Network Address Translator - Protocol Translator (NAT-PT) to Historic Status
- Speak Freely End of Life Announcement – John Walker's discussion of why he stopped developing a famous program for free Internet communication, part of which is directly related to NAT
- natd
- SNAT, DNAT and OCS2007R2 – discussing the SNAT in Microsoft OCS 2007R2
- Alternative Taxonomy (Part of the documentation for the IBM iSeries)
- Network Address Translation - NAT
- Cisco Systems
- Document ID 6450: How NAT Works
- Document ID 26704: Network Address Translation (NAT) FAQ
- White Paper: Cisco IOS Network Address Translation Overview
- Cisco IOS NAT Commands Cisco IOS commands
- Animation Cisco NAT sample