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

Tài liệu Chương 7 THIẾT KẾ PROTOCOL docx

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 (96.06 KB, 29 trang )

Chương 7
1
THIẾT KẾ PROTOCOL
Nội dung
 Protocol
 Các chức năng của protocol
 Các bước thiết kế protocol
2
 Ví dụ – POP3
I.Khái niệm Protocol
 Protocol là một bộ các luật, quy tắc để hai
đối tượng trên mạng có thể trao đổi thông
tin với nhau.
 Các luật này chi phối về nội dung, định
dạng
,
định thời
,
thứ tự

kiểm soát lỗi
của việc trao đổi thông báo giữa các đối
3
dạng
,
định thời
,
thứ tự

kiểm soát lỗi
của việc trao đổi thông báo giữa các đối


tượng.
 Là một bộ các luật về ngữ nghĩa và cú pháp
xác định hành vi của các đơn vị chức năng
trong các liên kết trên mạng.
 Xác định cho các đối tượng trên cùng một
lớp trong kiến trúc mạng.
II.Các chức năng của Protocol
 Connection Establishment
 Authentication
 Send/Receive data
4
 Flow Control
 Synchoronizing/Timing
 Error Control
 Reconnection
II.1.Connection Establishment
 Thực hiện việc xác nhận đối tác ở hai đầu
kết nối. Bao gồm:
 Nhận dạng đối tác
 Xác nhận các thông số môi trường
5
 Ví dụ
S: Server XX. Server Ready!
C: Client XX. Hello Server!
S: Client number: XXXXX
C: Client Ready!
II.2.Authentication
 Thực hiện việc xác nhận quyền và giới hạn
của đối tượng đã kết nối.
 Thông thường là việc xác nhận người sử

dụng thông qua khai báo USER
NAME và
PASSWORD.
6
PASSWORD.
 Ví dụ
C: USER <username>
S: XXX <username> accepted/ not exist.
C: PASS <password>
S: XXX password accepted/ invalid.
II.3.Sending & Receiving data
 Thực hiện việc gửi nhận dữ liệu giữa
hai đối tượng.
 Cần xác định dạng dữ liệu chuyển tải
giữa hai đối tượng
7
giữa hai đối tượng
 Việc gửi nhận dữ liệu có thể đi kèm
với việc kiểm tra tính chính xác của
dữ liệu.
II.4.Flow control
 Kiểm soát việc gửi dữ liệu giữa hai đối
tượng sao cho không xảy ra mất mát dữ
liệu do sự không cân bằng về tốc độ của hai
bên.
8
 Thường được thực hiện qua cơ chế ACK:
máy gửi chỉ gửi dữ liệu tiếp theo khi nhận
được thông báo là máy nhận đã nhận tốt dữ
liệu trước đó.

 Thường làm giảm hiệu suất đường truyền.
II.5.Synchoronizing & Timing
 Protocol có thể được dùng để làm cơ
chế đồng bộ giữa hoạt động của hai
đối tượng trên mạng hoặc định thời
cho một hoạt động nào đó (Điều
9
cho một hoạt động nào đó (Điều
khiển từ xa)
 Có thể kết hợp với cơ chế xử lý sự
kiện để có hiệu quả tốt nhất
II.6.Error Control
 Việc định nghĩa mã lỗi trong protocol
là rất cần thiết, giúp cho protocol trở
nên trong sáng, dễ hiểu và xử lý hiệu
quả
10
quả
 Mã lỗi cần được định nghĩa theo dạng
thức đơn giản, dễ nhận biết và phải
bao quát hết tất cả các trường hợp có
thể xảy ra
II.7.Reconnection
 Thực hiện việc tạo lập lại kết nối nếu có lỗi
hệ thống xảy ra khiến cho mất kết nối
 Cần kết hợp với các xử lý về logging để có
thể nắm chắc trạng thái hiện tại của hệ
11
thể nắm chắc trạng thái hiện tại của hệ
thống

 Chức năng này rất khó thực hiện nhưng sẽ
làm cho hệ thống trở nên hiệu quả hơn và
có tính chịu lỗi cao hơn.
III.Các bước tạo lập protocol
 Xác định các khối chức năng
 Xác định định dạng dữ liệu
 Xác định mô hình kết nối
12
 Phân chia Session
 Xây dựng lệnh
 Lệnh hóa các kịch bản
III.1.Xác định các khối chức năng
 Dựa tên DFD hoặc các Method của mô
hình thực thể kết hợp
 Chỉ quan tâm đến các khối có liên kết
mạng
13
mạng
 Xác định vai trò client/server cho mỗi
khối
 Viết kịch bản bằng ngôn ngữ tự nhiên
cho các khối
III.2.Xác định định dạng dữ liệu
 Dựa trên các kịch bản và dữ liệu cần
lưu chuyển định ra dạng dữ liệu của
từng lệnh hoặc từng giai đoạn.

Có 3 loại
14


Có 3 loại
- Chuỗi ký tự (String)
- Cấu trúc (Structure)
- Dòng byte (Byte stream)
III.3.Xác định mô hình kết nối
 Dựa trên dữ liệu cần chuyển đổi
 Loại kết nối
- TCP _ Connection Oriented
15
- UDP _ Connectionless
 Dạng liên kết
- Đơn socket
- Đa socket
III.4.Phân chia session
 Dựa trên script trao đổi giữa client và
server.
 Dựa trên sự phân quyền và mức độ bảo
mật của hệ thống.
16
mật của hệ thống.
 Xác định các giai đoạn của một session
tương ứng với sự khác nhau của sự phân
quyền và mức độ bảo mật.
 Liệt kê các giai đoạn với miêu tả rõ ràng chi
tiết về các thông tin liên quan.
III.5.Xây dựng lệnh
 Xác định các lệnh có thể có dựa trên
các lệnh đã miêu tả trong script
 Chọn đặt tên cho các lệnh gợi nhớ


Xác định các tham số của lệnh
17

Xác định các tham số của lệnh
 Xác định các trạng thái đáp trả của
server khi thực hiện mỗi lệnh
 Xây dựng bảng mã lỗi cho tất cả các
trường hợp đáp trả
 Xây dựng bảng danh sách lệnh
Xây dựng lệnh(t.t)
 Miêu tả các lệnh dạng văn bản
- Dạng lệnh
- Các tham số
-
Giai đoạn có thể thực thi
18
-
Giai đoạn có thể thực thi
- Các giới hạn
- Họat động
- Các trạng thái đáp trả
- Kịch bản ví dụ
III.6.Lệnh hóa các kịch bản
 Dựa trên các lệnh đã xây dựng
 Dựa trên các kịch bản bằng ngôn ngữ
tự nhiên

Viết lại các kịch bản này bằng các
19


Viết lại các kịch bản này bằng các
lệnh đã xây dựng
 Lưu ý kiểm tra lại các trạng thái trả
lời có thể xảy ra (Các trạng thái rẽ
nhánh)
IV.Ví dụ – POP3
 POP3 – Post Office Protocol ver. 3
 Protocol này được dùng để nhận thư
từ một mail server.

Nhiệm vụ chính:
20

Nhiệm vụ chính:
- Kiểm tra xem có bao nhiêu mail mới
- Download mail về các thư mục cục bộ
 Có cơ chế Authentication
Các trạng thái trong một session
 Authorization: trạng thái chưa xác
nhận người sử dụng
 Transaction: trạng thái truy xuất –
Sau khi đã xác nhận người sử dụng
21
Sau khi đã xác nhận người sử dụng
 Update: trạng thái cập nhật trước khi
kết thúc session (Xóa tất cả các tài
nguyên môi trường cũng như các
message đã bị đánh dấu xóa)
Miêu tả
 Lệnh:

[command] <Argument_1> <Argument_2>
- Command: Lệnh – 4 chữ cái viết hoa
- Argument: chuỗi ký tự và số không chứa khoảng
trắng
22
trắng
 Trả lời: [Status] <Description)
- Status: Trạng thái của trả lời (+OK, -ERR)
- Description: Miêu tả thêm
- Ngoài ra còn có một số dạng đặc biệt để truyền dữ
liệu
Authorization
 Chào hỏi
S: +OK POP3 Server ready
 Khai báo người sử dụng
USER <Username>
23
USER <Username>
PASS <Password>
 Kiểm tra mailbox không cần login
APOP <Username> <Digest>
 Thoát khỏi Session
QUIT
USER
 Arguments:
- Username: Chỉ ra mailbox (cần) trên server
 Giới hạn
- Trong Authorization và sau một lần thất bại của lệnh
USER hoặc PASS
24

USER hoặc PASS
 Miêu tả
- Để thực hiện xác nhận, lệnh USER phải được client
gửi trước, nếu Server trả lời “+OK” thì client gửi tiếp
lệnh PASS để hoàn tất việc xác nhận hoặc lệnh QUIT
để kết thúc Session
- Nếu Server trả về “-ERR” thì client gửi lại lệnh USER
hoặc lệnh QUIT
USER
 Trả lời:
+OK <username> is a valid mailbox
-ERR never heard of mailbox <usernamr>

Example
25

Example
C: USER thanh
S: -ERR sorry, no mailbox for thanh

C: USER hai
S: +OK hai is ok

×