Tunneling trong mạng doanh nghiệp

Một phần của tài liệu Giáo trình lập trình mạng (Trang 107 - 108)

Luôn luôn có hai cách để sửa chữa một vấn đề: giải quyết hoặc tránh nó. Cả hai phương pháp có giá trị ngang nhau và bình đẳng đối với các tình huống khác nhau. Giả sử tình huống là một ứng dụng hội thảo từ xa bị chặn bởi tường lửa. Bạn có thể di chuyển các máy chủ bên ngoài tường lửa, thiết lập cổng chuyển tiếp để đường hầm thông qua các bức tường lửa (hoặc router), hoặc trả lại dữ liệu ra một proxy máy chủ để tránh các bức tường lửa. Có hai tuỳ chọn, một là sửa chữa trực tiếp (on-site) hoặc thuê một máy chủ chuyên dụng và việc một số chương trình để giải quyết vấn đề.

Proxy Tunneling

Nếu viết một ứng dụng cho thị trường, bạn phải nhớ rằng không phải tất cả người sử dụng phần mềm sẽ có một trong hai kết nối Internet trực tiếp, minh bạch.

Trong một số trường hợp, người dùng có thể truy cập Internet thông qua một proxy. Thật không may, không có phương tiện hoàn hảo phát hiện nếu một proxy là sử dụng trên một mạng, nó ở đâu, hoặc những gì nó là loại. Không giống như thiết bị định tuyến, proxy không minh bạch cho khách hàng. Bạn sẽ cần phải sửa đổi mã của bạn vào tài khoản cho một proxy. Nếu bạn đang sử dụng các HTTPWebRe nhiệm vụ và đang cố gắng để điều hướng một proxy ứng dụng, sau đó điều này là tương đối đơn giản:

WebProxy myProxy= new WebProxy("proxyserver",8080); myProxy.BypassProxyOnLocal = true;

String url = "http://www.yahoo.com"; HttpWebRequest request =

(HttpWebRequest)HttpWebRequest.Create(url); request.Proxy = myProxy;

Firewall tunneling

Nếu một bức tường lửa ngăn chặn tất cả các cổng, sau đó bạn có thể làm thay đổi các bức tường lửa cho phép truy cập vào cổng yêu cầu của bạn. Các tường lửa được truy cập hoặc thông qua một giao diện Web (http://192.168.1.1 hoặc tương tự) hoặc thông qua một kết nối nối tiếp. Bạn sẽ cần phải có hướng dẫn sử dụng và mật khẩu trong tầm tay. Một số router cung cấp cổng chuyển tiếp để vượt qua tường lửa. Đây là nơi mà các dữ liệu trực tiếp tại địa chỉ IP của router trên một cổng được chỉ định là ngăn chặn, đến một địa chỉ IP nội bộ quy định. Quá trình này là minh bạch cho cả hai đầu của kết nối.

Cuối cùng, nếu bạn không có quyền truy cập vào các bức tường lửa, hoặc bạn muốn cung cấp một giải pháp thân thiện với người sử dụng, bạn có thể trả lại dữ liệu từ một proxy. Đây là nơi mà các máy phía sau tường lửa sẽ mở ra một TCP ổn định và kết nối đến một máy chủ proxy, mà là bên ngoài của các bức tường lửa và proxy cho phép khách hàng để kết nối với nó. Dữ liệu từ các khách hàng đến proxy được chuyển tiếp thông qua kết nối previ-ously mở. Đây là kỹ thuật được sử dụng bởi các ứng dụng Instant Messenger. Một ví dụ mã của giải pháp này được cung cấp ở cuối chương này.

Một phần của tài liệu Giáo trình lập trình mạng (Trang 107 - 108)

Tải bản đầy đủ (PDF)

(111 trang)