Tìm hiểu và mô phỏng mạng MANET
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Lý do chọn đề tài
Ngày nay, đất nước đang phát triển, theo đó là sự phát triển của công nghệ
thông tin. Công nghệ thông tin phát triển ngày càng nhanh cùng với sự ra đời của các
công nghệ tiên tiến, hiện đại. Sự ra đời của mạng không dây khẳng định bước tiến mới
trong ngành công nghệ thông tin. Mạng MANET là mảng mới của công nghệ mạng
không dây và đang nhận được nhiều sự quan tâm và nghiên cứu.
1.2. Mục tiêu đề tài
Đề tài này nghiên cứu về công nghệ mạng MANET - mạng tuỳ biến di động, và
mô phỏng các giao thức tầng MAC - S-MAC và T-MAC của mạng MANET.
1.3. Nội dung thực hiện
- Tìm hiểu về mạng MANET
- Tìm hiểu về giao thức tầng MAC trong mạng MANET
- Tìm hiểu phần mềm NS2
- Mô phỏng giao thức tầng MAC bằng NS2
1.4. Phương pháp nghiên cứu
Sử dụng các phương pháp nghiên cứu:
- Phương pháp đọc tài liệu
- Phương pháp phân tích
- Phương pháp mô tả
- Phương pháp thống kê
- Phương pháp thực nghiệm, mô phỏng
1
Tìm hiểu và mô phỏng mạng MANET
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về mạng MANET
2.1.1. Khái niệm
Tìm hiểu và mô phỏng mạng MANET
- Cấu trúc mạng
Hình 2.1: Cấu trúc mạng MANET
Tại một thời điểm, mạng MANET có một số node nào đó, nhưng tại một thời điểm
nào đó, mạng này có thể phân chia thành nhiều mạng MANET. Sau đó nó lại có thể
nhập thành một nhóm mới các node và trở thành một mạng MANET lớn hơn.
- Các chế độ hoạt động và kiểu kết nối
+ Các chế độ hoạt động:
Chế độ cơ sở hạ tầng: mạng bao gồm các điểm truy cập AP cố định và các node
di động tham gia vào mạng, thực hiện truyền thông qua các điểm truy cập. Các liên
kết có thể thực hiện qua nhiều chặng.
3
Tìm hiểu và mô phỏng mạng MANET
Hình 2.2: Chế độ cơ sở hạ tầng
Chế độ IEEE-adhoc: các node di động truyền thông với nhau mà không cần tới
1 cơ sở hạ tầng nào. Các liên kết không thể thực hiện qua nhiều chặng.
Hình 2.3: Chế độ IEEE-adhoc
+ Kiểu kết nối topo mạng
Mạng máy chủ di động: ở topo này, các thiết bị chỉ liên kết với một máy chủ duy nhất.
4
Tìm hiểu và mô phỏng mạng MANET
+ Nomal node: là các node nằm trong cùng một cluster. Nó có thể kết nối với các node
trong cluster hoặc kết nối với các cluster khác
Hình 2.4: Mô hình mạng phân cấp
Kiến trúc mạng phân cấp thích hợp cho các mạng có tính chuyển động thấp.
Mạng MANET kết hợp:
6
Tìm hiểu và mô phỏng mạng MANET
Mạng = Zones, zone = nodes
Mỗi node bao gồm hai mức tô pô: node ID và zone ID. Trong một zone có thể áp dụng
kiến trúc đẳng cấp hoặc kiến trúc phân cấp.
Các giao thức định tuyến mạng MANET
2.1.3. Ứng dụng
- Lĩnh vực quân sự: trang thiết bị quân sự hiện nay thường chứa một số loại
thiết bị máy tính. Mạng lưới MANET sẽ cho phép quân đội để tận dụng lợi thế của
công nghệ mạng phổ biến để duy trì một thông tin mạng lưới giữa những người lính,
xe cộ và thông tin từ bộ chỉ huy… Các kỹ thuật cơ bản của mạng Adhoc đến từ lĩnh
vực này.
- Lĩnh vực thương mại: MANET có thể sử dụng trong cứu hộ nhằm nỗ lực cứu
trợ những thiên tai.
- Nội bộ: mạng MANET có thể chủ động liên kết một mạng lưới đa phương
tiện tức thời và tạm thời nhờ sử dụng máy tính xách tay để truyền bá và chia sẻ thông
tin giữa các đại biểu tham dự một hội nghị, lớp học.
2.1.4. Tầng MAC và các giao thức
- Cấu trúc địa chỉ MAC
Các mũi tên hướng lên trên thể hiện việc gửi thông điệp, mũi tên hướng xuống
thể hiện việc nhận thông điệp. Dòng chảy thông tin đại diện cho việc gửi và nhận
chuỗi các thông điệp trong khi các nút ở trạng thái giám sát.
2.2.2. Thuật toán
- Thứ nhất, để phản ánh sự thay đổi của tải lưu lượng khác nhau, trong khi gửi các gói
dữ liệu đồng bộ, nút tính toán tỷ lệ sử dụng nút U trong giai đoạn cuối cùng và trung
bình trậm trễ ngủ D, và theo các thông số trạng thái mạng, điều chỉnh chu kỳ nhiệm vụ
của mình và gửi bản kế hoạch trong các hình thức phát sóng của các nút hàng xóm,
các thuật toán cụ thể như sau:
Bước 1: Tính toán các tỷ lệ sử dụng nút U trong chu kỳ cuối
Trong đó, Trx đại diện cho tổng thời gian tiếp nhận, T tx đại diện cho tổng thời
gian gửi, Tidle đại diện cho tổng thời gian rảnh rỗi
Bước 2: Tính toán sự chậm trễ ngủ trung bình của chu kỳ cuối cùng.
=
Trong biểu thức, D là sự tích luỹ cho thời gian ngủ chậm trế, đếm gói đại diện
cho số lượng tích luỹ của các gói tin. Điều chỉnh chu kỳ nhiệm vụ, sử dụng mã để mô
tả.
If U > Uhigh and chu kỳ nhiệm vụ > DCmax
then chu kỳ nhiệm vụ = chu kỳ nhiệm vụ + n%
else if U > Ulow and chu kỳ nhiệm vụ < DCmin and < Dmax
9
Tìm hiểu và mô phỏng mạng MANET
then chu kỳ nhiệm vụ = chu kỳ nhiệm vụ - n%
Trong các biểu thức, Uhigh và Umin đại diện cho phần trên và phần dưới của các
nút. Dmax đại diện cho sự chậm trễ tối đa có thể chịu được ngủ. DC max và DCmin đại
diện cho giới hạn trên và giới hạn dưới của chu kỳ nhiệm vụ, n đại diện cho các biên
Các nút cảm biến trao đổi với nhau thông tin lịch làm việc của chúng bằng cách
phát quảng bá cho tất cả các nút lân cận hiện thời. Nếu có nhiều nút trong vùng lân
cận muốn nói chuyện với một nút, thì chúng cần cạnh tranh chiếm đường truyền khi
nút nhận ở trạng thái thức, sử dụng gói tin RTS(Request to send) và CTS(Clear to
send). Nút nào gửi gói tin RTS ra trước sẽ giàng quyền truy nhập và nút nhận sẽ trả lời
với một gói CTS.
Các chu kỳ nhiệm vụ là tỷ số khoảng thời gian để lắng nghe chiều dài khung.
Mỗi nút duy trì một bảng lưu trữ tất cả thời gian biểu của các nút lân cận mà nó biết.
Việc cập nhật thời gian biểu được thực hiện bằng trao đổi gói tin đồng bộ SYNC. Gói
tin SYNC rất ngắn, gồm địa chỉ của nút gửi và thời điểm chuyển sang trạng thái ngủ
tiếp theo của nó.
Để một nút nhận được cả những gói đồng bộ lẫn những gói dữ liệu, phải chia
khoảng thức(active time) của nó thành 2 phần: phần đầu để nhận gói tin đồng bộ, phần
2 để nhận gói RTS. Mỗi phần được chia tiếp thành nhiều khe thời gian cho những nút
gửi để cảm nhận sóng mang. Mỗi nút định kỳ quảng bá những gói tin đồng bộ tới các
lân cận của nó kể cả khi nó không có nút đồng bộ theo. Điều này cho phép nút mới gia
nhập nhóm lân cận đã hình thành trước đó.
11
Tìm hiểu và mô phỏng mạng MANET
Hình 2.8: Quan hệ định thời giữa nút nhận và nút gửi
- Tránh xung đột và nghe thừa
Tránh xung đột là một nhiệm vụ cơ bản của giao thức MAC. S-MAC sử dụng
một lược đồ tránh xung đột trên nền cạnh tranh. Khi một nút phát đi một gói tin, gói
tin đó sẽ được thu bởi tất cả các nút lân cận của nó, mặc dù chỉ một số chúng là nút
nhận, đó là nghe thừa.
+ Tránh xung đột
Truyền một dữ liệu dài trong một gói tin thì chi phí cho việc truyền lại khi chỉ
có một vài bit lỗi trong lần truyền đầu tiên là rất cao. S-MAC chia nhỏ thông điệp dài
bằng cách chia nhỏ thông điệp dài thành nhiều phân đoạn nhỏ và truyền chúng trong
một cụm nhưng chỉ sử dụng một gói tin RTS và một gói tin CTS.
Mỗi lần một đoạn dữ liệu được truyền, nơi gửi đợi một xác nhận ACK từ nơi
nhận. nếu nó không nhận được ACK, nó sẽ mở rộng thời gian chiếm dụng đường
truyền cho đủ một phân đoạn nữa, và truyền lại ngay phân đoạn dữ liệu hiện thời.
Nếu một nút trong vùng lân cận nhận được một gói RTS hoặc CTS, nó sẽ
chuyển sang trạng thái ngủ trong khoảng thời gian truyền tất cả các phân đoạn. Nếu
nút nhận không gửi ACK thường xuyên, thì nút mới có thể gây nhiễu vì cảm nhận
song mang trong việc thăm dò đường truyền sẽ thông báo đường truyền rỗi. Nếu nó
khởi động tiến trình phát, thì quá trình truyền hiện thời sẽ bị hỏng tại nút nhận.
13
Tìm hiểu và mô phỏng mạng MANET
Mỗi phân đoạn dữ liệu và gói tin ACK cũng có trường thời gian. Bằng cách
này, nếu một nút tỉnh dậy hoặc một nút mới gia nhập trong quá trình truyền, thì nó
chuyển sang trạng thái ngủ bất kể nó là lân cận của nút gửi hay nút nhận.
2.3. Tìm hiểu giao thức T-MAC
2.3.1. Khái niệm
- T-MAC Là một giao thức tầng MAC. T-MAC cải thiện hiệu quả năng lượng bằng
cách sử dụng một chu kỳ nhiệm vụ thích ứng.
- Giao thức cơ bản:
+ Định kỳ thức dậy và ngủ
+ Giao tiếp với RTS, CTS và ACK
Một chương trình đặc biệt để quyết định khi nào nên kết thúc một giai đoạn
hoạt động không có sự kiện kích hoạt đã xảy ra cho TA(timeout interval – khoảng thời
gian chờ)
CTS, rằng việc trao đổi dữ liệu của nút hàng xóm đã kết thúc. Một nút sẽ ngủ nếu nó
không phải trong khoảng thời gian hoạt động. Thời gian chờ xác định số lượng tối
thiểu của lắng nghe nhàn rỗi ở mỗi khung.
Hoạt động RTS và chọn thời gian chờ: Mỗi node truyền thông điệp trong hàng
đợi trong một vụ nổ vào lúc bắt đầu của khung. Trong giai đoạn bùng nổ này, môi
trường được bão hoà: thông điệp được truyền đi với tốc độ tối đa.
Khoảng cạnh tranh cố định (Fixed contention interval): Trong giao thức T-MAC, mỗi
nút truyền các thông điệp trong hàng đợi.
- Phân tích độ trễ
Việc chậm trễ cảm nhận sóng mang là ngẫu nhiên tại mỗi chặng, và biểu thị giá
trị của nó tại chặng n bằng t cs,n. Giá trị trung bình của nó được xác định bởi của sổ
tranh chấp, và được ký hiệu bởi t cs. Việc chậm trễ truyền dẫn được cố định nếu chiều
dài gói tin là cố định, được biểu thị bằng ttx.
- Giao thức MAC không ngủ
15
Tìm hiểu và mô phỏng mạng MANET
Khi một nút nhận được gói tin, nó ngay lập tức bắt đầu cảm nhận sóng mang và
chuyển tiếp nó tới bước nhảy tiếp theo.
Bước 1: thời gian trễ
Việc chậm trễ trung bình ở chặng n là tcs,n + ttx .
Toàn bộ thời gian trễ qua n chặng là:
D(N) = tcs,n + ttx)
Bước 2: độ trễ trung bình
Độ trễ trung bình qua các chặng trong giao thức MAC không ngủ:
E[D(N)] = N(tcs + ttx)
Với S-MAC, sự ngủ trễ ở mỗi chặng biểu hiện bằng ts,n cho chặng n. Một frame
là một chu kỳ hoàn chỉnh của thức – ngủ, chiều dài của nó được ký hiệu là T f . Để
2.4. Cấu trúc gói tin
2.4.1. Khuôn dạng gói tin tầng MAC
Hình 2.8: Khuôn dạng gói tin tầng MAC
Types: kiểu Frame chỉ định là frame điều khiển, frame quản lý hay frame dữ liệu.
Sequence numbers: chỉ định số thứ tự(dung cho mất frame, ACKs).
Miscellaneous: thời gian: gửi, kiểm tra, điều khiển frame, dữ liệu.
Destination Address: địa chỉ trạm đích.
17
Tìm hiểu và mô phỏng mạng MANET
Source Address: địa chỉ trạm nguồn.
BSSID: định danh thiết lập dịch vụ cơ bản.
Receiver Address: địa chỉ trạm nhận.
Transmitter Address; địa chỉ trạm truyền.
Protocol Version(2 bit): hiện tại chỉ có 1 version nên = 0.
Type(2 bit) & Subtype(4 bit): định nghĩa các khung chức năng riêng. Có 3 loại khung:
control, management, data.
To/From DS: chỉ hướng frame tới trạm đích.
More Fragment: chỉ ra frame là thành phần của một MAC SDU lớn bị phân đoạn.
Retry: xác định frame truyền lại.
Power Management: trạm làm việc ở save mode.
More data: trạm có thêm data phát không.
WEP: xác định phương pháp bảo mật được sử dụng để mã hóa gói dữ liệu.
Order: chỉ thị trạm đang sắp xếp lại trình tự các khung.
Duration ID(2 bit): thời gian môi trường dành cho trạm.
Address từ 1 đến 4: địa chỉ trạ nguồn, đích, trạm phát, trạm thu.
Sequence Control: 4 bit Fragment number + 12 bit Sequence number.
hình mạng phức tạp. NS2 là phần mềm mã nguồn mở có thể chạy trong môi trường
Linux và Window.
3.1.1. Kiến trúc của NS2
Hình 3.1: Mô hình đơn giản của NS
Otcl
Kịch bản OTcl
Simulation Program
Chương trình Mô phỏng
Bộ biên dịch Tcl mở rộng hướng đối
OTcl
NS Simulation Library
Event Scheduler Objects
tượng
NS Simulation Library
Các đối tượng Bộ lập lịch sự kiện
Network Component Objects
Các đối tượng Thành phần mạng
Network Setup Helping Modules
Các modun Trợ giúp Thiết lập mạng
- Bộ lập lịch sự kiện thực hiện những công việc sau:
- Tổ chức bộ định thời mô phỏng
- Huỷ các sự kiện trong hàng đợi sự kiện
- Triệu gọi các Thành phần mạng trong mô phỏng
- Phụ thuộc vào mục đích của user đối với kịch bản mô phỏng Otcl mà kết quả mô
phỏng có thể được lưu trữ như file trace
- File name trace(file.nam) được dùng cho công cụ Minh hoạ mạng NAM.
- File trace(file.tr) được dùng cho công cụ Lần vết và Giám sát mô phỏng XGRAPH
hay TRACEGRAPH
21
Tìm hiểu và mô phỏng mạng MANET
Hình 3.2: Luồng các sự kiện cho file Tcl chạy trong NAM
Hình 3.3: Kiến trúc của NS2
Hình trên biểu diễn kiến trúc của NS-2. User có thể tưởng tượng mình đang
đứng ở góc trái dưới, thiết kế và chạy các mô phỏng trong Tcl. Tcl dùng các đối tượng
mô phỏng trong Otcl. Các đối tượng Bộ lập lịch sự kiện và các đối tượng thành phần
mạng thực thi bằng C++ và sẵn có cho Otcl qua một liên kết Otcl.
Trong mô phỏng mạng dùng NS-2 sử dụng:
- NAM Visual Simulation: mô phỏng ảo NAM
- Tracing and Monitoring Simulation: mô phỏng Lần vết và Giám sát
User có thể tưởng tượng mình đang đứng ở góc trái dưới, thiết kế và chạy các
mô phỏng trong Tcl. Tcl dùng các đối tượng mô phỏng trong Otcl. Các đối tượng bộ
lập lịch sự kiện và các đối tượng thành phần mạng thực thi bằng C++ và sẵn có cho
Otcl qua một liên kết Otcl. Liên kết OTcl này được thực thi dùng TclCL.
3.1.2. Đặc điểm của NS2
3.1.4. Cấu trúc thư mục của NS
23
Tìm hiểu và mô phỏng mạng MANET
Hình 3.4: Cấu trúc thư mục của NS
Định dạng gói tin NS
Một gói tin trong NS bao gồm 2 phần: Header và Data
- Header:
+ Cmn header
+ Ip header
24
Tìm hiểu và mô phỏng mạng MANET
+ Tcp header
+ Rtp header
+ Trace header
- Data:
+ Uid_: unique id
+ Ptype_: pkt type
+ Size_: simulated pkt size
+ Ts_: time stamp
3.1.5. Khả năng mô phỏng
Với bộ mô phỏng NS2, người dùng có thể mô phỏng nhiều giao thức khác
nhau tại nhiều tầng khác nhau: tại tầng ứng dụng, FTP, HTTP, tại tầng giao vận: UDP,