i
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ THỊ MINH VIỆT
NGHIÊN CUU DE XUAT PHUONG PHÁP
TĂNG HIỆU NĂNG CHO CÁC ỨNG DỤNG MULTICAST
TRONG MẠNG MESH KHÔNG DÂY
LUẬN VĂN THẠC SỸ
HÀ NỘI - 2007
ii
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ THỊ MINH VIỆT
NGHIÊN CỨU ĐỀ XUẤT PHƯƠNG PHÁP
TĂNG HIỆU NĂNG CHO CÁC ỨNG DỤNG MULTICAST
TRONG MẠNG MESH KHÔNG DÂY
Ngành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN HẢI CHÂU
HÀ NỘI - 2007
iv
MỤC LỤC
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC HÌNH VẼ vi
DANH MỤC BẢNG BIỂU vii
BẢNG CÁC TỪ VIẾT TẮT viii
MỞ ĐẦU ix
CHƯƠNG 1. GIỚI THIỆU 1
1.1 Tầm quan trọng và các vấn đề thách thức của các ứng dụng multicast trong mạng
mesh không dây 1
1.2 Các công trình liên quan 2
1.3 Các vấn đề cơ bản về thiết kế liên tầng và kỹ thuật mã mạng 3
1.3.1 Khái niệm thiết kế liên tầng 3
1.3.2 Khái niệm mã mạng 5
1.4 Đóng góp của luận văn 7
1.5 Các phần của luận văn 7
CHƯƠNG 2. CÔNG NGHỆ MẠNG MESH KHÔNG DÂY VÀ CÁC PHƯƠNG PHÁP
MULTICAST 9
2.1 Công nghệ mạng mesh không dây WMN 9
2.1.1 Kiến trúc của mạng WMN 9
2.1.2 Các lợi ích của mạng WMN 11
2.2 Các phương pháp multicast truyền thống 13
2.2.1 Phương pháp định tuyến “Trút đổ” 13
2.2.2 Phương pháp định tuyến “Cây khung” 13
2.2.3 Phương pháp định tuyến “Chuyển tiếp đường-ngược” 14
2.2.4 Phương pháp cây Steiner 15
2.2.5 Phương pháp cây chia sẻ (Shared trees) 15
2.2.6 Phương pháp cây mỗi nguồn (Per-source tree) 16
v
CHƯƠNG 3. THIẾT KẾ LIÊN TẦNG VÀ MÃ MẠNG TUYẾN TÍNH 17
3.1 Các phương pháp thiết kế liên tầng 17
3.1.1 Tạo các giao diện mới 17
3.1.2 Trộn các tầng kề nhau 19
3.1.3 Thiết kế móc nối mà không cần giao diện mới 19
3.1.4 Xác định theo chiều dọc thông qua các tầng 19
3.2 Các đề xuất cài đặt thiết kế liên tầng 20
3.2.1 Truyền thông trực tiếp giữa các tầng 21
3.2.2 Một cơ sở dữ liệu chia sẻ giữa các tầng 21
3.2.3 Các trừu tượng hoàn toàn mới 21
3.3 Các vấn đề của thiết kế liên tầng 21
3.4 Mã mạng tuyến tính 22
3.4.1 Các khái niệm cơ bản 23
3.4.2 Đạt được cận max-flow thông qua một generic LCM 26
3.4.3 Lược đồ truyền dữ liệu liên quan tới một LCM 28
3.4.4 Xây dựng một generic LCM trên một mạng truyền thông acyclic 32
CHƯƠNG 4. ĐỀ XUẤT PHƯƠNG PHÁP MỚI TĂNG HIỆU NĂNG CHO CÁC ỨNG
DỤNG MULTICAST 35
4.1 Mã mạng tuyến tính ngẫu nhiên 35
4.1.1 Định dạng gói tin 36
4.1.2 Mô hình buffer 39
4.2 Thiết kế liên tầng kinh nghiệm nối routing và điều khiển năng lượng 41
4.2.1 Định luật dung lượng 41
4.2.2 Độ đo tốc độ truyền 41
4.2.3 Độ đo nhiễu 42
4.2.4 PER (Packet Error Rate – tốc độ lỗi gói tin) 43
4.2.5 Điều khiển năng lượng 44
4.3 So sánh hiệu năng của phương pháp mới đề xuất và các phương pháp đã có 48
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54
vi
DANH MỤC HÌNH VẼ
Hình 1-1: Ví dụ về sự cần thiết của mã mạng để đạt tốc độ multicast tối ưu 6
Hình 2-1: Mạng Infrastructure mesh 10
Hình 2-2: Mạng client mesh 11
Hình 2-3: Mạng mesh lai 11
Hình 3-1: Các phương pháp thiết kế liên tầng 18
Hình 3-2: Các phương pháp thiết kế kiến trúc cho các truyền thông không dây 20
Hình 3-3: Một LCM trên một mạng cyclic 30
Hình 4-1: Định dạng gói tin ở node nguồn 37
Hình 4-2: Định dạng gói tin ở node trung gian 38
Hình 4-3: Mô hình buffer 40
Hình 4-4: Ví dụ của hệ thống mã mạng thực tế 40
Hình 4-5: Mối quan hệ giữa nhiễu, PER và năng lượng truyền 45
Hình 4-6: Kiến trúc của CLNC 50
Hình 4-7: Tổng thông lượng (số node gửi là 1) 49
Hình 4-9: Tổng thông lượng (số node gửi là 2) 50
vii
DANH MỤC BẢNG BIỂU
Bảng 1: PDR với số các node nhận từ 2 đến 15 (khi số node gửi là 1) 51
Bảng 2: PDR với số các node nhận từ 2 đến 15 (khi số node gửi là 2) 51
viii
BẢNG CÁC TỪ VIẾT TẮT
STT
Từ viết tắt
Từ tiếng Anh
Giải thích
1
WMN
Wireless Mesh Network
Mạng mesh không dây
2
WLAN
Wireless Local Area
Network
Mạng cục bộ không dây
3
WMAN
Wireless Wide Area
Network
Mạng toàn cục không dây
4
NS-2
Network Simultation -2
Bộ mô phỏng mạng NS-2
5
CBT
Core Based Tree
Cây dựa trên lõi
6
RPF
Reverse Path Forwarding
Chuyển tiếp đường ngược
7
LCM
Linear Coding Multicast
Multicast mã hóa tuyến tính
8
CLNC
Cross-Layer Network
Coding
Tên của phương pháp đề xuất
trong luận văn
9
PER
Packet Error Rate
Tốc độ lỗi gói tin
10
AODV
Ad hoc On Demand
Distance Vector Routing
Tên phương pháp định tuyến
11
DSDV
Destination-Sequenced
Distance Vector
Tên phương pháp định tuyến
12
MAODV
Multicast AODV
Tên phương pháp định tuyến
13
DSR
Dynamic Source Routing
Tên phương pháp định tuyến
16
PDR
Packet Delivery Ratio
Tỉ lệ phân phát gói tin
17
RP
Rendezvous Point
Điểm giao nhau
ix
MỞ ĐẦU
Mạng mesh không dây là mạng đa chặng của các platform router không dây.
Các router không dây thường cố định nhưng các client và một số router có thể di động.
Mạng mesh không dây được coi là một giải pháp thay thế có giá thành thấp cho các
mạng LAN không dây truyền thống vì không cần triển khai bất cứ một cơ sở hạ tầng
nào để hỗ trợ một mạng mesh. Ngoài ra mạng mesh có khả năng tự-cấu hình, tự-tổ
chức, các node có thể tự động thiết lập và duy trì kết nối giữa các node. Mạng mesh có
rất nhiều ưu điểm so với các mạng LAN không dây truyền thống đó là: tính tin cậy,
khả năng chịu lỗi cao và giá thành rẻ.
Multicast là sự truyền dữ liệu từ một node tới nhiều node đích. Cùng với sự
phát triển của công nghệ truyền thông, các ứng dụng multicast ngày càng quan trọng
trong cuộc sống con người. Nhưng một vấn đề đặt ra là hiệu năng của các ứng dụng
multicast trong mạng mesh không dây thường thấp vì đặc tính của môi trường mạng
không dây (topo mạng là động, băng thông giới hạn, dung lượng liên kết thay đổi, tốc
độ lỗi cao, …). Rất nhiều giải pháp nhằm nâng cao hiệu năng của các ứng dụng
multicast cho mạng không dây đã được đề xuất. Tuy nhiên, chưa có giải pháp nào giải
quyết một cách tối ưu cho vấn đề này. Hơn nữa, hầu hết các giải pháp đều không thích
hợp cho mạng mesh không dây.
Luận văn đề xuất một phương pháp mới nhằm tăng hiệu năng cho các ứng
dụng multicast trong mạng mesh không dây. Phương pháp đề xuất là sự kết hợp của kỹ
thuật thiết kế liên tầng và kỹ thuật mã mạng. Các giao thức đề xuất được thiết kế và
mô phỏng sử dụng bộ mô phỏng mạng NS-2. Luận văn đã so sánh đánh giá hiệu năng
của phương pháp đề xuất và một số các phương pháp đã có. Kết quả mô phỏng cho
thấy phương pháp đề xuất tốt hơn so với các phương pháp khác khi mạng có số node
lớn và khi sự thay đổi điều kiện của môi trường cao .
1
CHƯƠNG 1. GIỚI THIỆU
1.1 Tầm quan trọng và các vấn đề thách thức của các ứng dụng
multicast trong mạng mesh không dây
Công nghệ truyền thông mạng không dây là một công nghệ đầy tiềm năng với
sự phát triển mạnh mẽ của các mạng tế bào, mạng cục bộ không dây (WLAN) và
mạng diện rộng không dây (WMAN). Tuy nhiên những công nghệ này có một số
nhược điểm. Mạng tế bào cung cấp độ phủ rộng (khoảng cách của trạm cơ sở và máy
khách không dây có thể lên tới hơn 1km), nhưng dịch vụ khá đắt và tốc độ dữ liệu
thấp. Ngay cả mạng tế bào thế hệ thứ ba (3G) cũng chỉ cung cấp tốc độ dữ liệu lớn
nhất là 2Mbps. Mạng WLAN cung cấp tốc độ dữ liệu cao hơn (khoảng 50Mbps cho
IEEE 802.11a và 802.11g) nhưng chúng lại có độ phủ hạn chế. Để tăng độ bao phủ của
WLAN cần có các điểm truy cập đa kết nối tới một backbone có dây (sự lắp đạt này
rất phức tạp và đắt tiền). Các mạng đô thị WMAN (ví dụ gia đình các chuẩn IEEE
802.16) đã khắc phục nhược điểm này, chúng cung cấp tốc độ dữ liệu cao với chất
lượng dịch vụ được đảm bảo cho một số lượng lớn khách hàng (lên tới hàng chục dặm
từ trạm cơ sở). Tuy nhiên, mạng WMAN có nhược điểm là thiếu sự hỗ trợ cho người
dùng di động và yêu cầu Line of sight (LOS): nếu một khách hàng không có LOS rõ
ràng tới trạm cơ sở WMAN, họ có thể không nhận được dịch vụ. Ở các nơi có mật độ
các vật cản cao (nhiều nhà cao tầng hay cây cối), hơn một nửa các khách hàng có thể
không được phục vụ vì yêu cầu LOS. Hơn nữa, các trạm cơ sở WMAN thường đắt và
phức tạp.
Các mạng mesh không dây (WMN – Wireless Mesh Networks) [12] [21] là
một giải pháp cho các vấn đề của các mạng trên. Chúng có thể cung cấp các dịch vụ
với giá thành rẻ, tốc độ dữ liệu cao, độ phủ rộng cho cả các khách hàng cố định và di
động. Mạng WMN là một mạng multihop, nó có ưu điểm là phát triển dễ và nhanh, giá
thành cài đặt và bảo trì thấp, mềm dẻo, khả năng mở rộng về kích cỡ và mật độ cao.
Trong việc truyền thông của mạng máy tính có ba khái niệm: unicast,
multicast, broadcast. Unicast là sự truyền dữ liệu từ một nguồn tới một đích. Multicast
là sự truyền dữ liệu từ một node tới nhiều node đích. Broadcast là sự truyền dữ liệu từ
một node tới tất cả các node khác trong mạng.
2
Truyền thông multicast ngày càng quan trọng và được sử dụng trong rất nhiều
ứng dụng hữu ích bao gồm: phân phát nội dung (như các mạng phân tán nội dung, các
mạng ngang hàng P2P), các truyền thông tương tác (như trò chơi trực tuyến), gửi
thông điệp trực tiếp và hội thảo multimedia.
Các mạng multihop đưa ra những thách thức mới trong việc thiết kế giao thức
mạng không dây. Ví dụ, các giao thức định tuyến mobile-IP được phát triển cho các
mạng tế bào không thể được áp dụng trực tiếp cho mạng multihop vì không có một
agent ở nhà cố định để phục vụ như một bên chứng nhận routing. Hơn nữa, các giao
thức multicast cho mạng có dây truyền thống lại không thể áp dụng trực tiếp cho mạng
không dây vì đặc tính thay đổi động của môi trường không dây. Các giao thức
multicast thiết kế cho mạng không dây đã có hầu hết không hiệu quả và không thích
hợp cho mạng multihop, đặc biệt là mạng mesh không dây. Chính vì vậy, việc nâng
cao hiệu năng cho các ứng dụng multicast trong mạng mesh không dây là một thách
thức lớn.
1.2 Các công trình liên quan
Trong các mạng có dây có hai loại lược đồ multicast mạng phổ biến là: cây
ngắn nhất mỗi-nguồn và cây chia sẻ. Lược đồ cây ngắn nhất mỗi nguồn bao gồm việc
quảng bá gói tin từ nguồn tới tất cả các đích dọc theo cây nguồn sử dụng “reverse path
forwarding”. Một node mạng bất kỳ sẽ chấp nhận gói tin quảng bá từ nguồn S miễn là
gói tin được nhận từ đường ngắn nhất bắt nguồn từ S. Một số ví dụ của các giao thức
multicast cây mỗi-nguồn là DVMRP và PIM dense mode. Tuy nhiên, phương pháp
này có một số vấn đề trong mạng không dây. Giả sử một nguồn di chuyển nhanh hơn
so với việc cập nhật của bảng routing. Trong trường hợp này, node chỉ ra là đường bị
sai và các gói multicast bị loại bỏ ở những node này và có thể không bao giờ đến một
số node nhận nào đó. Lược đồ multicast cây chia sẻ duy trì một cây đơn có gốc ở điểm
Rendezvous (RP) (thay vì nhiều cây mỗi-nguồn). Các ví dụ của phương pháp cây chia
sẻ là CBT và PIM sparse mode. Cây chia sẻ ít nhạy cảm với sự di chuyển của nguồn
hơn và có thể phần nào khắc phục được vấn đề nguồn di chuyển nhanh ở trên. Nếu tất
cả các node đều di chuyển nhanh (liên quan tới việc cập nhật bảng định tuyến), giải
pháp cây chia sẻ sẽ thất bại. Di động rõ ràng là thách thức lớn trong multicast không
dây.
Một số giao thức multicast không dây đã được đề xuất. Giao thức trong [18]
sửa đổi IP multicast và được thiết kế cho các mạng không dây đơn chặng. Lược đồ đề
3
xuất trong [19] là một phương pháp multicast dựa trên-RP kết hợp dự trữ tài nguyên và
điều khiển truy cập. Một lược đồ quảng bá tin cậy mức liên kết dựa trên cây mỗi-
nguồn được đưa ra trong [20], lược đồ này có khả năng cung cấp các dịch vụ quảng bá
tin cậy tới tất cả các thành viên và mềm dẻo hơn cây khung và hiệu quả hơn flooding.
Trong những năm gần đây, rất nhiều kỹ thuật mới được đề xuất nhằm giải
quyết bài toán này. Trong đó đáng chú ý là hai kỹ thuật: kỹ thuật tối ưu hóa liên tầng
và kỹ thuật mã mạng [6][7].
Ahswede [1] và cộng sự đã chỉ ra rằng sử dụng kỹ thuật mã mạng có thể đạt
được thông lượng tối ưu cho multicast trong khi các kỹ thuật định tuyến truyền thống
không đạt được giá trị tối ưu này. Li và cộng sự [23] đã chỉ ra rằng sử dụng mã mạng
tuyến tính với các trường hữu hạn là đủ để đạt được giá trị tối ưu trong truyền thông
multicast. Koetter và cộng sự [3] đã mô tả một framework đại số để xây dựng một giải
pháp mã mạng. Ho và cộng sự [22] đã đề xuất khái niệm mã mạng ngẫu nhiên để cài
đặt mã mạng trong thực tế. Katti và cộng sự [9], Deb [10], và Wu [11] đã chỉ ra rằng
mã mạng cung cấp các ích lợi so với các phương pháp truyền thống khác. Karande
[12] chỉ ra sự ích lợi của việc tích hợp các giao thức liên tầng và sự tráo đổi thông tin
dựa trên mã mạng cho việc truyền video không dây.
Yuan [16] đã đề xuất một phương pháp tối ưu hóa liên tầng nối định tuyến và
điều khiển năng lượng trong truyền thông multicast. Kỹ thuật chính sử dụng trong bài
báo là phương pháp phân tích đối ngẫu cho các bài toán tối ưu hóa lồi. Phương pháp
này chứng minh sự tối ưu bằng lý thuyết và chưa có sự cài đặt mô phỏng trên một bộ
mô phỏng mạng đầy đủ.
Luigi [17] đề xuất một phương pháp liên tầng kinh nghiệm nối định tuyến và
điều khiển năng lượng trong mạng mesh không dây. Trong bài báo, Luigi không thực
hiện việc tối ưu hóa năng lượng và định tuyến một lúc mà chia thành hai thuật toán
nhỏ hơn. Đó là thuật toán tối ưu hóa năng lượng cục bộ và thuật toán định tuyến sử
dụng cho các truyền thông unicast.
1.3 Các vấn đề cơ bản về thiết kế liên tầng và kỹ thuật mã mạng
1.3.1 Khái niệm thiết kế liên tầng
Theo truyền thống, một kiến trúc tham chiếu mạng thường được thiết kế theo
các tầng. Phương pháp này chia mạng thành các phần nhỏ hơn với các chức năng khác
4
nhau. Mỗi một tầng chỉ truyền thông với các tầng ngang hàng nó sử dụng một tập các
quy tắc và quy ước. Các giao thức tầng cao hơn tạo các thông điệp và gửi chúng tới
các giao thức tầng thấp hơn thông qua giao diện giữa các tầng. Chúng thêm thông tin
điều khiển của chúng vào các header. Các thông điệp này được đối xử như là dữ liệu ở
giao thức tầng thấp hơn.
Ưu điểm của việc thiết kế theo tầng là đơn giản, dễ chuẩn hóa và linh hoạt
trong việc phát triển các giao thức mới (dễ nâng cấp). Các tầng thấp hơn có thể bị thay
đổi mà không ảnh hưởng tới các tầng cao hơn. Các tầng cao hơn có thể tái sử dụng các
chức năng cung cấp bởi các tầng thấp hơn. Tuy nhiên, kiến trúc này ngăn cấm các
truyền thông trục tiếp giữa các tầng không kề nhau; truyền thông giữa các tầng liền
nhau bị giới hạn bởi các lời gọi thủ tục và các hồi đáp. Do đó, nhược điểm của cách
thiết kế này là chỉ có thể nghiên cứu và tối ưu hóa từng tầng một cách riêng biệt, trong
khi nếu nối các tầng lại với nhau thì có thể sẽ tạo ra hiệu năng cao hơn.
Mạng không dây có điểm khác biệt lớn với mạng có dây, đó là chất lượng của
các kênh truyền thay đổi liên tục. Do đó, cách thiết kế theo tầng truyền thống sẽ không
hiệu quả đối với các mạng không dây, đặc biệt là mạng mesh không dây. Một giải
pháp mới nhằm tăng hiệu năng cho mạng không dây là kỹ thuật thiết kế liên tầng [2]
[8] [11] [12] [14] [15](Cross-layer design). Trong phương pháp này, các giao thức có
thể can thiệp vào kiến trúc tham chiếu, ví dụ, bằng việc cho phép truyền thông trực
tiếp giữa các giao thức ở các tầng không liền nhau hoặc chia sẻ các biến giữa các tầng.
Sự can thiệp của kiến trúc tầng như thế là gọi thiết kế liên tầng đối với kiến trúc tham
chiếu.
Định nghĩa: Thiết kế liên-tầng là việc thiết kế các giao thức dựa trên giao tiếp
giữa các tầng khác nhau.
Các mạng đa chặng có thêm các thách thức cho việc thiết kế liên tầng. Trong
khi các mạng tế bào thường tập trung các hoạt động trên một trạm cơ sở đơn, thì trong
mạng đa chặng sự ảnh hưởng nhiễu của các truyền thông ở các node khác nhau không
thể bỏ qua. Hơn nữa, còn có các nhiễu do các gói tin có chức năng định tuyến của các
giao thức định tuyến. Cuối cùng, hiệu năng thường chỉ được đo chỉ đối với các traffic
cuối-tới-cuối, vì vậy làm phức tạp hơn cho việc phân tích.
Ưu điểm của thiết kế liên tầng
Thiết kế liên tầng có thể tận dụng các tương tác giữa các tầng, đẩy mạnh việc
biến đổi ở tất cả các tầng cho thích nghi dựa trên thông tin tráo đổi giữa các tầng.
5
Phương pháp này thích hợp với các mạng có môi trường thay đổi nhanh (như mạng
không dây, đặc biệt là mạng mesh).
Nhược điểm của thiết kế liên tầng
Thiết kế liên tầng có nhược điểm là khó để mô tả tương tác giữa các giao thức
ở các tầng khác nhau và việc nối tối ưu giữa các tầng có thể dẫn tới các thuật toán
phức tạp. Ngoài ra việc cài đặt thiết kế liên tầng nếu không cẩn thận sẽ dẫn tới các
tương tác không lường trước và ảnh hưởng tới hiệu năng của toàn bộ hệ thống, thậm
chí có thể làm tổn hại đến sự phát triển của mạng không dây về lâu dài.
Hiểu và khai thác các đặc trưng của tương tác giữa các tầng khác nhau là vấn
đề cốt lõi của thiết kế liên tầng.
1.3.2 Khái niệm mã mạng
Ahlswede là người đầu tiên đưa ra khái niệm mã mạng vào năm 2000 [1].
Theo cách truyền thống, sự mã hóa chỉ được sử dụng ở các node nguồn và các node
trung gian chỉ có nhiệm vụ là lưu trữ và chuyển tiếp các gói tin từ node nguồn. Tuy
nhiên, trong kỹ thuật mã mạng, các node trung gian không những có chức năng lưu trữ
và chuyển tiếp mà chúng còn có chức năng xử lý thông tin. Chúng thực hiện việc tổ
hợp các gói tin đến trước khi chuyển đi. Ahlswede [1] đã chỉ ra rằng sử dụng mã mạng
có thể đạt được thông lượng tối ưu cho mạng trong khi các kỹ thuật routing truyền
thống sẽ không thể đạt được thông lượng tối ưu này. Tuy nhiên, kỹ thuật routing
truyền thống có thể được xem như trường hợp đặc biệt của mã mạng khi các đầu ra
của một node là hoán vị của các đầu vào.
Khái niệm: Mã mạng là một kỹ thuật xử lý dữ liệu trong mạng tận dụng các
đặc trưng của môi trường không dây (nói riêng, kênh truyền thông quảng bá) nhằm
tăng dung lượng hoặc thông lượng của mạng [6].
Hình 1-1 chỉ ra ví dụ về một mạng cần phải mã hóa bên trong mạng để đạt
được dung lượng và một mạng thì không. Cả hai mạng đều bao gồm các liên kết có
dung lượng đơn vị, và một nguồn s phải multicast cùng một thông tin tới hai node
nhận y và z. Các nhãn trên mỗi liên kết thể hiện thông tin được chuyển trên liên kết đó.
Trong mạng bên trái, có thể dùng phương pháp routing truyền thống để multicast ở tốc
độ 2 bit trên một đơn vị thời gian. Tuy nhiên, trong mạng bên phải do xuất hiện liên
kết thắt cổ chai từ w tới x, không tồn tại phương pháp routing nào để multicast ở tốc
6
độ 2 bit trên một đơn vị thời gian. Trong khi đó, sử dụng việc mã hóa có thể đạt được
tốc độ này.
a) b)
Hình 1-1 Ví dụ về sự cần thiết của mã mạng để đạt tốc độ multicast tối ưu
Ưu điểm của mã mạng
Các lợi ích của kỹ thuật mã mạng so với routing là
Có thể đạt được tốc độ truyền tối đa trong ngữ cảnh multicast
Có thể tiết kiệm trong việc tận dụng băng thông
Cung cấp cân bằng tải
Giúp phục hồi từ các liên kết bị hỏng.
(tận dụng tài nguyên hiệu quả, hiệu quả trong tính toán, và mạnh mẽ
(robustness) đối với sự thay đổi của mạng.)
Nhược điểm của mã mạng
Việc mất một gói tin có thể làm cho các node nhận không khôi phục lại
được nhiều gói tin gốc
Có một độ trễ nhất định trong việc giải mã các gói tin ban đầu bởi vì chỉ
khi tất cả các gói tin cần thiết đến node nhận thì node nhận mới có khả
năng giải mã
Cần sự đồng bộ hóa trong mạng thời gian thực
7
Cần một số các hiểu biết tập trung về topo mạng
Có thể thiết kế thuật toán mã hóa chịu được lỗi, nhưng bộ giải mã phải biết
các mẫu bị lỗi (failure pattern).
1.4 Đóng góp của luận văn
Tối ưu hóa liên-tầng và kỹ thuật mã mạng đã nhận được khá nhiều sự quan
tâm trong lĩnh vực mạng không dây trong suốt mấy năm gần đây. Một số nhà nghiên
cứu đã áp dụng các kỹ thuật này để giải quyết bài toán multicast trong mạng không
dây. Tuy nhiên hầu hết các phương pháp đã được đề xuất đều không hiệu quả trong
mạng mesh không dây. Chính vì vậy việc nghiên cứu về việc tối ưu hóa liên-tầng và
mã mạng cho mạng mesh không dây là vấn đề có tính thực tiễn.
Trong luận văn, tác giả đề xuất một phương pháp mới là sự kết hợp của kỹ
thuật thiết kế liên tầng và mã mạng nhằm tăng thông lượng cho các ứng dụng multicast
trong mạng mesh không dây. Việc kết hợp nhằm nâng cao những ưu điểm và giảm bớt
nhược điểm của cả hai phương pháp thiết kế liên tầng và mã mạng. Nhược điểm của
thiết kế liên tầng là có thể dẫn tới các thuật toán, cách cài đặt phức tạp. Mã mạng có ưu
điểm là thiết kế và cài đặt đơn giản. Nhược điểm của mã mạng là sự mất một gói tin có
thể ảnh hưởng tới rất nhiều gói tin khác. Nếu chỉ sử dụng thông tin ở các tầng bên dưới
thì có thể không xác định được những thông tin cần gửi lại, trong khi đó phương pháp
liên tầng có thể làm được điều này. Như vậy, phương pháp kết hợp có thiết kế, cài đặt
đơn giản hơn và hệ thống sẽ ít lỗi hơn.
Phương pháp này thích hợp cho các mạng mesh có điều kiện thay đổi nhanh
và số các node là lớn. Luận văn mô phỏng đề xuất mới trên bộ mô phỏng mạng NS-2
và so sánh với các phương pháp routing khác như MAODV, AODV, DSDV và DSR.
Kết quả mô phỏng đã chỉ ra rằng phương pháp đề xuất có hiệu năng tốt hơn các
phương pháp này.
1.5 Các phần của luận văn
Luận văn được chia thành 4 chương.
Chương 1 giới thiệu tổng quan về tầm quan trọng và thách thức mạng mesh
không dây và các ứng dụng multicast, các định nghĩa của thiết kế liên tầng và kỹ thuật
mã mạng cũng như các công trình liên quan.
8
Trong chương 2 trình bày các nội dung về công nghệ mạng mesh không dây
và các phương pháp multicast truyền thống.
Chương 3 trình bày chi tiết các kỹ thuật thiết kế liên tầng và kỹ thuật mã mạng
tuyến tính.
Trong chương 4, tác giả luận văn đề xuất phương pháp mới để tăng hiệu năng
cho các ứng dụng multicast trong mạng mesh không dây. Chương này cũng trình bày
các kết quả mô phỏng bằng bộ mô phỏng mạng NS-2. Tác giả đưa ra kết quả so sánh
hiệu năng của phương pháp mới với các phương pháp đã có.
Phần kết luận đưa ra tổng kết các kết quả luận văn đã đạt được và một số
hướng nghiên cứu tiếp theo.
9
CHƯƠNG 2. CÔNG NGHỆ MẠNG MESH KHÔNG
DÂY VÀ CÁC PHƯƠNG PHÁP MULTICAST
2.1 Công nghệ mạng mesh không dây WMN
Các mạng mesh không dây là tập hợp các node cố định và di động kết nối
thông qua các liên kết không dây để tạo nên một mạng không dây đa chặng
(multihop).
Trong khi các mạng không dây truyền thống như WLAN, WMAN, mạng tế
bào cần có một thiết bị trung tâm (điểm truy cập hoặc trạm cơ sở) cho truyền thông
không dây, mạng WMN không cần một thiết bị trung tâm như vậy. Trong mạng
WMN, mỗi node đóng vai trò là máy khách và router. Nó chuyển tiếp các gói tin tới
các node khác khi node nguồn và node đích cách nhau nhiều hơn một chặng.
Mạng WMN có khả năng tự-cấu hình và tự-tổ chức. Khi một node tham gia
vào mạng hay dời đi khỏi mạng, mạng có khả năng cấu hình lại để thích nghi với
những thay đổi trong mạng. Thiết lập mạng là tự động và trong suốt đối với người
dùng. Khi thêm một node vào mạng, node này sẽ tự động tìm các router không dây
khác và đường tới mạng có dây. Các router không dây trong mạng cũng tự cấu hình lại
cho phù hợp. Vì lý do này mà mạng WMN có thể dễ dàng mở rộng.
2.1.1 Kiến trúc của mạng WMN
Mạng WMN bao gồm hai loại node: mesh router và mesh client.
Mesh router có chức năng định tuyến các gói tin trong mạng. Chúng có một số
giao diện không dây có thể có công nghệ giống nhau hoặc khác nhau. Hơn nữa chúng
có chức năng của gate/bridge làm cho mạng có khả năng tích hợp với các mạng không
dây đã có như mạng tế bào, Wi-Fi, Wi-MAX, mạng cảm biến (sensor network).
Mesh client là các thiết bị không dây như laptop, máy tính để bàn, PDA,
Pocket PC, điện thoại cầm tay được trang bị một card giao diện mạng không dây
(NIC) và có thể kết nối trực tiếp tới các mesh router. Các máy khách không có NIC
không dây có thể truy cập vào mạng bằng cách kết nối với các mesh router thông qua
Ethernet.
10
Có 3 loại kiến trúc mạng WMN: mạng infrastructure mesh, mạng client mesh
và mạng mesh lai.
Mạng Infrastructure mesh
Trong kiến trúc này các mesh router hình thành nên mạng mesh cung cấp
đường backbone cho các máy client và có khả năng tích hợp các mạng không dây đã
có như mạng Wi-Max, Wi-Fi, mạng tế bào, mạng cảm biến. Các client có thể kết nối
với mạng WMN thông qua kết nối có dây hoặc không dây.
Hình 2-1 Mạng Infrastructure mesh
Mạng client mesh
Trong mạng client mesh, các client kết nối trực tiếp với nhau và hình
thành nên mạng ngang hàng. Không cần có mesh router trong kiến trúc này. Các client
có chức năng của cả các router như định tuyến và tự cấu hình.
Mạng mesh lai
Mạng mesh lai là kết hợp của kiến trúc infrastruture mesh và client mesh. Các
mesh router cung cấp đường backbone cho kết nối tới các mạng không dây khác. Các
client khong dây có thể truy cập tới mạng WMN bằng việc kết nối trực tiếp tới các
mesh router hoặc các client khác.
11
Hình 2-2. Mạng client mesh
Hình 2-3. Mạng mesh lai
2.1.2 Các lợi ích của mạng WMN
Ngày nay các kết nối Internet băng thông rộng sử dụng dây cáp hay các đường
thuê bao số (DSL) . Tuy nhiên, một số lượng lớn dân số (đặc biệt ở các vùng nông
thôn, các thành phố lớn, thậm chí ở các nước đã phát triển) không có cơ sở hạ tầng
băng thông rộng cần thiết (dây cáp vô tuyến hay dây cáp điện thoại chất lượng tốt) để
kết nối Internet. Hơn nữa việc cài đặt các cơ sở hạ tầng yêu cầu (đặc biệt là việc cài đặt
12
các dây cáp mới) là cực kỳ đắt đặc biệt là đối với các nhà cung cấp dịch vụ Internet
ISP.
Các mạng WMN cung cấp công nghệ truy cập Internet băng thông rộng với rất
nhiều lợi ích:
Đầu tư ban đầu thấp: Vì không cần cài đặt cáp, kinh phí đầu tư ban đầu
giảm đi đáng kể. Một mạng WMN cơ bản cung cấp một vùng phủ tối thiểu
có thể được sử dụng để phục vụ các khách hàng đầu tiên; khi số khách
hàng tăng lên, mạng có thể được nâng cấp lên. Ngoài ra, các sóng radio
802.11 đã trở nên khá rẻ nhưng các sóng radio vẫn là một trong những
phần đắt nhất của một mạng. Trong khi đó, mỗi node trong mạng mesh
hoạt động vừa như một client vừa như một repeater, như vậy sẽ tiết kiệm
được số các radio cần thiết.
Độ phủ khách hàng cao: Vì khả năng định tuyến đa chặng của mạng,
client không cần phải kết nối trực tiếp với một trạm cơ sở đơn miễn là một
client có kết nối tới bất kỳ một client khác, nó có thể truy cập tới Internet.
Người ta đã chỉ ra rằng, đặc biệt đối với các trường hợp có vật cản lớn (tòa
nhà cao tầng hay cây cối), một mạng WMN có thể tăng độ phủ của mạng
lên đáng kể so với một giải pháp điểm-tới-nhiều điểm (ví dụ IEEE 802.16).
Dễ dàng và đơn giản: Các router được cấu hình tự động, nên việc cài đặt
là đơn giản. Thêm một khách hàng mới tới vào một mạng WMN đã tồn tại
có thể chỉ mất vài giờ đồng hồ thay vì vài tháng khi cài đặt các dây mới
cho cáp hay DSL.
Tin cậy: Đặc trưng của topo mesh và định tuyến adhoc làm cho mạng có
khả năng đối phó được với những thay đổi của điều kiện môi trường và lỗi
xảy ra ở các node. Đặc biệt nếu đa gateway được sử dụng, tất cả các điểm-
lỗi đơn bị loại bỏ. Một giao thức định tuyến có thể định tuyến lại nhanh
chóng xung quanh điểm hoặc node bị lỗi, và trong trường hợp gateway lỗi,
nó có thể phân phối lại các node cho gateway gần nhất.
Năng lượng: Các node của một mạng mesh – ngoại trừ những node duy trì
một đường up-link với Internet - có thể được xây dựng với yêu cầu năng
lượng thấp.
Tích hợp: Mạng WMN có thể dễ dàng tích hợp với các công nghệ mạng
đã có (mạng tế bào, mạng Wi-Fi, Wi-MAX, mạng cảm biến)
13
2.2 Các phương pháp multicast truyền thống
Việc triển khai các thuật toán định tuyến multicast trong một mạng lớn là một
công việc phức tạp. Luận văn sẽ trình bày một số thuật toán định tuyến multicast
truyền thống, bắt đầu từ thuật toán đơn giản nhất như “flooding” (trút đổ) hoặc
“spanning trees” (cây khung) trước khi mô tả “reverse path forwarding” (chuyển tiếp
đường ngược), “Steiner trees,” (cây Steiner) hoặc “shared trees” (cây chia sẻ) và “per-
souce trees” (cây mỗi nguồn).
2.2.1 Phương pháp định tuyến “Trút đổ”
Có một số biến dạng của thuật toán trút đổ, nhưng tất cả chúng cùng chia sẻ
một nguyên lý chung. Một node trong mạng sẽ nhận một gói tin được gửi tới một đích
multicast. Đầu tiên nó sẽ cố gắng xác xác định rằng đây có phải là lần đầu tiên nhận
một gói tin nhất định hay không. Nếu là lần đầu tiên, nó sẽ gửi một bản sao của gói tin
trên tất cả các giao diện (ngoại trừ giao diện đến), đảm bảo rằng gói tin thực sự đang
đến tất cả các đích đến trong mạng.
Thuật toán trút đổ được sử dụng chủ yếu khi cần tính chất robustness của
mạng. Nó không phụ thuộc vào bất cứ loại bảng định tuyến nào, và ích lợi của nó là ít
xảy ra lỗi truyền vì gói tin sẽ được nhận bởi tất cả các đích vì sẽ tồn tại ít nhất một
đường. Nhưng thuật toán này cần cả tài nguyên về bộ nhớ vì nó cần một điểm vào cho
mỗi gói tin và tài nguyên truyền thông vì nó sử dụng tất cả các đường có sẵn.
Nhược điểm của thuật toán trút đổ:
Thuật toán này rất lãng phí băng thông. Trong khi một thông điệp chỉ có
một đích đến thì nó được gửi tới tất cả các host. Điều này làm tăng tải cực
đại của mạng.
Các thông điệp bị nhân bản trong mạng cũng làm tăng tải lên băng thông
mạng cũng như tăng độ phức tạp xử lý trong việc.
2.2.2 Phương pháp định tuyến “Cây khung”
Một giải pháp hiệu quả hơn trút đổ là kỹ thuật “cây khung”. Cây khung là cây
nối tất cả các đỉnh với nhau (các đỉnh bao gồm các router và các host). Cây khung
được xây dựng ở thời điểm ban đầu khi khởi tạo mạng. Đầu tiên chọn ra một router
14
“chính”, router này trở thành trung tâm của mạng, sau đó bởi việc tạo ra các liên kết
dựa trên đường ngắn nhất giữa các router khác và trung tâm.
Khi cây khung đã được xây dựng, việc truyền các gói tin multicast trở nên
đơn giản. Khi nhận được một gói tin multicast, router lập tức chuyển tiếp tới tất cả các
liên kết đi ra mà thuộc cây khung. Vì cây khung là không lặp, nên đảm bảo rằng gói
tin sẽ không bị lặp, và gói tin sẽ tới tất cả các đích.
Kỹ thuật cây khung có ưu điểm là khả năng chịu lỗi cao và không yêu cầu
nhiều bộ nhớ: chỉ cần các biến trên mỗi giao diện mạng để xác định rằng nó “on” (bật)
hay “off” (tắt) cây khung. Nhưng kỹ thuật này về cơ bản có 2 nhược điểm là : không
quan tâm tới các thành viên của nhóm và tập trung tất cả các traffic vào một số các
đường đi nhất định.
2.2.3 Phương pháp định tuyến “Chuyển tiếp đường-ngược”
Kỹ thuật RPF (Reverse Path Forwarding) là một kỹ thuật được sử dụng trong
các router với mục đích là đảm bảo các gói tin multicast không bị chuyển tiếp lặp lại
trong định tuyến multicast hoặc ngăn cản việc spoof (lừa gạt) địa chỉ IP trong định
tuyến unicast. Trong định tuyến multicast, việc quyết định chuyển tiếp gói tin dựa vào
địa chỉ nguồn chứ không dựa vào địa chỉ đích như trong định tuyến unicast. Nó thực
hiện điều này bằng việc sử dụng một bảng định tuyến multicast hoặc bảng định tuyến
unicast của router.
Khi một gói tin multicast tới giao diện của router, nó sẽ tìm kiếm danh sách
các mạng có thể tới được thông qua giao diện vào, nghĩa là nó sẽ kiểm tra đường quay
ngược của gói tin. Nếu router tìm thấy một điểm vào định tuyến phù hợp với địa chỉ IP
nguồn của gói tin multicast, việc kiểm tra RPF sẽ thành công và gói tin được chuyển
tiếp tới tất cả các giao diện đang tham gia vào nhóm multicast. Nếu việc kiểm tra RPF
không thành công, gói tin sẽ bị loại bỏ. Kết quả là sự chuyển tiếp gói tin được quyết
định dựa trên đường ngược của gói tin hơn là dựa trên đường chuyển tiếp.
Cùng một gói tin multicast có thể tới cùng một router thông qua nhiều giao
diện. Việc kiểm tra RPF khi quyết định có chuyển tiếp các gói tin hay không ngăn cản
các vòng lặp chuyển tiếp gói tin. Nếu router không kiểm tra RPF, nó sẽ chuyển tiếp tất
cả các gói tin đến trong giao diện A tới giao diện B và nó cũng đã chuyển tiếp tất cả
các gói tin đến ở giao diện B đến giao diện A và cả hai giao diện nhận được cùng một
gói tin. Điều này sẽ dẫn tới vòng lặp định tuyến khi các gói tin được chuyển tiếp theo
cả hai hướng cho đến khi thời gian tồn tại của gói tin đã hết.
15
Thuật toán RPF tính toán một cây khung cho mỗi node nguồn. Những cây
RPF có các đặc tính sau:
Chúng đảm bảo việc phân phát gói tin là nhanh nhất có thể, vì gói tin
multicast đi theo đường ngắn nhất từ nguồn tới đích.
Vì một cây RPF cho mỗi nguồn là khác nhau, nên các gói tin được trải
rộng trên nhiều liên kết của mạng, dẫn tới việc tận dụng tài nguyên mạng
tốt hơn.
2.2.4 Phương pháp cây Steiner
Bài toán Steiner trong đồ thị như sau: Cho trước một đồ thị có trọng số
G(V,E,w) và một tập các đỉnh S
V, hãy tìm một cây có trọng số nhỏ nhất bao gồm
tất cả các đỉnh trong S. Các cây Steiner làm giảm thiểu số các liên kết cần thiết để kết
nối các node của đồ thị. Kỹ thuật này có ưu điểm khi chúng ta xem xét tổng số lượng
tài nguyên được sử dụng bởi một số lượng lớn các nhóm, sử dụng ít tài nguyên hơn
thậm chí làm giảm nguy cơ tắc nghẽn. Tuy nhiên, thuật toán này lại tập trung vào cùng
một số liên kết của tất cả các nguồn thuộc sở hữu của cùng một nhóm. Tuy nhiên rất
khó để tính toán cây này. Có thể nhận thấy đây là một biến thể của bài toán “người bán
hàng” kinh điển và nó là bài toán khó NP. Hơn nữa cây Steiner không ổn định, topo
của cây biến đổi theo các node thành viên của nhóm.
2.2.5 Phương pháp cây chia sẻ (Shared trees)
Cây chia sẻ là cây đơn cho tất cả các nguồn, có nghĩa là tất cả các nguồn đều
có chung một cây multicast. Ví dụ của phương pháp định tuyến sử dụng kỹ thuật cây
chia sẻ là phương pháp CBT, PIM-SM. Kỹ thuật này sẽ không tạo ra đường ngắn nhất
từ nguồn tới mỗi đích đơn. Ngoài ra tất cả các traffic tập trung trên cùng một cây, điều
này có thể dẫn tới tắc nghẽn mạng hoặc nguy cơ lỗi là cao.
Phương pháp này xây dựng cây như sau. Đầu tiên chọn một “lõi”, nghĩa là
chọn một điểm cố định trong mạng làm trung tâm cho nhóm multicast. Các node
nguồn gửi các gói tin khởi tạo cho node trung tâm. Các node nhận gửi các yêu cầu
“tham gia vào nhóm” cho node trung tâm. Những yêu cầu này sẽ được xử lý bởi tất cả
các router trung gian, các router này sẽ đánh dấu giao diện trên đó chúng nhận được
yêu cầu là thuộc cây. Các router cần giữ một thông tin trạng thái của từng nhóm, liệt
kê tất cả các giao diện thuộc cây. Cây này là giống nhau cho tất cả các nguồn, đây là
16
một ưu điểm so với phương pháp RPF vì nó chỉ cần thông tin trạng thái của mỗi nhóm
thay vì thông tin trạng thái của mỗi cặp nhóm-nguồn. Tuy nhiên, phương pháp này có
nhược điểm là đường đi giữa một số nguồn và một số node nhận có thể không tối ưu.
Ngoài ra phương pháp này cũng có sự tập trung luồng dữ liệu. Luồng dữ liệu từ tất cả
các nguồn của một nhóm đã cho sẽ đi qua cùng một tập các liên kết.
2.2.6 Phương pháp cây mỗi nguồn (Per-source tree)
Phương pháp này xây dựng một cây multicast cho mỗi nguồn khác nhau. Các
phương pháp định tuyến multicast sử dụng kỹ thuật cây mỗi nguồn là DVMRP,
MOSPF, PIM-DM, PIM-SM. Ưu điểm của phương pháp này là đường đi là ngắn nhất,
độ trễ phân phát gói tin thấp, sự phân phối tải đều. Có nhiều trạng thái ở các router,
mỗi một router sẽ chứa trạng thái của các nguồn khác nhau của mỗi nhóm. Phương
pháp này có hiệu quả trong mạng multicast các node ở gần nhau (mật độ cao).
Phương pháp cây chia sẻ có độ trễ cao hơn phương pháp cây mỗi nguồn có sự
tập trung traffic. Mỗi router chứa thông tin trạng thái của từng nhóm. Cần phải có
chiến lược để chọn điểm “lõi” một cách hiệu quả. Phương pháp cây chia sẻ thích hợp
cho mạng multicast các node ở xa nhau.
17
CHƯƠNG 3. THIẾT KẾ LIÊN TẦNG VÀ MÃ MẠNG
TUYẾN TÍNH
3.1 Các phương pháp thiết kế liên tầng
Kiến trúc tầng có thể được can thiệp theo các phương pháp cơ bản sau:
Tạo ra các giao diện mới (các hình 3-1a-c)
Trộn các tầng kề nhau (hình 3-1d)
Thiết kế việc kết nối mà không có các giao diện mới (hình 3-1e)
Xác định theo chiều dọc thông qua các tầng (hình 3-1f)
3.1.1 Tạo các giao diện mới
Một số các thiết kế liên tầng yêu cầu việc tạo các giao diện mới giữa các tầng.
Các giao diện mới được sử dụng cho việc chia sẻ thông tin giữa các tầng trong quá
trình chạy. Sự can thiệp kiến trúc ở đây là sự tạo ra một giao diện mới không có trong
kiến trúc tầng. Chúng ta chia loại này thành 3 loại nhỏ tùy thuộc vào hướng của luồng
dữ liệu theo các giao diện mới:
Upward: từ các tầng thấp hơn tới một tầng cao hơn
Downward: từ các tầng cao hơn tới một tầng thấp hơn
Back and forth: lặp lại luồng dữ liệu giữa hai tầng
Upward Information Flow (Luồng thông tin đi lên)
Một giao thức tầng cao hơn yêu cầu một số thông tin từ các tầng thấp hơn tại
thời gian chạy dẫn tới việc tạo ra giao diện mới từ các tầng thấp hơn tới tầng cao hơn
như chỉ ra trên hình 1a. Ví dụ, nếu đường cuối-tới-cuối TCP chứa một liên kết không
dây, các lỗi trên liên kết không dây có thể đánh lừa bên gửi TCP về độ tắc nghẽn của
mạng và dẫn tới giảm hiệu năng của hệ thống. Tạo các giao diện từ các tầng thấp hơn
tới tầng vận chuyển làm cho các thông tin nhận được chính xác hơn trong những
trường hợp như vậy. Ví dụ, thông báo tình trạng tắc nghẽn từ router tới tầng vận