Mesh networking

==Tổng quan về mesh network==
===Giới thiệu===
- Wimax là một công nghệ vô tuyến băng rộng. Wimax hỗ trợ truy cập cố định, lưu trữ hay xách tay và di động. Hiện nay Wimax đang được xậy dựng dựa trên chuẩn IEEE 802.16. Để phát triển được hệ thống Wimax cần thiết phải xây dựng các mesh networks.
- Mesh network theo chuẩn 802.16 là những liên kết vô tuyến kiểu mạng lưới với nhiều các điểm truy nhập (APs: access points) trong những khu vực địa lý rộng lớn. Mỗi thiết bị đầu cuối sử dụng công nghệ không dây (WTs: wireless terminals) sẽ kết nối với một AP tại điểm nối của mạng, và AP này sẽ gởi lưu lượng của WT trên xương sống của mạng (những node kết nối bên trong mạng) đến POP (point of presence). POP là nơi kết nối mesh network với Internet. Từ đó chỉ cần một luồng Internet tốc độ cao đã sử dụng được cho nhiều APs.
- Mesh network truyền thông tin giữa các node, có khả năng tự tìm đường đi mới ở những nơi bị che chắn, nhờ vậy mạng vẫn được duy trì khi có node bị lỗi hoặc chất lượng kết nối kém.
- Trong chuyên đề này tìm hiểu về mesh networking nghĩa là tìm hiểu về sự liên kết trong mesh network, dữ liệu truyền trong mạng, vấn đề chuyển giao, vấn đề bảo mật.
===Ưu điểm mesh network===
Nới rộng phạm vi phủ sóng của mạng không dây truyền thống. Giảm chi phí hoạt động do chỉ cần sử dụng một luồng tốc độ cao cho nhiều APs. Cung cấp mạng không dây cho những khu vực nông thôn và ở những nơi ít có nhu cầu cần kết nối có dây. Các user trong mạng có thể kết nối với nhau và kết nối với Internet khi đang di chuyển.
===Chuẩn 802.16===
Hiện tại, mesh networks sử dụng chuẩn 802.11. Tuy nhiên đó là một chuẩn cũ ở thập kỷ trước và không được thiết kế để tối ưu cho mesh network, thiếu đi các phần mở rộng để cung cấp chất lượng dịch vụ trong môi trường không dây. Các giao thức mở rộng thì lại thiếu đi tính bảo mật. Những vấn đề này được giải quyết trong chuẩn 802.16. chuẩn này sử dụng công nghệ TDMA cung cấp chất lượng tốt hơn và mã hóa tốt hơn cho việc bảo mật và riêng tư. Chuẩn 802.16 có hai giao thức cho việc lập kế hoạch cấp phát các liên kết. Giao thức lập kế hoạch tập trung và lập kế hoạch phân cấp. Giao thức tập trung được sử dụng tại các trạm gốc để thiết lập kế hoạch mạng lưới lớn. Giao thức phân cấp sử dụng ở các node nhỏ hơn, việc này sẽ giúp lưu lượng được truyền đi tốt hơn và hạn chế nghẽn.

==Dữ liệu truyền trong mesh network==
===Time division multiple access (TDMA)===
TDMA là công nghệ đa truy nhập phân chia theo thời gian. Thời gian làm việc của tài nguyên thông tin chia làm nhiều khung, mỗi khung chia làm nhiều khe, mỗi khe cho phép 1 user làm việc.
Như vậy: Cơ sở của việc phân biệt user là dựa vào khung thời gian. Tín hiệu thu phát gián đoạn.
- Ưu điểm của TDMA:
Hiệu quả việc sử dụng tần số cao do có thể sử dụng lại tần số. Dung lượng tương đối. Việc chuyển kênh dễ dàng và linh hoạt.
- Nhược điểm:
Cần đồng bộ. Độ bảo mật chưa cao.
===Orthogonal frequency division multiplexing (OFDM)===
OFDM là một phương pháp điều chế đặc biệt của điều chế FDM. OFDM sử dụng kỹ thuật điều chế sóng mang chồng phổ, nghĩa là dữ liệu của sóng mang này sẽ chồng lên dữ liệu của các sóng mang lân cận và luồng dữ liệu ở tốc độ cao được chia nhỏ thành nhiều luồng tốc độ thấp hơn. Do các sóng mang này chồng phổ lên nhau nên sẽ xảy ra hiện tượng xuyên nhiễu giữa các sóng mang, nên các sóng mang này cần trực giao với nhau (orthogonal). Để tránh nhiễu giữa các symbol (nhiễu ISI) kỹ thuật điều chế này sẽ thêm vào một khoảng thời gian bảo vệ giữa các symbol.

===Sử dụng TDMA và OFDM trong mesh network===
Các symbol trong điều chế OFDM được nhóm lại vào trong các khung TDMA (có chiều dài bằng nhau) tạo thành 2 khung con.
- Khung con thứ nhất là khung điều khiển. Khung này sẽ gởi các gói tin chứa thông tin lịch trình, các node sẽ phát đi các tin lịch trình này.
- Khung con thứ hai là khung cấu hình mạng, các gói tin trong khung này chứa các thông tin của topo, thông tin dự phòng, và quản lý các thông báo.
Việc quản lý các symbol này được đơn giản hóa bằng việc nhóm chúng lại và truyền đi. Trong khung con điều khiển, các symbol được nhóm lại thành 7 symbol trong một khung, 4 symbol được sử dụng để truyền thông tin điều khiển trong khi 3 symbol còn lại được dùng để bảo vệ. Trong khung con chứa dữ liệu, các symbol được nhóm lại và nó phụ thuộc vào dữ liệu truyền đi, ví dụ như hình vẽ để truyển 3 data cần 6 symbol.
- Khả năng truyền dẫn của khung là khung có thể chứa được bao nhiêu symbol

===Các kênh logic trong mesh networks===
"Có ba loại kênh logic được sử dụng trong mesh networks:"
- Kênh basic: sử dụng cho việc đo khoảng cách và chứa các gói tin đầu vào của mạng. Kênh basic được cấp phát trong khe thời gian của khung con điều khiển và một số khe trong khung con dữ liệu.
- Kênh broadcast: sử dụng cho việc truyền các gói tin điều khiển.
- Kênh data: truyền dữ liệu và một số gói tin điều khiển, chỉ được cấp phát trong khe thời gian của khung con dữ liệu.

===Các gói tin điều khiển trong chuẩn 802.16 mesh networks===
- Best effort: gói tin được truyền đi mà không quan tâm nó có đến đích chưa.
Network entry: cổng vào của mạng, nghĩa là một node muốn kết nối với mạng nó sẽ phải thiết lập network entry.
- Tree scheduling: gói tin sẽ gởi theo kiểu hình cây,nghĩa là nó gởi theo thứ tự phân cấp từ trên xuấng hay từ dưới lên.
- Centralized scheduling: lập trình kế hoạch tập trung, các node mesh gởi đến trạm gốc những gói tin MSH-CSCH. Sau đó trạm gốc sẽ tính toán và cùng với những thông số về hệ thống mạng nó sẽ cấp phát những khung con dữ liệu một cách hợp lý nhất. Nghĩa là dựa vào các gói tin nó sẽ lên lịch trình để cấp phát các khe thời gian cho các node một cách hợp lý nhất.
=="Vấn đề chuyển giao trong mesh network"==
Mesh network của wimax ưu thế hơn mesh network của máy tính cũng như các mạng liên kết không dây khác ở chỗ các user trong mạng lưới có thể đang di chuyển nhưng vẫn kết nối được một cách tốt nhất bằng cách sử dụng những phương pháp chuyển giao. Chuyển giao giúp đảm bảo tính liên tục các user kết nối vô tuyến đi từ khu vực này đến khu vực khác trong 1 mesh hay di chuyển qua mesh khác.
===Điều kiện xảy ra chuyển giao===
- Các users di chuyển đến khu vực phủ sóng của AP khác, chất lượng sẽ kém đi nên cần chuyển giao qua AP khác.
- Các user không di chuyển nhưng mà nó đang nằm giao giữa điểm phủ sóng của 2 AP. Lúc này nếu user kết nối với AP có lưu lượng sắp bão hòa hoặc bão hòa thì cần phải chuyển giao qua AP mới.
- Các user không di chuyển nhưng mà nó đang nằm giao giữa điểm phủ sóng của 2 AP. Vì lý do nào đó mà chất lượng của AP giảm xuống (chỉ số lỗi bit tăng lên) thì lúc này để đảm bảo chất lượng thì cần phải chuyển giao qua AP mới.
===Phân loại chuyển giao===
- Chuyển giao cứng: các kết nối cũ sẽ được ngắt trước khi thiết lập kết nối mới.
- Chuyển giao mềm: thiết lập kết nối mới sau đó mới ngắt kết nối cũ.
=="Đánh địa chỉ trong mesh network"==
- giải quyết việc đánh địa chỉ trong lớp Mac (lớp con của lớp data) giải pháp được các nhà nghiên cứu đưa ra là chia mạng làm 2 phần. Một phần mạng truy nhập (wireless access network) và một phần là các node xương sống (mesh backbone) của mesh network.
Sẽ có một mạng truy nhập tại mỗi node cho phép các WTs kết nối với mạng lưới trong lớp mạng. Để tiết kiệm địa chỉ IP thì mỗi mạng truy nhập đều sử dụng địa chỉ IP trong cùng 1 subnet 192.168.2.0/24. Các nodes sẽ sử dụng địa chỉ mạng để dùng NAT (network address translation: kỹ thuật để kết nối các máy với nhau khi chúng không ở cùng 1 lớp mạng) cho phép WTs truy nhập vào mesh backbone.
- Trong backbone, những router sử dụng những dãy IP private khác so với mạng truy nhập. Ta giả thiết các router được cấp địa chỉ là 10.0.0.0/8 với 16 bit cuối của địa chỉ IP dùng làm mesh ID và giữ bit 8 đến 15 cho việc đánh lớp subnet. Ví dụ như hình vẽ địa chỉ 10.1.0.4 tương ứng với router số 4 của subnet 1 và có mesh ID là 4. Từ đó các trạm gốc sẽ được kích hoạt như là một POP và nó còn cung cấp chức năng NAT cho những gói tin đi qua mesh backbone.

- Mạng backbone (mạng xương sống) sử dụng 2 subnet, một dùng cho chất lượng dịch vụ cao (high QoS) và một dùng cho chất lượng dịch vụ thấp (low Qos). Các nodes sử dụng NAT để đưa các gói tin từ access network đến backbone network. Sau đó trạm gốc sẽ dùng NAT để đưa các gói tin từ mesh backbone ra Internet.
=="Bảo mật trong mesh network"==
===Vấn đề nhận thực trong mesh network===
- Khi một node muốn kết nối với mạng thì nó phải được nhận thực. Quá trình nhận thực được diễn ra với giao thức PKM (privacy key management). quá trình nhận thực diễn ra như sau.
- Đầu tiên node mới cần tìm kiếm các node tài trợ bằng cách gởi các gói tin MSH-NENT, MSH-NCFG. Các node tài trợ sẽ cung cấp một phần băng thông của nó để cung cấp một kênh tài trợ. Sau khi tìm được node tài trợ, node mới sẽ gởi gói tin PKM-REQ đến server nhận thực. Tuy nhiên do nó không thể kết nối trực tiếp đến trạm gốc và server nhận thực nên node tài trợ gởi gói tin này bằng giao thức UDP qua tunnel (tunnel là một đường ống riêng). Gói tin PKM-REQ mang theo chứng thực X.509 (một đề nghị của ITU). Trong X.509 mang thông tin xác thực của node mới và chứa khóa RSA công khai. Nếu node mới này được xác thực thì sever nhận thực sẽ gởi trở lại gói tin PKM-RSP chứa đựng về chia sẻ bí mật hoạt động, danh sách những hợp đồng bảo mật, những khóa nhận thực (authorization keys: AKs), tất cả những thông tin này sẽ được mã hóa với khóa RSA công khai của node mới.
- Thông tin về chia sẻ bí mật hoạt động được sử dụng để xác nhận tính hợp lệ trong quá trình thành lập kết nối, nó được sử dụng để tính toán HMACs (hashing message authentication codes: hàm băm dùng để chứng thực các gói tin và dữ liệu).
- Những hợp đồng bảo mật được sử dụng để quản lý thông tin mã hóa cho các kết nối và phân công cho các AKs để kết nối. AKs được sử dụng để suy ra chìa khóa mã hóa khóa KEKs cho các giao tiếp với PKM sau đó cũng như là để xác nhận các giao tiếp PKM trong hợp đồng bảo mật với hàm băm HMACs. Những hợp đồng bảo mật có giới hạn về thời gian, nên giao thức PKM yêu cầu các node nhận thực lại theo định kỳ để có các AKs mới.
- Trạm gốc luôn gởi các tham số về hợp đồng bảo mật và tùy vào đó các node được lựa chọn Qos cao hay thấp.

===Sử dụng VPN cho bảo mật trong mesh network===
- Với cơ chế nhân thực như trên thì mạng nhận thực có thể bị xâm nhập bằng kỹ thuật tấn công "man in the middle". Khi mà chứng thực X.509 gởi tới các node mới khóa công khai thì một node giả mạo sẽ giả danh như là một node chứng thực cung cấp thông tin giả cho node mới. Các node giả có AP phát sóng với công suất cao hơn AP hợp pháp nên node mới sẽ kết nối với nó.
- Để khắc phục các nhà nghiên cứu đưa ra giải pháp sử dụng VPN tunnel và mã hóa ngay tại đầu cuối ở lớp mạng.
- VPN: virtual private network một mạng riêng tư ảo. VPN tunnel là đường ống riêng trong mạng ảo VPN, các gói tin truyền trong đường truyền này được mã hóa để phòng tránh việc đánh cắp gói tin.
- Đầu tiên thêm vào một server VPN phía sau POP nhưng trước khi đi ra Internet, sever VPN này sử dụng trên subnet riêng. Khi các WTs muốn kết nối phải thỏa thuận với server VPN sau đó sever mới cấp cho nó những đường ống riêng. Đường ống VPN có nhiều chế độ, nó có thể mã hóa payload hoặc cả hai phần header của gói IP và payload. Nhờ vậy dữ liệu truyền được bảo mật.

=="Tổng kết"==
===Ưu điểm ===
- Cho biết được hoạt động của dữ liệu trong mesh network.
- Cách đánh địa chỉ trong mesh network.
- Tóm tắt vấn đề chuyển giao trong mesh network.
- Vấn đề giải pháp bảo mật được các nhà nghiên cứu kiến nghị.

===Hạn chế===
- Chưa đi sâu phân tích các thuật toán để biết chính xác dữ liệu truyền truyền đi như thế nào.
- Chưa mô phỏng một mạng mesh network.
- đưa ra được giải pháp chuyển giao khi lưu lượng trong mạng tăng lên.
- Chưa đi sâu phân tích các thuật toán mã hóa bảo mật trong VPN cũng như cách bảo mật đối với những phương pháp tấn công khác.

===Hướng phát triển===
Từ vấn đề này có thể phát triển lên việc nghiên cứu vấn đề thực tế là chuyển giao khi lưu lượng trong mạng tăng lên nhanh hoặc là đi sâu vào các phương pháp bảo mật.