Tải bản đầy đủ (.pdf) (89 trang)

Trao đổi thông tin trong hệ phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.11 MB, 89 trang )

Trao đổi thông tin trong hệ
phân tán
1
Các hệ phân tán @ Hà Quốc Trung
2010
Nội dung
1. Các khái niệm cơ bản
2. Lời gọi thủ tục từ xa
3. Trao đổi thông tin bằng thông báo
4. Trao đổi thông tin dòng
5. Trao đổi thông tin đa điểm

2
Các hệ phân tán @ Hà Quốc Trung
2010
1. Các khái niệm cơ bản
I. Giao thức
II. Kiến trúc phân tầng
III.Mô hình ISO/OSI
IV.Phân loại các phương pháp trao đổi thông tin
Các hệ phân tán @ Hà Quốc Trung
2010
3
I. Giao thức
• Tập hợp các qui ước trao đổi thông tin >=2 thực thể
– Cú pháp dữ liệu
– Thủ tục truyền thông
• Phân loại
– Hướng kết nối/Không hướng kết nối
– Tin cậy/Không tin cậy
– Đồng bộ/không đồng bộ


– Bền vững/Không bền vững
• Chức năng
– Đánh địa chỉ,Kiểm soát lỗi,Kiểm soát luồng dữ liệu, Dồn/tách
kênh,Chọn đường
• Là thành phần cơ bản nhất thực hiện trao đổi thông tin
• Cung cấp các dịch vụ để gửi các thông báo
4
Các hệ phân tán @ Hà Quốc Trung
2010
Phân loại giao thức
• Hướng kết nối
– Kết nối, gửi dữ liệu, nhận dữ liệu, giải phóng kết nối
• Không hướng kết nối
– Gửi dữ liệu, nhận dữ liệu
• Tin cậy
– Gửi dữ liệu, nhận dữ liệu, báo nhận dữ liệu (đích), báo
nhận dữ liệu (nguồn)
• Không tin cậy
– Gửi dữ liệu, nhận dữ liệu
Các hệ phân tán @ Hà Quốc Trung
2010
5
Các khái niệm trong giao thức
• Thủ tục phân tán:
– gửi, nhận, xác nhận, kết nối, ngắt kết nối, phân giải
địa chỉ, định tuyến, chuyển tiếp,
• Nguồn, đích, kênh:
– thực thể truyền tin=> định danh: đánh địa chỉ
• Cú pháp dữ liệu
– Luồng dữ liệu

– Đơn vị dữ liệu
Các hệ phân tán @ Hà Quốc Trung
2010
6
Ví dụ: HLDC (High Level Data Link
Control)
7
6
5
4
3
2
1
0
N(R)
Receive sequence
no.
P/F
N(S)
Send sequence no.
0
I-
fram
e
N(R)
Receive sequence
no.
P/F
type
0

1
S-
fram
e
type
P/F
type
1
1
U-
fram
Các hệ phân tán @ Hà Quốc Trung
2010
7
•Thủ tục
•Yêu cầu: BALA, I, RR,
RNR, (SNRM or
SARM or SABM),
DISC
•Trả lời (I, RR, RNR,
UA, DM, FRMR)
•VD: truyền tin
•Thiết lập kết nối:
SNR, SARM, SABM
•Xác nhận thiết lập kết
nối: UA
•Truyền I
•Nhận I, RR, RNR,
•Giải phóng kết nối


Ví dụ về giao thức hướng kết nối

8
Các hệ phân tán @ Hà Quốc Trung
2010
II. Kiến trúc phân tầng
• Trao đổi thông tin trong hệ phân tán
– Mục đích:
• Trao đổi thông tin đầu cuối (giữa các chương trình)
• Không sử dụng bộ nhớ chung
• Chủ yếu dựa vào trao đổi các thông báo
– Vấn đề
• Đồng bộ nguồn-kênh-đích
– Bit, byte, lỗi, thiết bị trung gian, tốc độ truyền tin
• Kiểm soát lỗi, luồng dữ liệu, chuyển tiếp, định tuyến
• Giao diện với tầng vật lý
• Phức tạp: cần chia nhỏ bài toán

Các hệ phân tán @ Hà Quốc Trung
2010
9
Kiến trúc phân tầng
• Trao đổi thông tin giữa các hệ thống
– Phức tạp, đa dạng, nhiều vấn đề
– Chia để trị: các cặp p2p giải quyết vấn đề cụ thể
(distributed modules) bằng một giao thức
• Chia để trị
– Phần mềm=> thủ tục và hàm
– Ứng dụng phân tán=> giao thức
• Nguyên tắc

– Các giao thức độc lập
– Liên kết tối thiểu
10
Các hệ phân tán @ Hà Quốc Trung
2010
Giao tiếp giữa các tầng kề nhau
• Tầng trên sử dụng dịch vụ của tầng dưới để
truyền các thông báo
– Request(M), Notify(M), Response(M),
Confirm(M)
• Tầng dưới cung cấp dịch vụ cho tầng trên
– Cơ chế callback, notify, …
• Sử dụng các thông tin điều khiển trong các
thông báo để phân biệt các dịch vụ
11
Các hệ phân tán @ Hà Quốc Trung
2010
Tiêu đề-Thông tin điều khiển
12
Các hệ phân tán @ Hà Quốc Trung
2010
Mô hình ISO/OSI
Kết nối các hệ thống mở

13
Các hệ phân tán @ Hà Quốc Trung
2010
Giao thức TCP

14

Các hệ phân tán @ Hà Quốc Trung
2010
III. Giao thức của PM trung gian

2-5
15
Các hệ phân tán @ Hà Quốc Trung
2010
Tầng phần mềm trung gian
• Các ứng dụng đều có cùng các nhu cầu
– Bảo mật, xác thực, đồng bộ, định danh, sao lưu
• Phần mềm trung gian cung cấp các dịch vụ nói
trên
• Các dịch vụ được sử dụng thông qua giao thức,
thực thể, dữ liệu
• Các giao thức, thực thể, dữ liệu này tạo thành tầng
phần mềm trung gian.
• Tầng ứng dụng chỉ chứa các giao thức liên quan
đến các ứng dụng cụ thể
16
Các hệ phân tán @ Hà Quốc Trung
2010
Nội dung
1. Kiến trúc phân tầng
2. Lời gọi thủ tục từ xa
3. Trao đổi thông tin bằng thông báo
4. Trao đổi thông tin dòng
5. Trao đổi thông tin đa điểm

17

Các hệ phân tán @ Hà Quốc Trung
2010
2. Lời gọi thủ tục từ xa
I. Socket API
II. Cơ chế lời gọi thủ tục từ xa
III.Cơ chế truyền tham số
IV.Lời gọi thủ tục từ xa không đồng bộ
V. Ví dụ về lời gọi thủ tục từ xa
Các hệ phân tán @ Hà Quốc Trung
2010
18
I. Socket API
• Server
– Đăng ký cổng, nghe trên cổng
– Chấp nhận kết nối đến cổng
– Trao đổi thông tin (gửi/nhận) qua cổng
– Giải phóng kết nối
• Client
– Thiết lập kết nối sử dụng cổng server và client
– Trao đổi thông tin (gửi/nhận)
– Giải phóng kết nối

Các hệ phân tán @ Hà Quốc Trung
2010
19
Socket API
• Vấn đề
– Xác định cổng của server. Port Forwarding
– Xác định cổng của client.
• Đồng bộ giữa client và server

• Liên hệ giữa phiên làm việc và kết nối
• Rất không thuận tiện cho trường hợp Request-
Response.
Các hệ phân tán @ Hà Quốc Trung
2010
20
II. Khái niệm lời gọi thủ tục từ xa
• Trừu tượng hóa trao đổi thông tin giữa client
và server
• Từ yêu cầu=> trả lời thành quan hệ
– Tham số thực hiện=> kết quả trả về
• Cú pháp lời gọi thủ tục
Các hệ phân tán @ Hà Quốc Trung
2010
21
Lời gọi thủ tục
Các hệ phân tán @ Hà Quốc Trung
2010
22
count=read(fd,buf,nbytes)
Cơ chế truyền tham số
• Tham biến
• Tham chiếu
• Copy/phục hồi
– CT gọi copy các dữ liệu vào Stack
– CT gọi phục hồi các dữ liệu từ Stack
• Chương trình chính và thủ tục chia sẻ một
luồng thực hiện
23
Các hệ phân tán @ Hà Quốc Trung

2010
Cơ chế RPC
24
Các hệ phân tán @ Hà Quốc Trung
2010
Cơ chế RPC
• Cho phép một tiến trình gọi một thủ tục thực hiện
trên một hệ thống khác
• Cơ chế gọi thủ tục trong suốt: giống như thủ tục
cục bộ
• Cần một lời gọi tương tự lời gọi của thủ tục cục
bộ, nhưng được thực hiện theo cách khác
– Client stub
• Đoạn mã thực hiện thủ tục cũng cần được thực
hiện theo cách khác
– Server stub
Các hệ phân tán @ Hà Quốc Trung
2010
25

×