Xem mẫu
- Báo cáo cơ sở mạng
Luận văn
Đề tài: Đo hiệu năng mạng Ethernet
1
- Báo cáo cơ sở mạng
Mục Lục
Luận văn..............................................................................................................................1
Đề tài: Đo hiệu năng mạng Ethernet..................................................................................1
Mục Lục..............................................................................................................................2
I.Yêu cầu bài tập lớn:......................................................................................................... 2
1 .Mục đích bài tập lớn :.................................................................................................4
2. Giới thiệu đề tài :........................................................................................................4
II . Phân công công việc....................................................................................................10
1. Phân công chung : cả nhóm tìm hiểu và làm quen với công cụ mô phỏng NS2
qua các tài liệu cô giáo đã cho ......................................................................................10
2. Phân công cụ thể thực hiện đề tài :..................................................................... 10
III. Thực hiện đề tài..........................................................................................................10
1.Tạo ra mô hình mô phỏng mạng máy tính qua các nút...........................................10
2. Thiết lập các máy nguồn máy đích và tạo liên kết gửi nhận................................ 12
3. Tạo tiến trình gửi dữ liệu là tiến trình Poisson và liên kết vào máy nguồn..........13
4. Tạo ra các gói gửi và tính toán băng thông, tốc độ mất gói dựa trên lưu lượng mà
máy đích nhận được (Mbit/s) và số gói bị mất............................................................14
5. Vẽ đồ thị băng thông và tốc độ mất gói từ các file số liệu ở trên..........................16
IV. Kết quả mô phỏng .....................................................................................................17
2.Kết quả với trường hợp trễ là 1s..............................................................................28
3.Khi độ dài gói thay đổi...............................................................................................33
V. Kết luận........................................................................................................................39
1.Hiệu năng mạng Ethernet: ......................................................................................39
2.Công cụ lập trình: .................................................................................................. 41
VI. Tài liệu tham khảo......................................................................................................42
* http://www.isi.edu/nsnam/ns/tutorial/index.html............................................................42
*http://nile.wpi.edu/ns........................................................................................................42
I.Yêu cầu bài tập lớn:
2
- Báo cáo cơ sở mạng
Mạng Ethernet với tốc độ 10Mbit/s.sử dụng cấu hình kênh truyền bus
(coaxial cable).Trễ truyền dẫn 10ms.Biết rằng card mạng của máy tính
đều liên tục có các gói được gửi đến với tốc độ như nhau λ =200 gói/s
,tuân theo phân bố Poisson.Độ dài của gói Ethernet tuân theo phân bố
Poisson với chiều dài trung bình là 1500bytes (hình vẽ).
Chạy mô phỏng dùng NS-2 trong khoảng th ời gian 30s.Đánh giá và v ẽ đ ồ
thị tổng dung lượng băng thông chiếm trên bus khi truyền gói b(t) và tốc
độ mất gói e(t) (tính bằng gói/s) khi số máy tính nối mạng là:
2.1. 3 máy
2.2. 10 máy
2.3. Lặp lại mô phỏng trên trong trường hợp trễ truyền dẫn là 1s.Có
nhận xét gì so với trường hợp đầu tiên ?
Giả thiết mỗi máy x sẽ phát đến 1 máy y bất kì do sinh viên tự chọn
3
- Báo cáo cơ sở mạng
2.4. Giả thiết độ dài gói Ethernet là cố định L= 1500bytes.Lặp lại câu
2.2,so sánh kết quả với trường hợp gói có độ dài thay đổi.
1 .Mục đích bài tập lớn :
Trong môn cơ sở mạng thông tin sinh viên đã làm quen với phương
pháp đánh giá hoạt động của một hệ thống thông tin bằng phương pháp toán
học, đặc biệt là mô hình liên quan đến hàng đợi đơn, mạng hàng đợi, cơ sở
cho các cơ chế điều khiển luồng và định tuyến trong mạng. Trong phần bài
tập lớn, sinh viên sẽ được làm quen với một phương pháp khác để đánh giá
hiệu năng, đó là phương pháp mô phỏng.Bài tập lớn này có một số mục đích
sau:
* Kiểm nghiệm các kết quả phân tích, đánh giá hệ thống khi dùng
phương pháp phân tích toán học và phương pháp mô phỏng.
* Làm quen với công cụ mô phỏng NS-2 – công cụ mô phỏng
mạng thông dụng nhất hiện nay.
* Làm quen với hệ điều hành Linux và lập trình trong môi trường
GNU.
* Phát triển kỹ năng làm việc theo nhóm.
* Phát triển kỹ năng làm việc độc lập.
2. Giới thiệu đề tài :
2.1. Sơ lược về mạng Ethernet :
Ethernet là mạng cục bộ do các công ty Xerox, Intel và Digital
equipment xây dựng và phát triển. Ethernet là mạng thông dụng nhất đối với
các mạng nhỏ hiện nay. Ethernet LAN được xây dựng theo chuẩn 7 lớp trong
cấu trúc mạng của ISO, mạng truyền số liệu Ethernet cho phép đưa vào
4
- Báo cáo cơ sở mạng
mạng các loại máy tính khác nhau kể cả máy tính mini. Ethernet có các đặc
tính kỹ thuật chủ yếu sau đây:
• Có cấu trúc dạng tuyến phân đoạn, đường truyền dùng cáp đồng
trục, tín hiệu truyền trên mạng được mã hoá theo kiểu đồng bộ
(Manchester), tốc độ truyền dữ liệu là 10 Mb/s.
• Chiều dài tối đa của một đoạn cáp tuyến là 500m, các đoạn tuyến
này có thể được kết nối lại bằng cách dùng các bộ chuyển tiếp và khoảng
cách lớn nhất cho phép giữa 2 nút là 2,8 km.
• Sử dụng tín hiệu bǎng tần cơ bản, truy xuất tuyến (bus access)
hoặc tuyến token (token bus), giao thức là CSMA/CD, dữ liệu chuyển đi
trong các gói. Gói (packet) thông tin dùng trong mạng có độ dài từ 64 đến
1518 byte.
2.1.1 Hệ thống Ethernet
Sơ lược về hệ thống Ethernet .
- Ethernet là 1 công nghệ mạng cục bộ (LAN) nhằm chuyển thông tin giữa
các máy tính với tốc độ từ 10 đến 100 triệu bít một giây (Mbps) . Hiện thời
công nghệ Ethernet thường được sử dụng nhất là công nghệ sử dụng cáp đôi
xoắn 10-Mbps.
- Công nghệ truyền thông 10-Mbps sử dụng hệ thống cáp đồng trục cỡ lớn ,
hoặc cáp đôi, cáp sợi quang . Tốc độ chuẩn cho hệ thống Ethernet hiện nay
là 100-Mbps .
2.1.2.Các thành phần của Ethernet
Hệ thống Ethernet bao gồm 3 thành phần cơ bản :
• Hệ thống trung gian truyền tín hiệu Ethernet giữa các máy tính.
5
- Báo cáo cơ sở mạng
• Các nhóm thiết bị trung gian đóng vai trò giao diện Ethernet làm cho
nhiều máy tính có thể kết nối tới cùng 1 kênh Ethernet.
• Các khung Ethernet đóng vai trò làm các bit chuẩn để luân chuyển
dữ liệu trên Ethernet.
Phần tiếp sau đây sẽ miêu tả quy tắc thiết lập cho các thành phần đầu tiên,
các mảng truyền thông vật lí , thiết lập quy tắc truy cập trung gian cho
Ethernet và các khung Ethernet.
2.1.3. Hoạt động của Ethernet
Mỗi máy Ethernet, hay còn gọi là máy trạm , hoạt động độc lập với tất
cả các trạm khác trên mạng , không có một trạm điều khiển trung tâm.Mọi
trạm đều kết nối với Ethernet thông qua một đường truyền tín hiệu chung
còn gọi là đuờng trung gian. Tín hiệu Ethernet được gửi theo chuỗi , từng bit
một , qua đường trung gian tới tất cả các trạm thành viên. Để gửi dữ liệu
trước tiên trạm cần lắng nghe xem kênh có rỗi không , nếu rỗi thì mới gửi đi
các gói ( dữ liệu).
Cơ hội để tham gia vào truyền là bằng nhau đối với mỗi trạm . Tức là không
có sự ưu tiên . Sự thâm nhập vào kênh chung được quyết dịnh bởi nhóm điều
khiển truy nhập trung gian ( Medium Access Control-MAC) được đặt trong
mỗi trạm . MAC thực thi dựa trên cơ sở sự phát hiện va chạm sóng mang
( CSMA/CD).
- Giao thức CSMA/CD .
- Xung đột
- Truyền dữ liệu
2.1.3.1.Giao thức CSMA/CD.
Để truyền thông tin, mỗi giao tiếp mạng phải lắng nghe cho tới khi
không có tín hiệu trong kênh chung , lúc này nó mới có thể truyền thông tin .
6
- Báo cáo cơ sở mạng
Nếu một giao tiếp mạng thực hiện truyền thông tin trong kênh thì gọi là sóng
và các trạm khác phải chờ đợi cho tới khi sự truyền dẫn này kết thúc . Quá
trình này gọi là phát hiện sóng mang. Mọi giao tiếp Ethernet đều có cơ hội
ngang nhau trong việc truyền thông tin trong mạng (Đa truy nhập ) . Trong
quá trình truyền từ đầu này tới đầu kia của Ethernet , những bít đầu tiên của
khung cần phải đi tới mọi vùng của mạng . Tức là có thể có 2 giao tiếp
mạng cùng thấy mạng rỗi và gửi đi cùng 1 lúc. Khi đó Ethernet phát hiện sự
“ va chạm “ và dừng việc truyền và gửi lại các khung . ĐÓ là quá trình phát
hiện va chạm.
Giao thức CSMA/CD được thiết kế nhằm cung cấp cơ hội ngang bằng truy
nhập kênh chung cho mọi trạm trong mạng . Sau khi gói tin được gửi đi mỗi
trạm trong mạng sẽ sủ dụng giao thức CSMA/CD để xem trạm nào sẽ được
gửi tiếp sau.
2.1.3.2.Va chạm
Nếu có có hơn 1 trạm cùng gửi thông tin cùng lúc thì tín hiệu được nói
rằng đang va chạm , Các trạm sẽ nhận ra biến cố này và dừng việc truyền
bằng thuật toán backoff . Sau đó mỗi trạm sẽ chọn 1 thời gian ngẫu nhiên
sau đó để truyền tiếp .
Thông thường khoảng thời gian trễ này là rất ngắn chỉ khoảng phần
nghìn hoặc phần triệu của giây . Nếu như sau đó lại có va chạm thì lại phải
truyền lại . Nếu sau một số lần liên tiếp nào đó va chạm thì hệ thống sẽ thôi
truyền gói tin này nữa , thường Ethernet chọn 16 lần để hảy bỏ truyền gói
tin. Nếu mạng càng lớn và càng nhiều trạm thì khả năng huỷ bỏ càng lớn .
2.1.3.3.Truyền dữ liệu
Cũng như các mạng LAN khác , Ethernet luôn tìm cách truyền dữ liệu
tốt nhất , Tuy nhiên ngay cả với những mạng Ethernet đắt tiền nhất và được
7
- Báo cáo cơ sở mạng
thiết kế tốt nhất thì dữ liệu truyền đi vẫn không hoàn hảo.
Nhiễu điện có thể xuất hiện mọi lúc trên hệ thống cable và làm dữ liêu bị
hỏng . Trong trường hợp kênh LAN bị tắc nghẽn làm cho số lần va chạm
vượt quá 16 làm cho các khung bị mất . Không thể có mạng LAN nào hoàn
hảo , vì thế những phần mềm ở lớp giao thức mạng cao hơn được thiết kế
để cứu dữ liệu khỏi lỗi.
Cần thiết phải nâng lên các giao thức mạng mức cao để chắc chắn
dữ liệu nhận được là chính xác .Các giao thức bậc cao làm được điều nàu
nhờ phương thức truyền đáng tin cậy và sự xác nhận chuỗi thông tin truyền
qua mạng .
2.1.4.Khung và địa chỉ Ethernet
Quả tim của Ethernet là là khung , khung được sử dụng để truyền dữ
liệu giữa các máy tính ,Khung gồm các bit được chia thành các trường . Các
trường này bao gồm trường địa chỉ , trường dữ liệu chứa từ 46 tới 15000
byte dữ liệu , và 1 trường kiểm tra lỗi để kiểm tra các bit nhận được có
giống với các bit được truyền đi không.
Trường đầu tiên mang 48 bit địa chỉ , gọi là địa chỉ nhận và địa chỉ gửi,
IEEE quản lí các địa chỉ bởi trường địa chỉ. IEEE cung cấp 24 bit nhận dạng
gọi là “ định danh tổ chức duy nhất “ (OUI) , mỗi tổ chức tham gia vào
Ethernet sẽ được cung cấp 1 định danh duy nhất .Tổ chức sẽ tạo ra 48 bit địa
chỉ sử dụng OUI của 24 bit địa chỉ đầu tiên . 48 bit này được biết đến như là
địa chỉ vật lí , phần cứng hoặc địa chỉ MAC. 48 bít địa chỉ là dấu hiệu nhận
biết chung cho mỗi giao tiếp Ethernet khi nó được tạo ra , nhờ đó mà làm
đơn giản hơn cấu trúc của Ethernet. Với cách định danh này bạn có thể nhóm
nhiều tổ chức Ethernet vì thế dễ dàng hơn trong việc quản lí Ethernet.
Mỗi khung Ethernet được gửi tới 1 kênh chung , khi đó mỗi giao tiếp
mạng sẽ xem xét trường 48 bit đầu tiên có chứa địa chỉ , giao tiếp mạng sẽ
8
- Báo cáo cơ sở mạng
so sánh địa chỉ của chính nó với địa chỉ này . Giao tiếp mạng có địa chỉ trùng
với địa chỉ nhận sẽ đọc toàn bộ khung và gửi những dữ liệu này tới phần
mềm trong máy . Mọi giao tiếp mạng sẽ ngừng đọc thông tin trong khung sau
khi chúng phát hiện địa chỉ của chúng không trùng với địa chỉ nhận.
2.1.5 .Địa chỉ Multicast and Broadcast
Một địa chỉ multicast cho phép một khung đơn có thể nhận được một
nhóm trạm.Phần mềm mạng có thể cho phép giao tiếp mạng lắng nghe
những địa chỉ multicast chỉ định. Điều này cho phép một nhóm trạm có thể
được nhận biết bởi một nhóm multicast đã được gán cho địa chỉ multicast
riêng. Một gói đơn gởi tới 1 địa chỉ multicast sẽ được nhận bởi mọi trạm
trong nhóm này. Có một trường hợp đặc biệt của multicast là broadcast , đó
là 48 bit địa chỉ của mỗi phần tử. Mọi giao tiếp Ethernet nếu thấy 1 khung
với địa chỉ đến kiểu này sẽ đọc khung và gửi nó đến hần mềm trong trạm.
2.2. Sơ lược về đề tài :
Ethernet là công nghệ mạng thiết bị và thông dụng, mặc dù ngày nay
có nhiều công nghệ LAN nhưng Ethernet vẫn là công nghệ được sử dụng
nhiều nhất . Năm 1994 ước tính có khoảng hơn 40 triệu nút Ethernet được sử
dụng trên toàn cầu.
Mạng Ethernet được sử dụng trong bài tập này với tốc độ 10Mbit/s,
sử dụng cấu hình kênh truyền bus (coaxialcable). Trễ truyền dẫn 10ms. Biết
rằng bộ đệm card mạng của các máy tínhđều liên tục có các gói được gửi
đến với tốc độ như nhau λ =200 gói/s, tuân theo phân bố Poisson. Độ dài của
gói Ethernet tuân theo phân bố Poisson với chiều dài trung bình là 1500bytes
(Hình vẽ). Và chạy mô phỏng dùng NS-2 trong khoảng thời gian 30s.
Mô phỏng mạng Ethernet như trên và sử dụng 3 máy, 10 máy cũng
như thay đổi các thông số mạng như trễ truyền dẫn là 1s, độ dài của gói
9
- Báo cáo cơ sở mạng
Ehernet L=1500 bytes cố định để đánh giá hiệu năng mà mạng Ethernet đem
lại.
II . Phân công công việc
1. Phân công chung : cả nhóm tìm hiểu và làm quen với công cụ mô
phỏng NS2 qua các tài liệu cô giáo đã cho
2. Phân công cụ thể thực hiện đề tài :
+ Tạo mô hình mô phỏng: Vũ Văn Sơn
+ Tạo tiến trình gửi nhận: Bùi Văn Sỹ
+ Tính toán băng thông và vẽ đồ thị: Đặng Đình Nhất
+ Tôc độ mất gói: Phan Văn Quyết
Hoàng Văn Long
III. Thực hiện đề tài
1.Tạo ra mô hình mô phỏng mạng máy tính qua các nút
- Quá trình này sẽ tạo ra các nút tượng trưng cho các máy tính bằng lệnh:
set name [new node], trong đó name là tên nút (ví dụ ta tạo ra các nút trong
bài lần lượt là: n1, n2, n3……..n10).
#Create a simulator object
set ns [new Simulator]
#mo file mo hinh va file luu du lieu ve bang thong
10
- Báo cáo cơ sở mạng
set nf [open out.nam w] # mo file o che do ghi
set f1 [open out1.tr w]
set f2 [open out2.tr w]
set f3 [open out.tr w]
$ns trace-all $f3
$ns namtrace-all $nf
#tao 3 node
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
$ns color 1 Red
$ns color 2 Green
$ns color 3 Blue
- Sau đó ta sẽ liên kết các nút thành mạng ethernet theo yêu c ầu b ằng
câu lệnh: set lan [$ns newLan ] trong đó arguments gồm
7 thành phần:
1. nhóm các nút tạo lan
2. trễ
3. băng thông
4. kiểu liên kết
5. phương thức hàng đợi
6. kiểu MAC
7. kiểu kênh truyền
#tao mang ethernet
11
- Báo cáo cơ sở mạng
set lan [$ns newLan "$n1 $n2 $n3" 10Mb 100ms LL Queue/DropTail
Mac/Csma/Cd]
2. Thiết lập các máy nguồn máy đích và tạo liên kết gửi nhận
- Giả thiết các máy sẽ lần lượt là nguồn và đích, ví dụ có các c ặp
máy gửi nhận: máy 1 gửi cho máy 2, máy 2 gửi cho máy 3, máy
3 gửi cho máy 4………và máy 10 gửi cho máy 1.
- Các máy gửi sẽ phát gói theo tiến trình Poisson tới máy nhận
#tao cac may dich
set sink1 [new Agent/LossMonitor]
set sink2 [new Agent/LossMonitor]
set sink3 [new Agent/LossMonitor]
$ns attach-agent $n2 $sink1
$ns attach-agent $n3 $sink2
$ns attach-agent $n1 $sink3
#tao nguon0
set source1 [attach-expoo-traffic $n1 $sink1 1500 0s 0.005s 100M 1]
set source2 [attach-expoo-traffic $n2 $sink2 1500 0s 0.005s 100M 2]
set source3 [attach-expoo-traffic $n3 $sink3 1500 0s 0.005s 100M 3]
12
- Báo cáo cơ sở mạng
3. Tạo tiến trình gửi dữ liệu là tiến trình Poisson và liên kết
vào máy nguồn
-Ta xây dựng tiến trình Poisson qua một đối tượng ExponentialOn/Off v ới
các thành phần tham số:
. packetsize_ dung lượng cố định của gói dữ liệu
. burst_ time_ thời gian “bật” khởi tạo
. idle_ time_ thời gian “tắt” khởi tạo
. rate_ tốc độ của gói
- Để tạo ra tiến trình Poisson ta cho tham số burst_time_ v ề 0 và cho rate_
với tốc độ lớn và idle_time =1/tham số lamda của tiến trình Poisson.
#tao tien trinh poisson
proc attach-expoo-traffic { node sink size burst idle rate idcolor} {
set ns [Simulator instance]
set source [new Agent/UDP]
$source set class_ $idcolor
$ns attach-agent $node $source
#tien trinh poisson voi cac tham so cua no
set traffic [new Application/Traffic/Exponential]
$traffic set packetSize_ $size
$traffic set burst_time_ $burst
$traffic set idle_time_ $idle
$traffic set rate_ $rate
#lien ket tien trinh poisson vao nguon va dich
$traffic attach-agent $source
#Connect the source and the sink
13
- Báo cáo cơ sở mạng
$ns connect $source $sink
return $traffic
}
4. Tạo ra các gói gửi và tính toán băng thông, tốc độ mất gói
dựa trên lưu lượng mà máy đích nhận được (Mbit/s) và
số gói bị mất
- Để tính tổng dung lượng băng thông bị chiếm ta tính tổng dung lượng
lưu lượng máy đích nhận được và ghi dữ liệu vào file cùng v ới chu kì l ấy
dữ liệu cho trước
- Để tính tốc độ mất gói ta lấy số gói bị mất trong m ột kho ảng th ời gian
cho trước cùng ghi vào file làm số liệu để sử dụng
#thu tuc tinh toan bang thong qua luu luong nhan duoc cua cac may dich va
ghi va
#ghi vao file
proc record {} {
global ns sink1 sink2 sink3 f1 f2 f3
set ns [Simulator instance]
#chu ki lay du lieu
set time 0.1
#so bytes ma may dich nhan
set bw1 [$sink1 set bytes_]
set bw2 [$sink2 set bytes_]
set bw3 [$sink3 set bytes_]
14
- Báo cáo cơ sở mạng
# Lay so luong packet mat
set l1 [$sink1 set nlost_]
set l2 [$sink2 set nlost_]
set l3 [$sink3 set nlost_]
#lay thoi gian hien thoi
set now [$ns now]
#tinh toan bang thong (Mbit/s) va ghi vao file
puts $f1 "$now [expr ($bw1+$bw2+$bw3)/$time*8/1000000]"
puts $f2 "$now [expr ($l1+$l2+$l3)/$time]"
#reset
$sink1 set bytes_ 0
$sink2 set bytes_ 0
$sink3 set bytes_ 0
$sink1 set nlost_ 0
$sink2 set nlost_ 0
$sink3 set nlost_ 0
#chay lai thu tuc
$ns at [expr $now+$time] "record"
}
15
- Báo cáo cơ sở mạng
5. Vẽ đồ thị băng thông và tốc độ mất gói từ các file số liệu ở
trên
#tao thu tuc finish
proc finish {} {
global ns nf f1 f2 f3 # khai bao bien toan cuc
$ns flush-trace # do cac trace vao cac file tuong ung
#dong file
close $nf
close $f1
close $f2
close $f3
#hien thi mo hinh chay mo phong
exec nam out.nam &
#hien thi do thi ve bang thong
exec xgraph out1.tr -geometry 800x400 -t " tong dung luong " -x "
time(s) " -y " bandwidth(Mbit/s) " &
#do thi toc do mat goi
exec xgraph out2.tr -geometry 800x400 -t " toc do mat goi " -x " time(s)"
-y " rate(packets/s) " &
exit 0
}
16
- Báo cáo cơ sở mạng
IV. Kết quả mô phỏng
Sơ đồ mạng:
1.Kết quả mô phỏng khi trễ là 10ms
Thông số kĩ thuật của mạng ethernet:
- tốc độ mạng ethernet: 10Mbit/s
- trễ truyền dẫn: 10ms
- tốc độ gửi : λ = 200 goi / s
- kích thước gói ethernet: 1500 bytes
- tốc độ gói gửi: 100Mb/s
- thời gian mô phỏng: 30s
17
- Báo cáo cơ sở mạng
1.1. Kết quả cho mạng Ethernet 3 máy:
*Code đã giải thích ở phần trên
a.mô hình mạng mô phỏng:
b. Đồ thị tổng dung lượng băng thông:
18
- Báo cáo cơ sở mạng
c. Đồ thị tốc độ mất gói
19
- Báo cáo cơ sở mạng
1.2. Kết quả mạng cho 10 máy
*Code mô phỏng
# chuong trinh tinh bang thong va toc do mat goi
# cho mang ethernet 10 may voi toc do tre truyen dan la 10ms
########################################
#Create a simulator object
set ns [new Simulator]
#mo file mo hinh
set btl [open out.nam w]
$ns namtrace-all $btl
#file luu du lieu ve bang thong
set f1 [open out1.tr w]
set f2 [open out2.tr w]
set f3 [open out.tr w]
$ns trace-all $f3
#tao 10 node(may tinh)
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]
set n7 [$ns node]
set n8 [$ns node]
set n9 [$ns node]
set n10 [$ns node]
#gan mau cho luong
$ns color 1 Red
20
nguon tai.lieu . vn