CHƯƠNG 4: CHUYỂN DỊCH ĐỊA CHỈ MẠNG VÀ ĐỊA CHỈ IPv6 (PHẦN 1)
I. GIỚI THIỆU VÀ PHÂN LOẠI CƠ CHẾ CHUYỂN DỊCH ĐỊA CHỈ MẠNG
1. Giới thiệu
Cơ chế chuyển dịch địa chỉ (Network Address Translation – NAT) được định nghĩa trong RFC1631 cho phép một host không có một địa chỉ thật giao tiếp với những máy khác trên Internet. NAT được chấp nhận rộng rãi là do phần lớn các mạng IP của các doanh nghiệp ngày nay dùng địa chỉ riêng cho hầu hết các máy tính trên mạng nội bộ và chỉ dùng một dãy địa chỉ nhỏ của các địa chỉ IP thật. NAT sẽ chuyển đổi hai dạng địa chỉ này.
NAT sẽ 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. Nhiều loại thiết bị tường lửa (firewall) cũng thực hiện NAT nhưng trong chương này không mô tả chi tiết hoạt động của NAT trên thiết bị tường lửa. Trong phần lớn trường hợp, NAT thay đổi địa chỉ (thường là địa chỉ riêng) được dùng bên trong một doanh nghiệp sang địa chỉ công cộng có thể định tuyến và hiểu được trên Internet. Ví dụ hình 4.1 mô tả hoạt động của cơ chế NAT tĩnh. Doanh nghiệp đã đăng ký địa chỉ lớp C 200.1.1.0/24 và dùng địa chỉ riêng lớp A 10.0.0.0/8 cho các máy bên trong mạng nội bộ của nó.
Bắt đầu bằng một gói tin được gửi từ PC1 đến một máy chủ ở địa chỉ 170.1.1.1. Địa chỉ nguồn dùng riêng 10.1.1.1 được dịch thành một địa chỉ thực 200.1.1.1. Máy PC1 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 máy chủ 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 là 200.1.1.1 ngược lại thành 10.1.1.1.
Hình 4.1 là nền tảng để giới thiệu một số khái niệm quan trọng, cục bộ bên trong (Inside Local) và toàn cục bên trong (Inside Gobal). Cả hai thuật ngữ đều nhìn từ góc nhìn của người quản trị doanh nghiệp. Trong hình, địa chỉ 10.1.1.1 là địa chỉ cục bộ bên trong và 200.1.1.1 là địa chỉ toàn cục bên trong. Địa chỉ 10.1.1.1 là từ không gian địa chỉ IP của doanh nghiệp, chỉ có khả năng định tuyến cục bộ bên trong doanh nghiệp, vì vậy có tên gọi là Inside Local. Địa chỉ 200.1.1.1 tượng trưng cho máy cục bộ nhưng địa chỉ là toàn cục và có thể dùng định tuyến trên Internet, vì vậy có tên gọi là Inside Global. Bảng 4.1 liệt kê và mô tả bốn thuật ngữ chính của cơ chế NAT
Tên |
Vị trí của máy tượng trưng bằng địa chỉ |
Không gian địa chỉ trong đó địa chỉ tồn tại |
Địa chỉ cục bộ bên trong |
Bên trong một mạng doanh nghiệp |
Địa chỉ riêng |
Địa chỉ toàn cục bên trong |
Bên trong mạng doanh nghiệp |
Địa chỉ thật |
Địa chỉ cục bộ bên ngoài |
Nằm ở Internet hay bên ngoài của mạng doanh nghiệp |
Một phần của địa chỉ mạng doanh nghiệp, thường là địa chỉ dùng riêng |
Địa chỉ toàn cục bên ngoài |
Nằm trên Internet hay bên ngoài mạng doanh nghiệp |
Một phần của không gian địa chỉ thật |
Bảng 4.1: Các thuật ngữ sử dụng trong NAT
2. Phân loại
Cơ chế chuyển dịch địa chỉ NAT được phân làm 3 loại:
NAT tĩnh (Static NAT): ánh xạ một địa chỉ IP dùng riêng cho mạng bên trong thành một đia chỉ có thể định tuyến trên mạng Internet. Với kiểu NAT tĩnh, việc ánh xạ này sẽ được thực hiện một - một, và sẽ không đổi nếu như người quản trị mạng không cấu hình lại cơ chế NAT tĩnh. Cơ chế này thường được dùng trong trường hợp thiết bị mạng bên trong cần được truy xuất từ các thiết bị bên ngoài.
NAT động (Dynamic NAT): ánh xạ một địa chỉ IP dùng riêng cho mạng bên trong thành một địa chỉ thuộc một nhóm các địa chỉ có thể định tuyến được trên mạng Internet. NAT động vẫn chỉ thực hiện ánh xạ theo kiểu một - một giữa địa chỉ IP dùng riêng và địa chỉ IP có thể định tuyến, tuy nhiên nó không cố định. Tại mỗi thời điểm địa chỉ bên trong có thể được ánh xạ thành một địa chỉ bất kỳ trong nhóm địa chỉ định tuyến được trên mạng.
NAT động với cơ chế chuyển dịch cổng (PAT): là một dạng khác của NAT động dùng để ánh xạ nhiều địa chỉ IP của mạng bên trong thành một địa chỉ IP có thể được định tuyến trên Internet bằng cách sử dụng nhiều cổng khác nhau. Cơ chế PAT hay còn gọi là quá tải NAT (NAT overloading) giúp tiết kiệm đáng kể các địa chỉ IP. Chìa khóa để hiểu cơ chế PAT hoạt động như thế nào, hãy xem xét các sự kiện sau: từ quan điểm máy chủ, không có sự khác biệt đáng kể giữa 100 kết nối TCP, mỗi kết nối từ các máy khác nhau và 100 kết nối TCP đến từ cùng một máy. 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.
II. HOẠT ĐỘNG CỦA NAT ĐỐI VỚI GÓI TIN TỪ BÊN TRONG ĐI RA
1. NAT động
Quá trình hoạt động của NAT động diễn ra như sau:
Khi một máy tính thuộc mạng bên trong muốn truy cập một máy khác trên Internet ví dụ như một máy chủ phục vụ Web. Router để định tuyến trên Internet của mạng bên trong được thiết lập cơ chế NAT.
Nếu không khớp với điều kiện, gói tin đó sẽ bị loại bỏ.
Nếu khớp router sẽ lưu địa chỉ IP (địa chỉ mạng bên trong) của máy tính vào bảng địa chỉ NAT. Router thay thế địa chỉ IP của máy tính lúc này thành địa chỉ IP đầu tiên không được sử dụng trong nhóm địa chỉ mạng có thể định tuyến trên Internet nói cách khác là thay thế địa chỉ Inside Local thành địa chỉ Inside Global. Lúc này bảng địa chỉ NAT đã có một chỉ mục bao gồm địa chỉ cần được ánh xạ và địa chỉ đã ánh xạ.
Sau đó gói tin được đưa đến đích.
Khi có một gói tin gửi từ địa chỉ đích trở về máy tính ban đầu. Router sẽ kiểm tra địa chỉ đích của gói tin. Sau đó đem so với bảng NAT để tìm kiếm địa chỉ cần ánh xạ ngược trở lại. Nếu chỉ mục trên không còn, gói tin sẽ bị loại bỏ. Nếu chỉ mục trên vẫn còn, địa chỉ IP đích lúc này sẽ được chuyển dịch thành địa chỉ tương ứng trong bảng NAT ở đây chính là địa chỉ của máy tính ban đầu.
Máy tính nhận gói tin từ router và tiến trình này sẽ được lặp lại từ bước đầu tiên nếu máy tính vẫn còn truy xuất máy chủ phục vụ Web.
2. PAT
Quá trình hoạt động của PAT diễn ra như sau:
Một máy tính trong mạng nội bộ muốn truy xuất đến một máy tính khác trên mạng Internet, ví dụ như một máy chủ phục vụ Web. Router dùng để định tuyến trên Internet của mạng bên trong được bật cơ chế PAT.
Sau khi router nhận được gói tin từ máy tính đó, nó sẽ thực hiện kiểm tra bảng định tuyến và xác định xem thử có xảy ra tiến trình chuyển dịch địa chỉ hay không bằng cách kiểm tra các điều kiện mà người quản trị đã cấu hình.
Nếu không khớp với điều kiện, gói tin đó sẽ bị loại bỏ.
Nếu khớp, router sẽ lưu địa chỉ IP mạng bên trong của máy tính và số cổng của máy tính vào bảng NAT. Router thực hiện thay thế địa chỉ IP của máy tính thành địa chỉ IP có thể định tuyến được trên Internet, thay thế cổng nguồn của máy tính thành cổng tương ứng trong bảng NAT. Bảng NAT bây giờ sẽ có ánh xạ một địa chỉ IP mạng bên trong của máy tính và cổng.
Sau đó gói tin được đưa đến đích.
Khi có một gói tin từ địa chỉ đích trở về máy tính ban đầu, router kiểm tra cổng đích của gói tin. Nó sau đó kiểm tra bảng NAT để xác định được địa chỉ IP mạng bên trong cần chuyển dịch ngược trở lại. Router thay đổi địa chỉ đích, và cổng đích thành các giá trị tương ứng trong bảng NAT và gửi về cho máy tính.
Máy tính nhận gói tin từ router và tiến trình này sẽ được lặp lại từ bước đầu tiên nếu máy tính vẫn còn truy xuất máy chủ phục vụ Web.
Khi NAT xảy ra, địa chỉ máy tính nguồn và cổng nguồn được lưu vào bảng NAT sẽ tiếp tục được duy trì để sử dụng trong các phiên kết nối sau. Một bộ định thời sẽ được khởi động lại mỗi khi có một phiên kết nối được thực hiện. Nếu sau một khoảng thời gian không có phiên kết nối nào được thực hiện, bộ định thời bị hết hạn thì chỉ mục trên sẽ bị xoá ra khỏi bảng NAT.
Lưu ý rằng bất cứ khi nào tiến trình NAT thay đổi header của gói tin, router cũng tính toán lại và thay thế các giá trị của trường kiểm tra lỗi (checksum) của IP và TCP.
3. NAT tĩnh
NAT tĩnh cũng làm việc giống như NAT động, nhưng đị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ạ thành đị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 tiết kiệm địa chỉ thực mà chỉ giúp cho các máy có thể truy cập được Internet.
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.