Mạng VANETs là một phần quan trọng của hệ thống giao thông thông minh ITS với các ứng dụng an toàn safety như: cảnh báo va chạm, hỗ trợ việc điều hướng, hỗ trợ cảnh báo tốc độ giới hạn t
Trang 1TÌM HIỂU MẠNG VANETs VÀ MÔ
PHỎNG NS3
Trang 2MANET Mobile Ad-Hoc Network
WAVE Wireless Access in Vehicular Enviroments
IEEE Institute of Electrical and Electronics EngineersMAC Medium Access Control
ITS Intelligent Transportation Systems
PHY Physical Layer
BSS Basic Service Set
OCB Outside the Context of BSS
DSRC Dedicated Short-Range Communications
LLC Logical Link Control
EDCA Enhanced Distributed Channel Access
OBUs On-Board Units
RSUs Road-Side Units
WSMP WAVE Short Message Protocol
IP Internet Protocol
WSA WAVE Service Advertisements
MIB Management Information Base
MSDU MAC Service Data Unit
MPDU MAC Protocol Data Unit
TA Timing Advertisement
DCF Distributed coordination function
DIFS Distributed coordination function Interframe Space
Trang 3CCHI Control Channel Interval
AIFS Arbitration Inter-Frame Spacing
AIFSN Arbitration Inter-Frame Spacing Number
DCF Distributed coordination function
QoS Quality of Service
DIFS Distributed Inter-Frame Space
UTC Universal Time Coordinated
API Application Programming Interface
IBSS Independent Basic Service Set
OFDM Orthogonal Frequency-Division Multiplexing
BSM Basic Safety Message
PCAP Packet Capture
ASCII American Standard Code for Information InterchangeSUMO Simulation of Urban Mobility
MOVE Mobility Model Generator for Vehicular Network
Trang 4CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu chung về mạng VANETs
Đề tài hướng đến việc tìm hiểu mạng Vehicular Ad-hoc Networks (VANETs); một môhình mạng được tạo ra dựa trên mô hình mạng Mobile Ad-hoc Network (MANET) Mạngphương tiện VANETs là một dạng đặc biệt của MANET khi ở đây các node mạng là xe cộ,cho nên VANETs sẽ có những đặc tính độc nhất như: tính di động của các node bị hạn chếbởi các con đường, các node mạng di chuyển với tốc độ cao, tiêu thụ năng lượng khôngcòn là vấn đề nghiêm trọng trong VANETs
Mạng VANETs trao đổi dữ liệu trên một topology mạng không dây giữa phương tiệnvới phương tiện (Vehicle-to-vehicle) hoặc giữa phương tiện với cơ sở hạ tầng (Vehicle-to-Infrastructure) Mạng VANETs là một phần quan trọng của hệ thống giao thông thông
minh ITS với các ứng dụng an toàn (safety) như: cảnh báo va chạm, hỗ trợ việc điều
hướng, hỗ trợ cảnh báo tốc độ giới hạn trong các khu vực hoặc có các chướng ngại vật;
ngoài ra còn có các ứng dụng không an toàn (non-safety) như: thông tin giao thông và thời
tiết, các ứng dụng truy cập Internet và các ứng dụng đa phương tiện
Hình 1-1: Mô hình mạng VANETs [1]
Những ứng dụng safety và non-safety này được trao đổi dựa trên các giao thức của
Trang 5safety, điều này dẫn đến việc các gói tin non-safety có thể cản trở các gói tin safety cần
truyền đi, dẫn đến việc đòi hỏi mỗi thiết bị phải có hai sóng vô tuyến vật lý trên các kênhriêng biệt Chuẩn 1609.4 giải quyết vấn đề này bằng cách cho phép một thiết bị với mộtsóng vô tuyến vật lý có thể giao tiếp đa kênh đồng thời, các thiết bị có thể tham gia vào các
ứng dụng non-safety trong khi đó vẫn có thể nhận được các gói tin safety.
1.2 Đối tượng nghiên cứu
- Giao thức IEEE 802.11p định nghĩa các cải tiến của IEEE 802.11 hỗ trợ thêm
Wireless Access in Vehicular Enviroments (WAVE)
- Chuẩn 1609.4 hỗ trợ giao tiếp đa kênh như: chuyển đổi kênh, đồng bộ thời gian, cácquy định truy cập kênh
- Phần mềm Net Simulation 3 (NS3): phần mềm xây dựng các topology mạng với các
module được hỗ trợ
1.3 Hướng thực hiện
- Sử dụng phần mềm NS3 mô phỏng một mạng topology VANETs trong việc truyền
các gói tin dựa theo chuẩn 1609.4
- Đánh giá các tiêu chí của chuẩn MAC IEEE 1609.4 dựa vào các thông số có được
từ mô phỏng
Trang 6
-CHƯƠNG 2 CÁC CHUẨN TRONG MẠNG VANETs
2.1 Mô hình IEEE WAVE
1.1.1 Kiến trúc WAVE
WAVE hoạt động dưới dạng các dịch vụ và có các nguyên tắc Các dịch vụ chia làm 2
plane: dịch vụ data plane và dịch vụ management plane Data plane bao gồm các giao thức giao tiếp để truyền dữ liệu giữa các thiết bị, trong khi đó management plane có chức năng hỗ trợ cho data plane chứ không truyền dữ liệu trực tiếp Các chuẩn tương ứng với
các lớp như sau:
- 802.11p bao gồm: lớp vật lý (PHY), thực thể quản lý lớp vật lý (PLME), thực thể
quản lý lớp MAC (MLME), và một nửa dưới của lớp WAVE MAC IEEE 802.11pcung cấp tính năng cốt lõi là cho phép giao tiếp giữa các thiết bị mà không cần thamgia một Basic Service Set (BSS) điều này được gọi là Outside the Context of BSS(OCB) Lớp MAC này không yêu cầu sự liên kết từ các thiết bị tương tự mạng Ad-hoc
Tổ chức US Federal Communication Commission (FCC) đã phân bổ 75 MHz tại băngtần 5.9 GHz cho Giao tiếp truyền thông tầm ngắn (DSRC) được dùng riêng cho giaotiếp giữa V2V hoặc V2I
- 1609.4 bao gồm nửa trên của lớp WAVE MAC được xem như MLME Extension.
1609.4 chỉ định một phần mở rộng cho lớp MAC cho phép giao tiếp đa kênh trên Board Units (OBUs) hoặc Road-Side Units (RSUs) chỉ cần một sóng vô tuyến đồngthời Ngoài ra còn có chức năng chỉ định chuyển kênh và đồng bộ hóa thời gian; điềunày bao gồm dữ liệu định tuyến từ LLC đến kênh thích hợp và sử dụng cơ chế EDCAcho mỗi kênh để điều chỉnh việc truy cập kênh, gửi các frame VSA và TA, thay đổi địachỉ MAC Với OBUs là một tập hợp các phương tiện được trang bị các thiết bị truyềnthông, và một tập hợp các thiết bị cố định dọc theo các con đường được gọi là RSUs.Các ban hành của chuẩn 1609.4 bao gồm:
On- Hỗ trợ truyền dẫn cho cả dữ liệu WSMP và IPv6 với WSMP được cho phép gửi
đi trên cả hai kênh là SCH và CCH, trong khi đó IPv6 chỉ được truyền trên kênhSCH;
Trang 7 Hỗ trợ các chế độ truy cập kênh như: continuous, alternating, immediate, và extended Điều này cho phép một thiết bị có thể truy cập một hoặc nhiều dịch vụ
đồng thời mà không cần quá nhiều sóng vô tuyến vật lý;
Hỗ trợ cho việc truy cập nhiều kênh dịch vụ đồng thời thông qua chế độ
alternating;
Hỗ trợ đồng bộ hóa thời gian Cung cấp Timing Advertisements để đồng bộ hóacác thiết bị không có nguồn UTC đáng tin cậy
Việc kiểm tra và xác thực các ban hành của 1609.4 bao gồm:
Kiểm tra dữ liệu được truyền trên kênh chính xác để nhận dạng dữ liệu làWSMP hoặc IPv6;
Kiểm tra việc chuyển kênh xảy ra đúng thời điểm với các chế độ truy cập kênh;
Kiểm tra cập nhật UTC và Timing Advertisements có được truyền liên tục theoyêu cầu
- 1609.3 bao gồm các phần còn lại của data plane bao gồm: WAVE Short Message
Protocol (WSMP), WAVE Service Advertisements (WSA) và giao thức IPv6, giaothức UDP, Logical Link Layer (LLC) được sử dụng trong hệ thống WAVE WSAthông báo tính khả dụng của dịch vụ và được truyền bởi một nhà cung cấp dịch vụ.WSMP được sử dụng để truyền các thông điệp có độ trễ thấp, cho phép các ứng dụngthiết lập các tham số vật lý ở mỗi thông điệp được truyền
- 1609.2 bao gồm WAVE Security Services trong plane management.
Hình 2-1: Kiến trúc WAVE [8]
- 1609.1 quản lý tài nguyên chỉ định các dịch vụ và giao diện cho các ứng dụng
WAVE Resource Manager
Trang 81.1.2 IEEE 1609.4 hoạt động đa kênh
1.1.1.1 Hoạt động truyền dữ liệu
Giao thức 802.11p với tổng băng thông 75 MHz sẽ được chia thành 7 kênh với băngthông mỗi kênh là 10 MHz bao gồm: 1 kênh điều khiển (CCH) và 6 kênh dịch vụ (SCHs)được trình bày trong hình 2-2
Hình 2-2: Phân bổ tần số cho CCH và SCH [2]
Chuẩn 1609.4 mô tả hoạt động truyền dữ liệu bằng một kiến trúc tham chiếu Kiếntrúc này minh họa hoạt động truyền dữ liệu trên hai kênh: CCH và SCH thông qua hình 2-3
Cơ chế EDCA
Với mỗi kênh tồn tại các queue EDCA của riêng nó EDCA (Enhanced DistributedChannel Access) là một cơ chế truy cập ưu tiên trong IEEE 802.11.Trong cơ chế EDCA(cho một kênh đơn), có 4 loại danh mục truy cập ACs (Access Categories) tương ứng vớicác ưu tiên từ người dùng (theo thứ tự ưu tiên từ thấp đến cao):
- Background (AC_BK);
- BestEffort (AC_BE);
- Video (AC_VI);
- Voice (AC_VO).
Trang 9Hình 2-3: Kiến trúc truyền dữ liệu trong 1609.4 [1]
Các queue tương ứng với các ACs Khi một MSDU (MAC Service Data Unit) đượcnhận từ LLC, nó sẽ được đặt vào queue tương ứng với sự ưu tiên của nó Mỗi queue có bộtham số EDCA với những giá trị xác định xác suất truyền Tham số EDCA bao gồm: AIFS,Transmit Opportunity, giá trị CWmax và CWmin
Khác biệt giữa DCF và EDCA là AIFS tại mỗi idle slot chỉ xảy ra backoff hoặc chỉ xảy
ra truyền frame Backoff = 0 sớm nhất đưa frame vào kênh truyền và mọi hoạt động backoff dừng lại cho đến khi kênh rỗi Tuy nhiên, khi có nhiều hơn một AC truy cập kênh hoàn thành quá trình backoff cùng một lúc, va chạm được xử lý theo cách ảo hóa Khi đó là
khung ưu tiên cao nhất trong số các khung va chạm phải được chọn và truyền đi, và các
khung còn lại thực hiện một backoff với các giá trị CW tăng lên
Một QoS station có thể hỗ trợ ít nhất 8 user priority, được ánh xạ thành 4 loại ACs.Mỗi ACs truy cập kênh với AIFS và CW khác nhau So với DCF thì EDCA sử dụng AIFSthay cho DIFS cho mỗi ACs
AIFSN biểu thị các giá trị khác nhau của các AC khác nhau, δ biểu thị khoảng thời
gian cho một slot theo chuẩn 802.11
Trang 10Bảng 2-1: Bảng thông số mặc định của các AC trong 802.11p [4]
Dựa vào bảng 1 và các thông số trong bảng, có thể thấy được quá trình truy cập kênhtrong EDCA qua hình sau:
Hình 2-4: Quá trình thương lượng kênh [4]
Qua hình 2-4 có hai trạm STA1 và STA2 tương ứng với các packet của AC1 và AC4
Có thể thấy sự khác nhau về AIFSN, vì thế mà AC1 trong STA1 sẽ giảm backoff sớm hơn AC4 trong STA2 là 5 slots, và dẫn đến khi backoff về 0 thì AC1 dành được kênh truyền và truyền dữ liệu Kênh truyền ở trạng thái busy và đồng bộ lại sau đó AC ưu tiên thấp sẽ backoff lâu hơn AC ưu tiên cao Trong 1 station QoS mỗi AC được chia thành một queue
riêng biệt Mỗi queue được xem như một trạm ảo và cho phép truy cập kênh độc lập Khi
xảy ra va chạm nghĩa là có 2 bộ backoff về 0 thì AC ưu tiên cao sẽ được truyền dữ liệu, AC
thấp có thể xem như xảy ra xung đột
Định tuyến kênh
1609.4 MAC Extension chịu trách nhiệm cho việc định tuyến dữ liệu đến kênh thíchhợp, cũng như việc truyền dữ liệu trên đúng kênh vào đúng thời điểm Trên một thiết bịWAVE, có hai loại khung dữ liệu có thể được truyền đi: IPv6 và WSMs với WSMP cóthêm 4 tham số so với IP:
- Channel Identifier;
- Tốc độ dữ liệu;
Trang 11- Thời gian kết thúc.
Với WSMP trong frame đã có các tham số trên Với dữ liệu IP các tham số này được
lấy từ một máy phát được đặt trong 1609.4 Management Information Base (MIB) Như đãtrình bày trước đó MSDU sẽ được gán một AC và kênh truyền xác định, thêm vào cácthông tin giao thức MAC sẽ tạo thành một MAC Protocol Data Unit (MPDU) MPDU sau
đó được đưa vào các queue thông qua thông tin về kênh và AC Khi chúng đi đến kênh mà
dữ liệu được gửi đi, MAC sẽ đợi kênh rỗi sau đó chọn MPDU từ queue cạnh tranh thành
công sau khi tranh chấp nội bộ
1.1.1.2 Các dịch vụ quản lý
Với management plane, 1609.4 giải quyết vấn đề đồng bộ thời gian, kiểm soát việc
truy cập kênh, xử lý việc truyền và nhận các khung VSA, duy trì MIB, thay đổi địa chỉMAC của thiết bị và truy cập các dịch vụ 802.11 khác trên cơ sở mỗi kênh
2 Sau đó MLME Extension sẽ khởi tạo các yêu cầu để gửi TA đến 802.11p MLME.Những yêu cầu này được khởi tạo thông qua Repeat Rate chứa thông tin thời gian cầnthiết cho thiết bị nhận cập nhật UTC;
3 Khi nhận được yêu cầu từ MLME Extension, 802.11p MLME sẽ truyền đi mộtkhung TA;
4 Khung TA được nhận ở lớp thấp hơn và dữ liệu sẽ chuyển đến 1609.4 MLMEExtension, sau đó khởi tạo UTC của chính nó bằng thông tin thời gian chứa trongkhung
Chế độ truy cập kênh
Trong 1609.4, có hai loại kênh đó là kênh điều khiển và kênh dịch vụ Kênh điều khiểnđược sử dụng cho các dữ liệu quản lý và có ưu tiên cao, kênh dịch vụ thì được sử dụng cho
Trang 12các dữ liệu ứng dụng chung Có 1 kênh điều khiển và 6 kênh dịch vụ, 1609.4 hỗ trợ 4
Hình 2-5: Các mode truy cập kênh [5]
Thời gian sẽ được chia làm 2 khoảng là khoảng CCH (CCHI) và khoảng SCH (SCHI).Mỗi khoảng thời gian là 50 ms và gộp lại 2 khoảng thời gian này có thể xem như làkhoảng thời gian đồng bộ (Sync Interval)
Chế độ truy cập liên tiếp (Continuous) chỉ đề cập đến kênh SCH hoặc kênh CCHkhông có sự chuyển đổi kênh Với chế độ lần lượt (Alternating) có sự chuyển đổi kênhgiữa CCH và SCH, sóng vô tuyến chuyển đổi đến kênh CCH trong suốt khoảng CCHI vàtương tự với kênh SCH trong SCHI Chế độ tức thì (Immediate), kênh SCH có thể chuyểnđổi tức thì và ngắt khoảng CCHI hiện tại không cần đợi khoảng SCHI Chế độ truy cậpcuối cùng là mở rộng (Extended) cho phép truy cập một kênh SCH liên tục trong mộtkhoảng thời gian cụ thể và không truy cập lại kênh CCH cho đến hết khoảng thời gian truycập của chế độ Extended
Thông qua hình 2-5 có thể thấy một khoảng thởi gian bảo vệ (GI) xuất hiện ở đầu mỗikhoảng chuyển đổi kênh Mặc dù các thiết bị đã được đồng bộ thời gian với UTC nhưngvẫn có một số thời gian nhỏ không chính xác giữa các thiết bị, GI được đưa ra để giải
quyết vấn đề này GI có khoảng thời gian là 4 ms tạo thành 2 ms SyncTolerance (ms đầu tiên và cuối cùng) và 2 ms MaxChSwitchTime (ms thứ 3 và 4) Chỉ trong thời gian
SyncTolerance là cho phép hoạt động còn trong MaxChSwitchTime không cho phép
Trang 131609.4 hỗ trợ truyền nhận các khung VSA Đây là loại khung quản lý được sử dụngtrong WAVE để truyền các WSAs, cũng như các dữ liệu quản lý WAVE khác Việc truyềncác khung VSA được xử lý tương tự các khung Timing Advertisement Một yêu cầu đượcnhận từ lớp trên bao gồm địa chỉ MAC đích, Repeat Rate, Channel Identifier, ChannelInterval kèm theo đó là các trường cụ thể cho khung VSA: ID quản lý, Mã định danh tổchức (Organization Identifie) và Vendor Specific Content.
Cơ sở quản lý thông tin (MIB)
Việc duy trì một cơ sở quản lý thông tin (MIB) là bắt buộc đối với các thiết bị theochuẩn 1609.4 MIB chứa thông tin cấu hình và trạng thái liên quan đến các thực thể1609.4 Thông tin chứa đựng bao gồm:
- Capacities: chứa các tính năng 1609.4 được triển khai trên thiết bị;
- Switching: chứa độ dài của kênh và khoảng bảo vệ GI;
- Channel Set Table: chứa thông tin về các kênh sẵn sàng để sử dụng;
- Bảng EDCA CCH: chứa các giá trị tham số EDCA cho kênh điều khiển;
- Bảng EDCA SCH: chứa các giá trị tham số EDCA cho kênh dịch vụ;
- Bảng Transmitter Profile: chứa các giá trị tham số truyền danh cho dữ liệu IP trên
các gói dịch vụ;
- Thông tin thời gian: chứa các thông tin liên quan UTC
Trang 14CHƯƠNG 3: MÔ PHỎNG NET SIMULATION 3
3.1 Phần mềm Net Simulation 3 (NS3)
Phần mềm mô phỏng NS3 là một phần mềm có tính năng mô phỏng mạng với các sựkiện rời rạc dành cho mục đích giáo dục và nghiên cứu Một vài đặc điểm quan trọng khibắt đầu phần mềm NS3:
- NS3 là một mã nguồn mở, có thể sử dụng từ nguồn có sẵn và đóng góp thêm các
module cho phần mềm;
- NS3 với các APIs được viết bằng ngôn ngữ lập trình hướng đối tượng C++.
NS3 cung cấp các mô hình (models) về cách thực hiện và hoạt động của các gói dữliệu trong một topology mạng, hỗ trợ các công cụ cho người dùng có thể mô phỏng NS3
hỗ trợ mô phỏng với các hệ thống gần với hệ thống thực tế, NS3 tập trung vào việc môhình hóa cách hoạt động của các giao thức mạng và internet Sau đây là một điểm đặc biệtcủa NS3 với các công cụ mô phỏng khác:
- NS3 là một tập hợp các thư viện liên kết với nhau NS3 cung cấp các công cụ cho
Animation cũng như các công cụ phân tích dữ liệu và các công cụ trực quan khác Cácthư viện và công cụ này làm việc dưới ngôn ngữ C++
- NS3 chủ yếu được sữ dụng trên nền tảng Linux Đề tài này sẽ cài đặt NS3 trên hệ
điều hành Ubuntu 12.04
Hình 3-1: Logo phần mềm NS3 [7]
1.1.3 Các khái niệm tổng quan
Trang 15Node: một thiết bị hoặc một máy tính kết nối với mạng được trừu tượng hóa như là
Node Node sẽ được thêm các ứng dụng, giao thức, card ngoại vi và các driver để node cóthể sử dụng được trong môi trường mạng
Application:cung cấp các phương thức để quản lý các ứng dụng của người dùng trong
mô phỏng Có thể xây dựng một bộ ứng dụng giữa Client và Server để trao đổi các gói tinmạng
Channel: cung cấp các phương thức nhằm quản lý các đối tượng mạng con và các
node kết nối với chúng Có một vài loại Channel trong NS3: CsmaChannel,PointToPointChannel và WifiChannel,…
NetDevice: cung cấp các phương thức để quản lý các kết nối giữa Node và Channel.
Có một vài loại NetDevice trong NS3: CsmaNetDevice, PointToPointNetDevice vàWifiNetDevice,…Các NetDevice này hoạt động với các Channel tương ứng với nó
Topology Helpers: NS3 cung cấp các helper nhằm hỗ trợ cho việc kết nối NetDevice
với Node hoặc NetDevice với Channel như: gán địa chỉ IP, cấu hình giao thức, liên kết cácmạng với nhau,
1.1.4 Mô hình Wi-Fi trong NS3
WifiNetDevice mô hình hóa một giao diện cho mạng không dây theo tiêu chuẩn IEEE
802.11, NS3 cung cấp các modules cơ bản được mô hình hóa như sau:
- 802.11 DCF cơ bản cho chế độ infrastructure và adhoc;
- Các chuẩn cho lớp vật lý: 802.11a, 802.11b, 802.11g, 802.11n (2.4 GHz và 5 GHz)
và 802.11ac;
- EDCA với QoS trong 802.11e;
- Khả năng sử dụng các hệ số như suy hao lan truyền và độ trễ lan truyền khác nhau;
- Các thuật toán điều khiển tốc độ như: Aarf, Arf, Cara, Onoe,…;
- Chuẩn 802.11s;
- Chuẩn 802.11p và WAVE modules.
NS3 cung cấp 3 lớp con thành các mô-đun sau:
- Mô hình lớp PHY cung cấp 3 thành phần chính sau:
Mỗi gói tin đều có xác suất thành công và thất bại Xác suấy này phụ thuộc vào
kỹ thuật điều chế, tỷ lệ tín hiệu trên nhiễu, và trạng thái của lớp vật lý;
Một đối tượng có chức năng theo dõi các tín hiệu nhận được để tính toán cáccông suất nhiễu chính xác khi các gói tin được tiếp nhận;
Trang 16 Cung cấp một hoặc nhiều mô hình error tương ứng với kỹ thuật điều chế và
chuẩn được sử dụng
- Mô hình MAC Low cung cấp 3 thành phần chính sau:
ns3::MacLow cung cấp cơ chế RTS/CTS/DATA/ACK;
ns3:DcfManager thực hiện chức năng DCF;
ns3::DcaTxop và ns3::EdcaTxopN giải quyết việc queue các gói tin, phân mảnh
và truyền lại gói tin nếu cần thiết Mô hình lớp MAC High: thực hiện các chức năng
không quan trọng về thời gian như tạo các beacon, probing và kết hợp các machines thiết lập các thuật toán điều khiển tốc độ.
state Mô hình MAC High thông qua kiến trúc của WifiNetDevice sẽ cung cấp một lớp
ns3::AdhocWifiMac tham chiếu một STA trong một IBSS như một mạng ad-hoc.
Hình 3-2: Kiến trúc Wi-Fi trong NS3 [7]
3.2 WAVE module trong NS3
Trong NS3, trọng tâm của Wave module là cả hai lớp MAC và lớp điều phối đa kênh.Như đã trình bày ở chương 2 về khái niệm OCB, có một mô hình cho khái niệm này trong
lớp ns3::OcbWifiMac Một thiết bị tương thích với IEEE 802.11p có thể được tạo thông qua ns3::WifiNetDevice và ns3::OcbWifiMac.
Trang 17Trong NS3 hỗ trợ cho giao thức 802.11p bao gồm các lớp MAC và PHY có thể sử
dụng ns3::Wifi80211pHelper Cùng với đó là ns3::WaveHepler hỗ trợ cho WAVE bao
gồm lớp MAC, PHY và MAC extension
1.1.5 Lớp MAC
Các lớp sau được dùng để mô hình hóa lớp MAC: ns3::OrganizationIdentifier, ns3::VendorSpecificActionHeader và ns3::OcbWifiMac Lớp ns3::OrganizationIdentifier
và ns3::VendorSpecificActionHeader hỗ trợ cho việc gửi các frame VSA OcbWifiMac có
các tính chất tương tự như mạng Ad-hoc nhưng có một số sửa đổi để phù hợp với bối cảnhngoài một BSS
1.1.6 Lớp MAC Extension
NS3 cung cấp một lớp con được kế thừa từ ns3::NetDevice là ns3::WaveNetDevice Lớp con này bao gồm các lớp con được kế thừa từ ns3::NetDevice bao gồm các lớp: ns3::ChannelScheduler, ns3::ChannelManager, ns3::ChannelCoordinator và lớp cuối cùng là ns3::VsaManager để mô tả các tính năng của 1609.4.
Nhiệm vụ chính của lớp WaveNetDevice là tạo ra các đối tượng, cấu hình, kiểm tra cácđối số và cung cấp các APIs mới cho hoạt động đa kênh như sau:
1 AddMac, GetMac và GetMacs;
2 AddPhy, GetPhy và GetPhys;
14 Và các phương thức khác được kế thừa từ ns3::NetDevice.
Với những APIs trên ta có thể chia làm 3 loại: loại thứ nhất từ 1 đến 6 và cả 14 cóchức năng cấu hình mô hình và tạo một thiết bị WAVE; loại thứ hai từ 7 đến 11 là
management plane; loại thứ ba gồm 12 và 13 là data plane.
Trang 18Ngoài lớp WaveNetDevice còn có lớp ns3::ChannelCoordinator định nghĩa CCH
Interval, SCH Interval và Guard Interval Giá trị mặc định cho CCHI là 50 ms, SCHI là 50
ms và GI là 4 ms gần như tương đối với chế độ truy cập Alternating
Một dịch vụ định tuyến kênh được đưa ra nhằm truyền các gói dữ liệu khác nhau như
WSMP, IP hoặc các gói tin quản lý Với dữ liệu WSMP có phương thức SendX(), với dữ liệu IP có phương thức Send() là một phương thức ảo từ ns3::NetDevice, đối với các gói tin quản lý sử dụng phương thức StartVsa().
Lớp ns3::ChannelScheduler sẽ gán các chế độ truy cập như: ContinuousAccess, ExtendedAccess và AlternatingAccess, còn chế độ Immediate sẽ được thực hiện bằng cách đưa vào tham số “immediate”.
Lớp ns3::VsaManager hỗ trợ cho việc truyền liên tiếp các gói VSA Các tham số truyền cho khung VSA có thể lấy từ lớp ns3::ChannelManager.
1.1.7 Lớp PHY
Không có sự thay đổi hoặc mở rộng nào được thực hiện trong NS3 cho WAVEmodule Theo chuẩn của IEEE 802.11p công nghệ không dây vẫn sử dụng giống với IEEE802.11a là OFDM với băng thông là 10 MHz Vì vậy Wifi80211pHelper sẽ cho phép
người dùng chỉ xét hai chuẩn sau: một là WIFI_PHY_STANDARD_80211_10MHZ hoặc chuẩn thứ hai là WIFI_PHY_STANDARD_80211_20MHZ, trong khi đó WaveHelper sẽ chỉ
hỗ trợ chuẩn thứ nhất là: WIFI_PHY_STANDARD_80211_10MHZ.
1.1.8 Các Helpers
Các Helpers được chia làm 2 loại: các Helpers Channel cấp độ thấp MAC và PHY, hai
là các Helpers ứng dụng cấp độ cao nhằm giải quyết các vấn đề truyền nhận Basic SafetyMessage (BSM)
Các Helpers cấp độ thấp bao gồm các lớp sau: lớp ns3::YansWavePhyHelper lớp ns3::NqosWaveMacHelper, lớp ns3::QosWaveMacHelper, lớp ns3::Wifi80211pHelper và lớp ns3::WaveHelper.
Wifi80211pHelper được sử dụng để tạo thiết bị theo chuẩn 802.11p WaveHelper được
sử dụng để tạo thiết bị theo chuẩn 802.11p và chuẩn 1609.4 Còn 3 lớp trên là các lớp hỗtrợ về QoS hoặc PHY
Trang 19Các Helpers cấp độ cao bao gồm các lớp sau: lớp ns3::WaveBsmStats và lớp ns3::WaveBsmHelper Với WaveBsmStats được sử dụng để thu thập và quản lý số liệu
thống kê như là packet, số byte, Packet Delivery Ratio (PDR) liên quan đến việc nhận vàgửi các gói tin WAVE BSM WaveBsmHelper hỗ trợ các ứng dụng gửi và nhận BSMs
3.3 Các chức năng hỗ trợ khác trong NS3
1.1.9 NetAnimation trong NS3
NetAnim là một phần mềm sử dụng một tracefile được tạo trong một mô phỏng NS3 nhằm thực hiện mục đích hiển thị các topology và minh họa luồng truyền dữ liệu giữa các nodes Hình 3-3 cho thấy giao diện của phần mềm NetAnimation.
Hình 3-3: Mô hình mẫu trong NetAnim [7]
Hơn nữa, NetAnim còn cung cấp nhiều tính năng khác như bảng hiển thị các siêu dữ
liệu của các packets và cách hình dung quỹ đạo của một node di động.
Hình 3-4: Bảng Meta-data mẫu trong NetAnim [7]
Trang 201.1.10 Logging trong NS3
Một tiện ích khác của NS3 đó là logging được sử dụng để giám sát hoặc gỡ lỗi cho quá
trình mô phỏng Có thể kích hoạt tiện ích này bằng lập trình các câu lệnh hoặc nhanh hơn
là dùng biến môi trường NS_LOG Có một sự chú ý là các lệnh ghi log nên đứng ở đầu tránh việc log thay đổi theo thời gian
Các câu lệnh khai báo để ghi lại các sự kiện thực thi trong NS3 thường khác nhau,chẳng hạn như: NS_LOG hoặc Log Components
- Một số Helpers có các phương thức đặc biệt để ghi lại log cho tất cả các thành phần
của một module Ví dụ trong Wifi module:
wifiHelper.EnableLogComponents ();”
- Biến môi trường NS_LOG chứa một danh sách các thành phần và tùy chọn cho việc
ghi log Các tùy chọn có thể là: kiểm tra mức độ nghiêm trọng, mức độ các thành phần
bao gồm các thông tin tùy chỉnh như: thời gian mô phỏng, node mô phỏng, cácfunctions,…
1.1.11 Pcap và Ascii trong NS3
Trang 21Phần mềm NS3 cung cấp một hệ thống con tracing (truy tìm) các sự kiện chung nhằm giải quyết các vấn đề quan trọng Các mục tiêu cơ bản của hệ thống tracing gồm:
- Với các nhiệm vụ cơ bản, hệ thống tracing cho phép người dùng tạo các nguồn truy
tìm chuẩn ở đây là: pcap hoặc ascii, nhằm tùy chỉnh các đối tượng bị truy tìm;
- Người dùng trung gian muốn mở rộng hệ thống tracing để sửa đổi các định dạng
ngõ ra hoặc thêm các nguồn truy tìm mới thì không được sửa đổi core của trình giả lậpnày.
Hệ thống tracing của NS3 được xây dựng trên khái niệm về các nguồn tracing và các điểm thu phát tracing, và một cơ chế kết nối nguồn đến các điểm thu phát Các nguồn tracing là các thực thể báo hiệu các sự kiện xảy ra trong mô phỏng và cung cấp quyền truy cập vào dữ liệu Các điểm thu phát tracing là nơi sử dụng các sự kiện và dữ liệu được cung
cấp bởi nguồn Lý do cho việc phân chia này nhằm cho phép người dùng có thể kết hợp
các điểm thu phát tracing mới với các nguồn tracing hiện tại mà không cần phải chỉnh sửa.
ASCII Tracing
NS3 cung cấp hỗ trợ với một hệ thống tracing cấp thấp liên quan đến việc cấu hình
một số gói dữ liệu tracing đơn giản Ngõ ra sẽ là một file Ascii nếu sử dụng hỗ trợ này Sau
đây là ví dụ:
“AsciiTraceHelper ascii;
pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("myfirst.tr"));”
Giống như các thành phần khác trong NS3, hỗ trợ này cũng dùng một Helper để khởi
tạo tập tin ascii và đặt tên là “myfirst.tr” Và có thể mở file này bằng bất cứ trình soạn
thảo văn bản nào
những loại tập tin Pcap
1.1 Các phần mềm khác hỗ trợ cho mô phỏng Net Simulation 3
1.1.12 Phần mềm SUMO (Simulation of Urban Mobility)
Trang 22SUMO là một mã nguồn mở, có tính di động cao được thiết kế để xử lý các mạng lướigiao thông đường bộ trong mô phỏng Nó cho phép mô phỏng một nhu cầu giao thônghoặc mạng lưới giao thông mà các phương tiện di chuyển qua một bản đồ nhất định Trình
mô phỏng SUMO cho phép giải quyết các vấn đề liên quan đến quản lý lưu lượng tronggiao thông Mỗi chiếc xe được mô hình hóa rõ ràng, có lộ trình riêng và di chuyển quamạng lưới nhất định
Để xây dựng một mạng lưới giao thông trong SUMO thì các nodes và edges là các yếu
tố cần thiết Các junctions để kết nối các nodes tạo thành các edges cũng góp phần quan
trọng, ngoài ra còn có các tính năng khác như đèn giao thông, số làn xe,…
Mạng SUMO chứa các thông tin liên quan đến lưu lượng truy cập như sau:
- Mỗi edge sẽ là một tập hợp các làn đường;
- Vị trí, hình dạng và tốc độ trên mỗi làn;
- Quy định hướng di chuyển;
- Các kết nối giữa các làn tại các nút giao;
- Vị trí và tính hợp lý của đèn giao thông.
Các file được sử dụng trong SUMO để tạo một Road Map:
Nodes: tất cả các nodes có vị trí cụ thể và kèm theo id để tham khảo;
Edges: kết nối các node nguồn và node đích theo id và tạo thành các edges;
Network: SUMO sẽ tổng hợp các nodes và edges thành một network file gần giống
như một bản đồ;
Routes: xác định tuyến đường đi, cách vận hành các phương tiện tại các nhánh giao,
tùy chỉnh số lượng phương tiện tại các làn đường, tùy chỉnh tốc độ cho các phương tiện;
Configuration: tích hợp các route file và network file chuyển thành configuration file
để có thể mô phỏng trên SUMO
Để tạo các file cấu hình trên, đề tài này sử dụng phần mềm hỗ trợ khác đó là phầnmềm MOVE được giới thiệu tiếp theo
1.1.13 Phần mềm MOVE (MObility model generator for VEhicular network)Phần mềm MOVE có chức năng tạo sự di động cho các nodes cũng như tạo một kịch
Trang 23
Hình 3-6: Giao diện phần mềm MOVE
MOVE được thực hiện trên nền tảng JAVA và chạy trên bộ mô phỏng lưu lượng giaothông mã nguồn mở SUMO MOVE bao gồm hai phần chính: Mobily Model và TrafficModel Trong đó Mobility Model có hai thành phần quan trọng là: Map Editor và VehicleMovement Editor được thể hiện thông qua hình 3-6
Map Editor được sử dụng để khởi tạo cấu trúc của một bản đồ MOVE hỗ trợ ba cáchtạo bản đồ: bản đồ thủ công, bản đồ được tạo tự động và bản đồ thực tế từ TIGER Map
Editor sẽ cấu hình các node file, edge file sau đó tổng hợp thành network file Vehicle
Movement Editor cho phép người dùng chỉ định các hướng đi cũng như định tuyến đường
đi cho các phương tiện bằng cách tạo thủ công hoặc tự động; tạo thành route file sau đó được tích hợp thành configuration file.
Hình 3-7 thể hiện các phương tiện và bản đồ được khởi tạo trong MOVE và được đưa
vào cấu hình trong phần mềm SUMO tạo thành configuration file.
Trang 24Hình 3-7: Bản đồ mẫu trong phần mềm SUMO
Sau khi khởi tạo đầy đủ các tham số trong Map Editor và Vehicle Movement Editor thì
các tham số này được đưa vào phần mềm SUMO để tạo một tracefile Đề tài này sẽ sử dụng một tracefile hỗ trợ được định dạng theo cấu trúc phần mềm NS2 có trong MOVE để
phục vụ cho việc mô phỏng trong phần mềm NS3
Hình 3-8: Giao diện hỗ trợ tạo tracefile trong phần mềm MOVE
CHƯƠNG 4 MÔ HÌNH WAVE-MULTICHANNEL TRONG NS3
Trang 254.1 Mô hình WAVE-MULTICHANNEL
Đề tài thiết lập các node mạng được cấu hình theo mô hình Wi-Fi và thay đổi một vàitham số nhằm theo chuẩn WAVE phù hợp trong NS3 Khác với mô hình Wi-Fi đã đượctrình bày trong chương 3, kiến trúc WAVE MAC sẽ được đổi mới như sau:
Hình 4-1: Kiến trúc WAVE module trong NS3 [3]
Với lớp OcbWifiMac thay thế lớp MacHigh sẽ cấu hình node mạng theo chuẩn802.11p vận hành theo chế độ Outside the Context of BSS Bốn lớp chính bao gồm:ChannelScheduler, VsaRepeater, ChannelCoordinator, ChannelManager sẽ cung cấpnhững đặc tính cụ thể trong chuẩn Còn lại các lớp phụ như WaveMacLow vàWaveEdcaTxopN dựa trên mô hình Wi-Fi sẽ cung cấp các chức năng đặc biệt theo yêu cầucủa 1609.4 Cuối cùng là lớp WaveNetDevice sẽ mô hình hóa một thiết bị WAVE thực tế
và cung cấp các phương thức cho việc vận hành trong chế độ đa kênh
Đề tài sẽ thực hiện việc truyền gói tin theo cơ chế DATA/ACK theo hai chế độ truyềndẫn là: Continuous Access và Alternating Access Vì kênh CCH là kênh truy cập được gánmặc định trong module WAVE, nên đề tài sẽ cấu hình chế độ Continuous và Alternating sửdụng kênh SCH1 Các node mạng sẽ được cấu hình tốc độ và định tuyến đường đi với bốicảnh trên đường cao tốc nhằm phục vụ cho vấn đề di động sao cho các node gần với thực
tế thông qua các phần mềm SUMO và MOVE Mỗi node mạng sẽ gửi hai loại gói tin là:Safety
và Non-Safety; với gói tin Safety sẽ được gửi dưới dạng broadcast cho các node lân cận, với gói tin Non-Safety sẽ được gửi đến các node riêng lẻ theo dạng unicast.
Trang 26CCH Interval SCH Interval CCH Interval SCH Interval
Continuous Access
TimeSCH1 Channel
Alternating Access
GI
Synchronization Interval
Hình 4-2: Phân phối kênh CCH và SCH1 trong các Mode Access
1.1.14 Lưu đồ gửi các gói WSMP và các gói IP ở chế độ Continuous Access
Trang 27StartCreate WAVE nodes
Hình 4-3: Lưu đồ giải thuật gói tin WSMP trên kênh SCH1
Trang 28StartCreate WAVE nodes
Backoff
Create IP PacketsAssign Tag IDSetup SCH1 Channel
Have Tag ID?
Send
Receive
EndCollision?
F
Assign MAC AddressChoose Node DestSender = Dest
T
F