1. Trang chủ
  2. » Giáo án - Bài giảng

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

74 565 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giao thức trao đổi dữ liệu
Tác giả Gvc. Nguyễn Đình Việt
Trường học Đại học Quốc gia Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn
Năm xuất bản 2004
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 887,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

Truyền số liệu và Mạng máy tính

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

GVC Nguyễn Đình Việt Khoa Công nghệ, ĐHQGHN

Hà nội - 2004

Trang 2

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

Trang 3

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

Trang 4

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:

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

4/74

Trang 5

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:

5/74

Trang 6

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

Trang 7

2.1 Giới thiệu chung

Trang 8

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:

8/74

Trang 9

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 đồ

Trang 10

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

Trang 11

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

Trang 12

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)

Trang 13

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

Trang 14

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

 Xác suất lỗi bit – pb, 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

Trang 15

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:

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

Trang 16

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

– 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 bits.

16/74

Trang 17

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ệ

Trang 18

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

Trang 19

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

Trang 20

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

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

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

Trang 25

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ừ

xk-1 đến x0 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 xk-1; bên bên cạnh là hệ số của xk-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: x5+x4+x0

25/74

Trang 26

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)

 Các phép tính số học đa thức được thực hiện theo modulo 2, theo các quy tắc của Lý thuyết trường đại số Không có các số nhớ cho phép cộng và số mượn cho phép trừ Cả hai phép tính cộng và trừ đều hoàn toàn giống phép tính OR có loại trừ (EXCLUSIVE OR).

 Thí dụ:

26/74

Trang 27

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)

 Khi phương pháp mã đa thức được sử dụng, người gửi và người nhận phải đồng ý trước với nhau về đa thức sinh (generator polynomial) G(x) Cả bit cao lẫn bit thấp của G(x) phải bằng 1.

 Để tính checksum cho một frame nào đó có m bit, tương ứng với đa thức M(x), frame phải dài hơn đa thức sinh Ý tưởng là gắn một

checksum vào cuối frame sao cho đa thức được biểu diễn bởi frame

đã được tính checksum chia hết cho G(x) Khi người nhận nhận được frame đã được tính checksum, nó sẽ chia frame đó cho G(x) Nếu

như còn dư, thì biết đã có lỗi truyền.

27/74

Trang 28

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

Thuật toán tính checksum như sau:

1. Cho r bằng bậc của G(x), gắn r bit 0 vào cuối của frame, sau bit có

trọng số thấp nhất, vì thế bây giờ nó bao gồm m+r bit, tương ứng

với đa thức xrM(x).

2. Chia xâu bit tương ứng với xrM(x) cho G(x), dùng phép chia modulo

2.

3. Lấy xrM(x) trừ đi phần dư (luôn có số bit nhỏ hơn hoặc bằng r),

dùng phép trừ modulo 2 Kết quả nhận được frame được tính

checksum (checksumed frame) cần phải truyền đi - ta gọi nó là đa thức T(x).

28/74

Trang 29

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

 Người ta đã chứng minh được rằng, với một

mã đa thức với r bit kiểm tra:

– phát hiện được tất cả các lỗi bit đơn

– phát hiện được tất cả các lỗi có chiều dài ≤ r

Frame được truyền đi làT(x) = 11010110111110

29/74

Trang 30

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

Có 3 đa thức đã trở thành tiêu chuẩn quốc tế:

 CRC_12 = x12 + x11 + x3 + x2 + x1 + 1

 CRC_16 = x16 + x15 + x2 + 1

 CRC_CCITT = x16 + x12 + x5 + 1

30/74

Trang 31

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

2.3.1 Cơ chế hoạt động

Kiểm soát lỗi (Error control) bao gồm một hoặc một số trong các

giải pháp kỹ thuật sau:

1. Sử dụng mã phát hiện sai hoặc mã sửa sai

2. Bên nhận thông báo về kết quả nhận: ACK, NACK

3. Sử dụng số tuần tự: đánh STT các gói tin gửi đi

4. Sử dụng đồng hồ quản lý phát, trong đó có Tine-out

5. Điều khiển lưu lượng (Flow Control)

31/74

Trang 32

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

– Độ dài đường truyền (thời gian trễ)

 Căn cứ vào yêu cầu chất lượng dịch vụ

– Có trường hợp có thể chấp nhận lỗi, nếu tỉ suất lỗi nhỏ hơn một giá trị nhất định– Chọn loại mã sửa sai theo yêu cầu chất lượng dịch vụ

 Căn cứ vào chi phí xử lý

32/74

Trang 33

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

2.3.1 Cơ chế hoạt động 2/ Bên nhận thông báo về kết quả nhận:

Trang 34

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

Trang 35

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

2.3.1 Cơ chế hoạt động

4/ Sử dụng đồng hồ quản lý phát, trong đó có Tine-out

 Timer – đơn vị đồng hồ

 Khái niệm Time-out (timeout)

 ? Khi time-out liên tiếp

35/74

Trang 36

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

5/ Điều khiển lưu lượng (Flow Control)

 Cơ chế cửa sổ trượt – Sliding window

 Kích thước cửa sổ bên gửi, bên nhận

 Cơ chế biên nhận

 So sánh các cơ chế

36/74

Trang 37

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

– Được sử dụng rộng rãi nhất, có thể áp dụng tại một hay nhiều tầng của mạng,

thường là: Data Link, Internetwork, hay Transport

– Cho phép bên gửi phát đi liên tiếp một số gói số liệu nhất định rồi mới phải dừng lại chờ biên nhận, trước khi tiếp tục phát

– Bên nhận điều khiển lưu lượng bằng cách kìm lại hay gửi ngay biên nhận (gói

ack, hoặc một gói số liệu + ack)

– Tại mọi thời điểm, bên gửi phải ghi nhớ một danh sách chứa số thứ tự liên tiếp các gói số liệu mà nó được phép gửi đi, các gói số liệu này được gọi là nằm trong cửa sổ gửi Tương tự như vậy, bên nhận cũng duy trì một danh sách gọi là cửa sổ nhận, tương ứng với các gói số liệu mà nó được phép nhận

– Cửa sổ gửi và nhận không nhất thiết phải có độ lớn bằng nhau

37/74

Trang 38

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

Sliding window Flow Control

– Người ta đã đề xuất và sử dụng một số phương thức quản lý cửa sổ khác nhau:

Trang 39

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

Trang 40

2.3 Điều khiển khắc phục lỗi và điều khiển lưu lượng

1 Giao thức Stop-and-wait (Dừng và chờ)

 Mỗi lần chỉ được truyền/phát đi 1 frame, sau đó sẽ chờ ack/nack.

 Frame sẽ được truyền lại nếu:

– Nhận được nack (explicit retransmission)– Hoặc là bị timeout (implicit retransmission)

 Chỉ khi nhận được ack, mới loại gói tin tương ứng khỏi bộ đệm phát

40/74

Ngày đăng: 22/06/2014, 10:20

HÌNH ẢNH LIÊN QUAN

Bảng mã ASCII: - giao thức trao đổi dữ liệu
Bảng m ã ASCII: (Trang 53)
Hình 2-9 Cấu hình kết nối trong giao thức HDLC - giao thức trao đổi dữ liệu
Hình 2 9 Cấu hình kết nối trong giao thức HDLC (Trang 61)
Hình 2-11 Lưu đồ thời gian thực hiện giao thức HDLC - giao thức trao đổi dữ liệu
Hình 2 11 Lưu đồ thời gian thực hiện giao thức HDLC (Trang 68)

TỪ KHÓA LIÊN QUAN

w