NAT là gì ? Static NAT, Dynamic NAT, NAT Overload (PAT) - HỌC MẠNG CƠ BẢN

Mới

recent
.

NAT là gì ? Static NAT, Dynamic NAT, NAT Overload (PAT)

Như các bạn đã biết về IPv4, chúng ta có IP public và IP private, các máy tính trong mạng LAN được đặt IP private và không được sử để kết nối ra ngoài internet vì có vô số IP private giống nhau, máy tính chỉ ra ngoài internet được khi nó có địa chỉ public vì địa chỉ public là duy nhất, do vậy cần phải có một kỹ thuật để chuyển đổi các IP private trong mạng LAN thành IP public để ra ngoài internet, NAT(Network Address Translation) ra đời để giải quyết vấn để này.

NAT (NetworkAddress Translation) là gì ?
NAT giống như một router, nó chuyển tiếp các gói tin giữa những lớp mạng khác nhau trên một mạng lớn. NAT dịch hay thay đổi một hoặc cả hai địa chỉ bên trong một gói tin khi gói tin đó đi qua một router, hay một số thiết bị khác. Thông thường, NAT thường thay đổi địa chỉ (thường là địa chỉ riêng) được dùng bên trong một mạng sang địa chỉ công cộng.
NAT cũng có thể coi như một firewall cơ bản. Để thực hiện được công việc đó, NAT duy trì một bảng thông tin về mỗi gói tin được gửi qua. Khi một PC trên mạng kết nối đến 1 website trên Internet header của địa chỉ IP nguồn được thay đổi và thay thế bằng địa chỉ Public mà đã được cấu hình sẵn trên NAT server , sau khi có gói tin trở về NAT dựa vào bảng record mà nó đã lưu về các gói tin, thay đổi địa chỉ IP đích thành địa chỉ của PC trong mạng và chuyển tiếp đi. Thông qua cơ chế đó quản trị mạng có khả năng lọc các gói tin được gửi đến hay gửi từ một địa chỉ IP và cho phép hay cấm truy cập đến một port cụ thể.

NAT làm việc như thế nào ?
NAT sử dụng IP của chính nó làm IP công cộng cho mỗi máy con (client) với IP riêng. Khi một máy con thực hiện kết nối hoặc gửi dữ liệu tới một máy tính nào đó trên internet, dữ liệu sẽ được gởi tới NAT, sau đó NAT sẽ thay thế địa chỉ IP gốc của máy con đó rồi gửi gói dữ liệu đi với địa chỉ IP của NAT. Máy tính từ xa hoặc máy tính nào đó trên internet khi nhận được tín hiệu sẽ gởi gói tin trở về cho NAT computer bởi vì chúng nghĩ rằng NAT computer là máy đã gởi những gói dữ liệu đi. NAT ghi lại bảng thông tin của những máy tính đã gởi những gói tin đi ra ngoài trên mỗi cổng dịch vụ và gởi những gói tin nhận được về đúng máy tính đó (client).
NAT xử lý một gói tin xuất phát từ bên trong đi ra bên ngoài một mạng theo cách thức sau:
•    Khi NAT nhận một gói tin từ một cổng bên trong, gói tin này đáp ứng các tiêu chuẩn để NAT, router sẽ tìm kiếm trong bảng NAT địa chỉ bên ngoài (outside address) của gói tin. Nói cách khác, tiến trình NAT tìm kiếm một hàng ở trong bảng NAT trong đó địa chỉ outside local address bằng với địa chỉ đích của gói tin. Nếu không có phép so trùng nào tìm thấy, gói tin sẽ bị loại bỏ.
•    Nếu có một hàng trong bảng NAT là tìm thấy (trong hàng này, địa chỉ đích của gói tin bằng với địa chỉ outside local), NAT sẽ thay thế địa chỉ đích trong gói tin bằng địa chỉ outside global theo thông tin trong bảng NAT.
•    Tiến trình NAT tiếp tục tìm kiếm bảng NAT để xem có một địa chỉ inside local nào bằng vớI địa chỉ nguồn của gói tin hay không. Nếu có một hàng là tìm thấy, NAT tiếp tục thay thế địa chỉ nguồn của gói tin bằng địa chỉ inside global. Nếu không có một hàng nào được tìm thấy, NAT sẽ tạo ra một hàng mới trong bảng NAT và chèn địa chỉ mới vào trong gói tin.
NAT sẽ xử lý một gói tin xuất phát từ mạng bên ngoài đi vào mạng bên trong theo cách sau:
•    Khi NAT nhận được một gói tin xuất phát từ một cổng bên ngoài, đáp ứng các tiêu chuẩn để NAT, tiến trình NAT sẽ tìm kiếm trong bảng NAT một hàng trong đó địa chỉ inside global là bằng vớI đia chỉ đích của gói tin.
•    Nếu không có hàng nào trong bảng NAT được tìm thấy, gói tin bị loạI bỏ. Nếu có một hàng tìm thấy trong bảng NAT, NAT sẽ thay thế địa chỉ đích bằng địa chỉ inside local từ bảng NAT.
•    Router tìm kiếm bảng NAT để tìm ra địa chỉ outside global bằng với địa chỉ nguồn của gói tin. Nếu có một hàng là tìm thấy, NAT sẽ thay thế địa chỉ đích bằng địa chỉ outside local từ bảng NAT. Nếu NAT không tìm thấy một hàng nào, nó sẽ tạo ra một hàng mới trong bảng NAT và cũng thực hiện như ở bước 2


NAT giải quyết những vấn đề gì ?
Ban đầu, NAT được đưa ra nhằm giải quyết vấn đề thiếu hụt địa chỉ của IPv4, nhưng sao này được phát triển nhằm giải quyết
•    NAT giúp chia sẻ kết nối Internet (hay 1 mạng khác) với nhiều máy trong LAN chỉ với 1 IP duy nhất, hay 1 dãy IP cụ thể.
•    NAT che giấu IP bên trong LAN.
•    NAT giúp quản trị mạng lọc các gói tin được gửi đến hay gửi từ một địa chỉ IP và cho phép hay cấm truy cập đến một port cụ thể.


Một số khái niệm cơ bản về NAT
Inside local address - Địa chỉ IP được gán cho một host của mạng trong. Đây là địa chỉ được cấu hình như là một tham số của hệ điều hành trong máy tính hoặc được gán một cách tự động thông qua các giao thức như DHCP. Địa chỉ này không phải là những địa chỉ IP hợp lệ được cấp bởi NIC (Network Information Center) hoặc nhà cung cấp dịch vụ Internet.


Inside global address - Là một địa chỉ hợp lệ được cấp bởi NIC hoặc một nhà cung cấp dịch vụ trung gian. Địa chỉ này đại diện cho một hay nhiều địa chỉ IP inside local trong việc giao tiếp với mạng bên ngoài.


Outside local address - Là địa chỉ IP của một host thuộc mạng bên ngoài, các host thuộc mạng bên trong sẽ nhìn host thuộc mạng bên ngoài thông qua địa chỉ này. Outside local không nhất thiết phải là một địa chỉ hợp lệ trên mạng IP (có thể là địa chỉ private).


Outside global address - Là địa chỉ IP được gán cho một host thuộc mạng ngoài bởi người sở hữu host đó. Địa chỉ này được gán bằng một địa chỉ IP hợp lệ trên mạng Internet.


Chúng ta có thể hình dung để phân biệt 4 kiểu địa chỉ này như sau:
Các gói tin bắt nguồn từ bên trong mạng nội bộ (inside) sẽ có source IP là địa chỉ kiểu “inside local” và destination IP là “ouside local” khi nó còn ở trong phần mạng nội bộ. Cũng gói tin đó, khi được chuyển ra ngoài mạng (qua NAT) source IP address sẽ được chuyển thành "inside global address" và địa destination IP của gói tin sẽ là “outside global address”. Hay ngược lại, khi một gói tin bắt nguồn từ một mạng bên ngoài, khi nó còn đang ở mạng bên ngoài đó, địa chỉ source IP của nó sẽ là "outside global address", địa chỉ destination IP sẽ là "inside global address". Cũng gói tin đó khi được chuyển vào mạng bên trong (qua NAT), địa chỉ source sẽ là "outside local address" và địa chỉ destination của gói tin sẽ là "inside local address".


Các kỹ thuật NAT
Static NAT (NAT tĩnh)
Với NAT tĩnh, địa chỉ IP thường được ánh xạ tĩnh với nhau thông qua các lệnh cấu hình. Trong NAT tĩnh, một địa chỉ Inside Local luôn luôn được ánh xạ vào địa chỉ Inside Global. Nếu được sử dụng, mỗi địa chỉ Outside Local luôn luôn ánh xạ vào cùng địa chỉ Outside Global. NAT tĩnh không có tiết kiệm địa chỉ thực.
Mặc dù NAT tĩnh không giúp tiết kiệm địa chỉ IP, cơ chế NAT tĩnh cho phép một máy chủ bên trong hiện diện ra ngoài Internet, bởi vì máy chủ sẽ luôn dùng cùng một địa chỉ IP thực .
Cách thức thực hiện NAT tĩnh thì dễ dàng vì toàn bộ cơ chế dịch địa chỉ được thực hiện bởi một công thức đơn giản:
Địa chỉ đích =Địa chỉ mạng mới OR (địa chỉ nguồn AND ( NOT netmask))
Ví dụ :
Một địa chỉ private được map với một địa chỉ public. Ví dụ 1 một máy trọng mạng LAN có địa chỉ 10. 1. 1. 1 được “phiên dịch” thành 1 địa chỉ public 20. 1. 1. 1 khi gửi tin ra ngoài Internet
Bắt đầu bằng một gói tin được gửi từ một PC bên trái của hình đến một máy chủ bên phải ở địa chỉ 170. 1. 1. 1. Địa chỉ nguồn private 10. 1. 1. 1 được dịch thành một địa chỉ thực 200. 1. 1. 1. Máy client gửi ra một gói tin với địa chỉ nguồn 10. 1. 1. 1 nhưng router NAT thay đổi địa chỉ nguồn thành 200. 1. 1. 1. Khi server nhận được một gói tin với địa chỉ nguồn 200. 1. 1. 1, máy chủ nghĩ rằng nó đang nói chuyện với máy 200. 1. 1. 1, vì vậy máy chủ trả lời lại bằng một gói tin gửi về địa chỉ đích 200. 1. 1. 1. Router sau đó sẽ dịch địa chỉ đích 200. 1. 1. 1 ngược lại thành 10. 1. 1. 1


Dynamic NAT (NAT động)
Với NAT tĩnh, khi số IP nguồn không bằng số IP đích. Số host chia sẻ nói chung bị giới hạn bởi số IP đích có sẵn. NAT động phức tạp hơn NAT tĩnh, vì thế chúng phải lưu giữ lại thông tin kết nối và thậm chí tìm thông tin của TCP trong packet. Một số người dùng nó thay cho NAT tĩnh vì mục đích bảo mật. Những người từ bên ngoài không thể tìm được IP nào kết nối với host chỉ định vì tại thời điểm tiếp theo host này có thể nhận một IP hoàn toàn khác.
Những kết nối từ bên ngoài thì chỉ có thể khi những host này vẫn còn nắm giữ một IP trong bảng NAT động. Nơi mà NAT router lưu giữ những thông tin về IP bên trong (IP nguồn )được liên kết với NAT-IP(IP đích). Cho một ví dụ trong một session của FPT non-passive. Nơi mà server cố gắng thiết lập một kênh truyền dữ liệu vì thế khi server cố gắng gửi một IP packet đến FTP client thì phải có một entry cho client trong bảng NAT. Nó vẫn phải còn liên kết một IPclient với cùng một NAT-IPs khi client bắt đầu một kênh truyền control trừ khi FTP session rỗi sau một thời gian timeout. Xin nói thêm giao thức FTP có 2 cơ chế là passive và non-passive . Giao thức FTP luôn dùng 2 port (control và data) . Với cơ chế passive (thụ động ) host kết nối sẽ nhận thông tin về data port từ server và ngược lại non-passive thì host kết nối sẽ chỉ định dataport yêu cầu server lắng nghe kết nối tới.

Bất cứ khi nào nếu một người từ bên ngoài muốn kết nối vào một host chỉ định ở bên trong mạng tại một thời điểm tùy ý chỉ có 2 trường hợp :
+ Host bên trong không có một entry trong bảng NAT khi đó sẽ nhận được thông tin “host unreachable” hoặc có một entry nhưng NAT-IPs là không biết.
+ Biết được IP của một kết nối bởi vì có một kết nối từ host bên trong ra ngoài mạng. Tuy nhiên đó chỉ là NAT-IPs và không phải là IP thật của host. Và thông tin này sẽ bị mất sau một thờii gian timeout của entry này trong bảng NAT router.

Ví dụ:
Một địa chỉ private được map với một địa chỉ public từ một nhóm các dịa chỉ public. Ví dụ một mạng LAN có địa chỉ 10. 1. 1. 1/8 được “phiên dịch” thành 1 địa chỉ public trong dải 200. 1. 1. 1 đến 200. 1. 1. 100 khi gửi tin ra ngoài Internet.


NAT Overloading ( hay PAT)
Dùng để ánh xạ nhiều địa chỉ IP riêng sang một địa chỉ công cộng vì mỗi địa chỉ riêng được phân biệt bằng số port. Có tới 65. 356 địa chỉ nội bộ có thể chuyển đổi sang 1 địa chỉ công cộng. Nhưng thực tế thì khỏang 4000 port.
PAT hoạt động bằng cách đánh dấu một số dòng lưu lượng TCP hoặc UDP từ nhiều máy cục bộ bên trong xuất hiện như cùng từ một hoặc một vài địa chỉ Inside Global. Với PAT, thay vì chỉ dịch địa chỉ IP, NAT cũng dịch các cổng khi cần thiết.
Và bởi vì các trường của cổng có chiều dài 16 bit, mỗi địa chỉ Inside Global có thể hỗ trợ lên đến 65000 kết nối TCP và UDP đồng thời. Ví dụ, trong một hệ thống mạng có 1000 máy, một địa chỉ IP thực được dùng như là địa chỉ Inside Global duy nhất có thể quản lý trung bình sáu dòng dữ liệu đến và đi từ các máy trên Internet.
Ví dụ :
PAT map nhiều địa chỉ Private đến một địa chỉ Public, việc phân biệt các địa chỉ Private này được dựa theo port, ví dụ IP address 10. 1. 1. 1 sẽ được map đến ip address 200. 1. 1. 6:port_number.
NAT là gì ? Static NAT, Dynamic NAT, NAT Overload (PAT) Reviewed by Huy on 3:49 PM Rating: 5

2 comments:

All Rights Reserved by HỌC MẠNG CƠ BẢN Huytvt.tgg © 2014 - 2015
Powered By Blogger, Designed by Tran Vu Thanh Huy VNPT GCT Tien Giang

Contact Form

Name

Email *

Message *

Powered by Blogger.