Mô phỏng khôi phục đƣờng theo cơ chế Simple-Dynamic

Một phần của tài liệu Kỹ thuật lưu lượng trong mạng chuyển dịch nhãn đa giao thức (Trang 95)

4.2.7.1 Mô hình

Như mô hình bài trước ở mục 4.2.4.1.

4.2.7.2 Thực hiện và kết quả

Thực hiện mô phỏng với lịch trình quy định trong script mô phỏng:

 Đường làm việc: ER=1_3_5_7_9

 Thời điểm 0,5s : Luồng 1 (src1 – sink1) bắt đầu truyền trên đường làm việc

 Thời điểm 2,0s : Kết nối giữa LSR5-LSR7 bị đứt, đến 3,5s thì khôi phục.

 Thời điểm 5,0s : Luồng 1 ngưng truyền.

Kết quả truyền luồng: Truyền 750 gói, mất 66 gói, tỉ lệ mất gói: 8,8%

Hình 68: Kết quả băng thông nhận được ở bài 7

4.2.7.3 Nhận xét

Cơ chế Simple-Dynamic thuộc loại sửa chữa cục bộ, có thể dùng cho bảo vệ liên kết hoặc bảo vệ nút. Kết quả trực quan trong cửa sổ NAM (hình 71) cho thấy khi kết nối LSR5-LSR7 bị đứt, LSR5 tự động định tuyến và báo hiệu thiết lập LSP_9999 ngắn nhất nối giữa LSR5 và Egress, ở đây là LSR9 (đi theo đường 5_6_8_9). Trong thời gian chờ thiết lập tuyến “đường tránh” LSP_9999, các gói trên đường làm việc bị mất.

4.3 Tổng kết chƣơng

Trong chương này, học viên báo cáo các bài mô phỏng đã thực hiện để làm rõ cơ chế thực hiện kỹ thuật lưu lượng của MPLS. Các vấn đề bảo vệ khôi phục đường - một trong những nhiệm vụ của kỹ thuật lưu lượng cũng được minh họa trong một số ví dụ. Các bài trong phần thực hành này được thực hiện với phần mềm nguồn mở NS-2. Các file OTcl Scripts thực hiện các bài mô phỏng trình bày trong phần phụ lục của luận văn này.

KẾT LUẬN

Hiện nay MPLS là một giải pháp hàng đầu để giải quyết nhiều vấn đề trong mạng như: tốc độ, khả năng mở rộng mạng, quản lý QoS và điều phối luu lượng. MPLS là một công nghệ kết hợp tốt nhất giữa định tuyến lớp 3 và chuyển mạch lớp 2 cho phép chuyển tải các gói rất nhanh trong mạng lõi và định tuyến tốt ở mạng biên bằng cách dựa vào nhãn.

Luận văn đã trình bày được những khái niệm cơ sở sử dụng trong chuyển mạch nhãn đa giao thức, từ đó nghiên cứu những nguyên lý hoạt động cơ bản của MPLS và khả năng thực hiện kỹ thuật lưu lượng của nó. Bài toán cơ bản của kỹ thuật lưu lượng trong MPLS là làm thế nào để ánh xạ đồ hình nghiệm suy (induced graph) lên trên topology vật lý của mạng một cách hiệu quả nhất, tối ưu hóa việc sử dụng tài nguyên, chống tắc nghẽn và tăng cường QoS. Đặc biệt, đề tài tập trung nhiều vào các khía cạnh như:

Các yêu cầu của kỹ thuật lưu lượng trong chuyển mạch nhãn đa giao thức.

Các cơ chế bảo vệ và khôi phục lưu lượng sử dụng trong MPLS.

Xây dựng các kịch bản mô phỏng từ các khái niệm ban đầu đến các cơ chế được áp dụng trong kỹ thuật lưu lượng nhằm đưa ra các đánh giá dựa trên các số liệu cụ thể. Điều này đặc biệt hữu ích khi học viên chưa có điều kiện để tiếp cận và kiểm chứng trên hệ thống mạng trục IP/MPLS thực đang hoạt động.

Tuy nhiên, kỹ thuật lưu lượng là một lĩnh vực rộng, đây cũng là bài toán khó đặt ra cho bất kỳ một công nghệ truyền dẫn hoặc chuyển mạch mới nào. Vì những lý do khách quan và chủ quan, đề tài khó tránh khỏi những thiếu sót, cụ thể là:

Một số khái niệm, thuật ngữ mới chưa được thống nhất khi dịch thuật.

Chưa đề cập nhiều đến quản lý QoS, Diffserv trong MPLS.

Chưa đề cập sâu đến ứng dụng MPLS trong mạng riêng ảo (VPN) là một trong những công nghệ đang được ứng dụng rất nhiều trong các hệ thống mạng hiện nay.

Phần mềm mô phỏng mạng NS-2 rất khó can thiệp một cách đầy đủ mà thường chỉ kế thừa, sử dụng tập lệnh và các module của nó cung cấp. Vì vậy NS-2 chưa mô phỏng đầy đủ các hoạt động của một thiết bị thật sự, do đó các số liệu kết quả thu được chỉ có độ tin cậy tương đối.

Qua đề tài này, học viên mong muốn nắm bắt được nền tảng kiến thức về công nghệ MPLS, đặc biệt là ứng dụng của nó trong lĩnh vực kỹ thuật lưu lượng. Hiện tại, MPLS vẫn thuộc loại chuyển mạch điện. Tuy nhiên, hướng phát triển tiếp theo của MPLS là GMPLS (Generalized MPLS), trong đó áp dụng ý tưởng chuyển mạch nhãn vào chuyển mạch quang, xem các bước sóng quang như là nhãn. Công nghệ mới luôn luôn phát triển không ngừng và có tính kế thừa, vì vậy việc nghiên cứu, cập nhật kiến thức để làm chủ thiết bị mạng lưới là hết sức cần thiết.

TÀI LIỆU THAM KHẢO

[1] Luc De Ghein (CiscoPress 2006), MPLS Fundamentals

[2] David McDysan, Dave Paw - McGrawHill (2002), ATM & MPLS: Theory and Application

[3] Eric Osborne, Ajay Simha (CiscoPress 2002), Traffic Engineering with MPLS

[4] Student Book - CiscoPress (2001), MPLS Traffic Engineering Technology

[5] Johan Martin - University of Oslo (2005), MPLS Based Recovery Mechanisms

[6] RFC 3031: Multiprotocol Label Switching Architecture

[7] John Evans, Clarence Filsfils (Morgan Kaufmann (2007)"Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice"

[8] The NS Manual (VINT Project 05/2007)

[9] Website: http://nsnam.isi.edu/nsnam

[10] Website:http://w4.siemens.de/ct/en/technologies/ic/beispiele/mpls

PHỤ LỤC: MÃ NGUỒN CÁC BÀI MÔ PHỎNG

Bai1.tcl

############################################################## # BAI 1: MO PHONG MANG IP KHONG HO TRO MPLS #

############################################################## # Tao ra mot doi tuong mo phong

set ns [new Simulator] $ns rtproto LS

# Tao file de xuat ket qua cho NAM set nf [open bai1.nam w]

$ns namtrace-all $nf

# Tao cac file de luu du lieu cho xgraph set f1 [open luong_1 w]

set f2 [open luong_2 w] # So do ket noi mang #

# Khai bao 10 nut mang IP thong thuong (co ten tu R0 --> R10) foreach i "0 1 2 3 4 5 6 7 8 9 10" {

set R$i [$ns node] }

# Khai bao link: nodes bw delay queue $ns duplex-link $R0 $R1 3Mb 10ms DropTail $ns duplex-link $R1 $R3 2Mb 30ms SFQ $ns duplex-link $R3 $R5 1Mb 30ms SFQ $ns duplex-link $R5 $R7 2Mb 30ms SFQ $ns duplex-link $R7 $R9 1Mb 30ms SFQ $ns duplex-link $R9 $R10 3Mb 10ms DropTail $ns duplex-link $R1 $R2 1Mb 30ms SFQ $ns duplex-link $R2 $R4 1Mb 30ms SFQ $ns duplex-link $R4 $R6 2Mb 30ms SFQ $ns duplex-link $R6 $R8 1Mb 30ms SFQ $ns duplex-link $R8 $R9 2Mb 30ms SFQ $ns duplex-link $R3 $R4 1Mb 30ms SFQ $ns duplex-link $R5 $R6 1Mb 30ms SFQ $ns duplex-link $R7 $R8 1Mb 30ms SFQ # Ve dang so do mang

$ns duplex-link-op $R0 $R1 orient right $ns duplex-link-op $R1 $R3 orient right $ns duplex-link-op $R3 $R5 orient right $ns duplex-link-op $R5 $R7 orient right $ns duplex-link-op $R7 $R9 orient right $ns duplex-link-op $R9 $R10 orient right $ns duplex-link-op $R1 $R2 orient 0.333 $ns duplex-link-op $R2 $R4 orient right $ns duplex-link-op $R4 $R6 orient right $ns duplex-link-op $R6 $R8 orient right $ns duplex-link-op $R8 $R9 orient 1.667 $ns duplex-link-op $R3 $R4 orient 0.333 $ns duplex-link-op $R5 $R6 orient 0.333 $ns duplex-link-op $R7 $R8 orient 0.333 # Ghi chu $ns duplex-link-op $R1 $R3 label " 2M "

$ns duplex-link-op $R5 $R7 label " 2M " $ns duplex-link-op $R7 $R9 label " 1M " $ns duplex-link-op $R1 $R2 label " 1M " $ns duplex-link-op $R2 $R4 label " 1M " $ns duplex-link-op $R4 $R6 label " 2M " $ns duplex-link-op $R6 $R8 label " 1M " $ns duplex-link-op $R8 $R9 label " 2M" $ns duplex-link-op $R3 $R4 label " 1M " $ns duplex-link-op $R5 $R6 label " 1M " $ns duplex-link-op $R7 $R8 label " 1M " $ns duplex-link-op $R3 $R5 queuePos 1.5 $R0 label "Nguon" $R10 label "Dich" #--- # Dinh nghia cac ham su dung trong chuong trinh chinh #---

# Tao mot procedure ghi nhan bang thong theo mot chu ki $time proc record {} {

global sink1 sink2 f1 f2 set ns [Simulator instance] # Dinh chu ki ghi nhan bang thong set time 0.1

# Lay so luong packet nhan duoc trong chu ky o moi sink set bw1 [$sink1 set bytes_]

set bw2 [$sink2 set bytes_] set now [$ns now]

puts $f1 "$now [expr $bw1/$time*8/1000000]" puts $f2 "$now [expr $bw2/$time*8/1000000]" # Reset gia tri bytes_ cua sink

$sink1 set bytes_ 0 $sink2 set bytes_ 0

#Dinh thoi goi lai ham record sau chu ky $time $ns at [expr $now+$time] "record"

}

#---

# Ham tao mot nguon luu luong gan vao node voi sink, size goi, # burst, idle time, rate va colour cua luu luong

proc attach-expoo-traffic { node sink size burst idle rate } { set ns [Simulator instance]

set source [new Agent/CBR/UDP] $ns attach-agent $node $source set traffic [new Traffic/Expoo] $traffic set packet-size $size $traffic set burst-time $burst $traffic set idle-time $idle $traffic set rate $rate $source attach-traffic $traffic $ns connect $source $sink return $source

}

#---

# Thu tuc xuat tong so packet nhan duoc o cac sink proc recv-pkts {} {global sink1 sink2

set ns [Simulator instance]

set msg " Luong 1 da truyen [$sink1 set expected_] goi, mat [$sink1 set nlost_] goi, ti le mat goi la [string range [expr [$sink1 set

nlost_]*100.0/[$sink1 set expected_]] 0 3] */*" puts $msg

$ns trace-annotate $msg

set msg " Luong 2 da truyen [$sink2 set expected_] goi, mat [$sink2 set nlost_] goi, ti le mat goi la [string range [expr [$sink2 set

nlost_]*100.0/[$sink2 set expected_]] 0 3] */*" puts $msg

$ns trace-annotate $msg }

#---

proc finish {} { global ns nf f1 f2 $ns flush-trace close $nf close $f1 close $f2

exec xgraph luong_1 luong_2 -M -nb -bg white -fg black -zg black \ -geometry 500x230 -y "BW (Mbps)" -x "Time (sec)" \

-t "Bai 1: Mang IP khong ho tro MPLS" -tf "helvetica-12" & exec nam -r 8ms bai1.nam &

exit 0 }

#---

# Tao ra sink1, sink2 gan voi nut R10 (day la noi thu nhan traffic) set sink1 [new Agent/LossMonitor]

set sink2 [new Agent/LossMonitor] $ns attach-agent $R10 $sink1 $ns attach-agent $R10 $sink2

# Tao ra nguon luu luong src1, src2 gan voi nut R0 bang cach

# goi ham attach-expoo-traffic. Ca 2 luong co goi size=700B, rate=0.8bps set src1 [attach-expoo-traffic $R0 $sink1 600B 0ms 0ms 0.9Mb ]

$src1 set fid_ 100 $ns color 100 red

set src2 [attach-expoo-traffic $R0 $sink2 600B 0ms 0ms 0.9Mb ] $src2 set fid_ 200

$ns color 200 green # Bat dau mo phong exec clear >@ stdout

puts "\n BAI 1: MO PHONG HOAT DONG MANG IP KHONG HO TRO MPLS \n" $ns at 0.0 "record"

$ns at 0.5 "$ns trace-annotate {Luong 1: BW=0.9M (Start=0.5 stop=5.0)}" $ns at 0.5 "$src1 start"

$ns at 2.0 "$ns trace-annotate {Luong 2: BW=0.9M (Start=2.0 stop=5.0)}" $ns at 2.0 "$src2 start"

$ns at 2.5 "$ns trace-annotate {Ca 2 luong cung di tren duong ngan nhat ==> Su dung BW khong hieu qua !}"

$ns at 5.0 "$src1 stop" $ns at 5.0 "$src2 stop" $ns at 5.5 "recv-pkts" $ns at 5.5 "finish" $ns run Bai2.tcl ############################################################### # BAI 2: MO PHONG DINH TUYEN RANG BUOC TRONG MPLS DOMAIN # # Duong rang buoc duoc tinh toan tu dong #

############################################################### # Tao ra mot doi tuong mo phong

set ns [new Simulator] $ns rtproto LS

# Tao file de xuat ket qua cho NAM set nf [open bai2.nam w]

$ns namtrace-all $nf

# Tao cac file de luu du lieu cho xgraph set f1 [open luong_1 w]

set f2 [open luong_2 w] set f3 [open luong_3 w] # So do ket noi mang

#

#

# Khai bao 2 nut IP (R0,R10) va 9 nut MPLS (LSR1 --> LSR9) set R0 [$ns node]

foreach i "1 2 3 4 5 6 7 8 9" { set LSR$i [$ns mpls-node] set m LSR$i

eval $$m color blue }

set R10 [$ns node]

# Khai bao link: nodes bw delay queue

$ns duplex-link $R0 $LSR1 3Mb 10ms DropTail $ns duplex-link $LSR1 $LSR3 2Mb 30ms CBQ $ns duplex-link $LSR3 $LSR5 1Mb 30ms CBQ $ns duplex-link $LSR5 $LSR7 2Mb 30ms CBQ $ns duplex-link $LSR7 $LSR9 1Mb 30ms CBQ $ns duplex-link $LSR9 $R10 3Mb 10ms DropTail $ns duplex-link $LSR1 $LSR2 1Mb 30ms CBQ $ns duplex-link $LSR2 $LSR4 1Mb 30ms CBQ $ns duplex-link $LSR4 $LSR6 2Mb 30ms CBQ $ns duplex-link $LSR6 $LSR8 1Mb 30ms CBQ $ns duplex-link $LSR8 $LSR9 2Mb 30ms CBQ $ns duplex-link $LSR3 $LSR4 1Mb 30ms CBQ $ns duplex-link $LSR5 $LSR6 1Mb 30ms CBQ $ns duplex-link $LSR7 $LSR8 1Mb 30ms CBQ # Ve dang so do mang

$ns duplex-link-op $R0 $LSR1 orient right $ns duplex-link-op $LSR1 $LSR3 orient right $ns duplex-link-op $LSR3 $LSR5 orient right $ns duplex-link-op $LSR5 $LSR7 orient right $ns duplex-link-op $LSR7 $LSR9 orient right $ns duplex-link-op $LSR9 $R10 orient right $ns duplex-link-op $LSR1 $LSR2 orient 0.333 $ns duplex-link-op $LSR2 $LSR4 orient right $ns duplex-link-op $LSR4 $LSR6 orient right $ns duplex-link-op $LSR6 $LSR8 orient right $ns duplex-link-op $LSR8 $LSR9 orient 1.667 $ns duplex-link-op $LSR3 $LSR4 orient 0.333 $ns duplex-link-op $LSR5 $LSR6 orient 0.333 $ns duplex-link-op $LSR7 $LSR8 orient 0.333 # Ghi chu $ns duplex-link-op $LSR1 $LSR3 label " 2M " $ns duplex-link-op $LSR3 $LSR5 label " 1M " $ns duplex-link-op $LSR5 $LSR7 label " 2M " $ns duplex-link-op $LSR7 $LSR9 label " 1M " $ns duplex-link-op $LSR1 $LSR2 label " 1M " $ns duplex-link-op $LSR2 $LSR4 label " 1M " $ns duplex-link-op $LSR4 $LSR6 label " 2M " $ns duplex-link-op $LSR6 $LSR8 label " 1M " $ns duplex-link-op $LSR8 $LSR9 label " 2M" $ns duplex-link-op $LSR3 $LSR4 label " 1M " $ns duplex-link-op $LSR5 $LSR6 label " 1M " $ns duplex-link-op $LSR7 $LSR8 label " 1M " $R0 label "Nguon"

$R10 label "Dich" $LSR1 label "Ingress " $LSR9 label " Egress"

# Cau hinh LDP agent tren tat ca cac nut MPLS $ns configure-ldp-on-all-mpls-nodes

# cfg-cbq-on-all-mpls-nodes {sbts_bw hbts_bw rt_bw st_bw} $ns cfg-cbq-on-all-mpls-nodes 0.1 0.05 0.8 0.05

# Gan luong traffic co fid vao dich vu SBTS (Simple Best-effort) $ns bind-flowid-to-SBTS 0

$ns bind-flowid-to-SBTS 100 $ns bind-flowid-to-SBTS 200 $ns bind-flowid-to-SBTS 300 # Dat color cho cac ban tin LDP $ns ldp-request-color blue $ns ldp-mapping-color red $ns ldp-withdraw-color magenta $ns ldp-release-color orange $ns ldp-notification-color green $ns collect-resource-info 4 #--- # Dinh nghia cac ham su dung trong chuong trinh chinh #---

# Tao mot procedure ghi nhan bang thong theo mot chu ki $time

Một phần của tài liệu Kỹ thuật lưu lượng trong mạng chuyển dịch nhãn đa giao thức (Trang 95)

Tải bản đầy đủ (PDF)

(127 trang)