Tải bản đầy đủ (.docx) (30 trang)

Mô phỏng đánh giá hiệu năng mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 30 trang )

1

MỤC LỤC


2

MỞ ĐẦU
Đánh giá hiệu năng mạng máy tính nói riêng và hệ thống truyền thông nói
chung luôn là vấn đề thời sự thu hút được sự quan tâm của những người làm việc
trong lĩnh vực mạng. Những phương pháp phân tích và đánh giá hiệu năng mạng
giúp con người tiến gần hơn nữa tới các ứng dụng thực tế cũng như khả năng nâng
cao được hiệu năng cho các hệ thống mạng và truyền thông hiện đại.
Mục đích của các phương pháp đánh giá hiệu năng là để dự đoán hoạt động
của hệ thống. Khi xây dựng một hệ thống mới hoặc sửa chữa nâng cấp một hệ
thống cũ, người ta phải sử dụng các phương pháp đánh giá hiệu năng để dự đoán
được ảnh hưởng của nó đến hiệu năng của hệ thống đó.
Khía cạnh quan trọng nhất của đánh giá hiệu năng là đo đạc và theo dõi hiệu
năng của hệ thống. Bằng việc quan sát theo dõi hiệu năng của hệ thống, ta có thể
biết được hoạt động của hệ thống đó như thế nào, hoặc khi nào hệ thống quá tải.
Điều kiện tiên quyết của việc đo đạc hiệu năng là hệ thống đó phải có các thông số
để đo được. Một khía cạnh quan trọng khác nữa của việc đánh giá hiệu năng là
trong quá trình đo đạc thông thường người ta sẽ làm hệ thống thay đổi chút ít, như
khi thêm một vài thông số vào dữ liệu chẳng hạn. Điều này cũng có thể dẫn tới làm
thay đổi hiệu năng của hệ thống đó.
Có rất nhiều phương pháp mô hình hóa khác nhau và qua đó cũng có nhiều
cách phân loại khác nhau. Phương pháp phân loại phổ biến nhất hay được sử dụng
là phương pháp phân tích toán học ( analytical techniques ) và phương pháp mô
phỏng ( simulative techniques ) .



3

1.1.

CHƯƠNG 1. TỔNG QUAN ĐÁNH GIÁ HIỆU NĂNG MẠNG
Khái niệm hiệu năng mạng
Hiệu năng mạng là một vấn đề phức tạp do các yếu tố có thể tổng hợp đưa ra

nhằm đánh giá vấn đề hiệu năng chưa thực sự rõ ràng. Đã có nhiều khái niệm,
tham số được đưa ra nhằm minh chứng cho bản chất của vấn đề hiệu năng, lý giải
cho việc truyền thông tin hiệu quả hay kém hiệu quả giữa các hệ thống trong mạng.
Tuy nhiên, trong thực tế rất cần có những khái niệm bản chất và sát thực tiễn với
mục tiêu đánh giá được toàn bộ vấn đề hiệu năng bao gồm cả các yếu tố đo đạc,
theo dõi, điều khiển đều được tính đến. Có thể sơ lược khái niệm hiệu năng mạng
như sau: Hiệu năng mạng là hiệu quả và năng lực hoạt động của hệ thống mạng.
Như vậy, việc đánh giá hiệu năng mạng chính là tính toán và xác định hiệu quả,
năng lực thực sự của hệ thống mạng trong các điều kiện khác nhau.
Các điều kiện được sử dụng trong đánh giá hiệu năng là rất quan trọng, chúng
ảnh hưởng trực tiếp tới các kết quả thu được. Trong các điều kiện ảnh hưởng tới
quá trình đánh giá hiệu năng thì kịch bản mô tả là yếu tố then chốt quyết định giá
trị hiệu năng tại điểm cần đo. Trong kịch bản cần xác định các tham số đầu vào rõ
ràng như các nút tham gia hệ thống, thiết bị kết nối, tác nhân tham gia, giao thức
hoạt động, ứng dụng triển khai, thời gian thực hiện,.. và rất nhiều yếu tố khác kết
hợp tạo ra một kịch bản hoàn thiện.
1.2.

Các độ đo hiệu năng
Có thể phân các độ đo hiệu năng thành hai loại: các độ đo hướng tới người sử

dụng

và các độ đo hướng tới hệ thống. Trong các độ đo hướng tới người sử dụng,
thời gian đáp ứng (response time) 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. Đó 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. Trong các hệ


4

thống tương tác, đôi khi người ta sử dụng độ đo thời gian phản ứng của hệ thống
(system reaction time) thay cho thời gian đáp ứng. Đó 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. Độ đ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 các hệ thống mạng máy tính, các đại lượng thời gian đáp ứng, thời gian phản
ứng của hệ thống đề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 điển hình là thông lượng (throughput) và thời
gian trễ
(delay time, delay). Thông lượng được định nghĩa 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, không dẫn đến
trạng thái bị tắc nghẽ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 hoá, đó 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). Thời gian trễ 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. Cũng có trường hợp người ta sử dụng đại lượng thời
gian trễ chuẩn hoá, đó là tỉ số của thời gian trễ trên một tham số thời gian nào đó,

thí dụ thời gian cần thiết để truyền một gói tin (packettransmition time).
1.3.

Các phương pháp đánh giá hiệu năng

1.3.1.Phương

pháp toán học

Việc sử dụng các phương pháp toán trong tính toán hiệu năng mạng đã được
thực hiện từ lâu, trong đó các công cụ toán học đã được sử dụng rất linh hoạt và đa
dạng như xác suất thống kê, đồ thị, quy hoạch, luồng,... để giải quyết nhiều vấn đề
trong hiệu năng.


5

Ưu điểm chính của phương pháp toán học là có thể xác định các ngưỡng giá
trị của hệ thống qua việc xác định mối tương quan giữa các yếu tố trước khi tồn tại
hệ thống. Nhưng khi áp dụng trong thực tế, việc mô tả đầy đủ các yếu tố đầu vào
cho bài toán là cực kỳ khó khăn do vậy kết quả của phương pháp này còn nhiều
hạn chế.
1.3.2.Phương

pháp đo thực tế

Sau khi hệ thống mạng đã được xây dựng, đây là một hệ thống tổng thể kết
nối của các thiết bị với những công nghệ khác nhau do vậy việc đo đạc để đưa ra
kết quả từ mô hình thật là rất quan trọng. Khi thực hiện đo thực tế, người đo phải
dựng ra được các kịch bản cần đo từ đó tạo ra những điều kiện giống với kịch bản

thực tế và sử dụng các công cụ đo như phần mềm, thiết bị đo để thu nhận các kết
quả thực tế từ hoạt động của hệ thống theo kịch bản. Thông thường với phương
pháp đo thực tế cho chúng ta kết quả với độ chính xác rất cao, tuy nhiên việc đầu
tư quá lớn trước khi biết kết quả hoạt động nhiều khi gây ra sự lãng phí vì vậy giải
pháp đo thực tế chỉ được sử dụng để giám sát hoạt động mạng. Để đo được giá trị
hiệu năng, quan trọng nhất là lấy thông tin chính xác về hệ thống. Hiện nay phổ
biến có 3 phương pháp lấy thông tin sau:


Truy vấn các nút mạng để lấy trực tiếp thông tin đang lưu trữ.



Theo dõi luồng thông tin thực tế trên hệ thống.



Xây dựng kịch bản với dữ liệu thử nghiệm để đo hệ thống.
1.3.3.Phương

pháp mô phỏng

Để giảm sai số của phương pháp toán học, giảm chi phí đầu tư cho hệ thống
trước khi đo trong thực tế, phương pháp mô phỏng đã được sử dụng. Việc mô
phỏng hệ thống đòi hỏi phải mô tả chính xác, chân thực tính năng, kỹ thuật, yếu tố
ràng buộc giữa các nhân tố tham gia và ảnh hưởng tới hệ thống trong thực tế khi
xây dựng. Như vậy, để kết quả chính xác đòi hỏi công tác mô tả kịch bản phải rất
chuẩn xác. Trong khuôn khổ môn học, chúng ta sẽ đi sâu vào tìm hiểu và áp dụng
phương pháp mô phỏng vào đánh giá hiệu năng mạng. Có hai phương pháp chính



6

được sử dụng trong mô phỏng hệ thống mạng là mô phỏng thời gian thực và mô
phỏng rời rạc. Để mô phỏng theo thời gian thực là rất khó do vậy phương pháp phổ
biến hiện nay là mô phỏng rời rạc tức là các sự kiện được xác định rõ ràng và có
thời điểm mô tả trên trục thời gian.
1.4.

Các tham số đánh giá hiệu năng
Để lượng hóa vấn đề hiệu năng mạng, cần thiết phải có bộ tham số tiêu biểu

đặc trưng cho vấn đề này. Trong đó, 5 tham số sau đây được sử dụng như những
khái niệm điển hình mà nhìn vào chúng có thể cho thấy kết quả của đánh giá hiệu
năng mạng.
1.4.1.Tính

sẵn sàng (Availability)

Tính sẵn sàng là thước đo đầu tiên khi xác định và đánh giá hiện trạng mạng
có khả năng phục vụ, đáp ứng yêu cầu hay không. Tham số này cho phép chỉ ra
luồng thông tin có đang được chuyển tiếp qua hệ thống mạng hay bị tắc nghẽn cần
phải xử lý, các dịch vụ mạng đang được cung cấp có sẵn sàng cho việc trả lời các
yêu cầu đưa ra. Vấn đề liên thông giữa các hệ thống trong mạng cũng được đề cập
trong tính sẵn sàng.
Một trong các công cụ, phương pháp đơn giản thường được sử dụng khi kiểm
tra tính sẵn sàng của hệ thống mạng là sử dụng chương trình ping. Chương trình
khi thực hiện sẽ gửi các gói tin dưới giao thức ICMP tới phía máy cần kiểm tra và
đợi kết quả trả lời, nếu có kết quả trả lời chúng ta có thể xác định được tính sẵn
sàng của hệ thống đích



7

Hình 1. Kiểm tra tính sẵn sàng với chương trình ping
Ping là 1 phương thức kiểm tra kết nối của hai thiết bị trên đường truyền bằng
cách đo tổng thời gian gửi và phản hồi khi gửi một gói tin chuẩn từ thiết bị nguồn
đến thiết bị đích.
Đơn vị của ping thường được tính bằng ms.
Trong các phương thức trao đổi gói theo phương thức TCP thì người ta thường
dùng Ping để ám chỉ chất lượng của đường truyền.
Ping phụ thuộc vào 3 yếu tố:
+ Kết nối: tốc độ mạng
+ Điểm A: máy tính, điện thoại
+ Điểm B: server của nhà cung cấp dịch vụ
Trong ví dụ trên, yêu cầu gửi đi đã có kết quả đáp ứng, trong một số trường hợp
và tình huống thực tế việc mất gói tin thường xuyên xảy ra, điều nay có thể do nhiều
nguyên nhân khác nhau, trong đó có một số nguyên nhân điển hình sau:
-

Xung đột xảy ra giữa các phân đoạn mạng: Các giao thức điều khiển truy cập đóng
vai trò quan trọng trong quá trình kiểm soát xung đột, việc lựa chọn giao thức phù
hợp ảnh hưởng lớn tới xử lý các gói tin khi hệ thống gặp vấn đề.

-

Các gói tin bị hủy bởi các thiết bị mạng: Mỗi thiết bị đều có những bộ đệm nhằm
lưu trữ những gói tin chưa kịp xử lý. Để kiểm soát bộ đệm, thông thường các thiết



8

bị sẽ sử dụng một số giải thuật nhằm duy trì trật tự của bộ đệm như giải thuật
DropTail, RED, DDR,... trong các giải thuật này luôn tồn tại phương án hủy gói tin
khi thỏa mãn điều kiện hủy nhằm duy trì hoạt động tốt nhất cho thiết bị, tránh tắc
nghẽn và quá thời gian xử lý.

Hình 2. Hiện tượng hủy gói tin trên bộ đệm của thiết bị
1.4.2.Thời

gian đáp ứng (Response time)

Khi yêu cầu được gửi tới, sẽ có một khoảng thời gian dành cho việc xử lý
trước khi trả về kết quả, khoảng thời gian này được gọi là thời gian đáp ứng, bao
gồm thời gian đi, thời gian xử lý yêu cầu và thời gian về. Đây là tham số rất quan
trọng ảnh hưởng tới quá trình đánh giá khả năng giải quyết vấn đề khi có yêu cầu
và hạ tầng truyền thông. Thời gian đáp ứng chậm thường do khả năng giải quyết
vấn đề của ứng dụng, hạn chế trong truyền và nhận thông tin trên giao thức và hạ
tầng truyền thông tin. Có thể chỉ ra một số các yếu tố ảnh hưởng trực tiếp tới thời
gian đáp ứng như sau:


Quá tải trong các phân đoạn mạng



Các lỗi xuất hiện trên mạng




Khiếm khuyết khi mở rộng mạng



Xử lý các thông tin quảng bá trên mạng chưa tốt


9



Thiết bị mạng kém chất lượng



Quá tải trên các nút mạng
Thời gian đáp ứng được đo bằng milli giây (ms). Thông thường với các kết
nối mạng LAN thì thời gian đáp ứng nhỏ hơn 1 hoặc 2 milli giây, với các kết nối
mạng WAN thời gian đáp ứng có thể lên tới 200 hoặc 300 milli giây là chấp nhận
được, giá trị cụ thể tùy thuộc vào tốc độ đường truyền giữa các hệ thống.

1.4.3.Khả

năng sử dụng mạng (Network utilization)
Khi hệ thống mạng hoạt động, việc đánh giá khả năng sử dụng mạng là yếu

tố quan trọng khi cần đánh giá hiệu năng mạng. Hệ thống mạng có thể hoạt động ở
trạng thái bình thường trong đa số thời gian, tuy nhiên trong thực tế thì hệ thống có
thể chưa hoạt động hết công suất và khả năng, như vậy phần dư thừa khi xây dựng
mạng chưa tính đến cũng là yếu tố giảm đi hiệu năng của hệ thống. Để tính tham

số khả năng sử dụng mạng, thông thường công thức chính được sử dụng là phần
trăm thời gian sử dụng mạng trong suốt thời gian hoạt động mạng. Trong rất nhiều
tình huống, có những thời điểm hệ thống sử dụng 100% công suất nhưng có những
thời điểm là về 0% cho trạng thái không có yêu cầu. Để tăng tính chính xác khi xác
định khả năng sử dụng mạng, việc tính toán lưu lượng dữ liệu được truyền qua hệ
thống trong tổng thời gian hoạt động đã được sử dụng. Giá trị cụ thể khi tính toán
còn phụ thuộc nhiều vào phương thức truyền trên các kết nối được sử dụng tại các
giao diện mạng. Thông lượng mạng (Network throughput)
Về bản chất, khả năng sử dụng mạng chính là tỉ lệ làm việc thực tế của hệ
thống còn thông lượng mạng là tổng lượng dữ liệu chuyển tiếp qua các nút cần đo
trong một thời điểm xác định.
Người quản trị hệ thống mạng có thể xác định thông lượng mạng bằng phương
pháp tìm nút cổ chai giữa 2 điểm cần đo. Đồng thời, trong một số tình huống nhiều
người sẽ khẳng định thông lượng của hai điểm sẽ được xác định bằng giá trị băng
thông (Bandwidth) tại 2 điểm đó. Những điểm nêu trên là hoàn toàn không chính
xác bởi 2 lý do chính sau đây:


10

Giá trị băng thông không phụ thuộc vào thời gian đo và đây là khái

-

niệm khác hoàn toàn với thông lượng.
Thông lượng thực tế phụ thuộc rất nhiều vào tổng thể kết nối, thiết bị sử

-

dụng, ứng dụng hoạt động, dịch vụ cung cấp của hệ thống tại thời điểm

cần đo.

Hình 3. Độ phức tạp khi xác định thông lượng giữa client và server
1.4.4.Khả

năng của băng thông mạng (Network bandwidth capacity)

Khả năng của băng thông là một trong những yếu tố để xác định thông lượng
mạng trong thời điểm cần đo. Tổng dung lượng băng thông có khả năng giữa hai
nút mạng sẽ ảnh hưởng lớn tới hiệu năng của mạng điều này là khá hiển nhiên, khi
ta kết nối mạng 100BaseTX thì đương nhiên luôn nhanh hơn với kết nối T1. Tuy
nhiên việc xác định khẳ năng của băng thông giữa 2 điểm cần đo thường rất phức
tạp do tổng thể kết nối của hệ thống tác động (mô tả tại hình 1.3), do vậy đòi hỏi
phải có kỹ thuật cụ thể trong việc xác định giá trị lớn nhất trong khả năng của băng
thông mạng khi hoạt động. Có 2 kỹ thuật chính được sử dụng để xác định khả năng
băng thông đó là kỹ thuật packet pair/packet train và kỹ thuật thống kê gói tin.

.


11

Hình 4. Minh họa kỹ thuật packet pair/packet train

CHƯƠNG 2. GIỚI THIỆU CÁC CHƯƠNG TRÌNH MÔ PHỎNG MẠNG
2.1

OPNET
OPNET (Optimized Network Engineering Tools) là công cụ "có phí" của
tập đoàn công nghệ OPNET dùng cho việc mô hình hóa và mô phỏng các mạng

thông tin, các thiết bị và các giao thức.
OPNET là chương trình mô phỏng trên nền Windows được sử dụng rộng
rãi. Nó được xây dựng dựa trên ngôn ngữ C++ và cung cấp môi trường ảo cho
việc mô hình hóa, phân tích và d ự đoán hiệu năng mạng, giúp mô hình hóa
chính xác các ứng dụng, các máy chủ và nhiều công nghệ mạng.. Các giao thức
và thiết bị mới thường xuyên được cập nhật nhằm theo kịp xu hướng phát
triển nhanh chóng của công nghệ mạng.
OPNET được sử dụng bơi nhiều các tổ chức thương mại, các tổ chức
chính phủ và các trường đại học trên toàn thế giới. Có nhiều các tính năng đa d
ạng cho người dùng OPNET. Bao gồm:
- Tạo và chỉnh sửa các mạng và các nút mạng.
- Tạo và chỉnh sửa các quá trình đang chạy trên các nút đó.
- Phân tích kết quả mô phỏng và tạo biểu đồ hiệu nặng.
- Định nghĩa các quá trình toán học trong việc dùng các công cụ phân tích.
Các tính năng này làm cho OPNET rất linh hoạt và cung cấp khả năng mô
phỏng hầu như mọi loại hình mạng truyền thông. Tạo mô phỏng topo mạng đơn
giản là dễ dàng với việc sử dụng các thành phần kéo & thả và các cài đặt được
định trước. Có thể quản lí được một mạng với hàng trăm nút mạng. Tuy nhiên,
với người mới bắt đầu, học để sử dụng triệt để OPNET nhằm triển khai một giao
thức mới có đôi chút khó khăn; người dùng cần làm quen với phương pháp và
ngôn ngữ hướng đối tượng như C++, cũng như là kiến thức cơ bản về mạng.
Phương pháp mô hình hóa trong OPNET được tổ chức theo cấu trúc phân cấp. Ở


12

mức thấp nhất, là mức độ hoàn toàn có thể điều chỉnh được, các mô hình Process
được xây dựng như các FSM (Finite State Machine - cơ cấu có số trạng thái giới
hạn ). Trạng thái và các chuyển dịch có thể được cụ thể hóa một cách sinh động
bằng cách sử dụng hình vẽ các lưu đồ chuyển dịch trạng thái, trong khi các điều

kiện xác định diễn biến trong mỗi trạng thái được lập trình bởi Proto-C, một
ngôn ngữ tương tự C.
Các mô hình Process, và các module đi kèm trong OPNET (các module
nguồn và đích, các bộ phát lưu lượng, các hàng đợi, các module vô tuyến...) sau
đó được cấu hình với các bảng lựa chọn và được tổ chức thành các lưu đồ dòng
dữ liệu thể hiện các nút mạng bằng cách dùng bộ biên tập nút kiểu đồ họa
(graphical Node Editor). Trình biên tập mạng đồ họa, các nút và link được lựa
chọn để xây dựng topo mạng truyền thông.
The Modeling libraries are included with OPNET Modeler and OPNET
Planner and contain protocols and environments (e.g., ATM, TCP, IP, Frame
Relay, FDDI, Ethernet, IEEE 802.11, support for wireless), link models such as
point-to-point and bus, queuing service disciplines such as First-in-First-Out
(FIFO), Last-In-First-Out (LIFO), priority non-preemptive queuing, shortest
first job, round-robin or preempt and resume.
Các thư viện mô hình hóa được kèm trong OPNET Modeler và OPNET
Planner, có chứa các giao thức và môi trường (Ví dụ: ATM, TCP,IP Frame
Relay, FDDI, Ethernet, IEEE 820.11 trong thông tin không dây), các mô hình
đường truyền như điểm - điểm, bus, các quy tắc dịch vụ hàng đợi như FIFO,
LIFO, Ưu tiền không chèn, round robin v…v
2.2

GloMoSim/ Quate
GloMoSim là một thư viện mô phỏng có khả năng mở rộng được thiết kế
tại phòng thí nghiệm máy tính UCLA để hỗ trợ việc nghiên cứu các mô hình
mạng quy mô lớn có thể lớn tới hàng triệu nút, bằng cách sử dụng đồng thời quá
trình thực hiện phân phối and/or trên một tập hợp các máy tính song song khác


13


nha (có nghĩa là cả 2 cùng phân phối hoặc chia sẻ bộ nhớ). Nó được thiết kế cho
các mạng vô tuyến và hệ thống mạng diện rộng. Nhưng tại thời điểm này nó chỉ
hỗ trợ cho các giao thức trong mạng vô tuyến. GloMoSim là một thư viện cho
ngôn ngữ mô phỏng theo sự kiện rời rạc song song dựa trên C – gọi là
PARSEC. Một đặc trưng quan trọng và nổi bật nhất của PARSEC là khả năng
thực hiện một mô hình mô phỏng sự kiện rời rạc bằng cách mô phỏng một vài
giao thức không đồng bộ khác nhau trên một loạt các kiến trúc song song.
GloMoSim được xây dựng theo hướng tiếp cận các tầng đã được phân
chia trong mô hình OSI. Thông thường, API giữa hai mô hình thuộc chồng giao
thức gần nhau đã được định nghĩa trước để hỗ trợ cho thành phần cấu trúc của
chúng. Các API chỉ rõ việc trao đổi và cung cấp các thông số giữa các tầng liền
kề nhau. Nó cho phép tích hợp một cách nhanh chóng các mô hình đã được phát
triển tại các tầng khác nhau bởi những người khác nhau. Hiện nay, các mã hoạt
động thực tế có thể được tích hợp một các dễ dàng vào GloMoSim.. N ếu tất các
các mô hình giao thức đều tuân thủ một cách chặt chẽ theo các API đã được định
nghĩa cho từng tầng thì nó có thể hoán đổi các mô hình giao thức trong một tần
nào đó mà không phải chỉnh sửa các mô hình còn lại trong ngăn xếp. Đó là việc
thực hiện các modul có khả năng so sánh tính nhất quán của các giao thức và
mức độ khác nhau chi tiết tại một tầng nào đó.
Để thực hiện một chương trình GloMoSim, cần phải có trình biên dịch
PARSEC. Để phát triển các giao thức mới trong GloMoSim, người sử dụng nên
có những hiểu biết rõ ràng về PARSEC, nhưng người dùng cũng không cần phải
hiểu biết ở mức độ chuyên môn sâu. Đối với đa số các giao thức nó khả năng
thêm vào một vài hàm PARSEC được viết hoàn toàn bằng mã C. Một số các giao
thức đã được phát triểncho từng lớp, các giao thức này hoặc các tầng có thể được
triển khai với mức độ chi tiết khác nhau và đặc điểm này là có thể thực hiện
được trong GloMoSim. Telnet ftp, CBR, HTTP đã sao chép các file hệ thống có
liên quan đến các úng dụng . Trong khi đó các mô h ình được đề cập đến trong



14

tầng truyền tải (transport layer) là có khả năng thực hiện được, ví dụ như: TCP
(FreeBSD), UDP, TCP (tahoe). Đối với định tuyến theo kiểu unicast thì các
thuật toán có thể sử dụng được là: AODV, Bellman-ford, DSR, Fisheye,
Flooding, LAR, NS DSDV, OSPF, WRP/ Các mô hình có thể sử dụng được
cho tầng MAC là CSMA, IEEE 802.11, FAMA, MACA. Sóng vô tuyến chung
sử dụng ăng ten đa hướng có hoặc không có khả năng chiếm giữ. Sự truyền
sóng vô tuyến có thể được mô phỏng thông qua các vùng trống, mô hình
Rayleigh, mô hình Ricean hoặc mô hình SIRCIM (bao gồm các vật cản, các tình
huống trong nhà).. Mô hình di động bao gồm nhiều loại hình như basic Random
waypoint, Random drunken, ECRV, BBN, Pathloss matrix, và di đ ộng nhóm.
GloMoSim có kiến trúc phân lớp. Quá trình mô phỏng là sự tập hợp các
nút mạng, với mỗi nút mạng là các tham số giao thức và số liệu thống kê. Đổi
lại, mỗi lớp là một đối tượng với các biến và cấu trúc của chúng. Các bản tin có
thể trao đổi chéo gữa các nút và các tầng với bất kỳ mức yêu cầu nào của nhóm
và mức độ chi tiết. Sự đồng bộ giữa các sự kiện được đảm bảo bởi việc tự lập
lịch (bộ định thời – timer) của các bản tin. Thư viện với tập hợp các hàm đơn
giản được xây dựng trên các API chuẩn, dùng để tạo ra, truyền tải và thao tác
thông tin. Các kiểu sự kiện mới như là : các bản tin. Các nút, các lớp có thể
được tạo ra một cách khác dễ dàng.
Kiến trúc bên trong của GloMoSim đã được thiết kế để phát triển môi
trường mô phỏng theo modul có khả năng mở rộng mạng với hàng nghìn/hàng
triệu nút khác nhau và dễ dàng chuyển đổi giữa môi trường tính toán song
song/phân ph ối. Các yêu cầu đối với tính chất mở rộng và tính modul hóa làm
cho việc thiết kế thư viện gặp khó khăn. GloMoSim cho rằng hệ thống mạng
được phân tách thành các nhóm phân vùng, một thực thể đơn được định nghĩa để
mô phỏng một lớp đơn trong toàn bộ chồng giao thức của tất cả các nút trong hệ
thống mạng thuộc cùng một phân vùng. Sự tương tác giữa các thực thể tuân theo
các API tương ứng.



15

QualNet: Phiên bản thương mại
của GloMoSim
GloMoSim không phải là miễn phí, nhưng nó được sử dụng tự do mà
không cần trả phí cho mục đích giáo dục, nghiên cứu hoặc các tổ chức phi lợi
nhuận. Tuy nhiên các tài liệu được gửi cùng với GloMoSim là khá ít (thậm chí
không có một tài liệu hướng dẫn cho người sử dụng). Tập hợp các công cụ có
khả năng tăng tốc để tạo ra các topo, để giám sát hoạt động hệ thống, để phân
tích kết quả mô phỏng bổ xung hay tổng quát hơn là để thiết kế các đặc đặc
điểm cho sự tương tác đối với các môi trường mô phỏng cũng rất hạn chế.
QualNet bổ sung phần nào thiếu sót của GloMoSim. QualNet là một sản
phẩm thương mại có nguồn gốc từ Scalable Network Technologies, cũng là
nơi bắt nguồn của GloMoSim. Tuy nhiên, QualNet được nạp thêm vào nhiều
tính năng được đánh giá cao hơn so với GloMoSim. QualNet có một bộ mở
rộng các mô hình và các giao thức thực thi chính xác cho cả mạng hữu tuyến và
mạng vô tuyến/ không dây (nội hạt, vệ tinh, mạng ad hoc, mạng cellular) , cũng
như số lượng lớn các tư liệu và hỗ trợ kỹ thuật. Ba thư viện có thể dùng được
là:
+) Một thư viện chuẩn cung cấp hầu hết các mô hình và các giao thức cần
thiết giành cho cả hai hướng nghiên cứu và hướng thương mại, hoạt động trong
mạng hữu tuyến và mạng không dây.
+) Một thư viện MANET cung cấp thêm các thành phần rất cụ thể cho các
mạng ad hoc khác nhau hơn là các thư viện chuẩn đã tồn tại khác
+) Môt thư viện QoS bao gồm các giao thức chuyên dùng cho chất lượng
dịch vụ. QualNet cũng bao gồm mô hình độ cao số hoá

- DEM (Digital


Elevation Model) để tạo các nút và các sóng vô tuyến chuyển động trong những
địa hình không bằng phẳng với các đặc tính bức xạ radio. Mô phỏng, hay bản
thân chương trình mô phỏng được thiết kế để cung cấp các mô hình mạng có độ
trung thực cao với hàng vạn nút có lưu lượng và tính di động cao. Thêm vào


16

đó QualNet đưa ra những phát triển song song đối với việc quản lý và thực thi
song song.
2.3

OMNet++
OMNet++ là một mã nguồn mở, thành phần cơ bản của chương trình mô
phỏng này được xây dựng trên nền tảng C++. Nó cung cấp một thư viện mô
phỏng C++ và hỗ trợ giao diện đồ hoạ (cho phép chỉnh sửa mạng bằng hình vẽ,
hỗ trợ hình ảnh động).
Chương trình mô phỏng này có thể được sử dụng để: thực hiện mô phỏng
lưu lượng trong mạng viễn thông, tạo mô hình các giao thức, xây dựng mô hình
các hàng đợi trong mạng, xây dựng các bộ vi xử lý đa nhiệm và các hệ thống
phân tán khác, kiểm tra lại kiến trúc phần cứng, đánh giá khía cạnh về hiệu suất
của các hệ thống phần mềm phúc tạp , và nói chung là việc tạo mô hình bất kì
một hệ thống nào khác đều gắn với các thành phần tích cực mà chúng giao tiếp
với nhau bằng việc gửi các bản tin. Về môt số mặt thì OMNet++ khác so với
các phần mềm mô phỏng đã nói trên. OMNet++ không được thiết kế chuyên
cho mạng viễn thông, mà nó tổng quát hơn nhiều. Thực tế là OMNet++ vẫn là
một phần mềm mới (được phát triển từ năm 1998), điều đó cho thấy OMNet++
có ít các modul và các giao thức (về mạng ) đi kèm hơn các chương trình mô
phỏng đã nói trước đây khá nhiều

Trên một khía cạnh khác, OMNeT++ đã được thiết kế cẩn trên phương
diện phần mềm, kết quả là được một sản phẩm được tổ chức tốt hơn, mêm dẻo
và dễ dàng sử dụng hơn so với các phần mềm mô phỏng khác, mà các phần
mềm này đều dựa trên các sản phẩm phần mềm và các khái niệm thiết kế cũ.
Một mô hình OMNeT++ của một hệ thống (vd: một mạng…) bao gồm
các modul phân cấp lồng nhau. Độ sâu của việc lồng ghép các modul này là
không có giới hạn, nó cho phép người sử dụng ánh xạ đế cấu trúc logic trong
thực tế bằng các mô hình cấu trúc trong mô phỏng. Các modul giao tiếp với


17

nhau thông qua việc truyền những thông báo. Các thông báo có thể chứa các
cấu trúc dữ liệu phức tạp tùy ý. Các modul có thể gửi các thông báo trực tiếp
đến đích hoặc dọc theo một đường dẫn đã được định trước thông qua các cổng
hoặc các kết nối, mà các đường này đã được gán cho các đặc tính như băng
thông, độ trễ và tỉ lệ lỗi. Các module có thể có các thông số mà được dùng để
tùy chỉnh hoạt động của nó, điều này tạo nên tính linh hoạt trong các topo
mạng và khi đó các module giao tiếp với nhau giống như việc chia sẻ giữa các
biến.
Các modul thấp nhất trong module phân cấp thì được cung cấp bởi người
sử dụng, các modul đó chứa các thuật toán. Trong quá trình thực hiện mô phỏng,
các modul đơn này sẽ chạy song song với các modul khác, bởi vì chúng đã được
thi hành như các thường trình phụ (đôi khi gọi là quá trình nhẹ tải)
Để viết một vài module đơn, đòi hỏi người sử dụng phải biết lập trình C+
+. OMNeT++ có định hướng thiết kế hướng đối tượng chặt chẽ. Người dùng có
thể dùng các khái niệm của việc lập trình hướng đối tượng một cách tự do để mở
rộng chức năng của chương trình mô phỏng
Các chương trình mô phỏng trong OMNeT++ có thể có đặc tính khác
nhau về giao diện người người dùng cho các mục đích khác nhau như: gỡ rối,

thể hiện và thực thi các khối công việc. Giao diện đồ họa giúp cho người sử
dụng có thể nhìn thấy được bên trong của mô hình, cho phép họ có thể bắt đầu/
ngừng thực hiện mô phỏng và can thiệp vào bên trong mô hình bằng cách thay
đổi các biến hoặc các đối tượng. Thư viện đồ họa được liên kết với các chương
trình gỡ rối/bám vết trở thành các chương trình mô phỏng có thể thực thi được.
Lựa chọn này cho phép tất cả người dùng – người đã tạo ra đối tượng đó có thể
nhìn thấy được đối tượng ( và có thể sửa đổi nó) trong giao diện đồ họa thông
qua cửa sổ kiểm soát.
OMNeT++ cũng hỗ trợ mô phỏng song song thông qua việc sử dụng các


18

thư viện giao tiếp MPI hoặc PVM3. Trong trường hợp tổng quát, OMNeT++
giống với PARSEC (Parallel Simulation Environment for Complex Systems ),
nhưng nó m ềm dẻo hơn, linh hoạt hơn và môi trường phong phú hơn.
OMNeT++ cùng với một tập hợp rộng lớn các lớp bao hàm đại diện cho cấu
trúc dữ liệu (vd: hàng đợi, mảng… ), các lớp thu thập dữ liệu, lớp xác xuất và lớp
thống kê (vd: Các biểu đồ cột, các phân phối theo luật số mũ), các lớp phát hiện
nhanh và các lớp phát hiện kết quả chính xác. Các file đầu ra là các file text mà
sau một vài quá trình xử lí đơn giản, có thể được chuyển thành các tập tin mang
tính thống kê và toán học chuẩn.
OMNeT++ cùng với bộ giao thức internet bao gồm: IP, TCP, UDP, RTP
và một vài giao thức hỗ trợ cho chất lượng dịch vụ cơ bản, trong khi đó đề liên
quan đến mạng vô tuyến, đây là một modul mô phỏng các tầng thấp hơn của
mạng GSM, một vài modul mở đầu dành cho các nút có tính chuyển động, sự
lan truyền sóng vô tuyến, các thuật toán định tuyến (AODV) và sự truyền thông
vô tuyến nói chung.
2.4


NS-2
Chương trình mô phỏng mạng NS có nguồn gốc từ U.C.Berkely/LBNL, NS

là một chương trình mô phỏng sự kiện rời rạc hướng đối tượng có mục tiêu tiến
hành nghiên cứu hoạt động mạng và là một phần mềm miễn phí. NS-2 được sử
dụng rộng rãi trong cộng đồng nghiên cứu hoạt động mạng, dựa trên sự thừa
nhận rộng rãi NS-2 như là một công cụ thử nghiệm cho các ý tưởng mới, các
giao thức, và các thuật toán phân phối. NS2 luôn luôn nhận được bao gồm sự
đóng góp quan trọng từ các nhà nghiên cứu.
Ngày nay, NS-2 thích hợp với mạng chuyển mạch gói và mạng vô tuyến
(ad hoc, local and satellite), và được sử dụng chủ yếu cho các việc mô phỏng
quy mô nhỏ của hàng đợi, thuật toán định tuyến, các giao thức truyền tải, điều
khiển tắc nghẽn và một vài các công việc có liên qua đến đa đường (multicast).


19

Nó cung cấp các hỗ trợ quan trọng dành cho mô phỏng TCP, định tuyến và các
giao thức đa đường (multicast) thông qua các mạng hữu tuyến và mạng vô tuyến
NS-2 thích hợp không chỉ hợp cho việc mô phỏng mà cho cả sự giả lập,
điều này có nghĩa là nó có thể đưa chương trình mô phỏng vào trong mạng
thực tế. Những đối tượng trong chương trình mô phỏng có khả năng đưa các
lưu lượng thực vào trong chương trình mô phỏng và đưa một phần lưu lượng
trong chương trình mô phỏng vào trong mạng thực tế.
Nhưng tiếc rằng, với kiến trúc phần mềm của nó thì việc thêm các thành
phần mới hoặc chỉnh sửa những điểm hạn chế không dễ dàng. Điều này có
nghĩa là về khả năng thực hiện kiểm tra thuật toán hay các kịch bản mô phỏng
mới thì NS-2 yếu thế so với các phần mềm mô phỏng khác. Ngoài ra NS-2
không cân đối (scale) tốt đối với số lượng nút mạng và theo như các báo cáo
thì NS-2 tính toán khá chậm.

Sự kết hợp của hai ngôn ngữ này tạo ra sự thỏa hiệp giữa tính hiệu quả và
tính dễ dàng sử dụng. Gói phần mềm này cung cấp một trình biên dịch lớp phân
cấp của các đối tượng viết bằng C++ và việc dịch các lớp phân cấp của các đối
tượng này được viết bằng TCL, sau đó được thống nhất thành một trình biên
dịch duy nhất. Người sử dụng tạo ra các đối tượng mới này bằng bộ biên dịch
TCL. Các đối tương mới này được ánh xạ bằng quá trình trao đổi các đối tương
trong trình biên dịch phân cấp. Các chỉ thị TCL được cung cấp một cách linh
hoạt và có quyền hạn mạnh mẽ thông qua việc mô phỏng( bắt đầu và dừng các
sự kiện, sự cố trong mạng, quá trình tập hợp số liệu và cấu hình mạng). Bộ
biên dịch Tcl còn cung cấp các câu lệnh để tạo các liên kết và các nút trong các
topo mạng, và kết hợp các agents với các nút.
Việc thực hiện và mô phỏng NS2
bao gồm 4 bước:
(1)

Thực hiện các giao thức bằng cách thêm một tổ hợp giữa mã C++ và mã Tcl vào
trong mã nguồn của NS-2.


20

(2)
(3)

Mô tả việc mô phỏng bằng kịch bản Otcl;
Chạy mọi chương trình mô phỏng và phân tích các tệp tin bám vết đã được sinh
ra. Việc thực hiện một giao thức mới đòi hỏi phải bổ xung thêm mã C++ cho
chức năng của các giao thức này, điều này tương tự như việc cập nhật thêm các
từ khóa cho các file cấu hình NS-2 Otcl một cách hợp lệ dành cho NS-2, điều
này giúp nhận biết ra các giao thức mới và các tham số mặc định của nó. Mã C+

+ cũng miêu tả các tham số và các phương thức, điều này tạo nên tính sẵn sàng
thực thi được khi thực hiện kịch bản OTcl.
Quá trình mô phỏng được cấu hình, điều khiển và vận hành thông qua
việc sử dụng giao diện đồ họa được cung cấp bởi lớp mô phỏng OTcl. Lớp này
cung cấp các thủ tục để tạo và quản lý các topo, khởi tạo định dạng các gói và
lựa chọn lịch làm việc. Nó lưu trữ các chỉ dẫn bên trong mỗi phần tử của topo.
Người sử dụng tạo ra topo bằng các sử dụng OTcl thông qua việc sử dụng nút
các lớp độc lập và liên kết, các lớp độc lập và liên kết này đưa ra một vài bước
khởi đầu đơn giản.
Các topo mạng tùy ý, gồm có các bộ định tuyến, các liên kết và kênh
truyền chung, có thể được xác định bằng cách liệt kê các nút mạng và các
đường nối các nút trong một tập tin topo hoặc sử dụng một vài bộ phát/tạo nút
sinh của mạng đã được xây dựng cho NS-2. (Tiers và GT-ITM)
Để thu thập dữ liệu đầu ra hay dữ liệu vết trong một chương trình mô
phỏng, NS-2 sử dụng, cả hai loại thông tin vết là các bản ghi của mỗi gói tin
khi nó tới, đi, hoặc bị loại khỏi đường truyền hoặc hàng đợi, và thông tin giám
sát - là các số đếm bản ghi của nhiều chỉ số đáng chú ý như số gói tin và byte
tới, đi v…v.. Chúng có thể được kết hợp lại với cả gói tin và luồng. Chương
trình NAM là một Tcl/Tk được dựa trên công cụ hoạt hình động, nó có thể sử
dụng cho việc quan sát các tập tin ghi sự kiện của quá trình xử lý bổ xung,
phân tích và thực hiện lại của các quá trình mô phỏng (thậm chí NAM có thể
sử dụng với mọi chương trình mô phỏng miễn là các định dạng dữ liệu c được


21

quan tâm).
NS-2 là phần mềm mô phỏng phổ biến nhất được sử dụng cho việc nghiên
cứu trong các lĩnh vực về mạng Ad hoc. NS-2 có đầy đủ các trang thiết bị cho
các giao thức, các mô hình, các thuật toán, các công cụ thêm vào, và nó còn

miễn phí. Bởi vậy, xét về tính chấp nhận khoa học, về số lượng các công cụ/
modul và về giá thành thì NS2 có lẽ là một lựa chọn lý tưởng.
Bảng : So sánh định tính của OPNET, QualNet, OMNeT++ và NS -2
Đặc điểm của
các chương
Các kiểu mô
phỏng được hỗ trợ
Nền tảng tính toán
Các topo
Hỗ trợ giám sát
Tính có thể sửa đổi
và mở rộng
Độ co giãn
Tính dễ sử dụng

OPNET

QualNet

Sự kiện rời rạc Sự kiện rời rạc
Song song/phân Song song /

khoa học

NS2

Sự kiện rời Sự kiện
rạc

rời


Song song

Phân tán

tán

phân tán

Cấu trúc phân

Cấu trúc phân

Cấu trúc

Cấu trúc

cấp
Đồ họa

cấp
Đồ họa

phân cấp
Đồ họa








thống nhất
Đồ họa
Khó thay



Hỗ trợ thay



Khó với những

đổi tỉ lệ lớn
Bình thường

người mới bắt
đầu

Sự thừa nhận của

OMNET++

Được thừa nhận

Được thừa
nhận

đổi

Khó
Khó với
thay
đổi

Bình thường

những

người
Được thừa Được thừa
nhận

nhận


22

CHƯƠNG 3. MÔ PHỎNG MẠNG BẰNG PACKET TRACER
3.1. Giới thiệu về Packet Tracer
Hiện nay có rất nhiều phần mềm tạo Lab ảo được sử dụng. Packet Tracer là một
phần mềm của Cisco giúp chúng ta thiết kế một hệ thống mạng ảo với mọi tình
huống giống như thật. Packet Tracer được dùng để vẽ và thiết kế hệ thống mạng
của mình.
Công cụ Packet Tracer giúp bạn hiểu được luồng dữ liệu truyền thông trong
mạng, thiết kế và xây dựng các mạng máy tính trong một môi trường giả lập trước
khi tiếp cận môi trường thực tế.
Packet Tracer là một phần mềm giả lập mạng dùng trong học tập sử dụng các
thiết bị mạng (router/switch) của Cisco. Nó được hãng Cisco cung cấp miễn phí
cho các trường lớp, sinh viên đang giảng dạy/ theo học chương trình mạng của

Cisco. Sản phẩm cung cấp một công cụ để nghiên cứu các nguyên tắc cơ bản của
mạng và các kỹ năng làm việc với hệ thống Cisco.
Packet Tracer hỗ trợ giả lập một loạt các phương thức tầng ứng dụng và các
phương thức định tuyến cơ bản như RIP, OSPF, và EIGRP trong yêu cầu của
chương trình CCNA. Trong khi phần mềm nhắm đến cung cấp một môi trường giả
lập mạng, nó chỉ sử dụng một ít chức năng được cung cấp trên Cisco IOS. Vì vậy,
Packet Tracer không thích hợp làm mô hình mạng lưới sản xuất.
Cisco Packet Tracer: Là phần mềm rất tiện dụng cho các bạn bước đầu đi vào
khám phá, xây dựng và cấu hình các thiết bị của Cisco, nó có giao diện rất trực
quan với hình ảnh giống như Router thật, bạn có thể nhìn thấy các port, các
module. Bạn có thể thay đổi các module của chúng bằng cách drag-drop những
module cần thiết để thay thế, bạn có thể chọn loại cable nào cho những kết nối của
bạn. Bạn cũng có thể nhìn thấy các gói tin đi trên các thiết bị của bạn như thế nào.


23

3.2 Mô Phỏng hệ thống mạng đơn giản
3.2.1 Giao diện làm việc chính

Hình 5. Giao diện chính của chương trình


24

Hình 6. Các khu vực làm việc của chương trình
Chi tiết chức năng các MENU:
1. Menu Bar : bao gồm các menu File, Options, Edit và Help cung cấp các chức
năng cơ bản như Open,Save,Print…
2. Main Tool Bar : gồm những nút chức năng cơ bản của menu File và Edit

3. Common Tools Bar : Gồm các chức năng Select, Move Layout, Place Note,
Delete, Inspect, Add Simple PDU, vàAdd Complex PDU
4. Logical/Physical Workspace and Navigation Bar : Có thể chọn qua lại giữa
Physical Workspace và the Logical Workspace
5. Workspace : Đây là môi trường để bạn thực hiện thiết kế hệ thống mạng, xem
giả lập các thiết bi và các thông tin liên quan…
6. Realtime/Simulation Bar:bạn có thể chuyển qua lại giữa Realtime và
Simulation mode
7. Network Component Box : Nơi bạn lựa chọn các thiết bị và kết nối giữa
chúng…
8. Device-Type Selection Box : Gồm những thiết bị được Packet Tracer hỗ trợ
9. Device-Specific Selection Box : lựa chọn những thiết bị dùng trong hệ thống
mạng và cách thức nối kết giữa chúng


25

10. User Created Packet Window : Quản lí các packets mà bạn đặt trong hệ thống
mạng.
3.2.2 Cấu hình các thiết bị

Hình 7. Tạo 1 PC
Click vào biểu tượng PC trên, chúng ta có thể có thêm những thông tin chi tiết về
nó, và có thể tiến hành cài đặt các thông số cho PC đó trên mạng như IP, Gateway,
tên máy, loại thiết bị dùng để kết nối vào mạng…


×