Hình 2.4. Hoạt dộng của người đại diện ứng dụng
Người sử dụng trước hết phải thiết lập một kết nối đến người đại diện ứng dụng trên tường lửa (1). Đại diện ứng dụng này sẽ tập hợp các thông tin liên quan đến mối liên kết và yêu cầu của người sử dụng ( 2). Tường lửa sẽ sử dụng thông tin này để quyết định liệu yêu cầu có được cho phép thực thi hay không. Nếu yêu cầu từ phía người dùng là thoả đáng thì người đại diện trên tường lửa sẽ tạo một kết nối khác từ tường lửa đến đích dự kiến (3). Sau đó người đại diện sẽ đóng vai trò như một con thoi để truyền tải dữ liệu giữa 2 mối kết nối (4 )
Có 2 điểm cần lưu ý ở đây là:
– Thứ nhất, kết nối đầu tiên phải được thiết lập đến người đại diện trên tường lửa thay vì nối trực tiếp đến trạm mong muôn kết nối.
– Thứ hai, người đại diên trên tường lửa phải có được địa chỉ IP của trạm đích. Trước khi người sử dụng hoặc một ứng dụng nào đó muốn kết nối đến người đại diên ứng dụng thì phải thiết lập kết nối đến tường lửa, kết nối này phải sử dụngphương pháp chuẩn để cung cấp tên hoặc địa chỉ IP của trạm trạm đích mong muốn. Đây không phải là một công việc dễ dàng vì giao thức tầng ứng dụng luôn cố định và thường không hỗ trợ sự vượt qua của những thông tin được thêm vào. Để khắc phục đặc điểm này có rất nhiều giải pháp bắt buộc người sử dụng và các ứng dụng phải tuân theo.
• Kết nối trực tiếp.
Đây là giải pháp đầu tiên cho phép người sử dụng thiết lập kết nối trực tiếp đến tường lửa thông qua địa chỉ và số hiệu cổng người đại diện sau đó người đại diện sẽ hỏi người sử dụng để biết được địa chỉ của trạm mong muốn kết nối. Đây là một phương pháp thô được sử dụng bởi nhưng tường lửa sơ khai vì thế không được ưa dùng.
• Sử dụng chương trình hỗ trợ máy khách.
Giải pháp tiếp theo sử dụng trong việc cài đặt người đại diện là phải có một
chương trinh hỗ trợ đặt trên máy của người sử dụng. Người sử dụng sẽ chạy ứng dụng đặc biệt để tạo kết nối đến tường lửa. Người sử dụng chỉ việc cung cấp địa chỉ hoặc tên của trạm đích cho ứng dụng bổ trợ. Địa chỉ tường lửa sẽ được ứng dụng bổ trợ này lấy ra từ file cấu hình cục bộ sau đó nó sẽ thiết lập kết nối đến người đại diện trên tường lửa. Giải pháp này tỏ ra hữu hiệu và trong suốt đối với người sử dụng tuy nhiên hạn chế của nó là mỗi chương trình hỗ trợ máy khách chỉ thực hiện tương ứng với một dịch vụ nào đó của mạng mà thôi.
Một phương pháp nữa được sử dụng hiện nay cho việc kết nối đến đại diện ứng dụng trên tường lửa là sử dụng đại diện tàng hình (ẩn). Với giải pháp này thì người sử dụng không cần đến chương trình hỗ trợ máy khách hoặc kết nối trực tiếp đến tường lửa.
Ở đây người ta sử dụng phương pháp dò đường căn bản, mọi kết nối đến các mạng bên ngoài đều phải định hướng thông qua tường lửa. Các gói khi vào trong tường lửa tự động sẽ đổi hướng đến một đại diện ứng dụng mong muốn. Ứng dụng đại diện có được địa chỉ trạm đích một cách chính xác bằng cách lấy địa chỉ trạm đích của phiên. Trong trường hợp này tường lửa giả mạo thành một trạm đích và chặn các phiên lại. Khi một kết nối được thiết lập đến đại diện trên tường lửa thì trình ứng dụng máy khách sẽ nghĩ rằng nó đang kết nối đến một trạm đích thật sự. Nếu được phân quyền thì đại diện ứng dụng trên tường lửa sẽ dùng một hàm đại diện để tạo ra liên kết thứ hai đến trạm đích thật.