Tải bản đầy đủ (.doc) (11 trang)

Bài tập lớn : CƠ SỞ MẠNG THÔNG TIN

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 (281.89 KB, 11 trang )

s
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN TỬ VIỄN THÔNG
o0o
Bài tập lớn :
CƠ SỞ MẠNG THÔNG TIN
Giảng viên hướng dẫn :
Phạm Văn Tiến
Các thành viên:
Nguyễn Hải Dương ( nhóm trưởng)
Hoàng Viết Sinh
Phạm Tuấn Minh
MỤC LỤC
1. Yêu cầu bài tập lớn 2
2. Phân tích yêu cầu bài toán: 3
3. Phân chia công việc 4
3.1 Nguyễn Hải Dương: 4
3.2 Phạm Tuấn Minh : 4
3.3 Hoàng Viết Sinh: 4
3.4 Phương: 4
3.8 Bách: 4
4. Quá trình thực hiện 4
4.1 Mô phỏng hệ thống 5
Thời gian mô phòng 300s 5
Mô phỏng hệ thống gồm 2 luồng lưu lượng gửi qua 6 nút 5
4.2 Kết Quả Mô phỏng 7
5. Phần nội dung Code: 11
6. Kết luận 11
1. Yêu cầu bài tập lớn
Cho mạng thông tin có cấu hình như hình 3. Nút s gắn với hai nguồn lưu lượng tcp1
vào tcp2 gửi các gói đến nut d, dựa trên giao thức truyền TCP. Cả hai nguồn gửi ra các


gói có chiều dài cố định là 1300byte. Nguồn tcp1 phát ra các gói đều đặn theo thời
gian với tốc độ 500 gói/s. Số lượng gói phát ra từ nguồn tcp2 tuân theo phân bố
poisson, tốc độ 300 gói/s
1. Viết kịch bản và chạy mô phỏng hệ thống thông tin nói trên trong thời gian không
ngắn hơn 5 phút.
2. Thu thập và vẽ đồ thị các số liệu: khả thông từng luồng, tỉ lệ mất gói của từng luồng
tại từng nút và trễ toàn đường truyền.
3. Thu thập và vẽ đồ thị số liệu của cửa sổ tắc nghẽn (congestion windown)
4. Thay đổi kích thước gói, tốc độ phát sinh gói rồi làm lại các thao tác trong mục 2 và
3 . Nhận xét kết quả thu được
2. Phân tích yêu cầu bài toán:
Bài toán được đặt ra với các giả thiết: các máy tính nối với mạng bằng liên kết
Ethernet 100BaseT. Trễ truyền lan trên tất cả các liên kết là 10ns. Chiều dài mặc định
của tất cả các hàng đợi là 50.
Yêu cầu của bài toán xây dựng một mạng thông tin gồm có 6 nút trong đó có hai
luồng dữ liệu. Cả hai luồng đều dự trên giao thức TCP và bắt đầu từ nút nguốn S kết
thúc ở nút đích D.
Thu thập số liệu và vẽ đồ thị của :
- Khả thông từng luồng
- Tỉ lệ mất gói của từng luồng tại từng nút
- Trễ toàn đường truyền
- Của sổ tắc nghẽn (congestion windown)
Thay đổi tốc độ phát sinh gói, kích thước mỗi gói và làm lại các yêu cầu như trên.
3. Phân chia công việc
3.1 Nguyễn Hải Dương:
Tìm hiểu đề bài, tổng hợp các ý kiến của thành viên, tìm tài liệu và tổng
hợp tài liệu từ các bạn thành viên. Tổ chức họp nhóm, phân công công việc.
Theo dõi tiến độ và viết báo cáo. Viết kịch bản mô phỏng. Ghép các
Module và chạy chương trình.
3.2 Phạm Tuấn Minh :

Tìm hiểu lý thuyết và viết code cho mô phỏng về khả thông từng luồng
3.3 Hoàng Viết Sinh:
Tìm hiểu lý thuyết và viết code cho thu thập và vẽ đồ thị số liệu cửa sổ tắc
nghẽn ( Congestion Window )
3.4 Phương:
Tìm hiểu lý thuyết và viết code về tỉ lệ mất gói của từng luồng tại từng nút
3.8 Bách:
Tìm hiểu lý thuyết và viết code trễ toàn đường truyền
Chú ý:
i. Các thành viên khi hoàn thành công việc của mình thì có thể giúp các
bạn khác.
ii. Sau khi hoàn thành Bai Tập Lớn sẽ tập trung để giảng cho các bạn
trong nhóm về vấn đề mình tím hiểu.
4. Quá trình thực hiện
Tiến hành cài đặt NS2:
Việc cài đặt NS2 đối với chúng em thật là gian nan. Tuy nhiên sau một tuần mầy
mò cùng sự trợ giúp của các bạn khác thì mọi người trong nhóm cũng đã cài xong NS2
trên Ubuntu 9.10 và 10.4
Tuy nhiên do một số bạn cài đặt theo kiểu online nên không sửa cấu hình cho
phân bố poisson mà phải thêm bằng cách dựa theo hàm số mũ.
4.1 Mô phỏng hệ thống
Thời gian mô phòng 300s.
Mô phỏng hệ thống gồm 2 luồng lưu lượng gửi qua 6 nút.
Giả thiết :
* Độ dài hàng đợi: K = 50
* 2 luồng dữ liệu từ nút S đến nút D
1.Xây dụng đồ hình gồm các Nut,Agent truyền và nhận dữ liệu.
Sử dụng lệnh “ set ten_node [$ns node]” tạo ra 6 nút mạng:
set s1 [$ns node]
set s2 [$ns node]

set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set d0 [$ns node]
Có thể dung lệnh sau để tạo nhiểu nút:
Tạo 10 node trong mạng
for {set i 1} {$i < 11} {incr i} {
set n($i) [$ns node]
}
Tạo liên kết giữa các nút:
$ns duplex-link $s1 $n1 2Mb 10ns DropTail
$ns duplex-link $s2 $n1 2Mb 10ns DropTail
$ns duplex-link $n1 $n2 1.5Mb 20ns DropTail
$ns duplex-link $n2 $n3 1Mb 20ns DropTail
$ns duplex-link $n3 $d0 2Mb 10ns DropTail
#Đặt các nút theo sơ đồ đã cho:
$ns duplex-link-op $s1 $n1 orient right-down
$ns duplex-link-op $s2 $n1 orient right-up
$ns duplex-link-op $n1 $n2 orient right
$ns duplex-link-op $n2 $n3 orient right
$ns duplex-link-op $n3 $d0 orient right
2. Cuối cùng ta có phần khung khởi tạo
Tiếp theo viết hàm khởi tạo giao thức truyền UDP và TCP, tạo Sink agent
(traffic sink)
#Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $s2 $udp
set sink1 [new Agent/LossMonitor]
$ns attach-agent $d0 $sink1
$udp set class_ 2

#Setup a TCP connection
set tcp [new Agent/TCP]
$ns attach-agent $s1 $tcp
set sink2 [new Agent/TCPSink/DelAck]
$ns attach-agent $d0 $sink2
$tcp set fid_ 1
Liên kết nguồn – đích
$ns connect $udp $sink1
$ns connect $tcp $sink2
Đồng thời mọi hoạt động mạng được lưu dấu lại trong file out.tr qua thủ tục:
set tracefile [open out.tr w]
$ns trace-all $tracefile
Để thực hiện tính toán độ trễ của các packet tại các node, ta sử dụng một file awk
xử lý trên file trace thu được, xuất ra file.
4.2 Kết Quả Mô phỏng
Sau khi mô phỏng thành công chúng em thu đựợc kêt quả như sau:
Mô hình theo kịch bản:
Hình1: Đồ hình mô phỏng trước lúc chạy
Hình2: Mô hình khi chạy được 8s
Hình3: Mô hình khi luồng s2 bắt đàu phát
Hình 4: Băng thông
Hình 5. Cửa sổ tắc nghẽn
Hình 6 . Đồ thị tỉ lệ mất gói tại các nút
5. Phần nội dung Code:
Phần code được lưu trong 2 file “bai2.tcl” và “T1.awk” được gửi kèm theo báo
cáo
6. Kết luận
NS-2 là một công cụ mô phỏng khá mới, lại viết trên ngôn ngữ tcl nên trong quá
trình làm bài tập lớn nhóm chúng em đã gặp phải nhiều khó khăn. Các thành viên trong
nhóm đều cảm thấy khá mới mẻ và lạ lẫm với phần mềm mô phỏng NS2. Chúng em

cảm ơn thầy đã giúp đỡ chúng em trong những buổi học trên lớp để có thể hoàn thành
tốt bài tập này. Qua đây chúng em cũng rất mong thầy cho chúng em thêm nhiều tiết
thực hành hơn nữa bên cạnh những giờ học lý thuyết.
Do chưa có kinh nghiệm làm việc theo nhóm nên trong quát trình phân công công
việc, chúng em còn lúng túng cũng như công việc của mỗi cá nhân vẫn còn bị chồng
chéo.
Tài liệu và Code bài tập lớn của nhóm được chia sẻ miễn phí trên Diễn Dàn:

()
Liên lạc với trưởng nhóm:
Trịnh Văn Tỉnh
E-mail :
7. Tài liệu tham khảo
/> />http://140.116.72.80/~smallko/ns2/ns2.htm
/>

×