II. Triển khai dịch vụ proxy 1 Các mô hình kết nối mạng
Khái niệm NAT (Network Addresss Tranlation).
NAT là một giao thức cho ta khả năng bản đồ hóa một một vùng địa chỉ IP sử dụng trong mạng dùng riêng ra mạng ngoài và ngược lại. NAT thường
được thiết lập trên các bộ định tuyến là ranh giới giữa mạng dùng riêng và mạng ngoài (ví dụ như mạng công cộng Internet). NAT chuyển đổi các địa chỉ IP trên mạng dùng riêng thành các địa chỉ IP được đăng ký hợp lệ trước khi chuyển các gói từ mạng dùng riêng tới Internet hoặc tới mạng ngoài khác. Trong phần này chúng ta sẽ chỉ tìm hiểu sự vận hành của NAT khi NAT được thiết lập để cung cấp các chức năng chuyển đổi các địa chỉ mạng dùng riêng trong việc phục vụ cho việc kết nối truy cập ra mạng ngoài như thế nào. Để làm việc này, NAT dùng tiến trình các bước theo hình vẽ dưới đây.
Hình 6.14
1. Người dùng tại máy 10.1.1.25 muốn mở một kết nối ra ngoài tới server 203.162.0.12
2. Khi gói dữ liệu đầu tiên tới NAT router, NAT router thực hiện việc kiểm tra trong bảng NAT. Nếu sự chuyển đổi địa chỉ đã có trong bảng, NAT router thực hiện bước thứ 3. Nếu không có sự chuyển đổi nào được tìm thấy, NAT router xác định rằng địa chỉ 10.1.1.25 phải được chuyển đổi. NAT router xác định một địa chỉ mới và cấu hình một chuyển đổi đối với địa chỉ 10.1.1.25 tới địa chỉ hợp lệ ngoài mạng (Internet) từ dãy địa chỉ động đã được định nghĩa từ trước ví dụ 203.162.94.163.
3. NAT router thay thế địa chỉ 10.1.1.25 bằng địa chỉ 203.162.94.163 sau đó gói được chuyển tiếp tới đích.
4. Server 203.162.0.12 trên Internet nhận gói và phúc đáp trở lại NAT router với địa chỉ 203.162.94.163.
5. Khi NAT router nhận được gói phúc đáp từ Server với địa chỉ đích đến là 203.162.94.163, nó thực hiện việc tìm kiếm trong bảng NAT. Bảng NAT chỉ ra rằng địa chỉ mạng trong 10.1.1.25 (tương ứng được ánh xạ tới địa chỉ 203.162.94.163 ở mạng ngoài) sẽ nhận được gói tin này. NAT router thực hiện việc chuyển đổi địa chỉ đích trong gói tin là 10.1.1.25 và chuyển gói tin này tới đích (10.1.1.25). Máy 10.1.1.25 nhận gói và tiếp tục thực hiện với các gói tiếp theo với các bước tuần tự như trên.
Trong trường hợp muốn sử dụng một địa chỉ mạng ngoài cho nhiều địa chỉ mạng trong. NAT router sẽ duy trì các thông tin thủ tục mức cao hơn trong bảng NAT đối với các số hiệu cổng TCP và UDP để chuyển đổi địa chỉ mạng ngoài trở lại chính xác tới các địa chỉ mạng trong.
Như vậy NAT cho phép các client trong mạng dùng riêng với việc sử dụng các địa chỉ IP dùng riêng truy cập vào một mạng bên ngoài như mạng Internet.Cung cấp kết nối ra ngoài Internet trong các mạng không được cung cấp đủ các địa chỉ Internet có đăng ký. Thích hợp cho việc chuyển đổi địa chỉ trong hai mạng Intranet ghép nối nhau. Chuyển đổi các địa chỉ IP nội tại được ISP cũ phân bố thành các địa chỉ được phân bố bởi ISP mới mà không cần thiết lập thủ công các giao diện mạng cục bộ.
NAT có thể được sử dụng một cách cố định hoặc động. Chuyển đổi cố định xảy ra khi ta thiết lập thủ công một bảng địa chỉ cùng các địa chỉ IP. Một địa chỉ cụ thể ở bên trong mạng sử dụng một địa chỉ IP (được thiết lập thủ công bởi người quản trị mạng) để truy cập ra mạng ngoài. Các thiết lập động cho phép người quản trị thiết lập một hoặc nhiều các nhóm địa chỉ IP dùng chung đã đăng ký. Những địa chỉ trong nhóm này có thể được sử dụng bởi các client trên mạng dùng riêng để truy cập ra mạng ngoài. Việc này cho phép nhiều client trong mạng sử dụng cùng một địa chỉ IP.
NAT cũng có một số nhược điểm như làm tăng độ trễ của các gói tin trên mạng. NAT phải xử lý mọi gói để quyết định xem liệu các header được thay đổi như thế nào. Không phải bất kỳ ứng dụng nào cũng có thể chạy được với NAT. NAT hỗ trợ nhiều giao thức truyền thông và cũng rất nhiều giao thức không được hỗ trợ. Các giao thức được NAT hỗ trợ như:TCP,UDP, HTTP,
TFTP, FTP…Các thông tin không được hỗ trợ như: IP multicast, BOOTP, DNS zone transfer, SNMP…