Tại sao nat cần thiết khi proxy là đủ? [đóng cửa]


8

Máy của tôi được kết nối trong một lan địa phương. để kết nối với internet, lưu lượng truy cập thông qua máy chủ proxy. sự hiểu biết của tôi về máy chủ proxy là nó gửi yêu cầu thay mặt cho người gửi yêu cầu ban đầu. Vì vậy, khi máy chủ trả lời, nó sẽ gửi trả lời cho proxy với suy nghĩ rằng đó là máy khách. Các proxy sau đó chuyển tiếp trả lời cho máy của tôi.
Lấy trường hợp dịch Địa chỉ Mạng . Yêu cầu của bạn đi qua bộ định tuyến nat. Sau đó, bộ định tuyến nat cung cấp cho bạn một địa chỉ IP công cộng và lưu trữ ánh xạ này trong bảng của nó. Câu trả lời (từ máy chủ) được gửi đến địa chỉ công cộng được chỉ định này. Mà bộ định tuyến nat giải quyết đến địa chỉ IP cục bộ của bạn từ bảng và chuyển tiếp trả lời cho máy của bạn.
Câu hỏi của tôi tại sao lại cần thiết khi proxy có thể làm trung gian lưu lượng và cung cấp cho bạn quyền truy cập vào internet?


1
Một điều rõ ràng - bộ định tuyến NAT không cung cấp cho bạn địa chỉ IP công cộng. Nó chỉ đơn thuần viết lại các gói của bạn như thể chúng đến từ IP công cộng của chính nó thay vì IP của khách hàng của bạn. Sau đó, các gói trả lời được gửi trở lại IP bên ngoài NAT, sau đó ghi lại các gói một lần nữa với IP của máy khách của bạn và chuyển tiếp gói đi cùng.
EEAA

Câu trả lời:


5

MadHatter đã viết một lời giải thích tuyệt vời cho giáo dân về sự khác biệt giữa proxy và NAT.

Để biết thêm chi tiết kỹ thuật, tôi khuyên bạn nên đọc mô hình OSI và mô hình TCP / IP. Nat hoạt động ở 3 mô hình OSI sau (lớp mạng, IP trong trường hợp này) và proxy thường hoạt động ở lớp 7 (lớp Ứng dụng, HTTP hoặc bất cứ điều gì bạn đang ủy quyền).

NAT và proxy cũng đang cố gắng giải quyết các vấn đề hơi khác nhau. NAT đang che giấu một số IP riêng đằng sau một số lượng IP công cộng nhỏ hơn để giảm bớt tình trạng thiếu địa chỉ IP, trong khi các proxy đang tạo ra một "điểm nghẹt" vì lý do bảo mật, kiểm toán hoặc hiệu suất


Tôi đã luôn được thông báo rằng NAT hoạt động ở các lớp 3 & 4
mã hóa

@codeaviator một nhận xét công bằng - Tôi nói với các chuyên gia tại networkengineering.stackexchange.com :)
dwurf

15

Dường như với tôi rằng bạn đã nắm bắt được các nguyên tắc cơ bản ở đây khá tốt và câu trả lời ngắn gọn là, nếu bạn đang sử dụng proxy với địa chỉ công khai, bạn không cần NAT - cho các giao thức được ủy quyền qua proxy .

Tuy nhiên, có nhiều giao thức trên trời và đất hơn là mơ ước trong triết lý của bạn ; không phải tất cả chúng đều là proxy và proxy không tồn tại ngay cả đối với tất cả những thứ đó, vì vậy NAT là một dự phòng tiện lợi cho những thứ đó.

Chỉnh sửa : Proxy là một thiết bị điện toán hoạt động ở cấp độ ứng dụng. Một proxy HTTP nhận các yêu cầu HTTP cho một trang web từ xa và như bạn đã chỉ ra, nó sẽ tự tắt đến trang web đó và đưa ra yêu cầu, và chuyển câu trả lời lại cho máy khách yêu cầu. Nhưng nó phải hiểu HTTP ở mức chi tiết để làm điều này.

Tương tự, bạn có thể viết proxy FTP, nhưng nó sẽ phải hiểu các chi tiết của MKD, DELE, LIST và các lệnh giao thức ftp tương tự, để ủy quyền chính xác các yêu cầu của khách hàng. Bất kỳ proxy nào muốn làm việc trong suốt thường phải hiểu sâu sắc các phần bên trong của giao thức để ủy quyền cho giao thức đó.

SOCKS ở một mức độ nào đó là ngoại lệ đối với quy tắc này, nhưng đó là do giao thức SOCKS đặt giao diện chung hơn cho việc ủy ​​quyền, yêu cầu mỗi máy khách phải SOCKSified và do đó có khả năng thực hiện đúng yêu cầu của SOCKS proxy để đặt lên loại ủy quyền mỗi yêu cầu, không chính xác minh bạch.


Bạn có ý nghĩa gì bởi "Các giao thức không phải là ủy quyền"?
suraj

@MadHatter: Ý bạn là gì khi không phải là người thân? Không đủ để có proxy proxy làm cổng mặc định?
Ashwin

Để nâng cao khía cạnh khác: Đối với người dùng không có kỹ thuật, NAT sẽ hoạt động tốt (trong suốt) trong khi proxy phải được "cài đặt" ở phía máy khách.
Không ai

@Nobody - không hẳn. Proxy trong suốt khá phổ biến và yêu cầu cấu hình bằng không trên máy khách.
EEAA

2
@Nobody - hiểu biết của bạn là sai. NAT và proxy (dù trong suốt hay không) là những công nghệ hoàn toàn khác nhau.
EEAA
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.