Tải bản đầy đủ

Nghiên cứu và ứng dụng mô phỏng bằng phần mềm opnet

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

MẠNG MÁY TÍNH
Đề tài: Nghiên cứu phần mềm OPNET
GV hướng dẫn: Đỗ Đức Huy
Nhóm SV:

Trần Phương Mai (trưởng nhóm)
Vũ Thị Thu Hà
Nguyễn Thị Nhung
Nguyễn Mai Phương
Hoàng Thu Thủy
Nguyễn Thị Tưởng

Lớp:

D08VT2

Hà Nội, ngày 26 tháng 4 năm 2011



Mục Lục
I. Giới thiệu phần mềm OPNET:......................................................................................................................................2

1. Giới thiệu OPNET:..........................................................................2
2. Cách cài đặt OPNET 14.5:..............................................................3
3. Hướng dẫn sử dụng OPNET 14.5:.................................................4
3.1. Các bước cần thiết để xây dựng một bài toán mô phỏng:..............................................................................4
3.2. Cách thiết lập một Project mới:......................................................................................................................4
3.2. Môi trường Project Editor:.............................................................................................................................6
II. Mô phỏng bằng OPNET 14.5:......................................................................................................................................9

1. Bài toán mô phỏng ICMP:..............................................................9
1.1. Tìm hiểu giao thức ICMP:..............................................................................................................................9
1.1.1. Thông báo lỗi (error-reporting):.............................................................................................................9
1.1.2. Truy vấn (query): .................................................................................................................................10
1.2. Xây dựng bài toán mô phỏng ICMP:...........................................................................................................10

2. Bài toán mô phỏng UDP:..............................................................10
2.1. Tìm hiểu giao thức UDP:.............................................................................................................................10
2.1.1. Cổng UDP:............................................................................................................................................11
2.1.2. Định dạng UDP datagram:....................................................................................................................11
2.1.3. Hoạt động của giao thức UDP: ............................................................................................................12
2.1.4. Ưu điểm của UDP: ...............................................................................................................................12
2.1.5. Nhược điểm của UDP :.........................................................................................................................12
2.1.6. Khi nào nên sử dụng UDP: ..................................................................................................................13

3. Bài toán mô phỏng TCP:..............................................................13
3.1. Tìm hiểu giao thức TCP:..............................................................................................................................13
3.1.1. Cổng TCP:............................................................................................................................................13
3.1.2. Phân đoạn TCP:....................................................................................................................................14
3.1.3. Ưu điểm của TCP:................................................................................................................................15
3.1.4. Sự khác nhau giữa hai giao thức TCP và UDP:...................................................................................16
3.2. Xây dựng bài toán mô phỏng TCP:..............................................................................................................16

I. Giới thiệu phần mềm OPNET:
1. Giới thiệu OPNET:

2



Phần mềm Opnet được phát triển bởi công ty OPNET Technologies, Inc. OPNET là
một công cụ phần mềm mạnh được sử dụng để mô phỏng mạng, đã được các nhà
nghiên cứu khoa học trên thế giới đánh giá cao và những kết quả mô phỏng bằng
OPNET đã được công nhận trên nhiều tờ báo cũng như diễn đàn công nghệ thế giới.
OPNET chứa một lượng thư viện rất lớn về các mô hình mạng, mô hình node, mô hình
liên kết, bao trùm từ mạng hữu tuyến cho tới mạng vô tuyến, với rất nhiều các giao thức
mạng sẵn có. OPNET được thiết kế với cơ sở dữ liệu phân lớp và hướng đối tượng, dựa
trên nền tảng bộ ngôn ngữ lập trình C/C++, tuy vậy OPNET lại có giao diện GUI, tạo
điều kiện tương tác dễ dàng hơn cho việc sử dụng để nghiên cứu và mô phỏng mạng.
Ngoài việc mô phỏng mạng và các giao thức của mạng, OPNET còn cung cấp cho ta
nhiều công cụ cho phép phân tích hiệu suất, tính toán đường đi, khởi tạo lưu lượng, so
sánh bằng đồ thị,… vô cùng linh hoạt, từ đó giúp ta không những chỉ tạo lập các hệ
thống mạng mà còn giúp ta đánh giá hoạt động của các hệ thống mạng đó.

2. Cách cài đặt OPNET 14.5:
• Cài đặt 3 file dưới:

3


1. modeler_145A_PL8_7808_win.exe
2. modeler_docs_02-Sep-2008_win.exe
3. models_145A_PL8_24Sep08_win.exe
Trong đó file (1) là file chạy của chương trình, file (2) là tài liệu đính kèm, file
(3) là thư viện của opnet.
• Chạy file OPNET.Modeler.14.5.License.Maker-FFS.exe để tạo license. Sau khi
chạy xong sẽ có 1 file:

• Sau khi cài đặt xong, khởi động OPNET trong menu Start và lựa chọn tất cả các
modul.

3. Hướng dẫn sử dụng OPNET 14.5:
3.1. Các bước cần thiết để xây dựng một bài toán mô phỏng:
Trình tự xử lý (các bước cần thiết để xây dựng một mô hình mạng và chạy các mô
phỏng) tập trung quanh môi trường Project Editor.
Xây
dựng
(các)

hình
mạng

Chọn
các
tham
số

Chạy
(các)

phỏn
g

Xem

phân
tích
(các)
kết
quả

3.2. Cách thiết lập một Project mới:
• Khởi động chương trình Opnet Modeler 14.5. Chọn FileNew để tạo một
project mới.

4


Tại đây có thể có nhiều lựa chọn cho việc thiết kế, có thể là Project Editor,
Node Editor, Process Model Editor, Link Model Editor, Path Editor, Demands Editor
hay Probe Editor…nhưng ta chỉ thực hiện ở bước tạo project. Chọn Project → click
OK.
• Đặt tên cho Project, tên cho Scanerio:

• Một project là tập hợp của một hay nhiều scenario mà mỗi một scenario khảo
sát một khía cạnh khác nhau của mạng. Sau khi khởi động một project mới, chúng ta sẽ
thực hiện công cụ Startup Wizard để kiến tạo một scenario mới. Công cụ Startup
Wizard cho phép:
+ Xác định hình trạng (topology) khởi đầu của mạng.
+ Xác định quy mô, kích thước của mạng.
+ Chọn lựa bản đồ nền cho mạng.
+ Liên kết thư viện phần từ (Object palette) với scenario.
Startup Wizard sẽ tự động xuất hiện mỗi khi một project mới được khởi tạo.
Công cụ này cho phép chúng ta xác định một số các đặc tính của môi trường thiết kế
mạng.
Các tham số trong hộp khai báo Startup Wizard:
5


Tên hộp khai báo
1
2
3
4
5

Initial Topology
Choose Network Scale
Specify Size
Select Technologies
Review

Giá trị
Chọn giá trị mặc định Creat Empty
Scenario
Chọn quy mô (Logical, Office,
Campus, World ...)
Không thực hiện đối với Logical
(thường cho Office, Campus…)
Lựa chọn các công nghệ sử dụng
trong bài mô phỏng
Kiểm tra lại các tham số đã thiết lập
trước đó. → OK

3.2. Môi trường Project Editor:
Môi trường Project Editor là vùng thao tác chính để thực hiện mô phỏng.
• Cửa sổ Project Editor: có các vùng chức năng tương tác với các thủ tục khởi tạo
và chạy mô phỏng mô hình mạng. Các vùng chức năng này được minh họa ở hình dưới.

Một mô hình mạng trên cửa sổ Project Editor
• Thanh thực đơn: nằm ở phía trên cùng cửa sổ thiết kế. Thanh này gồm các thực
đơn theo chủ đề trong đó chứa các lệnh. Số thực đơn và số các lệnh trong mỗi thực đơn
thay đổi tùy theo số modul được gọi vào mô hình. Các lệnh phụ thuộc tình huống có thể
được chọn khi nhấp phải chuột lên đối tượng hoặc lên không gian thiết kế.
6


• Các nút công cụ: Một số chức năng thường dùng trên thanh thực đơn có thể
được kích hoạt nhờ các nút công cụ được minh họa dưới đây:

1. Mở thư viện Object Palette
2. Kiểm tra kết nối
3. Đánh lỗi đối tượng chọn
4. Khôi phục đối tượng chọn
5. Trở về phân mạng bậc cao hơn
6. Phóng to
7. Thu nhỏ
8. Cài đặt tham số chạy mô phỏng
9. Xem kết quả
10.Mở/xóa các đồ thị
• Không gian thiết kế: Là phần không gian nằm giữa cửa sổ Editor, chứa các biểu
tượng của mô hình mạng. Có thể chọn, xê dịch các biểu tượng, chọn các lệnh phụ thuộc
tình huống khi nhấp phải chuột lên phông nền của không gian thiết kế.

7


• Vùng thông báo: nằm ở vị trí dưới cùng của cửa sổ Editor. Nó cung cấp thông
tin về trạng thái công cụ.

• Để xem thông tin về tiến trình làm việc, nhấp trái chuột lên biểu tượng bên cạnh
vùng thông báo
. Cửa sổ mới mở sẽ liệt kê các thông báo đã xuất hiện trong vùng
thông báo. Các thông tin này trợ giúp, hướng dẫn người dùng trong quá trình xây dựng
mô hình mô phỏng.
• Bấm vào nút Open Object Palette để thêm các mô hình mạng:

Cửa sổ Object Palette Tree

8


II. Mô phỏng bằng OPNET 14.5:
1. Bài toán mô phỏng ICMP:
1.1. Tìm hiểu giao thức ICMP:
Giao thức ICMP (Internet Control Message Protocol - giao thức thông báo điều
khiển liên mạng) là một giao thức hoạt động trên lớp 2 - Internetwork trong mô hình
TCP/IP hoặc lớp 3 - Network trong mô hình OSI
ICMP cho phép kiểm tra và xác định lỗi của Lớp 2 - Internetwork trong mô hình
TCP/IP bằng cách định nghĩa ra các loại thông điệp có thể sử dụng để xác định xem
mạng hiện tại có thể truyền được gói tin hay không. Nó được đi kèm với giao thức IP.
Trong thực tế, ICMP cần các thành phần của mọi gói tin IP để có thể hoạt động được .
Các bản tin ICMP được chia làm 2 loại: thông báo lỗi (error-reporting) và truy vấn
(query):
• Thông báo lỗi là thông báo những sự cố mà bộ định tuyến hoặc trạm đích có thể
gặp phải khi xử lý IP datagram.
• Truy vấn giúp một trạm hoặc một người quản lý mạng lấy các thông tin cụ thể
về 1 bộ định tuyến hoặc một trạm khác.
1.1.1. Thông báo lỗi (error-reporting):
Nhiệm vụ chính của ICMP là thông báo các lỗi xảy ra do nguồn. ICMP không thực
hiện sửa lỗi mà nó chỉ thông báo lỗi. Các thông báo lỗi điển hình:
• Destination unreachable: Khi một bộ định tuyến không thể định tuyến một
datagram hoặc một trạm không thể chuyển phát một datagram, datagram đó sẽ bị bỏ đi
và bộ định tuyến hoặc trạm đích gửi thông báo lỗi destination unreachable cho trạm
nguồn.
• Source quench: được thiết kế để bổ xung cho IP chức năng điều khiển luồng.
Khi bộ định tuyến hoặc trạm loại bỏ gói do có tắc nghẽn chúng gửi một thông báo
source quench tới trạm nguồn. Thông báo này có hai mục đích:
+ Thứ nhất, nó thông báo cho trạm nguồn biết datagram đã bị bỏ.
+ Thứ hai, nó cảnh báo trạm nguồn về tắc nghẽn và trạm nguồn cần giảm tốc
độ gửi.
• Time exceeded: được gửi trong hai trường hợp:
+ Khi bộ định tuyến nhận được một datagram có trường thời gian sống bằng 0.
+ Khi trong một khoảng thời gian nhất định trạm đích không nhận được tất cả
các mảnh của một datagram.
• Parameter problem: Sự không rõ ràng trong phần tiêu đề của một datagram có
thể gây lên các vấn đề nghiêm trọng khi datagram di chuyển trong liên mạng. Nếu một
9


bộ định tuyến hoặc trạm đích nhận thấy có sự không rõ ràng hoặc thiếu một giá trị nào
đó trong phần tiêu đề , chúng sẽ loại bỏ gói và gửi thông báo Parameter problem cho
trạm nguồn.
1.1.2. Truy vấn (query):
Ngoài thông báo lỗi ICMP cũng cho phép chuẩn đoán một số sự cố trên mạng. Điều
này được thực hiện thông qua các thông báo truy vấn .
• Echo Request, Echo Reply: Hai thông báo này được thiết kế cho các mục đích
chẩn đoán. Người quản lý mạng hoặc người dùng sử dụng cặp thông báo này để nhận
diện các sự cố mạng. Kết hợp hai thông báo này cho biết hai hệ thống có thể liên lạc
được với nhau không. Lệnh ping sủ dụng cặp thông báo truy vấn này.
• Timestamp Request, Timestamp Reply: Hai máy (trạm hoặc bộ đinh tuyến)
có thể sử dụng Timestamp Request và Timestamp Reply để xác đinh thời gian một
vòng đi giữa chúng. Nó cũng được sử dụng để đồng bộ đồng hồ giữa hai máy.
• Mask Request, Mask Reply: Một trạm có thể biết địa chỉ IP của mình nhưng
lại không biết mặt nạ đi kèm với địa chỉ IP này. Để lấy được mặt nạ , trạm gửi thông
báo Mask Request tới một bộ định tuyến trên mạng LAN. Khi bộ định tuyến nhận được
thông báo Mask Request, nó đáp lại bằng thông báo Mask Reply. Thông báo trả lời này
cung cấp mặt nạ cho trạm.
• Router Solicilation và Router Advertisement: Đôi khi một trạm cần biết các
bộ định tuyến có tồn tại và hoạt động không. Thông báo Router Solicilation và Router
Advertisement có thể trợ giúp yêu cầu này. Trạm có thể gửi quảng bá một Router
Solicilation. Bộ định tuyến nhận được thông báo sẽ quảng bá thông tin định tuyến của
chúng sử dụng thông báo Router Advertisement. Bộ định tuyến có thể gửi định kì các
thông báo Router Advertisement.

1.2. Xây dựng bài toán mô phỏng ICMP:

2. Bài toán mô phỏng UDP:
2.1. Tìm hiểu giao thức UDP:
UDP (User Datagram Protocol – Giao thức dữ liệu người sử dụng) là một giao thức
truyền thông phi kết nối và không tin cậy, được dùng thay thế cho TCP ở trên IP theo
yêu cầu của ứng dụng. UDP có trách nhiệm truyền các thông báo từ tiến trình-tới-tiến
trình, nhưng không cung cấp các cơ chế giám sát và quản lý. UDP cũng cung cấp cơ
chế gán và quản lý các số cổng để định danh duy nhất cho các ứng dụng chạy trên một
trạm của mạng. Do ít chức năng phức tạp nên UDP có xu thế hoạt động nhanh hơn so
với TCP. Nó thường được dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong
giao vận.

10


2.1.1. Cổng UDP:
UDP sử dụng các cổng để ánh xạ dữ liệu đến vào một tiến trình cụ thể đang chạy
trên một máy tính. UDP định đường đi cho packet tại vị trí xác định bằng cách sử dụng
số hiệu cổng được xác định trong header của datagram. Các cổng được biểu diễn bởi
các số 16 bit, nằm trong dải từ 0 đến 65535. Các cổng cũng được xem như là các điểm
cuối của các liên kết logic, và được chia thành ba loại sau:
• Các cổng phổ biến: 0 đến 1023
• Các cổng đã đăng ký: 1024 đến 49151
• Các cổng động/dành riêng 49152 đến 65535
UDP có các cổng thông dụng sau:
Cổng

Giao thức

Mô tả

13

Daytime

Trả về ngày tháng

53

DNS

Hệ thống tên miền

67

Bootps

Cổng máy chủ để tải thông tin khởi động

68

Bootpc

Cổng máy khách để tải thông tin khởi động

69

TFTP

Giao thức truyền tệp thông thường

111

RPC

Gọi thủ tục ở xa

123

NTP

Giao thức thời gian mạng

161

SNMP

Giao thức quản lý mạng đơn giản

2.1.2. Định dạng UDP datagram:
Datagram là một gói tin độc lập, tự chứa, mang đầy đủ dữ liệu để định tuyến từ
nguồn tới đích mà không cần thông tin thêm.

Định dạng của UDP datagram
11


gửi.

• Cổng nguồn (Source Port – 16bit): xác định số cổng của chương trình ứng dụng

• Cổng đích (Destination Port – 16bit): xác định số cổng của chương trình ứng
dụng nhận.
• Độ dài tổng (Message length – 16bit): Xác định độ dài tổng (cả tiêu đề và dữ
liệu) của UDP datagram.
• Tổng kiểm tra (Checksum – 16bit): Chứa mã kiểm tra lỗi (theo phương pháp
CRC) cho toàn bộ phân đoạn (cả tiêu đề và dữ liệu).
2.1.3. Hoạt động của giao thức UDP:
Khi một ứng dụng dựa trên giao thức UDP gửi dữ liệu tới một host khác trên mạng,
UDP thêm vào một header có độ dài 8 byte chứa các số hiệu cổng nguồn và đích, cùng
với tổng chiều dài dữ liệu và thông tin checksum. IP thêm vào header của riêng nó vào
đầu mỗi datagram UDP để tạo lên một datagram IP.
2.1.4. Ưu điểm của UDP:
• UDP là giao thức phi kết nối, vì thế không cần phải thiết lập liên kết. UDP tránh
được thời gian trễ nên DNS thường sử dụng giao thức UDP hơn là TCP.
• Tốc độ: UDP nhanh hơn so với TCP nên nhiều ứng dụng thường được cài đặt
trên giao thức UDP.
• Hỗ trợ các kiểu kiến trúc mạng (Topology). UDP hỗ trợ các liên kết 1-1, 1-n;
TCP chỉ hỗ trợ liên kết 1-1.
• Kích thước header: UDP chỉ có 8 byte header cho mỗi đoạn, ngược lại TCP cần
các header 20 byte, vì vậy sử dụng băng thông ít hơn.
2.1.5. Nhược điểm của UDP :
• Thiếu các tín hiệu bắt tay: Trước khi gửi một đoạn, UDP không gửi các tín hiệu
bắt tay giữa bên gửi và bên nhận. Vì thế phía gửi không có cách nào để biết datagram
đã đến đích hay chưa. Do vậy, UDP không đảm bảo việc dữ liệu đã đến đích hay chưa.
• UDP không hỗ trợ bất kỳ phiên nào.
• Không tin cậy: UDP không đảm bảo rằng chỉ có một bản sao dữ liệu tới đích.
Để gửi dữ liệu tới các hệ thống cuối, UDP phân chia dữ liệu thành các đoạn nhỏ. UDP
không đảm bảo rằng các đoạn này sẽ đến đích đúng thứ tự như chúng đã được tạo ra ở
nguồn.
• Bảo mật: TCP có tính bảo mật cao hơn UDP.
• UDP thiếu cơ chế kiểm soát luồng, kết quả là một ứng dụng UDP được thiết kế
tồi có thể làm giảm băng thông của mạng.

12


2.1.6. Khi nào nên sử dụng UDP:
Dựa trên các ưu và nhược điểm của UDP, chúng ta có thể kết luận UDP có ích khi:
• Sử dụng cho các phương thức truyền broadcasting và multicasting khi chúng ta
muốn truyền tin với nhiều host.
• Kích thước datagram nhỏ và trình tự đoạn là không quan trọng
• Không cần thiết lập liên kết
• Ứng dụng không gửi các dữ liệu quan trọng
• Không cần truyền lại các gói tin
• Băng thông của mạng đóng vai trò quan trọng

2.2. Xây dựng bài toán mô phỏng UDP:

3. Bài toán mô phỏng TCP:
3.1. Tìm hiểu giao thức TCP:
TCP (Transmission Control Protocol - Giao thức điều khiển truyền dẫn) là một giao
thức hướng kết nối và đáng tin cậy. Nó có trách nhiệm thiết lập một kết nối với phía
nhận, chia luồng dữ liệu thành các đơn vị có thể vận chuyển, đánh số chúng và sau đó
gửi chúng lần lượt.
TCP sử dụng cổng để tạo truyền thông tiến trình–tới–tiến trình; sử dụng giao thức
cửa sổ trượt để thực hiện điều khiển luồng; sử dụng gói xác nhận, thời gian chờ và
truyền lại để thực hiện điều khiển lỗi.
Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và
đúng thứ tự. TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (như dịch vụ Web và
dịch vụ thư điện tử...) đồng thời chạy trên cùng một máy chủ. TCP hỗ trợ nhiều giao
thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW,
thư điện tử và Secure Shell.
3.1.1. Cổng TCP:
Mặc dù có nhiều cách để thực hiện truyền thông tiến trình-tới-tiến trình, nhưng cách
thông dụng nhất là thực hiện thông qua mô hình khách-chủ (client-server). Chương
trình khách tự xác định nó bằng một số cổng được chọn ngẫu nhiên. Chương trình chủ
cũng phải tự xác định bằng một số cổng, tuy nhiên cổng này không thể được chọn ngẫu
nhiên. TCP/IP đã chọn cách sử dụng các số cổng thong dụng cho các ứng dụng chủ.
Các số cổng được chia thành ba vùng sau:
• Các cổng thông dụng: 0 đến 1023
• Các cổng đăng ký: 1024 đến 49151
13


• Các cổng động: 49152 đến 65535

TCP có các cổng thông dụng sau:
Cổng

Giao thức

Mô tả

20

FTP, data

Giao thức truyền tệp (kết nối dữ liệu)

21

FTP, control

Giao thức truyền tệp (kết nối điều khiển)

23

TELNET

Giao thức đăng nhập từ xa

25

SMTP

Giao thức truyền thư đơn giản

53

DNS

Hệ thống tên miền

80

HTTP

Giao thức truyền siêu văn bản

110

POP3

Giao thức nhận thư điện tử

3.1.2. Phân đoạn TCP:
Đơn vị dữ liệu truyền giữa hai thiết bị sử dụng TCP được gọi là phân đoạn
(segment). Phân đoạn TCP gồm một phần tiêu đề có chiều dài từ 20byte đến 60byte,
theo sau là dữ liệu từ chương trình ứng dụng. Tiêu đề có chiều dài 20byte nếu nó không
chứa tùy chọn và có chiều dài tối đa 60byte nếu nó chứa các tùy chọn.

Cấu trúc tiêu đề TCP
• Source Port (16 bit): xác định số cổng của chương trình ứng dụng gửi.
14


• Destination Port (16 bit): xác định số cổng của chương trình ứng dụng nhận.
• Sequence Number (32 bit): xác định số được gán cho byte dữ liệu đầu tiên chứa
trong phân đoạn
• Acknowledgment Number (32 bit): xác định số hiệu byte của mà trạm gửi phân
đoạn đang chờ để nhận.
• Data offset (4 bit): số lượng bội của 32 bit (32 bit words) trong TCP header
(tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu).
• Reserved (6 bit): dành để dùng trong tương lai.
• Control bit (các bit điều khiển):
+ URG: Vùng con trỏ khẩn (Ucgent Poiter) có hiệu lực.
+ ACK: Vùng báo nhận (ACK number) có hiệu lực.
+ PSH: Chức năng PUSH.
+ RST: Khởi động lại (reset) liên kết.
+ SYN: Đồng bộ hóa số hiệu tuần tự (sequence number).
+ FIN: Không còn dữ liệu từ trạm nguồn.
•Window (16 bit): xác định kích thước của cửa sổ (tính theo byte) mà phía kia phải
duy trì.
•Checksum (16 bit): chứa mã kiểm tra lỗi (theo phương pháp CRC) cho toàn bộ
phân đoạn (cả tiêu đề và dữ liệu).
•Urgemt Poiter (16 bit): xác định số phải cộng với số trình tự để lấy được số hiệu
của byte khẩn cuối cùng trong phần dữ liệu. Vùng này chỉ có hiệu lực khi bit URG được
thiết lập.
•Options (độ dài thay đổi): chứa các thông tin tùy chọn, có chiều dài tối đa 40byte.
•Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header
luôn kết thúc ở một mốc 32 bit. Phần thêm này gồm toàn số 0.
•TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên, có độ dài tối đa ngầm định
là 536 byte. Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng options.
3.1.3. Ưu điểm của TCP:
TCP giải quyết nhiều vấn đề nhằm cung cấp một dòng dữ liệu đáng tin cậy như:
• Dữ liệu đến đích đúng thứ tự.
• Sửa lỗi dữ liệu ở mức tối thiểu (thật ra là truyền lại).
• Dữ liệu trùng lặp bị loại bỏ.
• Các gói tin thất lạc/loại bỏ được gửi lại.
15


• Kiểm soát tắc nghẽn giao thông trong việc truyền/nhận dữ liệu.
3.1.4. Sự khác nhau giữa hai giao thức TCP và UDP:

3.2. Xây dựng bài toán mô phỏng TCP:
• Khởi tạo mạng:
1. Khởi động chương trình Opnet Modeler 14.5. Chọn File → New để tạo một

project mới. Chọn Project → click OK.
2. Đặt tên cho Project: MP_TCP và tên Scanerio: NoDrop → click OK.
3. Chọn Create Empty Scenario → click next.
4. Chọn Choose From Maps → click next.
5. Chọn Europe → click next.
6. Không chọn gì → click next.
7. Xem lại các giá trị → click OK.
8. Mở Object palette nếu chưa mở và mở internet_toolbox.

9. Thêm một đối tượng Application Config cho không gian thiết kế và đổi tên
thành Applications.
16


10. Nhấp chuột phải vào nút Applications và chọn Edit Attributes.
11. Nhấp vào cột value trên dòng Application Definitions và chọn Edit…

12. Đặt thuộc tính Rows giá trị 1.
13. Đặt Application name là FTP_Application → click OK.
14. Đi tới Application definitions→Row 0→Description→FTP và chọn Edit.
15. Thiết lập các giá trị sau:

16. Click OK.
17. Click OK để đóng Application Attributes.
18. Thêm một đối tượng Profile Config cho không gian thiết kế và đổi tên
thành Profiles.
19. Nhấp chuột phải vào nút Profile và chọn Edit Attributes.
20. Nhấp vào cột value trên dòng Profile Configuration và chọn Edit.

21. Đặt thuộc tính Rows giá trị 1.
22. Đặt Profile Name là FTP_Profile.
23. Đặt Operation Mode là Serial (Ordered).
24. Thiết lập Start Time là constant (100) và Duration là End of Simulation.
25. Đặt Repeatability là Once at Start Time.
26. Nhấp vào cột Applications và chọn Edit.
17


27. Đặt thuộc tính Rows giá trị 1.
28. Đặt Name là FTP_Application.
29. Thiết lập Start Time Offset là constant (5) và Duration là End of Profile.
30. Đặt Repeatability là Once at Start Time.
31. Click OK để đóng Applications Table.
32. Click OK để đóng Profile Configuration Table.
Profiles Attributes sẽ giống như hình dưới đây:

33. Click OK để đóng hộp thoại Profiles Attributes.
• Thiết lập mạng con Paris:
34. Đặt một subnet ở Paris.

35. Đặt tên là Paris.
36. Kích đúp vào nút subnet Paris.
37. Thêm một ethernet_server vào không gian thiết kế và đổi tên là
Server_Paris.
38. Thêm một router ethernet4_slip8_gtwy vào không gian làm việc cạnh máy
chủ.
39. Đổi tên thành Router_Paris.
40. Kết nối máy chủ và router bằng cáp 100BaseT.
18


41. Nhấp chuột phải vào Server_Paris và chọn Edit Attibutes.
42. Chuyển đến Application, thuộc tính Supported Services và chọn Edit.

43. Thiết lâp thuộc tính Rows là 1.
44. Chọn FTP_Application → click OK.
45. Sửa thuộc tính Server Address và thiết lập giá trị là Server_Paris.
46. Mở rộng TCP Parameters.
47. Disable cả Fast Retransmit và Fast Recovery.
48. Click OK.
49. Lưu dự án: File → Save.
Mạng con Paris đang được cấu hình

50. Nhấp vào Go to next higher level
• Thiết lập mạng con Stockholm:
51. Đặt một subnet ở Stockholm.
52. Đặt tên là Sthlm.
53. Kích đúp vào nút subnet Paris.
54. Thêm một ethernet_wkstn vào không gian thiết kế và đổi tên là
Client_Sthlm.
55. Thêm một router ethernet4_slip8_gtwy vào không gian làm việc cạnh máy
khách.
56. Đổi tên thành Router_Sthlm.
57. Kết nối máy khách và router bằng cáp 100BaseT.
19


58. Nhấp chuột phải vào Client_Sthlm và chọn Edit Attibutes.
59. Chuyển đến Application, thuộc tính Supported Profiles và chọn Edit.

60. Thiết lâp thuộc tính Rows là 1.
61. Thay đổi thuộc tính Profile Name là FTP_Profile
62. Click OK.
63. Đặt thuộc tính Client Address giá trị là Client_Sthlm.
64. Chuyển đến Application: Destination Preferences và chọn Edit…
65. Thiết lâp thuộc tính Rows là 1.
66. Thay đổi thuộc tính Symbolic Name là FTP Server
67. Nhấp vào cột Actual name.
68. Thiết lập thuộc tính Name là Server_Paris. Click OK đế đóng hộp thoại
Actual name table.
69. Click OK để đóng hộp thoại Application: Destination Preferences.
70. Click OK để đóng hộp thoại Client_Sthlm Attributes.
71. Lưu dự án: File → Save.
Mạng con Stockholm đang được cấu hình.

72. Nhấp vào Go to next higher level
• Tạo IP Cloud:
73. Đặt một ip32_cloud vào không gian làm việc giữa Stockholm và Paris.
74. Đổi tên là Europa_Internet.
75. Kết nối mạng con Paris đến Europa_Internet bằng cáp PPP_DS3.
76. Chọn Paris.Router_Paris trong thực đơn.
20


77. Kết nối mạng con Sthlm đến Europa_Internet bằng cáp PPP_DS3.
78. Chọn Sthlm.Router_Sthlm trong thực đơn.
IP Cloud đang được cấu hình.

• Chọn
Statistics:
79. Chọn
mạng con Paris.
80. Nhấp
chuột phải vào
Server_Paris và
chọn
Choose
Indivitual
Statistics từ thực
đơn.
81. Mở rộng Node Statistics → TCP Connection và chọn Congestion
Windows Size (bytes)

82. Nhấp chuột phải vào Congestion Window Size (bytes) và chọn Change
Collection mode.
21


83. Kiểm tra hộp Advanced trong hộp thoại pop-up.
84. Thay đổi Capture mode là all values.
85. Click OK để đóng hộp thoại.
86. Click OK để đóng hộp thoại Choose results.
87. Lưu dự án: File → Save
• Bắt đầu mô phỏng:
88. Chọn Simulation→Configure Discrete Event Simulation trong thực đơn.
89. Đặt Duration là 10 minutes.
90. Click Run.
91. Click Close khi đã hoàn thành mô phỏng.
• Xem kết quả:
92. Nhấp chuột phải vào vùng làm việc và chọn View Results.
93. Mở rộng Object statistics → Choose From Maps Network → Paris →
Server Paris → TCP Connection và chọn Congestion Window Size.
94. Click Show.
Đồ thị như hình dưới:

• Tạo kịch bản Tahoe:
95. Chọn Scenarios → Duplicate Scenario.
22


96. Đặt tên kịch bản là Tahoe.
97. Nhấp chuột phải vào IP Cloud, Europa Internet, và chọn Edit Attributes.
98. Thiết lập thuộc tính Packet Discard Ratio là 0.5%.

99. Click OK.
100. Chọn mạng con Paris.
101. Nhấp chuột phải vào Server_Paris và chọn Edit Attributes.
102. Mở rộng TCP Parameters.
103. Thay đổi thuộc tính Fast Retransmit là Enabled.

104. Click OK.
105. Lưu dự án: File → Save.
• Tạo kịch bản Reno:
106. Chọn Scenarios → Duplicate Scenario.
107. Đặt tên kịch bản là Reno.
108. Nhấp chuột phải vào Server_Paris và chọn Edit Attributes.
109. Mở rộng TCP Parameters.
110. Thay đổi thuộc tính Fast Recovery là Reno

111. Click OK.
112. Lưu dự án: File → Save.

• Mô phỏng các kịch bản:
23


113. Chọn Scenarios → Manage scenarios.
114. Thay đổi thuộc tính Results là collect hoặc recollect.

115. Click OK.
116. Click Close khi đã hoàn thành mô phỏng.
• Xem kết quả:
117. Nhấp chuột phải vào vùng làm việc và chọn Compare Results.
118. Mở rộng Object statistics → Choose From Maps Network → Paris →
Server Paris→TCP Connection.
119. Kiểm tra Congestion Window size (bytes).
120. Chọn Statistics Stacked ở phía dưới bên trái thanh công cụ.

121. Click Show.
Đồ thị giống như hình dưới đây:

24



x

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×