Mơ hình kết nối M-TCP

Một phần của tài liệu khảo sát mạng lan với các phần mở rộng không dây (Trang 53)

- 1 kết nối không dây từ MH tới Supper Host (SH) - với SH là đầu mối quản lý và điều khiển các AP (mỗi AP có vùng phủ sóng là 1 cell) Như vậy, kết nối này gồm 2 chặng không dây (từ MH - AP và AP - SH)

- Một kết nối có dây từ SH đến FH.

Với giải pháp này, giao tiếp mức thấp nhất là giữa MH và AP (trong mỗi Cell), mức tiếp theo là giữa AP với SH. SH được được kết nối với mạng cố định thơng qua đường truyền có dây để xử lý việc định tuyến, chuyển vùng tất cả các kết nối của MH do vậy sẽ không cần thao tác chuyển trạng thái kết nối khi MH di chuyển giữa các Cell. Vì vậy với mỗi kết nối TCP, trên SH sẽ ln có 2 tiến trình chạy song song để quản lý đó là SH-TCP và M-TCP.

SH-TCP nhận dữ liệu từ FH và khởi động tiến trình M-TCP để chuyển tiếp đến MH. Khác với I-TCP, SH-TCP không tạo ACK để gửi trả về FH mà chỉ nhận ACK từ MH. Tuy nhiên, để đề phịng FH khơng khởi động cơ chế chống tắc nghẽn khi chưa nhận được ACK phản hồi (có thể do MH bị disconnected tạm thời hoặc chưa nhận được dữ liệu), M-TCP điều khiển SH gửi gói tin "giả" với giá trị trường cửa sổ nhận 0 nhằm chuyển FH sang chế độ "đóng băng"

(Persist mode). Sau khi MH đã biên nhận và gửi ACK cho SH, SH gửi ACK này đến FH với giá trị trường cửa sổ nhận bằng giá trị như trước lúc FH chuyển sang chế độ "đóng băng".

M-TCP nhận các gói tin ACK từ MH và truyền nó tới SH-TCP để chuyển tới FH. Kết nối M-TCP giữa SH và MH có một điểm khác biệt với TCP chuẩn đó là bổ sung thêm tính năng thông báo trạng thái kết nối theo từng thời điểm của MH với SH đang như thế nào (connecting/connected/disconnected). Nếu MH tạm thời mất kết nối (disconnected), M-TCP thông báo điều này cho SH- TCP để SH-TCP gửi gói tin "giả" như đã nói ở trên. Khi MH kết nối lại thành công (reconnected), M-TCP thông báo cho SH-TCP để SH-TCP cập nhật lại kích thước cửa sổ nhận rồi gửi tới FH. Mọi kết nối trở lại bình thường như lúc ban đầu.

Như vậy, giao thứ M-TCP sẽ ổn định được thông lượng khi MH tạm thời bị mất kết nối và không cần chuyển giao khi MH di chuyển từ cell này sang cell khác. Tuy nhiên, giải pháp này chỉ phù hợp với các mạng không dây quy mô lớn nhiều cell và cấu trúc riêng biệt đòi hỏi khả năng xử lý trên SH rất lớn.

CHƯƠNG 4 ĐÁNH GIÁ BẰNG MÔ PHỎNG HIỆU SUẤT CỦA CÁC GIAO THỨC GIAO VẬN TRONG MẠNG CÓ PHẦN MỞ RỘNG KHƠNG DÂY

Nói chung, hiệu suất là một trong hai nhân tố chính xác định năng suất tổng cộng của một hệ thống, phản ánh khả năng khai thác tài nguyên của hệ thống. Đối với một hệ thống tính tốn, đánh giá hiệu suất (performance

evaluation) là xác định về mặt định tính và định lượng chất lượng phục vụ của

hệ thống tính tốn đó với một loại bài tốn nhất định. Đối với giao thức, đánh giá hiệu suất là xác định về mặt định tính và định lượng chất lượng truyền tải đối với một lưu lượng số liệu nhất định.

Hiệu suất mạng chủ yếu được xác định bởi các nhân tố: tính sẵn sàng để dùng (availability), thông lượng (throughput), thời gian đáp ứng (response

time), thời gian trễ (delay), độ tin cậy (reliability), tỉ suất lỗi (error rate) và hiệu

suất của ứng dụng. Tùy thuộc vào từng loại hệ thống và mục đích sử dụng mà người ta có thể sử dụng các độ đo trên hoặc là sự kết hợp của một vài trong số đó. Người ta thường phân chia độ đo hiệu suất làm hai loại, đó là: Độ đo hướng đến người sử dụng và độ đo hướng tới hệ thống. [2]

Các độ đo hướng tới người sử dụng:

- Response time: Là khoảng thời gian từ khi có một yêu cầu (request) đến hệ thống cho đến khi nó được hệ thống thực hiện xong; thường được sử dụng trong các hệ thời gian thực hoặc các môi trường hệ thống tương tác.

- System reaction time: Là khoảng thời gian tính từ khi input đến hệ thống cho đến khi yêu cầu chứa trong input đó nhận được khe thời gian (slice time) phục vụ đầu tiên; thường được sử dụng trong các hệ thống tương tác, thay cho response time. Độ đo này đo mức độ hiệu dụng của bộ lập lịch của hệ thống trong việc nhanh chóng cung cấp dịch vụ cho một yêu cầu mới đến.

Trong mạng máy tính, các đại lượng trên đều được xem là các biến ngẫu nhiên, vì vậy người ta thường nói về phân bố, kỳ vọng, phương sai... của chúng.

Các độ đo hướng tới hệ thống:

- Throughput: Là số đơn vị thơng tin tính trung bình được vận chuyển qua mạng trong một đơn vị thời gian. Đơn vị thông tin ở đây có thể là bit, byte hay gói số liệu,... Nếu các đơn vị thông tin đi vào mạng theo một cơ chế độc lập với trạng thái của mạng thì thơng lượng cũng chính bằng tốc độ đến trung bình nếu

mạng vẫn cịn có khả năng vận chuyển. Một số trường hợp người ta sử dụng đại lượng không thứ nguyên Hệ số sử dụng đường truyền (Line Utilization) hay cịn gọi thơng lượng chuẩn hố, đó là tỉ số của thơng lượng trên năng lực vận chuyển của đường truyền (line capacity).[2]

- Transfer delay: Là thời gian trung bình để vận chuyển một gói số liệu qua mạng, từ nguồn tới đích. Người ta cũng có thể dùng thời gian trễ chuẩn hóa, là tỉ số của thời gian trễ trên một tham số thời gian nào đó, thí dụ như thời gian cần thiết để truyền một gói tin lên đường truyền (packet transmission time).

- Tỉ lệ lỗi truyền số liệu: Là số lượng số gói tin bị lỗi trên tổng số gói tin được đưa lên đường truyền.

- Thời gian xử lý, khắc phục lỗi,…

Các phương pháp đánh giá hiệu suất của hệ thống mạng

Có nhiều phương pháp đánh giá hiệu suất mạng máy tính, mỗi phương pháp có các thế mạnh riêng phụ thuộc vào mục tiêu nghiên cứu cụ thể, điều kiện và khả năng của người sử dụng. Người ta chia các phương pháp đánh giá hiệu suất mạng làm ba loại [3]: mơ hình Giải tích (Analytic Models), mơ hình Mơ phỏng (Simulation Models) và Phương pháp Đo (Measurement). Trong đó, phương pháp mơ hình Mơ phỏng có nhiều ưu điểm vượt trội so với hai phương pháp cịn lại, đó là chi phí thấp, nhanh chóng và chính xác. Phương pháp mơ hình Giải tích bảo đảm hiệu quả, dễ thay đổi với chi phí thấp. Tuy nhiên, phải cụ thể hóa các mối quan hệ trên mạng thơng qua các hàm số với nhiều tham số rồi giải, việc này địi hỏi khả năng Tốn học tốt. Phương pháp Đo trên mạng thực cho kết quả chính xác nhưng thường có chi phí cao về thiết bị, thời gian và khó có khả năng thực hiện hơn vì vấn đề sở hữu đối với hệ thống mạng muốn đo.

4.1. Giới thiệu bộ mô phỏng mạng NS-2

NS (Network Simulator) là một phần mềm mô phỏng mạng, được Bộ Quốc phịng Mỹ phát triển từ bộ mơ phỏng REAL (Realistic and Large) của S.Keshav năm 1989. Các phiên bản 2.xx của NS ra đời sau năm 1997, từ đó người ta thường gọi là bộ mơ phỏng NS-2. Bộ mô phỏng được vận hành theo cơ chế sử dụng các sự kiện rời rạc, có thứ tự. Người sử dụng có thể thay đổi cấu hình và mở rộng mơ hình mạng rất dễ dàng bằng cách lập trình thêm vào một số modul chương trình.

NS là bộ mô phỏng hướng sự kiện viết bằng C++, với một trình thơng dịch OTCL giao tiếp với người sử dụng. Những đối tượng được biên dịch này sẽ được kết nối tới bộ thông dịch OTCL qua trình liên kết OTCL. Các đối tượng OTCL tương ứng với mỗi đối tượng trong C++ và ngược lại các hàm và biến trong đối tượng C++ chuyển thành các hàm và biến trong đối tượng OTCL tương ứng.

Hình 4.1: Sự kết hợp giữa C++ và OTCL trong NS

NS có thể mơ phỏng các mạng LAN, mạng khơng dây, mạng hỗn hợp (có dây và khơng dây), mạng vệ tinh. NS thực thi các giao thức mạng như TCP, UDP; các nguồn sinh lưu lượng của các ứng dụng như FTP, Telnet, Web, với tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR); các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (FIFO / Drop Tail), loại bỏ sớm ngẫu nhiên (RED) và phục vụ theo mức ưu tiên dựa trên việc phân lớp - CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi phương thức đánh địa chỉ multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.

Hình 4.2: Tổng quan về NS dưới góc độ người dùng

− OTcl Script Kịch bản OTcl

− Simulation Program Chương trình Mơ phịng

− OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng

− Event Scheduler Objects 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 mô đun Trợ giúp Thiết lập Mạng

− Plumbling Modules Các mô đun Plumbling

− Simulation Results Các kết quả Mô phỏng

− Analysis Phân tích

− NAM Network Animator Minh họa Mạng NAM

Trong hình trên, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mô đun Trợ giúp thiết lập mạng (hay các mô đun Plumbing).

Để sử dụng NS-2, người sử dụng lập trình bằng ngơn ngữ kịch bản OTcl. Người sử dụng có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Kịch bản OTcl có thể thực hiện những việc sau:

o Khởi tạo Bộ lập lịch Sự kiện

o Thiết lập Mơ hình mạng dùng các đối tượng Thành phần Mạng

o Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch Sự kiện

Thành phần lớn khác của NS bên cạnh các đối tượng Thành phần Mạng là Bộ lập lịch Sự kiện. Bộ lập lịch Sự kiện trong NS-2 thực hiện những việc sau:

o Tổ chức bộ định thời Mô phỏng

o Huỷ các sự kiện trong hàng đợi sự kiện

o 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 người sử dụng đối với kịch bản mô phỏng OTcl mà kết quả mơ phỏng có thể được kết xuất ra tệp vết các sự kiện (trace file). Tệp vết sẽ được các ứng dụng khác đọc và sử dụng để thực hiện phân tích:

o File nam trace (file.nam) được dùng cho công cụ quan sát hoạt động của mạng bằng đồ họa NAM.

o File Trace (file.tr) được dùng cho người nghiên cứu phân tích và kết xuất kết quả bằng các công cụ khác nhau, thí dụ bằng chương trình Perl, Awk, C++ ...

Hình 4.3: Luồng các sự kiện mơ phỏng được kết xuất ra file − NAM Visual Simulation Mô phỏng ảo NAM − NAM Visual Simulation Mô phỏng ảo NAM

− Tracing and Monitoring Simulation Mô phỏng Lần vết và Giám sát

4.1.1. Mô phỏng mạng LAN

Trong NS2, cấu hình OTcl và giao diện cho LanNode (là một nút đặc biệt để mô phỏng đường truyền chung trong mạng Ethernet) có trong các file

tcl/lan/vlan.tcl, tcl/lan/ns-ll.tcl và tcl/lan/ns-mac.tcl trong thư mục NS chính: 4.1.1.1. Cấu hình Tcl

Trong giao diện cho việc tạo và cấu hình một mạng LAN thì ở mức trên cùng, lớp OTcl “Simulator” đưa ra một phương thức mới gọi là make-lan. Tham số của phương thức này chỉ nhận một danh sách các nút như là một tham số đơn (trong duplex-link thì hai tham số):

Simulator instproc make-lan {nodes bw delay lltype ifqtype mactype chantype}

Những tham số tùy chọn trong make-lan xác định kiểu của các đối tượng được tạo ra cho lớp liên kết (LL), giao diện hàng đợi, lớp MAC và lớp vật lý

(Channel). Tạo một mạng LAN với lớp liên kết, hàng đợi drop-tail và CSMA/CD MAC như sau:

$ns make-lan “$n1 $n2” $bw $delay LL Queue/DropTail Mac/Csma/Cd

4.1.1.2. Các thành phần của một mạng LAN

LanLink nắm giữ chức năng của ba lớp thấp nhất trong chồng giao thức mạng:

• Lớp điều khiển truy cập đường truyền (MAC) • Lớp vật lý (PHY)

Hình 4.4: Minh họa ngăn xếp mạng dùng cho LAN

Ngăn xếp mạng (network stack) làm cho việc mơ phỏng mạng LAN có

thể thực hiện được trong NS. Một gói được gửi xuống các luồng ngăn xếp qua các lớp liên kết (Queue và LL), lớp MAC (Mac) và lớp vật lý (Channel tới Classifier/Mac). Sau đó gói đi lên ngăn xếp qua lớp MAC và LL.

Ở phía dưới của ngăn xếp, lớp vật lý bao gồm hai đối tượng mô phỏng: Channel và Classifier/Mac. Đối tượng Channel mô phỏng đường truyền dùng chung và hỗ trợ kỹ thuật truy cập đường truyền của đối tượng MAC ở phía gửi khi truyền thơng. Ở phía nhận, Classifier/Mac có nhiệm vụ phân phối và trả lời các gói (nếu cần) cho đối tượng nhận MAC. Tùy thuộc vào kiểu lớp vật lý, lớp MAC cần phải chứa một tập các chức năng như: cảm nhận sóng mang (carrier

sense), phát hiện xung đột (collision detection), tránh xung đột (collision avoidance)… Vì những chức năng này ảnh hưởng đến cả hai phía gửi và nhận nên chúng được thực thi trong một đối tượng Mac đơn. Để gửi, đối tượng Mac phải tạo ra một giao thức truy cập đường truyền trước khi truyền một gói lên kênh truyền. Để nhận, lớp MAC có nhiệm vụ phân phối gói về cho lớp liên kết. Ở trên lớp MAC, lớp liên kết có hai thành phần: Queue và LL (link-layer). Đối

tượng Queue, mô phỏng giao diện hàng đợi, phụ thuộc vào lớp Queue, đối tượng LL thực thi một giao thức liên kết dữ liệu.

4.1.1.3. Định tuyến LANs và NS

Khi một mạng LAN được tạo ra bằng cách sử dụng make-lan hay newLan thì một nút LAN ảo (“virtual LAN node”) LanNode được tạo. LanNode giữ tất cả các đối tượng được chia sẻ trên LAN: Channel, Classifier/Mac và LanRouter. Sau đó, với mỗi nút trên LAN thì một đối tượng LanIface sẽ được tạo ra. LanIface gồm tất cả các đối tượng cần thiết cho mỗi nút cơ bản: một Queue, một lớp liên kết (LL), Mac, một ID nhận được từ không gian Node ID. Nếu việc định tuyến kế thừa được sử dụng, LanNode phải được chỉ định một địa chỉ kế thừa giống như những nút khác. Theo cách nhìn của việc định tuyến NS (tĩnh) thì LanNode chỉ là một nút kết nối trực tiếp tới mọi nút trên LAN. Những liên kết kết nối LanNode với các nút trên LAN có thể là liên kết ảo (Vlink). Chi phí định tuyến mặc định của một liên kết là ½ do đó chi phí đi qua hai Vlink (ví dụ n1 -> LAN -> n2) được đếm như chỉ là một trạm.

Hình 4.5: Thực tế kết nối và thể hiện định tuyến trên NS2

Vlink không gây ra bất kỳ sự trễ nào trên các gói và chỉ đáp ứng cho một mục đích là cài đặt giao diện LAN thay vì những liên kết thông thường ở bộ phân loại của các node.

4.1.2 Mô phỏng WLAN

Để mơ phỏng mạng WLAN, ngồi các đối tượng như trong mô phỏng LAN (ở phần trên), NS thêm đối tượng nsNode cơ sở cùng với các chức năng như di chuyển, khả năng truyền và nhận trên một kênh cho phép tạo môi trường mobile, môi trường mô phỏng wireless. WLAN sử dụng lớp MobileNode với các đặc tính hỗ trợ thêm vào cho phép mô phỏng mạng multi-hop với thủ tục ad-

hoc, mạng WLAN, … MobileNode là một đối tượng tách biệt bao gồm các tính năng mobile như: di chuyển, cập nhập vị trí định kỳ, duy trì đường biên của topo,… Chúng được thực thi trong C++ trong q trình dị tìm các thành phần của mạng bên trong của MobileNode (như các phân lớp, LL, Mac, Channel,…). Node mobile có khả năng nhận và truyền các tín hiệu đến hoặc từ một kênh wireless.

Do bản chất của mô phỏng giữa mạng WLAN và LAN là tương đồng nhau, NS2 thay đổi một số yếu tố của các thành phần dùng cho mô phỏng LAN để phù hợp với WLAN như: Định tuyến, thêm mơ hình lỗi vào đường truyền dành cho truyền dẫn không dây, thay đổi tọa độ. NS hỗ trợ mơ phỏng cả 2 loại WLAN đó là Ad-Hoc và Infrastructure-based. Một số khác biệt so với mô phỏng

Một phần của tài liệu khảo sát mạng lan với các phần mở rộng không dây (Trang 53)