Upload
nguyen-huu-hoa
View
759
Download
1
Embed Size (px)
DESCRIPTION
Bai tap lon thay tien
Citation preview
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
`
BÁO CÁO BÀI TẬP LỚN
MÔN CƠ SỞ TRUYỀN SỐ LIỆU
ĐỀ BÀI SỐ 6
GIẢNG VIÊN HƯỚNG DẪN: TS PHẠM VĂN TIẾN
NHÓM SINH VIÊN THỰC HIỆN: NHÓM SỐ 6
Nguyễn Hữu Hòa (TN) MSSV: 20101558
Lê Minh Thao MSSV: 20092399
Lương Văn Thành MSSV: 20096355
Lê Danh Thành MSSV: 20092415
1
MỤC LỤC1. Đề bài và yêu cầu …...................................................................................3
2. Phân tích yêu cầu ,lập kế hoạch,phân công công việc …...........................4
2.1. Phân tích yêu cầu ...........................................................................4
2.2. Đề xuất phương án giải quyết..........................................................4
2.3. Lập kế hoạch ...................................................................................4
2.4. Phân công nhiệm vụ ........................................................................53. Lý thuyết chung ..........................................................................................5
3.1. Các giao thức truyền dẫn..................................................................5
3.2. Các phương thức định tuyến............................................................6
3.3. Công cụ AWK..................................................................................7
3.4. Công cụ XGRAPH ..........................................................................7
3.5. Khả thông tại node.......................................................................8
3.6. Trễ truyền thông ..............................................................................8
4. Kết quả mô phỏng và nhận xét...................................................................13
4.1. Một số hình ảnh mô phỏng..............................................................134.2. Nhận xét kết quả mô phỏng............................................................15
5. Kết Luận.....................................................................................................16
5.1. Tài liệu tham khảo………………………………………………………..18
2
1.Đề bài và yêu cầuCho mạng thông tin có cấu hình như Hình 6. Các nút s1 và s2 tương ứng tạo ra các nguồn lưu lượng tcp1 và tcp2 gửi gói tin tương ứng đến các nút d1 và d2 dựa trên giao thức truyền TCP. Các gói được phát sinh gói tại các nguồn này một cách đều đặn với tốc độ tương ứng là 800 và 900 gói/s, chiều dài gói là 1200byte. Nút s2 còn có nguồn lưu lượng UDP phát ra các gói gửi tới nút d2 với chiều dài là 1024byte, số lượng gói tuân theo phân bố Poisson, tốc độ 500 gói/s. Các hàng đợi gắn với các liên kết sử dụng cơ chế SFQ.
1. Viết kịch bản và chạy mô phỏng hệ thống thông tin nói trên trong khoảng thời gian không ngắn
hơn 5 phút.
2. Thu thập và vẽ đồ thị các số liệu biểu diễn khả thông tại các giao diện của các nút.
3. Trong một phiên chạy mô phỏng, giả thiết cứ sau 20s tốc độ gói của mỗi luồng lại tăng lên
25%, hãy thu thập và vẽ đồ thị biểu diễn thay đổi của trễ gói tin trên mỗi luồng.
4. Thay đổi tốc độ gói của luồng UDP rồi làm lại các thao tác trong mục 2. Nhận xét kết quả thu được
3
2.Phân tích yêu cầu, lập kế hoạch và phân công công việc2.1 .Phân tích yêu cầu
Yêu cầu chung : cài đặt ubuntu , cài đặt ns2 , tìm hiểu các thao tác cơ bản trên hệ
điều hành mã nguồn mở, các mô phỏng cơ bản của ns2 .
Yêu cầu đề bài :
- Tạo được mô hình mạng thông tin trên ns2
- Tìm hiểu về các giao thức truyền thông TCP, UDP
- Các hàm, thủ tục có thể thay đổi giá trị 1 thông số nào đó trong mạng
- Tìm hiểu về công cụ xử lý số liệu AWK và XGRAPH vẽ đồ thị trên ns2
- Tìm hiểu về định tuyến
2.2. Đề xuất phương án giải quyết
- Phần 2 : Tính tổng lưu lượng truyền qua các node trong khoảng thời gian lấy
mẫu trung bình là 0.5s
- Phần 3 :
+ Để tăng tốc độ gói từng luồng : dùng 1 thủ tục và cứ sau 20 giây thì thủ
tục đó được gọi lại 1 lần với giá trị đầu vào là tốc độ gói của luồng đã được
thay đổi
+ Tính trễ : tạo ra các mảng lưu thời gian gửi, thời gian nhận của từng gói,
sau đó trừ đi nhau sẽ suy ra độ trễ của mỗi gói.
- Phần 4 :
Thay đổi tốc độ gói luồng UDP và làm tương tự câu 2 .
2.3. Lập kế hoạch- Bài tập lớn sẽ thực hiện trong vòng 8 tuần (bắt đầu từ tuần 5 và kết thúc vào
tuần 12)
- Tuần 1: Cài đặt ubuntu và ns2, tìm hiểu các thao tác làm việc đơn giản trên
ubuntu, bầu trưởng nhóm và xây dựng kế hoạch thực hiện bài tập lớn.
- Tuần 2: Thực hiện mô phỏng 1 số hệ thống thông tin đơn giản trên ns2, tham
khảo trên trang http://www.isi.edu/nsnam/ns/tutorial/
4
- Tuần 3: Code mô hình mạng thông tin của bài số 6
- Tuần 4: Tìm cách gắn các luồng dữ liệu vào các node và truyền như yêu cầu đề
bài
- Tuần 5, 6: Thu thập được số liệu về khả thông, độ trễ truyền thông của mạng
vẽ đồ thị từ số liệu thu thập được.
- Tuần 7,8: Kiểm tra lại code, viết báo cáo, chuẩn bị bảo vệ
2.4. Phân công công việc - Công việc chung: tất cả các thành viên trong nhóm đều phải cài đặt ubuntu và
mô phỏng được các hệ thống đơn giản, tìm các tài liệu liên quan trên mạng,
báo cáo công việc mình làm được hàng tuần đối với các bạn còn lại trong
nhóm, họp nhóm định kỳ 1 tuần 2 lần vào cuối mỗi buổi học và sáng thứ 7
hàng tuần.
- Đức Hùng-Huy Hùng : Tìm hiểu về UDP(CBR) và TCP(CBR).Trễ truyền thông của gói trong luồng ,tìm hiểu NAM
- Khắc Huy-Ngọc Hùng : Tìm hiểu XGRAPH ,giao thức TCP,UDP trong mô hình OSI và các phương thức định tuyến trong NS2
- Quang Hoa-Việt Hoàng : Tìm hiểu trễ truyền thông và tỷ lệ mất gói tìm hiểu về công cụ AWK,XGRAPH
- Nguyễn Hữu Hòa : Chịu trách nhiệm quản lý chung ,tìm hiểu công cụ AWK ,XGRAPH
3. Lý thuyết chung
3.1 .Các giao thức truyền dẫnGiao thức TCP (Transmission Control Protocol) hay còn được gọi là giao thức
điều khiển truyền vận, là một trong các giao thức cốt lõi của bộ giao thức TCP/IP, cho
phép truyền dữ liệu một cách tin cậy và đúng thứ tự giữa hai máy tính bất kỳ dựa trên
phương pháp điều khiển luồng theo của số trượt trong đó phía phát được phép phát liên
tục nhiều gói. Các ứng dụng sử dụng TCP chuyển các dữ liệu qua mạng, TCP phân chia
dòng byte này thành các đoạn (các segment) và kiểm tra để đảm bảo không có gói tin nào
5
bị thất lạc bằng cách đánh số thứ tự cho mỗi gói để đảm bảo gói tin được truyền đúng
theo thứ tự, nếu gói tin bị mất thì nó sẽ được truyền lại cho đến khi phía thu nhận được.
Giao thức UDP (User Datagram Protocol) hay còn gọi là giao thức gói người dùng
là một trong những giao thức cốt lõi của giao thức TCP/IP, cho phép người dùng có thể
gửi những dữ liệu ngắn được gọi là datagram từ máy tính này đến máy tính khác. UDP
không đảm bảo sự tin cậy và thứ tự truyền nhận, các gói dữ liệu có thể đến không đúng
thứ tự hoặc bị mất mà không có thông báo. Tuy nhiên, UDP nhanh và hiệu quả hơn đối
với những mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian, giao thức này
hữu dụng đối với việc trả lời các truy vấn với số lượng lớn người yêu cầu.
3.2. Các phương thức định tuyến
NS2 thực thi ba chính sách định tuyến: static routing (định tuyến tĩnh), session
routing (định tuyến phiên), DV routing (định tuyến véc tơ khoảng cách) và Link-state
(trạng thái liên kết).
Dùng phương thức rtproto trong lớp Simulator để xác định chính sách định tuyến
được dùng.
o $ns rtproto <type>
o type: Static, Session, DV, cost, multicast-path, LS.
-Link-state : sử dụng thuật toán SPF (shortest path first) cập nhật các thông tin về cơ chế
định tuyến cho các node trên hệ thống mạng. Mỗi node sẽ gửi bảng mô tả trạng thái của
các liên kết riêng của mình lên mạng. Chỉ các thay đổi mới được gửi đi. Ưu điểm là tốc
độ cao, không chiếm dụng băng thông nhiều như thuật toán DV tuy nhiên thực hiện phức
tạp. Đối với mô hình lớn thuật toán này có thể làm tăng độ trễ truyền gói tin.
- Distance vector : (còn gọi là thuật toán Bellman-Ford) gửi bảng định tuyến tới các node
lân cận theo một chu kỳ nhất định. Ưu điểm là dễ thực hiện, dễ kiểm tra. Tuy nhiên thời
gian cập nhật lâu, chiếm dụng băng thông lớn trên mạng.
6
- Static routing : Phương thức tính toán định tuyến Static là phương thức tính toán đường
truyền mặc định trong NS-2. Phương thức này sử dụng thuật toán SPF. Thuật toán tính
đường truyền chạy chính xác một lần tại lúc khởi động mô phỏng. Khi cấu trúc mạng
thay đổi phải cập nhật lại, do đó chỉ thích hợp trong hệ thống đơn giản, có kết nối đơn và
đường truyền dữ liệu đã được xác định trước.
- Session: Sử dụng thuật toán SPF để tính toán tối ưu đường truyền, bảng định tuyến sẽ
được cập nhật ngay lập tức khi topo mạng có sự thay đổi.
3.3. Công cụ AWK
AWK là công cụ có sẵn trong UBUNTU dùng đễ xử lý dữ liệu dạng text (tracefile)
Mỗi dòng text trong file text được xử lý là 1 bản ghi,mỗi trường trong file là 1 cột.$1 $2 …. Tương ứng với cột 1 cột 2 ….
AWK có thể xử lý được cấu trúc If-Else ,các vòng lặp for() ,nhờ AWK chúng ta không phải sử dụng các thuật toán như trong C ,C++ để xử lý file dưới dạng text
Cấu trúc file.awk
BEGIN( [Khởi tạo các biến] ;)
{
Các câu lệnh....;
}
END{[câu lệnh]};
Sử dụng AWK để sử lý số liệu :
Awk -f file_lenh.awk file_nguon >file_dich
Vd . AWK –f delay_2.awk Tracefile >delay_2.dat
AWK sẽ xử lý file nguồn (Tracefile) rồi xuất ra file đích (delay_2.dat) trong thuật toán của file.awk có xử lý các trường trong file.dat và xuất ra file delay_2.dat file này sau được dùng để vẽ đồ thị với XGRAPH
7
3.4. Công cụ XGRAPH
XGRAPH là một công cụ được cung cấp bởi ns2 dùng đễ vẽ đồ thị ,tạo ra các ảnh
XGRAPH được gọi ngay trong kịch bản TCL nên sẽ được gọi sau khi qua trình mô phỏng kêt thúc
Đầu vào XGRAPH có thể có nhiều nguồn khác nhau ,chúng sẽ tự xử lý các nguồn này.XGPRAPH sẽ vẽ đồ thị dựa vào file đích (đã tạo ra khi gọi AWK) dựa trên 2 trường đã được gọi trong hàm awk (tương ứng với trục x và y)
`Một số lựa chọn khi sử dụng Xgraph :
Title : -t “ten_do_thi”
Kích thước : -geometry xsize x ysize
Tiêu đề cho các trục : -x “xtitle” –y “ytitle”
Màu của chữ và lưới –v
Màu nền –bg
3.5. Khả thông tại node
Tính khả thông tại từng node của từng luồng trong khoảng thời gian lấy mấu là 0.5s bằng cách cộng dồn trưởng dung lượng ($6) trong Tracefile trong khoảng thời gian 0.5s rồi chia trung bình
3.6. Trễ truyền thông
Trễ truyền thông của 1 luồng được tính là khoảng thời gian 1 gói dữ liệu được tiếp nhận ở node nguồn cho tới khi node đích nhận được
Thời điểm gói dữ liệu nhận ở node nguồn là có sự kiện “+” tại node đó
Thời điểm node đích nhận được gói dữ liệu đó là sự kiện “r” ở node đích
Time Delay = time_event(r) – time_event(+)
4. Kết quả mô phỏng và nhận xét
8
4.1 Một số hình ảnh mô phỏng
H1.Đồ thị khả thông tại node 2 của các luồng
9
H2.Đồ
thị khả
thông tại
node d2
H3.Đồ
thị trễ
truyền
thông luồng
2 (TCP2)
10
H4.Đồ thị trễ truyền thông luồng 3 (UDP)
4.2 Nhận xét kết quả mô phỏng
Nhìn vào đồ thì khả thông của các luồng tại từng node ta thấy luồng 1 khả
thông tại các node khá ổn định còn luồng 2 có sự thay đổi mạnh khi tại thời
điểm 20s ta cho khởi động luồng UDP ,gần như luồng tcp2 (gửi từ node S1
tới node d2) khả thông tại các node rất thấp do bị luồng UDP gần như
chiếm hết bang thông trên đường truyền
Dựa vào đồ thị trễ truyền thông ta có nhận xét tuy tốc độ gói của luồng
TCP1 và TCP2 có tăng lên sau định thì 20s (tang 25%) nhưng gần như trên
đồ thi ta không thấy có sự thay đổi nhiều của trễ truyền thông của các luồng
này ??(có thế do giới hạn băng thông đường truyền nên mắc dù tang có thể
nó vượt qua băng thông đường truyền nên gần như k có sự thay đổi của
trễ ??)
Đồ thị trễ truyền thông của luồng TCP2 tăng vọt sau khi luồng UDP start
tại thời điểm 20s , trễ truyền thông của luồng UDP (tốc độ gói tuân theo
phân bố Possoin) khá cao
Trong Phần 4 ,ta thấy khi ta tăng tốc độ gói của luồng UDP lên 600(trước là
500) ta thấy khả thông của luồng UDP tại các node 3 ,và node 5 nhỏ hơn so
với trước khi tăng (nguyên nhân có thể do khi tăng tốc độ gói của
luồng ,làm cho các gói tới hàng đợi nhanh và nhiều gây nên hiện tượng rơi
gói ,mất gói làm cho khả dung lượng qua node 3 ,5 có thể giảm)
5. Kết Luận
Kết luận
11
Môn cơ sở truyền số liệu là một trong những môn quan trọng trong chuyên ngành
điện tử viễn thông. Nó cung cấp những kiến thức cơ bản cho các sinh viên về mạng thông
tin, các giao thức truyền, gửi gói tin… Thông qua bài tập dài, chúng em đã được làm
quen với một công cụ hỗ trợ mô phỏng mạng rất hữu hiệu là NS2, được làm quen với hệ
điều hành mã nguồn mở đang ngày một trở nên phổ biến là Linux.
Mặc dù đã rất cố gắng nhưng chắc chắn bài làm của chúng em vẫn còn rất nhiều
thiếu sót. Nhóm chúng em mong Thầy cho chúng em ý kiến đánh giá để phần bài làm của
chúng em trở nên hoàn thiện hơn .
Lời cuối ,Chúng em kính chúc thầy sức khỏe, công tác tốt và gặt hái được nhiều
thành công trong cuộc sống.
12
Tài liệu tham khảo
1. Slide bài giảng Cơ sở mạng thông tin của Thầy Phạm Văn Tiến
2. Tài liệu tham khảo NS2 (Ns2_manual, Introduction to Network Simulator NS2 –
Teerawat Issariyakul)
3. Tài liệu hướng dẫn NS2 http://www.isi.edu/nsnam/ns/tutorial/
13