Chương 3 CƠ SỞ HẠ TẦNG JXTA
3.4 Các giao thức JXTA
Hệ thống JXTA sử dụng 6 giao thức để duy trì các dịch vụ JXTA. Các giao thức này có thể được thực hiện trên bất kỳ ngôn ngữ nào, do đó cho phép nhiều thiết bị có thể kết nối với nhau trong hệ thống mạng ngang hàng. Hình 3-3 [34] mô tả mối quan hệ giữa 6 giao thức và giữa Java JRE và một ứng dụng. Tất cả 6 giao thức này cần thiết cho mỗi điểm nút trong môi trường mạng ngang hàng không tập trung. Các điểm nút có thể nằm trong mạng riêng được ngăn bởi tường lửa, NAT và có thể tham gia trực tiếp vào mạng Internet. Sử dụng các giao thức này giúp cho giảm thiểu việc thực thi
các cơ chế giao vận. Các giao thức này giúp cho các điểm nút: thông báo nội dung chúng muốn chia sẻ; phát hiện nội dung mà chúng quan tâm; tạo lập và tham gia vào nhóm điểm nút; hỗ trợ định tuyến và chuyển thông báo một cách trong suốt.
Hình 3-3 Phân cấp các giao thức JXTA
3.4.1 Giao thức phát hiện điểm
Giao thức phát hiện điểm (Peer Discovery Protocol - PDP) là giao thức giúp cho một điểm nút tìm các thông cáo trên các nguồn JXTA. Giao thức phát hiện điểm chỉ gồm 2 loại thông báo: Thông báo yêu cầu phát hiện thông cáo (Discovery Query Message) và thông báo trả lời dùng để phản hồi (Discovery Response Message).
Hình 3-4 Trao đổi các thông báo
(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10
41 Hai loại thông báo này định nghĩa tất cả các thành phần để thực hiện quá trình phát hiện giữa hai điểm nút.
Dịch vụ phát hiện 1 (Discovery Service) được định nghĩa bởi giao diện DiscoveryService trong net.java.discovery và được thực hiện bởi lớp DiscoveryServiceImpl trong net.java.impl.discovery . Dịch vụ cung cấp cơ chế để thực hiện:
- Lấy thông cáo từ điểm nút khác - Lấy thông cáo tại chính điểm nút - Quảng bá thông cáo cục bộ - Quảng bá thông cáo từ xa - Xóa các thông cáo cục bộ
3.4.2 Giao thức phân giải điểm
Giao thức phân giải điểm (Peer Resolver Protocol - PRP) là giao thức hỏi/ trả lời được dùng cùng với giao thức phát hiện điểm để tìm các điểm nút, nhóm điểm nút, các đường ống và các thông tin khác.
Dịch vụ phân giải (Resolver Service) cần 2 kiểu thông báo:
o Thông báo yêu cầu phân giải (Resolver Query Message - RQM) o Thông báo phản hồi phân giải (Resolver Response Message - RRM)
Hai kiểu thông báo này định nghĩa ra các thông báo gửi các yêu cầu và phản hồi giữa các điểm nút (Hình 3-5). Cũng giống như giao thức phát hiện điểm (PDP), yêu cầu được gửi tới điểm nút và được nhân bản thông qua điểm nút trung chuyển. Khi dịch vụ phân giải nhận được thông báo yêu cầu phân giải (RQM), nó phải tìm đối tượng xử lý tương ứng. Nếu tìm thấy đối tượng xử lý phù hợp, bộ phân giải sẽ chuyển thông báo và quản lý việc gửi thông báo phản hồi được tạo ra bởi đối tượng xử lý.
1 Tất cả các giao thức định nghĩa bởi JXTA Protocol Specification đều được thực hiện như những dịch vụ gọi là các dịch vụ cốt lõi. Các dịch vụ cốt lõi gồm: Phát hiện (Discovery), ống dẫn (Pipe), điểm cuối (Endpoint), hẹn gặp (Rendezvous), thông tin điểm (Peer Info), phân giải (Resolver).
Hình 3-5 Trao đổi các thông báo phân giải
3.4.3 Giao thức thông tin điểm
Giao thức thông tin điểm (Peer Information Protocol) là giao thức giúp cho điểm nút có thể biết thông tin trạng thái của các điểm nút khác. Sau khi phát hiện ra điểm nút thông qua dịch vụ phát hiện điểm và giao thức phát hiện điểm (PDP), giao thức thông tin điểm (Peer Information Protocol - PIP) giúp cho kiểm soát tình trạng của điểm nút từ xa nhằm mục đích khai thác và sử dụng điểm nút hiệu quả. Giao thức PIP cần 2 loại thông báo:
- Thông báo yêu cầu thông tin của điểm nút (Peer Info Query Message - PIQM) - Thông báo cung cấp tình trạng của điểm nút (Peer Info Response Message -
PIRM)
Tương tự như các giao thức phát hiện điểm và giao thức phân giải điểm, ứng với giao thức thông tin điểm cũng có dịch vụ thông tin điểm (Peer Info Service).
Hình 3-6 mô tả giao thức thông tin điểm, thể hiện sự trao đổi thông báo giữa Peer 1 và Simple Peer 2.
(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10
43 Hình 3-6 Trao đổi thông báo thông tin điểm
3.4.4 Giao thức môi giới
Giao thức môi giới (Rendezvous Protocol) là giao thức làm trung gian giúp cho điểm nút có thể gửi thông báo tới các điểm nút khác. Trong JXTA, điểm nút trung chuyển cung cấp cho các điểm nút nằm trong mạng riêng khả năng quảng bá các thông báo tới các điểm nút khác ngoài mạng riêng. Chức năng này hoàn toàn độc lập với giao vận mạng, chức năng cho phép nhân bản thông báo qua giao vận mà không cần hỗ trợ khả năng đa phát hoặc quảng bá. Trước khi có thể dùng điểm nút môi giới để nhân bản thông báo thì phải kết nối tới điểm nút môi giới và nhận một hợp đồng. Hợp đồng này xác định thời lượng yêu cầu một kết nối tới điểm nút môi giới trước khi làm tươi kết nối.
Giao thức môi giới (Rendezvous Protocol – RVP) định nghĩa ra 3 kiểu thông báo:
o Thông báo yêu cầu hợp đồng (Lease Request Message – LRM): dùng bởi một điểm nút yêu cầu một hợp đồng kết nối tới điểm nút môi giới.
o Thông báo chấp nhận hợp đồng (Lease Granted Message – LGM): được dùng bởi điểm nút môi giới để phê duyệt thông báo yêu cầu hợp đồng.
o Thông báo hủy bỏ hợp đồng (Lease Cancel Message - LCM): dùng bởi một điểm nút để đóng kết nối tới điểm nút môi giới.
Hình 3-7 Trao đổi các thông báo RVP Hình 3-7 [7] mô tả trao đổi các thông báo RVP:
o (1): Peer 1 muốn dùng Rendezvous Peer 1 để truyền thông báo trong cùng nhóm thì trước tiên nó phải nhận được một thuê bao kết nối tới Rendezvous Peer 1 thông qua thông báo Lease Request Message
o (2): Khi nhận được Lease Request Message Rendezvous Peer 1 sẽ quyết định cấp một thuê bao kết nối cho Peer 1 hay không. Nếu nó đồng ý, nó sẽ tạo ra một Lease Granted Message tới Peer 1.
o (3): Peer 1 nhận được Lease Request Message, khi này nó có thể gửi thông báo tới Rendezvous Peer 1 để truyền tới các điểm nút khác.
o (4): Khi điểm nút môi giới nhận được thông báo để truyền đi, nó kiểm tra xem quyền của điểm nút nguồn có được thực hiện không. Nếu được, nó sẽ truyền thông báo tới các điểm nút đang sử dụng kết nối tới nó. Đồng thời nó cũng truyền tới các điểm nút trong cùng đoạn mạng cục bộ bằng cách sử dụng TCP multicast/broadcast.
o (5): Điểm nút nhận được thông báo và nó chuyển tới dịch vụ tương ứng thông qua thành phần RendezVousPropagate-Message.
o (6): Một điểm nút môi giới cũng có thể là một đối tượng phục vụ của điểm nút môi giới khác. Trong trường hợp này, Rendezvous Peer 1 kết nối với Rendezvous Peer 2 và dùng Rendezvous Peer 2 để truyền thông báo tới các điểm nút kết nối với Rendezvous Peer 2.
o (7): Peer 3 không là điểm nút môi giới cũng sẽ truyền thông báo. Trong trường hợp này, việc truyền được giới hạn trong đoạn mạng cục bộ.
(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10
45 Dịch vụ môi giới (Rendezvous Service) cung cấp việc thực hiện của các giao thức PVP, cung cấp chức năng cho việc chạy các điểm nút trung chuyển và nhân bản thông báo nhờ điểm nút trung chuyển.
3.4.5 Giao thức ấn định đường truyền
Giao thức ấn định đường truyền (Pipe Bind Protocol - PBP) giúp cho điểm nút thiết lập kênh truyền giữa một hoặc nhiều điểm nút.
Ống dẫn (Pipe) là một sự trừu tượng trong JXTA mô tả kết nối giữa điểm cuối gửi với một hoặc nhiều điểm cuối nhận. Để đưa ra một sự trừu tượng có thể bao hàm công nghệ mạng đơn giản nhất, JXTA quy định ống dẫn là một chiều và không đồng bộ (có nghĩa dữ liệu truyền trong ống dẫn chỉ theo 1 hướng, dữ liệu có thể gửi và nhận bất cứ lúc nào). Đặc tả giao thức JXTA chỉ ra là các kiểu ống dẫn khác: 2 chiều, đồng bộ, … có thể tồn tại trong JXTA. Tuy nhiên, đặc tả chỉ yêu cầu kiểu ống dẫn một chiều và không đồng bộ.
Giao thức ấn định đường truyền (Pipe Bind Protocol - PBP) định nghĩa 2 kiểu thông báo giúp cho một điểm nút xử lý được ống dẫn (Hình 3-8 [7]):
o Thông báo yêu cầu ấn định ống dẫn (Pipe Binding Query Message - PBQM)
o Thông báo trả lời thông tin ấn định ống dẫn (Pipe Binding Answer Message – PBAM)
Hình 3-8 Trao đổi thông báo ấn định đường truyền
Dịch vụ ống dẫn (Pipe Service) xử lý việc tạo ra ống dẫn vào và ống dẫn ra và ấn định các ống dẫn này với các điểm cuối.
3.4.6 Giao thức định tuyến điểm cuối
Khi hai điểm nút không thể kết nối trực tiếp với nhau thông qua giao thức điểm cuối thông thường thì giao thức định tuyến điểm cuối (Endpoint Routing Protocol – ERP) cung cấp cho hai điểm nút cách thức để gửi thông báo tới điểm nút kia thông qua một trung gian (Hình 3-9 [7]).
Giao thức định tuyến điểm cuối đưa ra 3 loại thông báo:
o Thông báo yêu cầu định tuyến (Route Query Message) o Thông báo phản hồi định tuyến (Route Response Message) o Thông báo về định tuyến điểm cuối (Endpoint Router Message)
Tương tự PDP, giao thức ERP có dịch vụ tương ứng là dịch vụ điểm cuối (Endpoint Service)
Hình 3-9 Luồng trong giao thức định tuyến điểm cuối
(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10(LUAN.van.THAC.si).nghien.cuu.trien.khai.cong.nghe.tac.tu.di.dong.tren.co.so.ha.tang.mang.ngang.hang.JXTA.luan.van.ths.cong.nghe.thong.tin.1.01.10
47