Upload
ky-idol
View
23
Download
1
Embed Size (px)
Citation preview
1
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
2
MỤC LỤC
1. Đề 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ụ ........................................................................5
3. 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..............................................................13
4.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
3
1.Đề bài và yêu cầu
Cho 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
4
2.Phân tích yêu cầu, lập kế hoạch và phân công công việc
2.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/
5
- 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ẫn
Giao 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
6
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.
7
- 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
8
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
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
9
Time Delay = time_event(r) – time_event(+)
4. Kết quả mô phỏng và nhận xét
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
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
N
h
ậ
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ễ
??)
11
Đồ 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
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.