Tải bản đầy đủ (.ppt) (74 trang)

giao thức trao đổi dữ liệu

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 (1.04 MB, 74 trang )


Truyền số liệu và Mạng máy tính
Truyền số liệu và Mạng máy tính
Giao thức trao đổi dữ liệu
Giao thức trao đổi dữ liệu
GVC. Nguyễn Đình Việt
Khoa Công nghệ, ĐHQGHN
Hà nội - 2004

Chương 2 Giao thức trao đổi dữ liệu

Giới thiệu một cách cơ bản về giao thức trao
đổi số liệu:

Khái niệm giao thức

Đặc tả giao thức

Đánh giá hiệu suất các giao thức

Bảo vệ số liệu, error detection & error correction

Trình bày 2 giao ở mức Data link làm thí dụ

Giao thức hướng bit

Giao thức hướng ký tự
2/74


2.1 Giới thiệu chung


2.1 Giới thiệu chung
2.1.1 Định nghĩa

Webster’s NewWorld Dictionary of Computer Terms. Third Edition.
Protocol: Set of rules or conventions governing the exchange of
information between computer systems.

Dictionary of Computing: Information Processing, Personal Computing,
Telecommunications, Office Systems, IBM-specific Terms. Eight Edition.
Protocol: A set of semantic and syntactic rules that determines the
behavior of functional units in achieving communications.
 Giao thức là tập hợp các quy tắc và quy ước điều khiển việc trao đổi thông tin
(truyền thông) giữa các hệ thống máy tính.

Giao thức thức không quy định một cách chi tiết việc thực hiện các quy tắc và
quy ước trong một hệ thống như thế nào.
3/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung
2.1.1 Định nghĩa

Giao thức và các thực thể tham gia trao đổi số liệu tạo thành “Máy
giao thức” (Protocol Machine/Engine).

Thí dụ về quy tắc (rule) cụ thể:

Khuôn dạng gói số liệu


Phương thức trao đổi:

hướng kết nối (connection-oriented)

hoặc không kết nối (connectionless)

Phương thức phát hiện và xử lý lỗi trong quá trình trao đổi số liệu
4/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung
2.1.2 Đặc tả và kiểm chứng giao thức

Đặc tả giao thức (Protocol Specification) là chỉ rõ tất cả các yêu cầu về:

Khuôn dạng gói số liệu, gồm: số liệu (data) và các thông tin điều khiển

Phương thức trao đổi số liệu, gồm: trình tự và thời gian thực hiện từng bước

Việc xử lý đối với các sự kiện trong và ngoài hệ thống:

Tràn bộ đệm

Mất đồng bộ giữa các tiến trình

Lỗi truyền số liệu
5/74



2.1 Giới thiệu chung
2.1 Giới thiệu chung

Thí dụ đặc tả giao thức mức N, gồm:

Đặc tả dịch vụ mức N mà thực thể mức N cung cấp cho thực thể mức N+1

Đặc tả giao diện giữa mức N và mức N+1. Thực chất đó là mô tả tương tác giữa
thực thể mức N và thực thể mức N+1

Đặc tả giao thức mức N, thực chất là mô tả tương tác giữa các thực thể cùng
mức (trên các máy tính khác nhau), dịch vụ mà thực thể mức N cung cấp cho
mức N+1 và dịch vụ mà thực thể mức N sử dụng của mức –1.
6/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung

Một số phương pháp (hình thức) đặc tả giao thức

Lập lưu đồ

Dùng ngôn ngữ lập trình

Lưu đồ trạng thái

v.v.
7/74



2.1 Giới thiệu chung
2.1 Giới thiệu chung

Kiểm chứng (Verification) giao thức

Trình tự thực hiện; tập hợp đầy đủ các trạng thái và lưu trình chuyển đổi trạng thái;
tính có kết thúc; hoạt động ổn định; chứng minh rằng các thực thể tham gia trao đổi
số liệu đáp ứng đầy đủ các yêu cầu mà đặc tả giao thức nêu ra.

Kiểm chứng giao thức mức N phải dựa trên kết quả kiểm chứng giao thức mức N-1.
Lỗi xuất hiện ở giao thức mức N cần kiểm chứng có thể gây ra do tương tác giữa các
thực thể cùng mức N hoặc N-1

Phân loại:

Kiểm chứng thiết kế giao thức (Protocol design verification): kiểm chứng đặc tả giao thức

Kiểm chứng thực hiện giao thức (protocol implementation verification)
8/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung

Một số phương pháp kiểm chứng giao thức

Phân tích đạt tới: cho các đặc tả sử dụng lưu đồ thời gian và lưu đồ
trạng thái.


Chứng minh chương trình: cho các đặc tả sử dụng ngôn ngữ lập trình

Mô phỏng

Thực nghiệm
9/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung
2.1.3 Đánh giá hiệu suất giao thức

Đó là việc đánh giá về mặt định tính và định lượng chất lượng phục vụ của một hệ
thống. Với mạng, đó là chất lượng truyền tải.

Mục đích của đánh giá hiệu suất: tạo ra một hệ thống hoạt động có hiệu quả và chất
lượng phục vụ cao.

Hiệu suất mạng có thể được xác định bởi các tham số: reliability, availability, data
throughput, error rate, response time, application performance, v.v. hoặc là sự kết hợp
của một số trong các tham số đó

Có ý nghĩa lý luận và thực tiễn quan trọng, trong suốt quá trình thiết kế, triển khai thực
hiện và đưa vào sử dụng
10/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung
2.1.3 Đánh giá hiệu suất giao thức

Phân loại các phương pháp đánh giá hiệu suất
11/74


2.1 Giới thiệu chung
2.1 Giới thiệu chung
2.1.3 Đánh giá hiệu suất giao thức

Phương pháp lập Mô hình giải tích (Analytical Modeling)

Queueing theory

Probability theory

Based on operational data

Phương pháp lập Mô hình mô phỏng (Simulation Modeling)

Sử dụng chương trình máy tính

Phương pháp đo (Measuring)

Các phương pháp lai

Kiểm chứng mô hình - Kết hợp các phương pháp
12/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi

2.2.1 Giới thiệu chung

Về bản chất, lỗi truyền số liệu là lỗi bit

Nguyên nhân gây ra lỗi:

Các quá trình vật lý sinh ra

Các thiết bị truyền thông gây ra

Lỗi ở một số môi trường có khuynh hướng bùng nổ (burst)

Mặt dễ giải quyết: dữ liệu máy tính luôn được gửi thành các khối bit.
Giả sử rằng kích thước khối là 1000 bit, và tỉ lệ lỗi là 0.001 trên 1 bit.
Nếu các lỗi là độc lập thì hầu hết các khối đều chứa lỗi. Nếu các lỗi
xuất hiện một cách bùng nổ trong 100 khối, thì tính trung bình chỉ có
một hoặc hai khối trong 100 khối bị ảnh hưởng.

Mặt khó: khó phát hiện và sửa hơn so với các lỗi cô lập (isolated).
13/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi

Xác suất lỗi bit – p
b
, Tỉ suất lỗi bit – BER

BER ≤ 10

-9
- đường truyền được xem là tốt

BER ≤ 10
-4
- đường truyền chấp nhận được

Một số đơn vị đo khác, ít được sử dụng hơn:

FER (Frame Error Rate)

PER (Packet Error Rate
14/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi

Xác suất lỗi gói số liệu:

p
f
= 1 – (1-p
b
)
N
, N - độ dài gói, đo bằng bit

p
f

≈ N.p
b
, nếu N.p
b
<< 1

Thí dụ minh hoạ

Cho N = 1000 bit, p
b
= 10
-6


p
f
= 1 – (1-p
b
)
N
= 1 – (1-10
-6
)
1000
= 0.00095

Hay p
f
≈ N.p
b

, ≈ 1000 .10
-6
≈ 0.001.
15/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
Lỗi bit đơn và lỗi bit chùm

Lỗi bit đơn – single it error: các lỗi bit riêng lẻ, phân bố ngẫu nhiên trong gói số liệu

Lỗi bit chùm (bit error burst) & một số khái niệm

Ký hiệu: 1 là 1 bit bị lỗi, 0 là 1 bit đúng (không bị lỗi), 0
x
là một dãy liên tiếp x bit đúng

Gap: “the region between any two consecutive errors” - là vùng nằm giữa 2 vùng lỗi

Burst: “A region where the local bit error rate exceeds a certain thresholf value ” - là vùng
trong đó BER cục bộ vượt quá một giá trị ngưỡng nhất định. Burst bắt đầu và kết thúc bằng
các lỗi.

Burst interval: The region between any two consecutive bursts

Cluster: A region where the errors occur consecutively with no correct bits in between.

Error-Free Run: P(O
m

), i.e., the probability that an error will be followed by at least m
error-free bits.
16/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi

Bảo vệ số liệu:

Bên gửi bổ sung thêm các thông tin dư thừa vào số liệu cần gửi đi
một cách thích hợp (theo quy luật = thuật toán nhất định).

Bên nhận dựa trên các thông tin dư thừa để xác định xem gói tin
nhận được có bị lỗi hay không.

Hai cách tiếp cận bảo vệ

Error Detection

Error Correction

Một số khái niệm

Từ mã (Codeword)

Khoảng cách Hamming (Hamming distance)
17/74



2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
Từ mã (Codeword):

Bình thường một frame chứa m bit dữ liệu (tức là message) và r bit dư thừa hoặc là
các bit kiểm tra. Tổng chiều dài là n= m+r. Một đơn vị kích thước n bit bao gồm
các bit dữ liệu và các bit kiểm tra thường được gọi là từ mã n bit (n-bit codeword).
Khoảng cách Hamming (Hamming distance)

Cho 2 từ mã, chẳng hạn 10001001 và 10110001, tính được trong chúng có 3 cặp bit
tương ứng khác nhau. Cách xác định: XOR 2 từ mã và đếm số bit 1 ở kết quả.

Số vị trí bit trong đó 2 từ mã khác nhau được gọi là Khoảng cách Hamming
18/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
Khoảng cách Hamming (Hamming distance)

Các tính chất phát hiện lỗi và kiểm tra lỗi của một mã phụ thuộc vào khoảng cách
Harming của chúng.

Để phát hiện ra d lỗi, cần một mã có khoảng cách d+1 bởi vì với một mã như vậy
không có một cách nào mà d lỗi bit đơn có thể làm thay đổi một từ mã đúng thành
một từ mã đúng (valid) khác. Khi người nhận nắm được một từ mã không hợp lệ,
nó có thể nói rằng một lỗi truyền đã xảy ra.

Để sửa d lỗi, cần một mã khoảng cách Harming là 2d+1 bởi vì như thế các từ mã
hợp lệ cách xa đến mức mà ngay cả với d bit thay đổi, từ mã ban đầu vẫn còn gần

hơn mọi từ mã khác, vì thế mà nó có thể được xác định một cách duy nhất.
19/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2.2 Parity bit (hay phương pháp Kiểm tra chẵn lẻ theo ký tự)

Là phương pháp phát hiện lỗi đơn giản nhất được áp dụng (cho từng ký tự) ở chế độ
truyền không đồng bộ.

Bit parity đựoc chọn sao cho số các bit 1 trong từ mã là chẵn (hoặc lẻ).

Thí dụ khi 100.0001 được gửi đi với parity chẵn bằng cách bổ sung thêm một bit ở
cuối, nó trở thành 1000.0010.

Một mã với bit parity đơn có khoảng cách là 2, bởi vì mọi lỗi bit đơn sinh ra một từ
mã với parity sai.

Được sử dụng để phát hiện các lỗi bit đơn.
20/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2.3 Kiểm tra chẵn lẻ theo khối

Các mã Hamming chỉ có thể sửa được các lỗi đơn.
Tuy nhiên có một cách sử dụng cho phép các mã
Hamming sửa các lỗi kiểu burst (Hamming, 1950).


Một dãy k từ mã liên tiếp được bố trí như một ma trận,
mỗi từ mã trên một hàng.

Các bit của từ mã được đánh số liên tiếp, bắt đầu với
bit 1 ở bên trái. Các bit là số mũ của 2 (1, 2, 4, 8,
16 ) là các bit kiểm tra (check bit). Các bit còn lại (3,
5, 6, 7, 9 ) được lấp đầy bởi m bit dữ liệu.
21/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2.3 Kiểm tra chẵn lẻ theo khối

Giá trị của bit kiểm tra được chọn sao cho tính chẵn lẻ
của một nhóm bit, kể cả chính nó phải là chẵn (hoặc
lẻ).

Một bit có thể được sử dụng trong một số phép tính
toán tính chẵn lẻ.

Để xem bit dữ liệu ở vị trí k ảnh hưởng đến (việc chọn
giá trị) các bit kiểm tra nào, hãy viết lại k như là tổng
các số mũ của 2. Thí dụ, 11=1+2+8 và 29=1+4+8+16.
Một bit sẽ được kiểm tra bằng những check bit nằm ở
các vị trí có trong biểu thức như trên.

Thí dụ, bit 11 được kiểm tra bởi các bit 1,2 và 8.
22/74



2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2.3 Kiểm tra chẵn lẻ theo khối

Bình thường dữ liệu có thể được truyền đi
mỗi lần một từ mã, từ trái sang phải. Để sửa
các lỗi kiểu burst, dữ liệu cần được truyền đi
mỗi lần một cột, bắt đầu từ cột bên trái nhất.
Khi tất cả k bit đã được gửi đi, cột thứ 2 sẽ
được gửi
23/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2.3 Kiểm tra chẵn lẻ theo khối

Khi frame đi đến bên nhận, ma trận sẽ được xây dựng
lại, mỗi lần một cột.

Nếu một lỗi burst chiều dài k xảy ra, nhiều nhất chỉ
có một bit ở mỗi một trong số k từ mã bị ảnh hưởng

Mã Hamming có thể sửa được 1 lỗi trong một từ mã,
vì thế tất cả khối có thể khôi phục lại được.

Phương pháp này sử dụng k.r bit kiểm tra để tạo nên
các khối có tổng cộng k.m bit dữ liệu trở thành “miễn

dịch” đối với các lỗi burst có chiều dài <= k.
24/74


2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2 Bảo vệ số liệu và kiểm soát lỗi
2.2.4 Mã dư vòng – CRC (Cyclic Redundancy Check / Code)

Tên gọi khác: Mã đa thức (polinomial code)

Là phương pháp phát hiện lỗi tin cậy nhất hiện nay. Thường được áp dụng đối với
việc truyền số liệu với tốc độ cao, trong LAN hoặc WAN.

Coi dòng bit như là các biểu diễn của các đa thức với các hệ số chỉ là 0 và 1. Một
frame k bit được xem là một danh sách các hệ số của một đa thức có k số hạng, từ
x
k-1
đến x
0
. Một đa thức như vậy được gọi là có bậc k-1. Bit bậc cao nhất (bên trái
nhất) là hệ số của x
k-1
; bên bên cạnh là hệ số của x
k-2
v.v.

Thí dụ, 110001 có 6 bit và như thế biểu diễn một đa thức có 6 số hạng với các hệ số
1, 1, 0, 0, 0, 1: x
5
+x

4
+x
0
.
25/74

×