Giao thức đồng bộ giữa bên nhận và bên phát

Một phần của tài liệu NGHIÊN CỨU VÀ MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN PEGASIS TRONG MẠNG CẢM BIẾN (Trang 39 - 45)

7. Ngày hoàn thành đồ án:

2.2.2.1.Giao thức đồng bộ giữa bên nhận và bên phát

Trong giao thức này, một nút gọi là bên nhận, trao đổi gói dữ liệu với nút khác gọi là bên phát, làm cho bên nhận đồng bộ với đồng hồ của bên phát. Giao thức đồng bộ giữa bên nhận và bên phát nói chung là đòi hỏi đường nối 2 chiều giữa các nút lân cận.

Điển hình của giao thức đồng bộ giữa bên phát và bên nhận là Lightweight time synchronization protocol (LTS). Giao thức này đưa ra bởi VAN GREUNEN và RABAEY để đồng bộ đồng hồ của mạng với đồng hồ của các nút tham chiếu, ví dụ

như có thể có bộ nhận GPS. Trong khi hoạt động nó điều khiển các nút để sử dụng năng lượng hiệu quả và đạt được độ chính xác cao, và đưa ra những giới hạn tương đối chính xác về các phần cứng cơ sở và các hệ thống. LTS không yêu cầu phải update

đồng hồ cục bộ và nó cũng không ước lượng tốc độ trôi thực sự. LTS chia quá trình đồng bộ làm 2 giai đoạn:

- Giao thức đồng bộ 2 chiều đểđồng bộ 2 nút lân cận.

- Để giữ các nút hoặc một tập hợp các nút cần quan tâm đồng bộ theo một tham chiếu chung, LTS xây dựng một cây phân tán từ các nút tham chiếu đến tất cả các nút. Nếu các lỗi khi đồng bộ single-hop là độc lập, phân phối y hệt nhau và có trung bình là

O thì các nút lá của cây cũng được đồng bộ với lỗi bằng O nhưng sự thay đổi là tổng các thay đổi dọc theo đường truyền từ nút tham chiếu đến nút lá. Vì vậy sự thay đổi này có thể tối thiểu hoá bằng việc tìm ra cây phân tán có chiều cao nhỏ nhất.

Đồng bộ 2 chiều

Đầu tiên chúng ta sẽ nghiên cứu vềđồng bộ hai chiều (hình 2.4)

Sau khi quá trình đồng bộ lại được khởi động ở nút i, gói dữ liệu yêu cầu đồng bộđược định dạng tại thời điểm t1 với thời gian Li(t1). Nút i điều khiển các gói qua hệ

thống hoạt động và các ngăn xếp. Trễđường truyền có thể biến thiên rất nhiều. Khi nút i gửi bit đầu tiên tại thời điểm t2, nút j nhận bit cuối cùng của gói tại t3 =t2 +τ +tP,

trong đó τ là trễđường truyền và tP là thời gian truyền gói (chiều dài của gói tính theo bit).

Hình 2.3 Hoạt động của việc đồng bộ bên phát/bên nhận

Sau đó một thời gian, tại thời điểm t4, gói dữ liệu đến được báo hiệu đến ứng dụng hoặc hệ thống hoạt động của nút j qua một quá trình ngắt, sau đó được đánh dấu

tại thời điểm t5 với thời gian Lj(t5). Tại t6, nút j định dạng gói phúc đáp với thời gian

Lj(t6), và điều khiển gói đó đến hệ thống hoạt động của nó và ngăn xếp mạng. Gói này bao gồm cả thời gian trước đó là Lj(t5) và Li(t1). Nút i ngừng nhận gói vào thời điểm t7

(t6 cộng với mào đầu của mạng hoặc hệ thống hoạt động) và đánh dấu tại thời điểm t8

với thời gian Li(t8). Bây giờ ta sẽ phân tích vì sao nút i lại nhận ra sự hiệu chỉnh của nó.

Để có O=Δ(t1):=Li(t1)−Lj(t1), chúng ta giả sử không có bất kì sự trôi nào giữa các

đồng hồ trong khoảng thời gian từ t1 đến t8, do đó O=Δ(t*) với các nút t*∈[ ]t1,t8 , và trên thực tế nút i ước đoán O bằng việc ước đoán Δ(t5).

Từ hình vẽ ta thấy nhãn thời gian Lj(t5) đánh dấu sự quay lại của nút i, có thể

xảy ra bất kì lúc nào trong khoảng từ t1 đến t8. Tuy nhiên chúng ta có thể làm giảm sự

không xác định này bằng các nhận xét sau:

¾ Chỉ có một độ trễđường truyền τ cộng với thời gian truyền gói tP

giữa t1 và t5

¾ Chỉ có thêm một khoảng τ +tP giữa t5 và t8 đối với gói phúc đáp. Với các nút tĩnh chúng ta có thể giả thiết rằng trễ đường truyền là như nhau theo cả hai hướng.

Thời gian giữa t5 và t6 cũng được tính bởi hiệu Lj(t6)−Lj(t5).

Do vậy, có thể giảm sự không chính xác của t5 đến khoảng

[L(t1) t ,L (t8) t (L (t6) L (t5))]

I = i +τ + P i −τ − Pjj . Nếu chúng ta giả sử thời gian sử

dụng trong hệ thống hoạt động và ngăn xếp mạng, khoảng ngắt cũng như là trễ đường truyền là như nhau theo hai hướng, thì từ nút i sẽ suy ra nút j sẽ có Lj(t5) tại thời điểm (xét so với nút i) 2 )) ( ) ( ( ) ( ) ( ) (t5 L t1 t L t8 t L t6 L t5 Li i + + P + i − − pjj = τ τ (2.2) Vì thế, (adsbygoogle = window.adsbygoogle || []).push({});

2 ) ( ) ( ) ( ) ( ) ( ) ( ) (t5 L t5 L t5 L t8 L t1 L t6 L t5 O i j i + ijj = − = Δ = (2.3) Bây giờ nút i có thể điều chỉnh đồng hồ cục bộ bằng việc gắn thêm độ lệch O

vào. Bằng cách này nút i sẽ đồng bộ với thời gian cục bộ của nút j. Khi mục đích của việc gắn thêm này là để cho nút j về O thì phải cần thêm gói thứ 3, gửi từ i đến j và bao gồm cả O. Trong trường hợp này thì toàn bộ quá trình đồng bộ cần 3 gói.

Sai sốđồng bộ cao nhất của mô hình này là 2

I

nếu τ và tP có độ chính xác cao.

Sai sốđồng bộ thực sự có thể do các khoảng ngắt khác nhau ở i và j, đến các thời điểm khác nhau giữa giữa việc ngắt để nhận một gói và dánh dấu thời gian gói đó, và các thời gian truy nhập kênh khác nhau. Những sự không chính xác này có thể giảm đáng kể nếu nút yêu cầu có thể đánh dấu thời gian các gói của nó càng chậm càng tốt, tốt nhất là ngay trước khi truyền hoặc ngay sau khi chiếm được đường truyền.

Đồng bộ trong toàn mạng

Nhờ có khả năng đồng bộ theo hai chiều, LTS giải quyết được nhiệm vụ đồng bộ tất cả các nút trong toàn mạng với nút tham chiếu. Nếu một nút i nào đó cách nút tham chiếu một khoảng là hihop và nếu lỗi đồng bộ thông thường phụ thuộc vào các thông số μ =0 và σ'=2σ ở mỗi hop, và nếu các nút là độc lập với nhau, lỗi đồng bộ

của của i phụ thuộc vào phương sai σi2 =4hiσ2. Với các nhận xét cơ bản này mục đích của LTS là xây dựng một cây phân tán có chiều cao nhỏ nhất và chỉ cần đồng bộ các cặp nút dọc theo cạnh của cây. Nếu quá trình đồng bộ dọc theo cây phân tán mất nhiều thời gian, độ trôi giữa các đồng hồ sẽ gây ra thêm sai số.

LTS multihop tập trung

Nút chuẩn (ví dụ như một nút với bộ nhận GPS) tạo nên cây phân tán T và bắt

đầu đồng bộ: đầu tiên đồng bộ nút chuẩn với các nút con của T, sau đó các nút con với các nút con, và cứ tiếp tục như thế. Vì vậy mỗi một nút cần phải biết các nút con của nó.

Các nút tham chiếu cũng cần phải đồng bộ lại tần sốđể bù cho độ trôi. Người ta cho rằng các nút tham chiếu cần phải có 4 tham số: chiều cao lớn nhất h của cây phân tán, tốc độ trôi lớn nhất ρ phải thoả mãn cho tất cả các nút trong mạng, độ lệch chuẩn của mỗi hop là 2σ (đã nói ở trên), và độ chính xác mong muốn là δ . Mục đích là để

luôn luôn có sai sốđồng bộở các nút lá luôn nhỏ hơn δ với độ chính xác là 99%. Ngay sau khi đồng bộ lại, độ chính xác của nút lá nhỏ hơn h×2.3×2×σ và nó có thể tăng

đến mức δ . Với độ trôi lớn nhất ρ , quá trình này mất một khoảng thời gian là

ρ

σ δ −2×2.3×h×

. Chu kỳđồng bộ phải được chọn sao cho nhỏ hơn độ trôi xảy ra trong

quá trình đồng bộ lại đơn, có thể phá hỏng độ chính xác ban đầu 2.3×2×h×σ .

Vấn đề chủ yếu ởđây là chi phí. Quá trình đồng bộđơn theo hai chiều cần 3 gói và như vậy việc đồng bộ cả mạng bao gồm n nút sẽ cần 3n nút, khi không tính đến lỗi kênh hoặc xung đột. Thêm vào đó là nguồn năng lượng đáng kể để tạo nên cây phân tán, và nó cần phải lặp lại quá trình này sau mỗi lần đồng bộđể chịu đựng được các sai số.

Do những lý do trên ta thấy được việc cần thiết có các nút tham chiếu multiple, nếu một nút bị hỏng hoặc nếu mạng bị phân chia, thì các nút khác có thể thay thế. Một giao thức chủ rất hữu dụng để hỗ trợ các nút tham chiếu động.

LTS multihop phân bố

LTS multihop phân bố không xây dựng cây phân tán, nhưng mỗi nút đều nhận dạng được số lượng các nút tham chiếu dọc theo đường đi thích hợp của chúng. Đó là nhiệm vụ của các nút để thiết lập đồng bộ lại theo chu kỳ.

Ta hãy xem xét trường hợp ở hình 2.4 và cho rằng nút 1 muốn đồng bộ với nút tham chiếu R. Nút 1 phát yêu cầu đồng bộ đến R theo 1 chuỗi đồng bộ theo 2 hướng: nút 4 đồng bộ với nút R, nút 3 đồng bộ với nút 4, và cứ thếđến nút 1.

Hình 2.4 LTS multihop phân bố

Có 2 điều cần chú ý ởđây là:

- Kết quả là nút 2, 3 và 4 cũng được đồng bộ với nút R

- Do có độ chính xác yêu cầu δ và cùng tốc độ trôi ρ cho tất cả các nút, tần số

đồng bộ lại đối với nút i cách nút tham chiếu hi hop là

ρ (adsbygoogle = window.adsbygoogle || []).push({});

σ δ −4×2.3×hi×

. Vì thế trên

hình ta thấy nút 1 và nút 6 có chu kỳđồng bộ lại ngắn nhất. Nếu 2 nút này luôn yêu cầu

đồng bộ với nút R thì các nút 2, 3, 4 và 5 không bao giờ tự yêu cầu đồng bộ lại.

Một nút phải chọn nút tham chiếu gần nhất để giảm tối đa sai số. Trong cách này không cần phải xây dựng cây có trọng số nhỏ nhất mà nhiệm vụ của giải thuật này là tìm đường đi tốt nhất. Đối với các mạng và giao thức định tuyến xác định ta gặp phải vấn đề về chu trình đồng bộ/định tuyến. Từ những ví dụ trước ta thấy các nút có thể tận dụng những thuận lợi khi quá trình đồng bộđang diễn ra. Như trong ví dụ nút 5 ở hình (2.4) . Thay vì đồng bộ nút 5 độc lập với nút tham chiếu R (có thể làm cho nút 3 và nút 4 tựđông yêu cầu đồng bộ), nút 5 có thể gửi yêu cầu đến tất cả các nút ở lân cận tiếp tục đồng bộ. Nếu có bất kỳ phản hồi nào, nút 5 có thểđợi một khoảng thời gian và sau

đó sẽđồng bộ với nút phản hồi.

Các đặc điểm của LTS được kiểm tra bằng việc mô phỏng 500 nút phân bố ngẫu nhiên trong vòng 120m (hình chữ nhật 120m, mỗi nút có khả năng truyền trong hoặc tham gia vào quá trình đang đồng bộ (giảm số lượng mào đầu khoảng 15 đến 60%). Tuy nhiên, nếu chỉ có một số lượng nút được đồng bộ, các giải thuật phân bố có thể

giới hạn mào đầu của nó đến các vùng quan tâm và lưu trữ năng lượng của tất cả các nút trong khi các giải thuật tập trung bao gồm tất cả các nút và vì thế nó có chi phí cố định bất kể khi giao thức đồng bộ thời gian có được dùng hay không.

Một phần của tài liệu NGHIÊN CỨU VÀ MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN PEGASIS TRONG MẠNG CẢM BIẾN (Trang 39 - 45)