Giao trinh co so truyen so lieu Dai Hoc Bach Khoa Ha Noi Trong thực tế, khi khảo sát các hệ phục vụ nói chung, các hệ thống máy tính và viễn thông nói riêng, hoặc khi nghiên cứu đưa ra các cơ chế hoạt động mới trong các hệ thống này, một yêu cầu hàng đầu là phải khảo sát các đặc tính và hiệu năng hoạt động của các hệ thống, cơ chế đó.
Cơ sở mạng thơng tin Giáo trình dành cho sinh viên đại học ngành Điện tử - Viễn thông Nguyễn Hữu Thanh Nguyễn Thanh Sơn Nguyễn Xuân Dũng Phạm Văn Tiến Lê Nhật Thăng Chủ biên: Nguyễn Hữu Thanh Khoa Điện tử Viễn Thông Trường Đại học Bách khoa Hà nội Các từ viết tắt Đầy đủ Viết tắt Cumulative distribution function CDF First-come-first-server FCFS First in first out FIFO Last-come-first-serve LCFS Last in first out LIFO Probability density function pdf Probability distribution function PDF Bảng đối chiếu thuật ngữ Anh - Việt Tiếng Anh Tiếng Việt Analysis Phân tích Arrival process Tiến trình tới Base station Trạm gốc Biominal distribution Phân bố nhị thức Binomial process Tiến trình nhị thức Birth – Death Process Tiến trình sinh tử Derparture process Tiến trình Evaluation Đánh giá Expectation Kỳ vọng Exponential distribution Phân bố mũ First in first out / First-come-first-serve Vào trước phục vụ trước Formal description Mơ tả hình thức Frequency function Hàm tần suất Gaussian distribution Phân bố chuẩn/phân bố Gauss Inter-arrival time Thời gian hai kiện tới (?) Last in first out / Last-come-first-serve Vào sau phục vụ trước Load Tải Model Mơ hình Modeling Mơ hình hóa Performance Đặc tính/chất lượng hoạt động Probability Xác suất Probability density function Hàm mật độ xác suất Probability distribution function Hàm phân phối xác suất Random experiment Phép thử ngẫu nhiên Random event Sự kiện ngẫu nhiên Random variable Biến ngẫu nhiên Scale parameter Tham số tỷ lệ Server Trạm phục vụ/Server Service process Tiến trình phục vụ Shape parameter Tham số hình dạng Simulation Mô Standard deviation Độ lệch chuẩn Steady state Trạng thái ổn định Stochastic process Tiến trình ngẫu nhiên Traffic intensity Mật độ lưu lượng Transformation Biến đổi Uniform distribution Phân bố Utilization Hiệu suất kênh Validation Kiểm định tính xác Variance Phương sai Mục lục Các từ viết tắt _ Bảng đối chiếu thuật ngữ Anh - Việt Mục lục _ Mục lục hình vẽ _ Mục lục bảng biểu 10 Chương Giới thiệu _ 1.1 Mục đích việc mơ hình hóa đánh giá đặc tính hoạt động hệ thống _ 1.2 Các tham số, tiêu chuẩn phương pháp đánh giá hệ thống thông tin _ 1.2.1 Các tham số đánh giá đặc tính hoạt động hệ thống thơng tin _ 1.2.2 Các tiêu chuẩn đánh giá 1.2.3 Các phương pháp đánh giá _ Chương Các tiến trình ngẫu nhiên 2.1 Xác suất kiện _ 2.1.1 Phép thử kiện ngẫu nhiên 2.1.2 Xác suất 2.2 Biến ngẫu nhiên hàm xác suất _ 2.2.1 Biến ngẫu nhiên 2.2.2 Hàm mật độ phân phối xác suất _ 2.2.3 Hàm tần suất phân phối xác suất biến ngẫu nhiên rời rạc 10 2.2.4 Các tham số đặc trưng biến ngẫu nhiên 12 2.3 Các mơ hình phân bố xác suất _ 14 2.3.1 Phân bố Bernoulli (Bernoulli distribution) _ 2.3.2 Phân bố nhị thức (binomial distribution) 2.3.3 Phân bố chuẩn (Gaussian distribution) _ 2.3.4 Phân bố mũ (exponential distribution) 2.3.5 Phân bố Poisson (Poinsson distribution) 2.3.6 Phân bố Gamma (Gamma distribution) _ 2.3.7 Mối liên hệ phân bố mũ phân bố Gamma _ 14 15 16 17 17 18 19 2.4 Tiến trình ngẫu nhiên (stochastic process) _ 20 2.4.1 Khái niệm định nghĩa 20 2.4.2 Phân loại 21 2.5 Các đặc tính thơng kê tiến trình ngẫu nhiên 22 2.5.1 Các hàm quan hệ xác suất _ 22 2.5.2 Các trung bình thống kê _ 23 2.5.3 Tính dừng _ 24 2.6 Các tiến trình ngẫu nhiên thường gặp _ 27 2.6.1 Tiến trình đếm 27 2.6.2 Tiến trình Poisson _ 28 2.7 Kết luận _ 28 Chương Hệ thống hàng đợi _ 29 3.1 Giới thiệu 29 3.2 Mơ hình hàng đợi – Ký hiệu Kendall 29 3.2.1 Mơ hình hàng đợi đơn 29 3.2.2 Ký hiệu Kendall 31 3.2.3 Các tham số quan trọng để đánh giá đặc tính hệ thống hàng đợi _ 32 3.3 Hệ thống hàng đợi trạng thái ổn định – Định lý Little 33 3.3.1 Hệ thống hàng đợi ổn định 33 3.3.2 Định lý Little _ 35 3.3.3 Một số đặc tính khác hệ thống đóng, hoạt động trạng thái ổn định 37 3.4 Hàng đợi M/M/1/1 _ 38 3.5 Hàng đợi M/M/1/∞ 41 3.5.1 Xác suất có n yêu cầu hệ thống 41 3.5.2 Tính tốn tham số hiệu 43 3.6 Tiến trình sinh – tử (Birth – Death Process) 46 3.7 Hàng đợi M/M/1/K 46 3.7.1 Xác suất có n yêu cầu hệ thống 47 3.7.2 Tính tốn tham số hiệu 47 3.8 Hàng đợi M/M/c/∞ _ 51 3.8.1 Xác suất có n yêu cầu hệ thống 51 Chương Mạng hàng đợi 52 4.1 Mạng nối tiếp _ 52 Chương Định tuyến mạng thông tin _ 53 5.1 Yêu cầu định tuyến mạng thông tin _ 53 5.1.1 Vai trò định tuyến mạng thơng tin _ 53 5.1.2 Các khái niệm lý thuyết graph _ 53 5.2 Các mơ hình định tuyến quảng bá (broadcast routing) _ 55 5.2.1 Lan tràn gói (flooding) _ 5.2.2 Định tuyến bước ngẫu nhiên (random walk) _ 5.2.3 Định tuyến khoai tây nóng (hot potato) _ 5.2.4 Định tuyến nguồn (source routing) mơ hình (spanning tree) _ 5.2.5 Duyệt _ 55 56 56 57 57 5.3 Các mơ hình định tuyến thơng dụng 78 5.3.1 Định tuyến ngắn (Shortest path Routing) 78 5.4 Bài tập (Pending) _ 101 Chương Điều khiển luồng chống tắc nghẽn 102 6.1 Tổng quan _ 102 6.1.1 Mở đầu 6.1.2 Khái niệm điều khiển luồng _ 6.1.3 Khái niệm chống tắc nghẽn _ 6.1.4 Nhiệm vụ chủ yếu điều khiển luồng chống tắc nghẽn _ 6.1.5 Phân loại điều khiển luồng tránh tắc nghẽn _ 102 105 106 106 107 6.2 Tính cơng _ 108 6.2.1 Định nghĩa 6.2.2 Tính cơng mặt băng truyền _ 6.2.3 Tính cơng mặt đệm 6.2.4 Cơ chế phát lại ARQ 6.2.5 Stop-and-Wait ARQ 6.2.6 Go-back-N ARQ _ 6.2.7 Selective repeat ARQ _ 108 108 109 110 111 117 124 6.3 Điều khiển luồng tránh tắc nghẽn theo phương pháp cửa sổ _ 126 6.3.1 Điều khiển luồng theo cửa sổ (Window Flow Control) 127 6.3.2 Điều khiển tắc nghẽn sử dụng cửa sổ thích ứng (adaptive window) 132 6.4 Điều khiển luồng chống tắc nghẽn dựa băng thông (rate-based flow control) _ 138 6.4.1 Khái niệm 138 6.4.2 Điều khiển băng thơng theo thuật tốn gáo rò (leaky bucket) _ 139 6.4.3 Thuật toán GPS (pending) 143 6.5 Bài tập (Pending) _ 144 Chương Kỹ thuật mô 145 7.1 Giới thiệu _ 145 7.2 Mô dựa kiện rời rạc công cụ 145 7.2.1 Phương pháp mô dựa kiện rời rạc _ 145 7.2.2 Các công cụ mô thông dụng dựa kiện rời rạc 148 7.3 Công cụ mô mạng NS2 149 7.3.1 Cấu trúc 149 7.3.2 Các tiện ích NS hỗ trợ cho mô mạng [Pending] _ 151 7.3.3 Thí dụ (Pending) _ 151 7.4 Kết luận (Pending) 151 7.5 Bài tập (Pending) _ 152 Tài liệu tham khảo _ 153 Phụ lục 155 Mục lục hình vẽ Hình 1-1 Các bước mơ hình hóa đánh giá đặc tính hệ thống Hình 2-1 Hàm mật độ xác suất Hình 2-2.Hàm phân phối xác suất Hình 2-3: Kết Thí dụ 2-5 .11 Hình 3-1 Hệ thống hàng đợi với N trạm phục vụ, hàng đợi có độ lớn K 30 Hình 3-2 Round robin 32 Hình 3-3 Mạng đóng 33 Hình 3-4 Quan hệ số yêu cầu tới số yêu cầu phục vụ 36 Hình 3-5.Hệ thống hàng đợi quan sát với hai ranh giới khác nhau: (a) Hàng đợi trạm phục vụ; (b) Hàng đợi 38 Hình 3-6 Hàng đợi M/M/1/1 39 Hình 3-7 Khoảng thời gian xét 39 Hình 3-8 Hàng đợi M/M/1/∞ 41 Hình 3-9 Cân xác suất trạng thái i Tiến trìnhsinh – tử46 Hình 3-10 Hệ thống M/M/1/K 46 Hình 3-11 Hệ thống hàng đợi M/M/1/K 47 Hình 3-12 Hệ thống M/M/1/K quan điểm hệ thống đóng 50 Hình 3-13 Hàng đợi M/M/c/∞ .51 Hình 5-1 Hàng chờ bên router .57 Hình 5-2 Duyệt 58 Hình 5-3 Các thành phần 62 Hình 5-4 Phép tính Minimum Spanning Tree ( MST) .70 Mục lục bảng biểu Bảng 2-1 Điểm tương ứng với kết tung xúc xắc Bảng 2-2: Kết Thí dụ 2-5 11 10 Việc sử dụng tài nguyên mạng hiệu đảm bảo tính cơng cho kết nối thực chế điều khiển luồng cực đại – cực tiểu (max–min flow control) Cơ chế xây dựng mơ hình cơng cực đại – cực tiểu (max-min fairness) Nguyên tắc hoạt động chế điều khiển luồng cực đại – cực tiểu sau: Nguyên tắc – Sau người dùng với yêu cầu tài nguyên đáp ứng cơng bằng, tài ngun lại tiếp tục phân chia (một cách công bằng) cho người dùng lại Trong nhóm người dùng này, tài ngun lại phân chia cho người dùng có yêu cầu đáp ứng, q trình tiếp tục đến hết Nói cách khác, việc cấp phát tài nguyên mạng cho người dùng i không làm ảnh hưởng đến tài nguyên cấp ngườii dùng khác với yêu cầu i Một số quy ước định nghĩa: • Giả thiết mạng đồ có hướng G = (N, A) N tập hợp nút A tập hợp đường liên kết nút • P tập hợp kết nối sử dụng mạng, kết nối tập hợp kết nối ký hiệu p • rp tốc độ (hay băng thông) dùng cho kết nối p Với đường liên kết a (a ∈ A) lưu lượng thơng tin liên kết a Fa = ∑ δ p (a).rp δ p (a ) = kết nối p qua liên kết p∈P a trường hợp ngược lại Gọi Ca dung lượng liên kết a, ta có: rp ≥ với ∀p ∈ P Fa ≤ Ca với ∀a ∈ A (*) Mục đích chế cơng cực đại – cực tiểu tìm tập hợp giá trị rp (với ∀p ∈ P) thỏa mãn (*) đồng thời thỏa mãn nguyên tắc quy chế công cực đại – cực tiểu Tập hợp giá trị rp tạo thành vector công cực đại – cực tiểu, ký hiệu r Một đặc điểm quan trọng vector công cực đại – cực tiểu với kết nối p thuộc P, có liên kết a mà p qua cho Fa = Ca rp không nhỏ tốc độ kết nối liên kết Liên kết gọi điểm nghẽn p (bottleneck arc) Hình 1-17 minh hoạt khái niệm vector công cực đại – cực tiểu khái niệm điểm nghẽn 141 Kết nối (tốc độ 1) Kết nối (tốc độ 2/3) Giả thiết: đường nối nút có tốc độ Kết nối (tốc độ 1/3) Kết nối (tốc độ 1/3) Kết nối (tốc độ 1/3) Hình 5-17: Ví dụ tính cơng cực đại – cực tiểu Trên hình 5-17, điểm nghẽn kết nối 1, 2, 3, (3,5), (2,3), (2,3), (4,5) (2,3) Liên kết (3,5) điểm nghẽn cho kết nối liên kết chia sẻ hai kết nối kết nối có tốc độ cao kết nối liên kết Liên kết (1,3) điểm tắc nghẽn tất kết nối tài nguyên kết nối chưa sử dụng hết (còn dư thừa 1/3 tốc độ) Thuật tốn tìm giá trị băng thông tối ưu (max-min fair algorithm) Phần trình bày thuật tốn tìm giá trị băng thông tối ưu 1) Khởi tạo tất kết nối với tốc độ = Tăng tốc độ tất kết nối với lượng nhỏ δ, lặp lại trình tồn liên kết có tổng băng thơng đạt đến giá trị băng thông cực đại (Fa = Ca) Lúc này: • Tất kết nối chia sẻ liên kết sử dụng băng thông • Liên kết điểm tắc nghẽn tất kết nối sử dụng liên kết • Ngừng việc tăng băng thông cho kết nối kết nối đạt đến trạng thái cân cực đại – cực tiểu 2) Lặp lại trình tăng tốc độ cho kết nối khác chưa đạt đến điểm tắc nghẽn lại tìm thấy điểm tắc nghẽn ứng với kết nối khác (lặp lại bước 2) 3) Thuật toán kết thúc tất kết nối tìm điểm tắc nghẽn Có cần phải minh họa cơng thức khơng??? Ví dụ: xét trường hợp tìm băng thông tối ưu phương pháp công cực đại – cực tiểu hình 1-17 Giả thiết tất liên kết có tốc độ • Bước 1: tất kết nối có tốc độ 1/3, liên kết (2,3) bão hòa (đạt giá trị cực đại) tốc độ ba kết nối (2, 5) liên kết đặt giá trị 1/3 142 • Bước 2: hai kết nối tăng thêm lượng băng thông 1/3 đạt giá trị 2/3 Lúc liên kết (3,5) bão hòa tốc độ kết nối đặt giá trị 2/3 • Bước 3: kết nối tăng thêm lượng 1/3 đạt đến giá trị Liên kết (4,5) lúc trở nên bão hòa tốc độ kết nối đạt • Bước 4: cúc tất kết nối qua liên kết bão hòa (điểm nghẽn) nên giải thuật dừng lại kết giải thuật tìm giá trị băng thơng tối ưu băng thông kết nối cho phần Dưới thuật tốn tìm giá trị băng thơng tối ưu Quy ước: • Ak tập hợp liên kết chưa bão hòa (chưa hoạt động với tốc độ cực đại liên kết) lúc bắt đầu bước k • Pk tập hợp kết nối khơng qua liên kết bão hòa nào, tính lúc bắt đầu bước k • nka số lượng kết nối Pk sử dụng liên kết a Đây số kết nối chia sẻ phần dung lượng đường truyền chưa dùng hết liên kết a • r% k phần băng thơng tăng lên cho kết nối Pk bước thứ k • Tại điều khiện ban đầu: k = 1, F0a = 0, r0p = 0, P1 = P A1 = A Thuật toán hoạt động sau: nak := số lượng đường p ∈ P k với δ p (a ) = r% k := (Ca − Fak −1 ) / nak a∈ Ak rpk −1 + r% k ( p ∈ P k ) r = k −1 k rp ( p ∉ P ) Fak := ∑ δ p (a).rpk k p a∈ A A k+1 := {a | Ca − Fak > 0} P k +1 := { p | δ p (a) = 0, for all a ∉ A k+1} k := k + Nếu Pk tập hợp rỗng dừng lại, khơng quay lại bước 6.4.3 Thuật toán GPS (pending) 143 6.5 Bài tập (Pending) 144 Chương Kỹ thuật mô 7.1 Giới thiệu Công cụ NS2 (network simulator version 2) [5] phát triền trường Đại học Berkeley (Mỹ) công cụ cho phép mơ đánh giá đặc tính mạng máy tính viễn thơng thay cho việc tiến hành thực nghiệm thiết bị thực tế Do có số ưu điểm mã nguồn mở, có module ứng dụng phong phú, NS2 công cụ mô phổ biến rộng rãi giới, đặc biệt viện nghiên cứu trường đại học Trong chương này, trước tiên chúng tơi trình bày khái niệm chung phương pháp mô dựa kiện rời rạc (discrete event simulation) Tiếp theo, nhằm cung cấp cho người đọc nhìn tổng quan công cụ mô cho mạng, giới thiệu số công cụ mô mạng thơng dụng phân tích ưu nhược điểm chúng Cấu trúc NS2, module có sẵn ứng dụng chúng trình bày phần Sau số kết luận chung phạm vi ứng dụng ưu nhược điểm NS2 7.2 Mô dựa kiện rời rạc công cụ 7.2.1 Phương pháp mô dựa kiện rời rạc Trước vào trình bày khái niệm mơ dựa kiện rời rạc, định nghĩa số khái niệm sau: Định nghĩa 6.1 - Mô hình mơ (Simulation Model): biểu diễn hệ thống cần mô cách mô tả mối quan hệ toán học, logic cấu trúc mặt trạng thái, thực thể làm nên hệ thống, kiện làm thay đổi trạng thái hệ thống, tiến trình hoạt động hệ thống Định nghĩa 6.2 - Trạng thái hệ thống (System State): tập hợp biến cần thiết chứa đựng đầy đủ thông tin để mô tả hệ thống thời điểm Định nghĩa 6.3 - Thực thể (Entity): Một mơ hình hệ thống cần mô chia nhỏ thành thực thể với chức khác (thí dụ hàng đợi, server, gói liệu v.v.) 145 Định nghĩa 6.4 - Thuộc tính (Attributes): Mỗi thực thể hệ thống có thuộc tính khác đặc trưng cho thực thể đó, thí dụ luật phục vụ gói hàng đợi v.v Định nghĩa 6.5 - Sự kiện (Event): Sự xuất kiện làm thay đổi trạng thái hệ thống (thí dụ kiện xuất gói làm tăng số gói chờ hàng đợi) Định nghĩa 6.6 - Bản ghi kiện (Event Notice): Là ghi có gắn thời gian xảy kiện tương lai, với liệu cần thiết để thực kiện đó, thí dụ kiểu kiện thời gian xảy kiện Định nghĩa 6.7 - Danh sách kiện (Event List): Là danh sách chứa nhiều ghi kiện xếp theo trình tự thời gian xảy kiện Định nghĩa 6.8 - Hoạt động (Activity): quãng thời gian với độ dài xác định (khoảng thời gian truyền gói tin, thời gian đến hai gói tin liên tiếp) thời điểm bắt đầu hoạt động xác định Định nghĩa 6.9 - Trễ (Delay): quãng thời gian với độ dài không xác định (như khoảng thời gian đợi gói tin hàng đợi đằng trước n gói đợi) Định nghĩa 6.10 - Đồng hồ (Clock): Là biến số thể thời gian mô hệ thống Từ khái niệm trên, phương pháp mô dựa kiện rời rạc xây dựng bẳng cách mô hình hố hệ thống mà trạng thái thay đổi thời điểm rời rạc, tức thời điểm xảy kiện Như q trình chạy mơ thực chất trình khảo sát hệ thống trạng thái thay đổi từ thời điểm sang thời điểm khác, tương ứng với thời điểm xảy kiện theo trình tự thời gian tăng dần Thí dụ 6.1: Để dễ hiểu lấy thí dụ hệ thống bao gồm hàng đợi Q hai thực thể phục vụ (server) A B phục vụ gói đợi Q Đầu tiên gói vào hàng đợi Q đợi lượt phục vụ Thực thể A B có thời gian phục vụ gói trung bình tsa tsb (đây hai thuộc tính tương ứng với A B) Khi có gói đến, A rỗi A phục vụ gói đó, A bận B rỗi B phục vụ, khơng gói đợi hàng đợi Q (Hình 6.1) 146 Hình 6.1 Hệ thống gồm hàng đợi thực thể phục vụ Có thể mơ hình hố hệ thống trạng thái thể tham số: • LQ: độ dài hàng đợi (số gói có Q) • SA: – A bận; – A rỗi • SB: – B bận; – B rỗi Ngồi định nghĩa kiểu kiện làm thay đổi trạng thái hệ thống sau: 1) Sự kiện E1: gói Pi vào hàng đợi; 2) Sự kiện E2: gói Pi bắt đầu phục vụ A B; 3) Sự kiện E3: gói Pi phục vụ xong Giả sử thời điểm t1 gói Pn A phục vụ xong, Pn+1 bắt đầu phục vụ, thời điểm t2 gói Pi vào hàng đợi Q Hình 6.2 Mơ hệ thống với trình tự thời gian tăng dần 147 Hình 6.2 thể q trình mơ hệ thống theo trình tự thời gian đồng hồ trình thay đổi, bổ sung ghi kiện danh sách kiện Việc xử lý danh sách kiện nhiệm vụ chương trình mô Do ghi kiện chuỗi xếp theo trình tự thời gian, danh sách kiện có hai trỏ: trỏ trỏ vào đầu danh sách trỏ thứ hai trỏ vào ghi cuối danh sách Mỗi ghi phải có trỏ trỏ đến ghi nằm danh sách Các thao tác liên quan đến danh sách kiện bao gồm: 1) Xoá ghi đầu danh sách; 2) Xoá ghi vị trí danh sách; 3) Thêm ghi vào đầu cuối danh sách; 4) Thêm ghi vào vị trí danh sách phụ thuộc vào thời gian xảy kiện Các phương pháp mơ hình hố hệ thống thơng tin chi tiết kỹ thuật mô tìm thấy [1][2][3] 7.2.2 Các cơng cụ mô thông dụng dựa kiện rời rạc Trước vào trình bày cấu trúc cơng cụ NS2, phần điểm lại số công cụ mô thông dụng nhận xét ưu nhược điểm chúng OPNET [8] sản phẩm thương mại tương đối tiếng công ty OPNET, bao gồm hai phần OPNET Modeler phần mở rộng cho mạng không dây OPNET Wireless Module OPNET chạy môi trường Windows Unix/Linux OPNET thích hợp cho tổ chức cơng nghiệp việc quy hoạch đánh giá chất lượng dịch vụ mạng thực tế có sẵn thư viện phong phú với module mô thiết bị nhiều nhà sản xuất khác Cisco, Lucent, Juniper Tuy nhiên sở nghiên cứu trường đại học, có lẽ OPNET khơng phù hợp giá tương đối đắt, mặt khác mô hình hố hệ thống, OPNET u cầu phải sử dụng thư viện với thiết bị cụ thể nên việc xây dựng mơ hình tổng qt gặp khó khăn Ptolemy II [9] cơng cụ mô Java phát triển trường Berkeley (Mỹ) Ptolemy II tải xuống miễn phí, nhiên Ptolemy II cung cấp mơi trường mơ dựa kiện rời rạc nói chung, module hỗ trợ cho mô hệ thống mạng khơng có nhiều nên người lập trình phải tự phát triển ứng dụng riêng OMNET++ [10] chương trình mơ cho hệ thống mạng phát triển Andras Varga, trường Đại học Bách khoa Budapest OMNET++ viết ngôn ngữ C++ hỗ trợ Windows lẫn Unix/Linux OMNET++ tải xuống miễn phí Ngồi OMNET++ sử dụng giao diện đồ hoạ thân thiện với người sử dụng (như môi trường phát triển OPNET), khối lượng cơng việc độ phức 148 tạp phát triển module giảm nhẹ nhiều Tuy nhiên OMNET++ cộng đồng nghiên cứu nên module có sẵn chưa nhiều NS2 [5] cơng cụ mô mạng sử dụng rộng rãi trường đại học viện nghiên cứu NS2 phát triển khuôn khổ dự án VINT, kết hợp trường Berkeley, Viện Khoa học thơng tin ISI, Xerox PARC phòng thí nghiệm quốc gia Lawrence Berkeley NS2 công cụ mô hướng đối tượng, phát triển dựa hai ngôn ngữ C++ OTcl (Object-oriented Tcl), chủ yếu chạy môi trường Unix/Linux Ưu điểm NS2 mã nguồn mở, có cộng đồng sử dụng phát triển đông đảo nên module hỗ trợ cho mô mạng (như giao thức, chế đảm bảo chất lượng dịch vụ, công nghệ mạng lớp 2, 3) phong phú Tuy nhiên có số nhược điểm: • Do khơng có giao diên đồ hoạ với người sử dụng nên việc tạo kịch mô phát triển module phức tạp công cụ khác OPNET OMNET++; • Khả hỗ trợ hệ điều hành khác Windows kém; • Do phát triển nhiều cá nhân tổ chức khác nên cấu trúc NS2 tương đối phức tạp, sau thời gian làm quen dùng thử định người sử dụng có khả làm chủ chương trình, đặc biệt phải tạo module chức Sau tập trung giới thiệu công cụ NS2 Việc so sánh liệt kê công cụ mô đánh giá hoạt động mạng tìm thấy [2][11][12] 7.3 Cơng cụ mơ mạng NS2 7.3.1 Cấu trúc Hình Cấu trúc cơng cụ mô NS Mô NS xây dựng sở hai ngơn ngữ: • C++: NS có thư viện phong phú đối tượng mạng giao thức mơ tả C++ (thí dụ nút mạng, đường nối, nguồn, hàng đợi v.v.) 149 • OTcl: Ngồi chương trình thơng dịch OTcl (OTcl ngôn ngữ mở rộng chức hướng đối tượng Tcl) cho phép người sử dụng xây dựng kịch mô cụ thể truyền tham số cho thực thể C++ Mỗi đối tượng (tương ứng với thực thể) C++ có đối tượng tương ứng lớp OTcl thể Hình Như C++ phần cho liệu lõi NS OTcl phần đặt cấu hình cho chương trình mơ NS phải sử dụng ngơn ngữ có hai nhiệm vụ khác tiến hành mô Một mặt, mô tả chi tiết giao thức, khối chế mạng yêu cầu phải sử dụng ngôn ngữ bậc cao để xử lý số liệu, thực thuật toán Đối với nhiệm vụ u cầu tính hiệu chương trình mơ (như khoảng thời gian chạy chương trình, quản lý nhớ v.v.), thực thể bắt buộc phải viết C++ Mặt khác, trình xây dựng kịch mơ đặt cấu hình cho phần tử mạng, truyền tham số cụ thể, thiết lập topo cho mạng sử dụng phần tử có sẵn nên yêu cầu khâu thời gian thiết lập cấu hình phải thấp (vì kịch mơ lặp lặp lại) Vì vậy, chương trình thơng dịch OTcl thích hợp Trong kịch mơ dạng OTcl người dung đưa ra, thiết lập topo mạng, giao thức ứng dụng cụ thể mà muốn mô mẫu đầu mà mong nhận từ mơ phỏng, OTcl sử dụng đối tượng biên dịch C++ qua liên kết OTcl (sử dụng tclCL thư viện gắn kết để dễ dàng chia sẻ chức biến) để tạo ánh xạ 1-1 đối tượng OTcl cho đối tượng C++ định nghĩa liên hệ đối tượng Như trình bày trên, phần NS danh sách kiện mà người ta gọi phân hoạch kiện (event scheduler) NS sử dụng phương pháp phân hoạch kiện khác nhau, trình bày cụ thể [4] Một kiện đối tượng C++ bao gồm số hiệu nhận dạng (ID) nhất, thời gian phân hoạch trỏ trỏ đến đối tượng thực thi kiện Cấu trúc kiện phân hoạch kiện định nghĩa sau: class Event { public: Event* next_; /* event list */ Handler* handler_; /* handler to call when event ready */ double time_; /* time at which event is ready */ int uid_; /* unique ID */ Event() : time_(0), uid_(0) {} 150 }; /* * The base class for all event handlers When an event’s scheduled * time arrives, it is passed to handle which must consume it * i.e., if it needs to be freed it, it must be freed by the handler */ class Handler { public: virtual void handle(Event* event); }; Các gói tin NS định nghĩa từ lớp Event sau: class Packet : public Event { private: friend class PacketQueue; u_char* bits_; protected: static Packet* free_; public: Packet* next_; /* for queues and the free list */ static int hdrlen_; Packet() : bits_(0), datalen_(0), next_(0) {} u_char* const bits() { return (bits_); } static void free(Packet*); }; 7.3.2 Các tiện ích NS hỗ trợ cho mô mạng [Pending] Các module phục vụ cho mơ mạng máy tính viễn thơng: Mobile networks, mobile IP, DiffServ, IntServ, MPLS, UDP/TCP/IP, SCTP, routing protocols (mobile ad-hoc, unicast, multicast), RED, RIO, WFQ, CSMA/CD, ON/OFF source, Pareto v.v Các chương trình trợ giúp việc khai thác số liệu mơ phỏng: Nam, XGraph v.v 7.3.3 Thí dụ (Pending) 7.4 Kết luận (Pending) 151 7.5 Bài tập (Pending) 152 Tài liệu tham khảo [1] John S Carson II, Barry L Nelson, Discrete-Event System Simulation, Jerry Banks, Prentice Hall 1996 [2] Richard Blum, Network Performance Open Source Toolkit Using Netperf, tcptrace, NIST Net, and SSFNet, Wiley Publishing 2003 [3] Raj Jain, The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation and Modeling, John Wiley and Sons 1991 [4] Kannan Varadhan, Kevin Fall, NS Manual, http://www.isi.edu/nsnam/ns/nsdocumentation.html [5] http://www.isi.edu/nsnam/ns/ [6] Marc Greis, NS Tutorial, http://www.isi.edu/nsnam/ns/tutorial/index.html [7] Eintan Altman, Tania Jiménez, NS for Beginners, sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf http://www- [8] http://www.opnet.com [9] http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm [10] http://www.omnetpp.org/ [11] http://www.inrialpes.fr/planete/people/ernst/Documents/simulator.html [12] http://www.topology.org/soft/sim.html [13] Kishor Shridharbhai Trivedi, Probability and Statistics with Reliability, Queuing, and Computer Science Applications, Wiley-Interscience, 2001 [14] Donald Gross, Carl M Harris, Fundamentals of Queueing Theory, WileyInterscience,1998 [15] Dimitri Bertsekas, Robert Gallager, Data Networks, Prentice-Hall International Editions, 1987 [16] Andrew S Tanenbaum, Computer Networks, Prentice-Hall, 2003 [17] Joseph L Hammond, Peter J.P.O' Reilly, Performance Analysis of Local Computer Networks, Addison-Wesley, 1988 [18] Jeremiah F Hayes, Thimma V J Ganesh Babu, Modeling and Analysis of Telecommunications Networks, Wiley-Interscience, 2004 [19] Gunter Bolch, Stefan Greiner, Hermann de Meer, Kishor S Trivedi, Queuing Networks and Markov Chains, Modeling and Performance Evaluation with Computer Science Evaluation, John Wiley and Sons, 1998 Rudolf Avenhaus, Quantitative Modelle für Rechen- und Kommunikationssysteme, Universität der Bundeswehr München, 2000 [20] 153 154 Phụ lục 155 ... process Tiến trình tới Base station Trạm gốc Biominal distribution Phân bố nhị thức Binomial process Tiến trình nhị thức Birth – Death Process Tiến trình sinh tử Derparture process Tiến trình Evaluation... _ 24 2.6 Các tiến trình ngẫu nhiên thường gặp _ 27 2.6.1 Tiến trình đếm 27 2.6.2 Tiến trình Poisson ... tiến trình ngẫu nhiên 2.1 Xác suất kiện Trong mục này, khái niệm môn xác suất thông kê trình bày 2.1.1 Phép thử kiện ngẫu nhiên Định nghĩa 2-1: Một phép thử ngẫu nhiên (random experiment) trình