Thuật toán của slotted CSMA/CA và Unslotted CSMA/CA

Một phần của tài liệu (LUẬN văn THẠC sĩ) đánh giá và so sánh hiệu suất giao thức tầng MAC theo chuẩn IEEE802 11, IEEE802 15 4 và IEEE802 15 3 (Trang 51 - 59)

Nhận xét: Ta thấy được rằng trong 802.15.4, sử dụng 2 kỹ thuật CSMA/CA khác nhau cho từng trường hợp cụ thể. Mặt khác kích thước cửa sổ tranh chấp được sử dụng trong 802.15.4 không tăng lên gấp đôi trong mỗi lấn tranh chấp không thành công (nó được gán là 2) như trong 802.11. Các trạm trong 802.15.4 không phải đợi một khoảng DIFS trước khi truy cập kênh truyền vì trong quá trình thực hiện tranh cháp truy cập đường truyền các trạm đã tự làm trễ một khoảng thời gian ngẫu nhiên từ (0, 2BE

-1). 802.15.4 coi trọng việc thiết lập chế độ làm việc (tiết kiệm năng lượng hay không ) để đưa ra giao thức truy cập môi trường truyền phù hợp.

3.7. Một số chức năng của tầng MAC

3.7.1 Quét kênh

Tất cả thiết bị đều có khả năng thực hiện quét bị động, quét lại kênh, quét phát hiện năng lượng và quét chủ động qua một danh sách các kênh. Tầng trên sẽ đưa ra một danh sách kênh được chọn bởi thuộc tính phyChannelsSupported. Một thiết bị sẽ được cung cấp thông tin để bắt đầu quét kênh thông qua chỉ thị MLME-SCAN.request. Trong thời gian quét, thiết bị đó sẽ tạm dừng việc truyền Beacon, nếu có thể hoặc khi có kết quả của việc quét kênh, thiết bị sẽ thực hiện tiếp việc truyền Beacon. Kết quả của việc quét sẽ được trả về thông qua chỉ thị MLME-SCAN.confirm.

3.7.1.1 Quét kênh phát hiện năng lượng

Quét kênh phát hiện năng lượng cho phép các thiết bị đầy đủ chức năng FFD thu được các đơn vị năng lượng tối đa trong mỗi kênh được yêu cầu. PAN Coordinator sử dụng kiểu quét này để lựa chọn kênh truyền trong chu kỳ hoạt động của mình khi nó bắt đầu thiết lập một PAN mới. Trong mỗi lần quét kênh phát hiện năng lượng, tầng con MAC sẽ từ chối tất cả các khung nhận được trên dịch vụ dữ liệu tầng vật lý. Kiểu quét kênh này được thực hiện trên một tập các kênh logic cụ thể được yêu cầu trong chỉ thị MLME-SCAN.request với một tập biến ScanType. Với mỗi kênh logic, thiết bị sẽ chuyển đến kênh đó bằng cách đặt giá trị phyCurrentChannel phù hợp, sau đó thực hiện đo phát hiện năng

lượng một cách lặp lại trong khoảng [aBaseSuperframeDuration * (2n + 1)] symbol, ở đây n là giá trị của ScanDuration trong MLME-SCAN.request. Việc quét phát hiện năng lượng sẽ kết thúc khi số kênh đã được quét bằng số các thực hiện đề ra lớn nhất hoặc năng lượng đã được đo trên tất cả các kênh logic

3.7.1.2 Quét kênh chủ động

Quét kênh chủ động cho phép một thiết bị đầy đủ chức năng xác định vị trí của Coordinator đang truyền khung Beacon trong khoảng cách hoạt động của nó. Việc quét kênh này có thể được sử dụng bởi một thiết bị sẽ là coordinator tương lai lựa chọn định danh PAN để bắt đầu một PAN mới hoặc nó có thể sử dụng bởi thiết bị để liên kết. Trong khi quét chủ động, MAC sẽ từ chối tất cả các khung nhận được trên dịch vụ dữ liệu tầng vật lý ngoại trừ khung Beacon.

Trước khi bắt đầu quét kênh chủ động, MAC sẽ lưu giữ giá trị của

macPANId và sẽ đặt giá trị 0xffff cho khoảng thời gian quét. Điều này cho phép

bộ lọc bên nhận truy cập tất cả những Beacon xa hơn so với những Beacon từ PAN hiện tại của nó. Khi hoàn thành việc quét, MAC sẽ lưu lại giá trị của

Việc quét kênh chủ động trên một tập các kênh logic sẽ sử dụng MLME- SCAN.request. Trong chỉ thị lệnh này, biến ScanType được đặt giá trị tương ứng với giá trị của việc quét kênh chủ động. Đối với mỗi kênh logic, đầu tiên thiết bị chuyển đến kênh này bằng cách đặt phyCurrentChannel giá trị phù hợp và gửi

khung lệnh yêu cầu Beacon. Sau đó, thiết bị sẽ chờ nhận trong [aBaseSuperframeDuration *(2n + 1)] symbol, ở đây n là giá trị của ScanDuration. Trong khoảng thời gian này, thiết bị sẽ từ chối tất cả các khung không phải là Beacon và nó sẽ ghi lại tất cả những thông tin chứa trong tất cả các Beacon duy nhất mà nó nhận được. Một Beacon được xem là duy nhất nếu nó chứa cả định danh của PAN và địa chỉ nguồn mà nó chưa biết trước khi quét kênh.

Thiết bị có thể lưu một giá trị từ 1 đến số thực hiện theo lý thuyết lớn nhất trong bộ miêu tả PAN. Nếu Coordinator của PAN trong chế độ cho phép truyền Beacon nhận được khung lệnh yêu cầu Beacon, nó sẽ bỏ qua khung lệnh này và tiếp tục truyền Beacon của nó như bình thường. Nếu Coordinator của PAN được phép truyền các khung ngoài khung Beacon nhận được khung lệnh này thì nó sẽ truyền một khung Beacon đơn sử dụng kỹ thuật unslotted CSMA/CA.

Việc quét kênh chủ động sẽ kết thúc khi số lượng Beacon tìm được bằng giới hạn thực hiện theo lý thuyết hoặc kênh được quét đủ thời gian. Nếu điều kiện thứ 2 thỏa mãn, kênh sẽ được xem xét để quét lại, nếu có thể việc quét sẽ được lặp đi lặp lại trên mỗi kênh. Toàn bộ việc quét kênh sẽ kết thúc khi số lượng bộ miêu tả PAN được lưu trữ bằng số thực hiện tối đa theo lý thuyết hoặc mỗi kênh được đặt trong tập các kênh đã được quét.

3.7.1.3 Quét kênh bị động

Giống như quét kênh chủ động, quét kênh bị động cho phép một thiết bị xác định bất kỳ Coordinator nào đang truyền Beacon trong khoảng cách hoạt động của nó. Tuy nhiên, Khung lệnh yêu cầu Beacon sẽ không được truyền. Kiểu quét này có thể được sử dụng bởi thiết bị cho mục đích liên kết. Trong quét bị động, MAC sẽ lưu giá trị của macPANId và đặt khoảng thời gian quét là

0xffff, điều này cho phép bộ lọc bên nhận truy cập các Beacon xa hơn Beacon của PAN của nó. Khi hoàn thành quét kênh MAC sẽ lưu lại giá trị macPANId

thay cho giá trị đã lưu trước khi quét.

3.7.1.4 Quét lại kênh

Quét lại kênh cho phép một thiết bị xác định lại Coordinator sau khi mất sự đồng bộ. Trong khi quét, MAC sẽ từ chối tất cả các khung nhận được trên dịch vụ dữ liệu tầng vật lý ngoại trừ khung lệnh MAC tổ chức lại Coordinator. Quét kênh trên một tập các kênh logic được chỉ rõ yêu cầu sử dụng MLME-

SCAN.request với biến ScanType được đặt giá trị thích hợp để thông báo là kiểu quét lại. Đối với mỗi kênh logic đầu tiên thiết bị chuyển đến kênh này bằng cách đặt phyCurrentChannel phù hợp, sau đó gửi khung lệnh khai báo quét lại. Thiết bị sẽ đợi phản hồi trong khoảng thời gian aResponseWaitTime. Nếu thiết bị nhận thành công khung lệnh tổ chức lại Coordinator trong khoảng thời gian này thì thiết bị sẽ không cho phép nhận nữa. Nếu Coordinator nhận được khung lệnh khai báo quét lại, nó sẽ tìm trong danh sách thiết bị của nó để tìm thiết bị đang gửi khung lệnh. Nếu nó tìm thấy một bản ghi của thiết bị, nó sẽ gửi lệnh tổ chức lại Coordinator đến thiết bị đó. Việc tìm thiết bị và gửi khung lệnh được thực hiện trong khoảng tời gian aResponseWaitTime. Trong khung lệnh tổ chức lại sẽ

chứa định danh của PAN, macPANId, kênh logic hiện nay của nó và địa chỉ

ngắn cho thiết bị. Nếu Coordinator không tìm thấy bản ghi nào của thiết bị, nó sẽ bỏ qua khung lệnh và không gửi khung lệnh tổ chức lại Coordinator.

Việc quét sẽ kết thúc khi thiết bị nhận được khung lệnh tổ chức lại Coordinator hoặc tập các kênh lôgic đã được quét.

3.7.2 Liên kết với Coordinator

Một thiết bị sẽ cố gắng liên kết sau khi có yêu cầu thực hiện khởi động lại của tầng MAC bằng cách phát chỉ thị MLME-RESET.request và sau khi quét kênh chủ động hoặc quét kênh bị động thành công, kết quả của việc quét kênh sẽ được sử dụng để chọn PAN phù hợp.

Một Coordinator sẽ cho phép liên kết nếu macAssociationPermit đặt là

TRUE. Thông thường, thiết bị sẽ cố gắng liên kết với PAN mà hiện nay đang cho phép liên kết, điều này sẽ được chỉ rõ sau khi thiết bị quét kênh. Nếu

macAssociationPermit đặt là FALSE, Coordinator sẽ nhận khung lệnh yêu cầu liên kết từ thiết bị và khung lệnh này sẽ bị bỏ qua. Sau khi lựa chọn được PAN phù hợp để liên kết, lớp trên sẽ yêu cầu MLME cấu hình các thuộc tính của lớp vật lý và MAC PIB với các giá trị cần thiết để liên kết:

- phyCurrentChannel sẽ được đặt là kênh logic thích hợp trong khi liên

kết.

- macPANId đặt là định danh của PAN được liên kết.

- macCoordExtendedAddress hoặc macCoordShortAddress sẽ được đặt

giá trị thích hợp theo khung Beacon từ Coordinator mà thiết bị muốn liên kết.

Để tối ưu thủ tục liên kết trên PAN cho phép Beacon, thiết bị có thể bắt đầu lưu vết Beacon của Coordinator mà nó muốn liên kết, được thực hiện bằng cách phát yêu cầu MLMESYNC.request có biến TrackBeacon đặt là TRUE.

Một thiết bị chưa liên kết sẽ khởi tạo thủ tục liên kết bằng cách gửi yêu cầu liên kết đến Coordinator của một PAN đang tồn tại. Nếu yêu cầu liên kết nhận được đúng thì Coordinator sẽ gửi một khung báo nhận xác nhận đã nhận được yêu cầu. Việc báo nhận yêu cầu liên kết không có nghĩa là thiết bị đã được liên kết. Coordinator sẽ cần một thời gian để quyết định xem khi nào tài nguyên có trong PAN có đủ để cho phép các thiết bị khác liên kết hay không. Coordinator sẽ đưa ra quyết định trong khoảng thời gian aResponseWaitTime, Nếu Coordinator tìm

thấy thông tin về việc liên kết trước đây của thiết bị nó sẽ loại bỏ các thông tin đó.

Nếu có đủ tài nguyên, Coordinator sẽ cấp cho thiết bị một địa chỉ ngắn và sinh ra một khung lệnh phản hồi liên kết chứa địa chỉ mới và trạng thái thông báo liên kết thành công. Nếu không đủ tài nguyên, Coordinator sinh ra một khung lệnh phản hồi liên kết chứa thông báo trạng thái lỗi liên kết. Khung lệnh phản hồi liên kết sẽ được gửi cho thiết bị yêu cầu bằng cách sử dụng truyền gián tiếp. Khi nhận được khung lệnh phản hồi liên kết, thiết bị yêu cầu liên kết sẽ gửi khung báo nhận để thông báo nhận đúng

3.7.3 Ngắt liên kết với Coordinator

Thủ tục ngắt liên kết được khởi tạo bởi lớp trên bằng cách phát ra yêu cầu MLME-DISASSOCIATE.request đến MLME. Khi Coordinator muốn một trong các thiết bị đã được liên kết rời khỏi PAN của nó, nó sẽ gửi khung lệnh thông báo ngắt liên kết đến thiết bị đó bằng cách truyền gián tiếp. Nếu thiết bị nhận được đúng khung lệnh yêu cầu ngắt kết nối đó thì nó sẽ xác nhận bằng cách gửi khung báo nhận. Nếu Coordinator không nhận được khung báo nhận thì nó vẫn xem xét ngắt liên kết của thiết bị đó.

Nếu một thiết bị đã liên kết muốn rời khỏi PAN, nó sẽ gửi khung lệnh thông báo ngắt liên kết đến Coordinator của nó. Nếu Coordinator nhận được thông báo này nó sẽ gửi khung báo nhận. Nếu thiết bị không nhận được báo nhận thì nó vẫn xem xét tự nó ngắt liên kết.

Thiết bị đã liên kết sẽ ngắt liên kết bằng cách tự nó loại bỏ tất cả thông tin liên quan đến PAN của nó. Coordinator sẽ ngắt liên kết bằng cách loại bỏ tất cả các thông tin liên quan đến thiết bị. Lớp trên của các thiết bị yêu cầu ngắt liên kết sẽ được thông báo kết quả của thủ tục ngắt liên kết thông qua MLME- DISASSOCIATE.confirm.

3.7.4 Sự đồng bộ hóa

Đồng bộ hóa là thủ tục để cho các Coordinator sinh ra khung Beacon và để cho thiết bị đồng bộ hóa với Coordinator của nó. Đối với PAN hỗ trợ Beacon, việc đồng bộ hóa bằng cách nhận và giải mã khung Beacon, đối với PAN không

hỗ trợ Beacon, việc đồng bộ hóa được thực hiện bằng cách hỏi vòng Coordinator về dữ liệu.

3.7.4.1 Đồng bộ hóa có Beacon

Tất cả các thiết bị hoạt động trong PAN có hỗ trợ Beacon sẽ có thể được đồng bộ hóa Beacon theo thứ tự để phát hiện các thông báo treo hoặc các vết của Beacon. Thiết bị sẽ được phép yêu cầu đồng bộ hóa Beacon chỉ thực hiện với các Beacon chứa định danh PAN được chỉ rõ trong macPANId. Nếu macPANId

là định danh quảng bá thì thiết bị sẽ không yêu cầu đồng bộ hóa Beacon.

Một thiết bị sẽ cố gắng yêu cầu Beacon thông qua MLME-SYNC.request. Nếu trong yêu cầu này có đặt thuộc tính lưu vết thì thiết bị sẽ cố gắng yêu cầu Beacon và lưu vết. Để có thể có được Beacon đồng bộ, thiết bị bật bộ nhận và chờ trong khoảng [aBaseSuperframeDuration * (2n + 1)] symbol, n là giá trị của macBeaconOrder. Nếu khung Beacon chứa định danh PAN của thiết bị mà không được nhận thì MLME sẽ lặp lại quá trình tìm kiếm này. Nếu số lượng các Beacon bị mất đến aMaxLostBeacons thì MLME sẽ thông báo với tầng trên bằng MLME-SYNC-LOSS.indication. MLME sẽ gán nhãn cho mỗi Beacon nhận được. Giá trị của nhãn thời gian sẽ được chọn giống nhau cho các Beacon đến và được lưu trong biến macBeaconTxTime

Nếu trường con security được đặt là 1 thì MLME sẽ xử lý Beacon nhận được theo chế độ bảo mật. Nếu trong quá trình xử lý gặp lỗi nó sẽ thông báo lỗi. Khi nhận được Beacon, thiết bị sẽ xác định xem Beacon đến từ Coordinator nào nếu địa chỉ nguồn, định danh PAN nguồn trong Beacon không đúng thì nó sẽ từ chối nhận Beacon.

Nếu Beacon được nhận thì MLME sẽ thông báo các tham số của Beacon lên lớp trên thông qua MLME-BEACON-NOTIFY.indication.

3.7.4.2 Đồng bộ không có Beacon

Tất cả các thiết bị hoạt động trong PAN không sử dụng Beacon (macBeaconOrder = 15) có thể hỏi vòng Coordinator để lấy dữ liệu ở tầng trên. Thiết bị sẽ được hướng dẫn hỏi vòng bởi Coordinator khi MLME nhận được MLME-POLL.request. Sau khi nhận được khung lệnh này MLME sẽ cho phép các thiết bị lấy dữ liệu đang chờ nhận ở Coordinator.

Kết luận chung: Kiến trúc giao thức mạng theo chuẩn 802.11 và 802.15.4 có những điểm giống nhau và khác nhau như sau:

Giống nhau:

- 802.11 và 802.15.4 đều sử dụng một số kênh có áp dụng kỹ thuật trải phổ tuần tự trực tiếp DSSS.

- Sử dụng kỹ thuật CSMA/CA để điều khiển truy cập kênh truyền. - Sử dụng các khoảng thời gian SIFS để ưu tiên truy cập kênh truyền.

Khác nhau:

- Chuẩn 802.11 sử dụng cho mạng doanh nghiệp còn chuẩn 802.15.4 sử dụng cho mạng cá nhân có vùng truyền nhỏ, tốc độ dữ liệu thấp.

- 802.11 sử dụng kênh truyền trong giải tần 2.4GHz với các kỹ thuật trải phổ nhảy tần và kỹ thuật trải phổ tuần tự, Còn 802.15.4 sử dụng 16 kênh trong dải 2450MHz, 10 kênh trong dải 915 MHz, 1 kênh trong dải 868 MHz

- 802.15.4 hỗ trợ tốc độ truyền tối đa 250kbps còn 802.11 hỗ trợ tốc độ truyền dữ liệu từ 1-2Mbps

- Trong 802.15.4 không sử dụng kỹ thuật CTS/RTS, điều này là hợp lý vì 802.15.4 là mạng cá nhân tốc độ thấp vì thế các gói tin gửi đi trong mạng này có kích thước bé, nếu sử dụng kỹ thuật CSMA/CA + RTS/CTS thì sẽ làm cho chi phí tăng lên, hiệu suất của mạng giảm đi.

- 802.15.4 sử dụng siêu khung để phân chia quyền truy cập cập môi trường truyền và sử dụng kỹ thuật Slotted CSMA/CA (mạng có dùng Beacon) và Unslotted CSMA/CA (mạng không dùng Beacon). Các trạm trong 802.15.4 không phải đợi một khoảng DIFS như trong 802.11 để truy cập môi trường truyền.

CHƢƠNG 4: KIẾN TRÚC GIAO THỨC MẠNG THEO CHUẨN IEEE 802.15.3

Chuẩn IEEE 802.15.3 được thiết kế để cho phép kết nối không dây với tốc độ cao, năng lượng thấp, giá thành rẻ. Chuẩn cung cấp tốc độ dữ liệu từ 11 đến 55 Mb/s với khoảng cách lớn hơn 70m trong khi vẫn duy trì việc đảm bảo chất lượng dich vụ đối với luồng dữ liệu. Hơn nữa, chuẩn này cũng thiết kế để cung cấp kết nối ad-hoc đơn giản cho phép các thiết bị tạo thành mạng một cách tự động và trao đổi thông tin mà không cần sự can thiệp trực tiếp của người dùng. Chuẩn IEEE 802.15.3 cung cấp các kỹ thuật riêng có thể sử dụng để tăng tính tương thích với các mạng không dây khác [8].

IEEE 802.15.3 MAC được thiết kế để hỗ trợ cho mục đích như sau:

Một phần của tài liệu (LUẬN văn THẠC sĩ) đánh giá và so sánh hiệu suất giao thức tầng MAC theo chuẩn IEEE802 11, IEEE802 15 4 và IEEE802 15 3 (Trang 51 - 59)

Tải bản đầy đủ (PDF)

(100 trang)