đồ án: Kết hợp DiffServ và MPLS trong việc đảm bảo chất lượng dịch vụ

73 355 0
đồ án: Kết hợp DiffServ và MPLS trong việc đảm bảo chất lượng dịch vụ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

đồ án:Kết hợp DiffServ và MPLS trong việc đảm bảo chất lượng dịch vụNội dung của đề tài gồm những chương sau:Chương 1: Chất lượng dịch vụ trong mạng IPTrong chương này sẽ đề cập đến tầm quan trọng của chất lượng dịch vụ, một số giải pháp tăng QoS và đi sâu vào kiến trúc DiffServ cũng như cách thức hoạt động của nóChương 2: MPLS, kỹ thuật lưu lượng và các cơ chế khôi phụcChương này sẽ giới thiệu một số khái niệm chính trong MPLS, kỹ thuật lưu lượng và các cơ chế khôi phục đường dẫn khi có sự cố đứt kết nối của nó.Chương 3: Sự kết hợp giữa DiffServ và MPLSĐi vào tìm hiều một số thủ tục cần thiết khi thiết lập DiffServ vào trong một mạng MPLSChương 4: Chương trình và kết quả mô phỏng kết họp DiffServ và MPLSSẽ mô phỏng mạng IP sử dụng DiffServ khi xảy ra sự cố đứt kết nối và mạng MPLS sử dụng DiffServ. Sau đó nhận xét và so sánh các kết quả đạt đượcChương trình mô phỏng hoạt động dựa trên nền tảng hoạt động thực tế của mạng IP và MPLSTrong quá trình làm đồ án, em đã cố gắng rất nhiều song do kiến thức hạn chế nên không thể tránh khỏi những thiếu sót. Em rất mong nhận được sự góp ý, hướng dẫn và sự giúp đỡ của Thầy Cô, bạn bè.Suốt quá trình học tập, Thầy Cô đã truyền đạt cho em nhiều kiến thức quý báu tạo cơ sở cho em hoàn thành đồ án này. Em xin chân thành gởi lời cảm ơn đến các Thầy Cô trong khoa Điện Tử-Viễn Thông. Đặc biệt là Thầy giáo Nguyễn Duy Nhật Viễn đã đóng góp nhiều ý kiến quý báu và cổ vũ, động viên em trong thời gian qua.Em xin chân thành cám ơn!

MỤC LỤC  3 Lời mở đầu Bảng tra cứu từ viết tắt CHƯƠNG 2 MPLS, KỸ THUẬT LƯU LƯỢNG CÁC CƠ CHẾ KHÔI PHỤC CHƯƠNG 3 SỰ KẾT HỢP GIỮA DIFFSERV MPLS CHƯƠNG 4 CHƯƠNG TRÌNH KẾT QUẢ MÔ PHỎNG SỰ KẾT HỢP DIFFSERV MPLS PHỤ LỤC  Mã nguồn mô phỏng DiffServ trong IP set ns [new Simulator] set nf_nam [open script2.nam w] $ns namtrace-all $nf_nam set nf [open script2.tr w] $ns trace-all $nf set f1 [open UDP1.tr w] puts $f1 \n\"UDP_EF" set f2 [open UDP2.tr w] puts $f2 \n\"UDP_AF" set f3 [open UDP3.tr w] puts $f3 \n\"UDP_BE" # So do ket noi mang # # R0 R4 + R8 # \ / | \ / # 10M ,5ms \ / | \ / # R1 R3 | R7 R9 # / \ | / \ # / \ 5M, 10ms | / \ # R2 R5 R6 / 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 $R3 10Mb 5ms DropTail $ns duplex-link $R1 $R3 10Mb 5ms DropTail $ns duplex-link $R2 $R3 10Mb 5ms DropTail $ns simplex-link $R3 $R4 5Mb 10ms dsRED/edge $ns simplex-link $R4 $R3 5Mb 10ms dsRED/core $ns simplex-link $R3 $R5 5Mb 10ms RED $ns simplex-link $R5 $R3 5Mb 10ms RED $ns simplex-link $R5 $R6 5Mb 10ms RED $ns simplex-link $R6 $R5 5Mb 10ms RED $ns simplex-link $R4 $R6 5Mb 10ms dsRED/core $ns simplex-link $R6 $R4 5Mb 10ms dsRED/edge $ns simplex-link $R4 $R7 5Mb 10ms dsRED/core $ns simplex-link $R7 $R4 5Mb 10ms dsRED/edge $ns simplex-link $R6 $R7 5Mb 10ms RED $ns simplex-link $R7 $R6 5Mb 10ms RED $ns duplex-link $R7 $R8 10Mb 5ms DropTail $ns duplex-link $R7 $R9 10Mb 5ms DropTail $ns duplex-link $R7 $R10 10Mb 5ms DropTail # Dinh nghia cac bien hang doi set qEdge1ToCore [[$ns link $R3 $R4] queue] set qEdge2ToCore [[$ns link $R7 $R4] queue] set qEdge3ToCore [[$ns link $R6 $R4] queue] set qCoreToEdge1 [[$ns link $R4 $R3 ] queue] set qCoreToEdge2 [[$ns link $R4 $R7 ] queue] set qCoreToEdge3 [[$ns link $R4 $R6 ] queue] # Thiet lap thong so DiffServ va mode hoat dong $qEdge1ToCore meanPktSize $packetSize $qEdge1ToCore set numQueues_ 3 $qEdge1ToCore setNumPrec 3 $qEdge1ToCore setSchedularMode PRI $qEdge1ToCore addPolicyEntry [$R0 id] [$R8 id] TSW3CM 10 $ensureServCIR $ensureServPIR $qEdge1ToCore addPolicyEntry [$R1 id] [$R9 id] TSW3CM 20 $bestEffortServ1CIR $bestEffortServ1PIR $qEdge1ToCore addPolicyEntry [$R2 id] [$R10 id] TSW3CM 30 $bestEffortServ2CIR $bestEffortServ2PIR $qEdge1ToCore addPolicerEntry TSW3CM 10 11 12 $qEdge1ToCore addPolicerEntry TSW3CM 20 21 22 $qEdge1ToCore addPolicerEntry TSW3CM 30 31 32 $qEdge1ToCore addPHBEntry 10 0 0 $qEdge1ToCore addPHBEntry 11 0 1 $qEdge1ToCore addPHBEntry 12 0 2 $qEdge1ToCore addPHBEntry 20 1 0 $qEdge1ToCore addPHBEntry 21 1 1 $qEdge1ToCore addPHBEntry 22 1 2 $qEdge1ToCore addPHBEntry 30 2 0 $qEdge1ToCore addPHBEntry 31 2 1 $qEdge1ToCore addPHBEntry 32 2 2 $qEdge1ToCore addPHBEntry 0 2 2 $qEdge1ToCore configQ 0 0 20 40 0.01 $qEdge1ToCore configQ 0 1 10 50 0.1 $qEdge1ToCore configQ 0 2 10 50 0.3 $qEdge1ToCore configQ 1 0 20 40 0.01 $qEdge1ToCore configQ 1 1 10 50 0.1 $qEdge1ToCore configQ 1 2 10 50 0.3 $qEdge1ToCore configQ 2 0 20 40 0.01 $qEdge1ToCore configQ 2 1 10 50 0.1 $qEdge1ToCore configQ 2 2 10 50 0.3 # # Thiet lap luu luong set sink1 [new Agent/LossMonitor] $ns attach-agent $R8 $sink1 $sink1 clear set sink2 [new Agent/LossMonitor] $ns attach-agent $R9 $sink2 $sink2 clear set sink3 [new Agent/LossMonitor] $ns attach-agent $R10 $sink3 $sink3 clear set null1 [new Agent/Null] $ns attach-agent $R8 $null1 set null2 [new Agent/Null] $ns attach-agent $R9 $null2 set null3 [new Agent/Null] $ns attach-agent $R10 $null3 # Thiet lap cac luong UDP tu nguon den dich set udp1 [new Agent/UDP] $udp1 set packetSize_ $ensureServPacketSize $ns attach-agent $R0 $udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetSize_ $ensureServPacketSize $cbr1 set rate_ $ensureServRate $cbr1 attach-agent $udp1 $udp1 set fid_ 1 $ns color 1 red $ns connect $udp1 $sink1 set udp2 [new Agent/UDP] $udp2 set packetSize_ $bestEffortServ1PacketSize $ns attach-agent $R1 $udp2 set cbr2 [new Application/Traffic/CBR] $cbr2 set packetSize_ $bestEffortServ1PacketSize $cbr2 set rate_ $bestEffortServ1Rate $cbr2 attach-agent $udp2 $udp2 set fid_ 2 $ns color 2 green $ns connect $udp2 $sink2 set udp3 [new Agent/UDP] $udp3 set packetSize_ $bestEffortServ2PacketSize $ns attach-agent $R2 $udp3 set cbr3 [new Application/Traffic/CBR] $cbr3 set packetSize_ $bestEffortServ2PacketSize $cbr3 set rate_ $bestEffortServ2Rate $cbr3 attach-agent $udp3 $udp3 set fid_ 3 $ns color 3 blue $ns connect $udp3 $sink3 # # Thu tuc xuat tong so packet nhan duoc o cac sink proc recv-pkts {} { global sink1 sink2 sink3 f1 f2 f3 set ns [Simulator instance] set msg " Luong UDP1 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 UDP2 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 set msg " Luong UDP3 da truyen [$sink3 set expected_] goi, mat [$sink3 set nlost_] goi, ti le mat goi la [string range [expr [$sink3 set nlost_]*100.0/[$sink3 set expected_]] 0 3] */*" puts $msg $ns trace-annotate $msg # # Thu tuc bat bang thong proc record {} { global sink1 totalpkt1 f1 sink2 totalpkt2 f2 sink3 totalpkt3 f3 set ns [Simulator instance] set time 0.05 #How many bytes have been received by the traffic sink? set bw1 [$sink1 set bytes_] set bw2 [$sink2 set bytes_] set bw3 [$sink3 set bytes_] set now [$ns now] # Tinh bang thong (MBit/s) puts $f1 "$now [expr $bw1/$time*8/1000000]" puts $f2 "$now [expr $bw2/$time*8/1000000]" puts $f3 "$now [expr $bw3/$time*8/1000000]" $sink1 set bytes_ 0 $sink2 set bytes_ 0 $sink3 set bytes_ 0 $ns at [expr $now+$time] "record" } # # Thu tuc goi ham ket thuc proc finish {} { global ns nf nf_nam f1 f2 f3 throughput $ns flush-trace close $nf close $nf_nam close $f1 close $f2 close $f3 exec cat UDP1.tr >@ $throughput exec cat UDP2.tr >@ $throughput exec cat UDP3.tr >@ $throughput close $throughput exec xgraph -bb -bg white -fg black -zg black -x time(s) -y "BW(Mb/s)" -geometry 800x400 -t "SCRIPT2 MO PHONG MANG IP SU DUNG DIFFSERV" -tf "helvetica-13" throughput.xg & } $ns run Mô phỏng mạng MPLS kết hợp DiffServ # Khai bao node set R0 [$ns node] set R1 [$ns node] set R2 [$ns node] set LSR3 [$ns mpls-node] set LSR4 [$ns mpls-node] set LSR5 [$ns mpls-node] set LSR6 [$ns mpls-node] set LSR7 [$ns mpls-node] set R8 [$ns node] set R9 [$ns node] set R10 [$ns node] # link: nodes bw delay queue $ns duplex-link $R0 $LSR3 10Mb 5ms DropTail $ns duplex-link $R1 $LSR3 10Mb 5ms DropTail $ns duplex-link $R2 $LSR3 10Mb 5ms DropTail $ns simplex-link $LSR3 $LSR4 5Mb 10ms dsRED/edge $ns simplex-link $LSR4 $LSR3 5Mb 10ms dsRED/core $ns simplex-link $LSR3 $LSR5 5Mb 10ms RED $ns simplex-link $LSR5 $LSR3 5Mb 10ms RED $ns simplex-link $LSR5 $LSR6 5Mb 10ms RED $ns simplex-link $LSR6 $LSR5 5Mb 10ms RED $ns simplex-link $LSR4 $LSR6 5Mb 10ms dsRED/core $ns simplex-link $LSR6 $LSR4 5Mb 10ms dsRED/edge $ns simplex-link $LSR4 $LSR7 5Mb 10ms dsRED/core $ns simplex-link $LSR7 $LSR4 5Mb 10ms dsRED/edge $ns simplex-link $LSR6 $LSR7 5Mb 10ms RED $ns simplex-link $LSR7 $LSR6 5Mb 10ms RED $ns duplex-link $LSR7 $R8 10Mb 5ms DropTail $ns duplex-link $LSR7 $R9 10Mb 5ms DropTail $ns duplex-link $LSR7 $R10 10Mb 5ms DropTail $qEdge1ToCore meanPktSize $packetSize $qEdge1ToCore set numQueues_ 3 $qEdge1ToCore setNumPrec 3 $qEdge1ToCore setSchedularMode PRI $qEdge1ToCore addPolicyEntry [$R0 id] [$R8 id] TSW3CM 10 $ensureServCIR $ensureServPIR $qEdge1ToCore addPolicyEntry [$R1 id] [$R9 id] TSW3CM 20 $bestEffortServ1CIR $bestEffortServ1PIR $qEdge1ToCore addPolicyEntry [$R2 id] [$R10 id] TSW3CM 30 $bestEffortServ2CIR $bestEffortServ2PIR $qEdge1ToCore addPolicerEntry TSW3CM 10 11 12 $qEdge1ToCore addPolicerEntry TSW3CM 20 21 22 $qEdge1ToCore addPolicerEntry TSW3CM 30 31 32 $qEdge1ToCore addPHBEntry 10 0 0 $qEdge1ToCore addPHBEntry 11 0 1 $qEdge1ToCore addPHBEntry 12 0 2 $qEdge1ToCore addPHBEntry 20 1 0 $qEdge1ToCore addPHBEntry 21 1 1 $qEdge1ToCore addPHBEntry 22 1 2 $qEdge1ToCore addPHBEntry 30 2 0 $qEdge1ToCore addPHBEntry 31 2 1 $qEdge1ToCore addPHBEntry 32 2 2 $qEdge1ToCore addPHBEntry 0 2 2 $qEdge1ToCore configQ 0 0 20 40 0.01 $qEdge1ToCore configQ 0 1 10 50 0.1 $qEdge1ToCore configQ 0 2 10 50 0.3 $qEdge1ToCore configQ 1 0 20 40 0.01 $qEdge1ToCore configQ 1 1 10 50 0.1 $qEdge1ToCore configQ 1 2 10 50 0.3 $qEdge1ToCore configQ 2 0 20 40 0.01 $qEdge1ToCore configQ 2 1 10 50 0.1 $qEdge1ToCore configQ 2 2 10 50 0.3 # Cau hinh LDP agent tren tat ca cac nut MPLS $ns configure-ldp-on-all-mpls-nodes # Thiet lap mau cho cac ban tin $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 # Thiet lap LSP proc notify-erlsp-setup {node lspid} { global cbr1 cbr2 cbr3 LSR3 LSR4 LSR7 set ns [Simulator instance] set module [$node get-module "MPLS"] switch $lspid { 9999 { # LSP_9999 choose shortest path to edgress set msg " [string range [$ns now] 0 3]s: Tunnel LSP_$lspid (Ingress=LSR[$node id]) tu dong chon duong ngan nhat den Egress !" puts $msg $ns trace-annotate $msg } default { puts " Error!" exit 1 } } } # # Co che khoi phuc: SIMPLE-DYNAMIC #$ns enable-reroute simple-dynamic #[$LSR4 get-module "MPLS"] set-protection-flow 0.1 0.01 8 -1 #[$LSR4 get-module "MPLS"] set-protection-flow 0.1 0.01 9 -1 #[$LSR4 get-module "MPLS"] set-protection-flow 0.1 0.01 10 -1 #[$LSR3 get-module "MPLS"] enable-data-driven } $ns run LỜI MỞ ĐẦU  Ngày nay, Internet đã trở thành phần không thể thiếu trong cuộc sống của chúng ta. Internet đã mở ra một chân trời mới đối với nhân loại Khi mạng Internet phát triển mở rộng, lưu lượng Internet bùng nổ thì việc đáp ứng nhu cầu cho người sử dụng về chất lượng dịch vụ ngày càng cao, đòi hỏi các nhà cung cấp dịch vụ ISP luôn đứng trước thử thách. Các ISP xử lý bằng cách tăng dung lượng các kết nối nâng cấp router nhưng vẫn không tránh khỏi nghẽn mạch. Lý do là các giao thức định tuyến thường hướng lưu lượng vào cùng một số các kết nối nhất định dẫn đến kết nối này bị quá tải trong khi một số tài nguyên khác không được sử dụng. Vì vậy, việc tìm ra giải pháp mới thỏa mãn được các nhu cầu của người dùng là vấn đề cấp bách đang được ưu tiên hiện nay Được sự chỉ dẫn tận tình của các thầy cô trong khoa Điện Tử_ Viễn Thông em đã tìm hiểu về đề tài “Kết hợp DiffServ MPLS trong việc đảm bảo chất lượng dịch vụ”. Nội dung của đề tài gồm những chương sau:  Chương 1: Chất lượng dịch vụ trong mạng IP Trong chương này sẽ đề cập đến tầm quan trọng của chất lượng dịch vụ, một số giải pháp tăng QoS đi sâu vào kiến trúc DiffServ cũng như cách thức hoạt động của nó  Chương 2: MPLS, kỹ thuật lưu lượng các cơ chế khôi phục Chương này sẽ giới thiệu một số khái niệm chính trong MPLS, kỹ thuật lưu lượng các cơ chế khôi phục đường dẫn khi có sự cố đứt kết nối của nó.  Chương 3: Sự kết hợp giữa DiffServ MPLS Đi vào tìm hiều một số thủ tục cần thiết khi thiết lập DiffServ vào trong một mạng MPLS  Chương 4: Chương trình kết quả mô phỏng kết họp DiffServ MPLS [...]... cần thiết cho phép đảm bảo chất lượng của các ứng dụng thời gian thực như VoIP, Video Streaming hạn chế nghẽn mạng Trong chương này sẽ trình bày khái quát các khái niệm cơ bản trong chất lượng dịch vụ QoS, những thông số đặc trưng cho chất lượng dịch vụ, sự cần thiết của lĩnh vực này trong mạng IP Đồng thời sẽ đi vào tổng quan về kiến trúc của QoS với các dịch vụ tích hợp (Intserv) phân tích rõ... Các kiểu dịch vụ QoS trong mạng Định nghĩa kiến trúc QoS ra đời vào giữa năm 1990, cho đến nay nhóm nghiên cứu IETF (Internet Engineering Task Force) đã định nghĩa hai dạng kiến trúc QoS cho mạng IP đó là các dịch vụ tích hợp (IntServ) các dịch vụ phân biệt (DiffServ) 1.4.1 Dịch vụ tích hợp Intserv Các dịch vụ tích hợp (Intserv) được nhóm nghiên cứu IETF đưa ra nhằm cung cấp các dịch vụ end-to-end... dẫn đến yêu cầu về chất lượng dịch vụ  Thứ nhất, với các công ty kinh doanh trên web, họ cần chất lượng dịch vụ để cải thiện nâng cao chất lượng vận chuyển các thông tin dịch vụ của họ đến khách hàng như một yếu tố để thu hút ngày càng nhiều khách hàng  Thứ 2, các nhà cung cấp dịch vụ Internet IPSs cần thêm nhiều các dịch vụ giá trị gia tăng trên mạng của họ để tăng lợi nhuận Việc các nhà cung... vụ mới có thể xuất hiện một số dịch vụ trở lên lỗi thời Do đó Diffserv không cần thiết phải xác định dịch vụ như là Inserv, thay vào đó nó cung cấp các thành phần chức năng mà trên đó dịch vụ có thể được xây dựng Việc thông tin giữa người dùng dịch vụ sẽ nằm trong Bản Thỏa Thuận mức dịch vụ SLA (Service Level Agreement), việc đối xử luồng lưu lượng tương ứng với bản SLA Việc xác định SLA sẽ được... với các luồng hợp nhất, quản lý lưu lượng điều hòa Tuy nhiên nó không cung cấp một kiến trúc dịch vụ điểm- điểm • Mặt khác, trong khuôn khổ DiffServ không có khả năng điều khiển các lỗi đường kết nối Ví như trong miền DiffServ, một đường kết nối mang lưu lượng EF bị đứt kết nối, thì sẽ không có cách nào cung cấp đường kết nối thay thế để đảm bảo mất gói tối thiểu nhất Hơn thế nữa, trong Diffserv không... có một vài mức đảm bảo cho lưu lượng các yêu cầu dịch vụ cần được thỏa mãn Nó ngày càng trở nên cần thiết trong việc quản lý mạng sử dụng tài nguyên mạng hiệu quả để đáp ứng nhu cầu dịch vụ Internet ngày càng tăng nhanh 1.3.2 Tầm quan trọng Khi lưu lượng được chuyển tiếp với tốc độ nhanh nhưng không có bất kỳ sự đảm bảo nào về thời gian xử lý cũng như độ tin cậy của việc vận chuyển lưu lượng đến... dấu lại điểm mã DS) trong miền DS Sự điều tiết lưu lượng thực hiện bằng cách đo, định dạng, chính sách hay đánh dấu lại để đảm bảo lưu lượng đi vào miền DS tương ứng với các quy tắc được định nghĩa trong TCA, phù hợp với chính sách cung cấp dịch vụ của miền Phạm vi yêu cầu điều tiết lưu lượng phù thuộc vào loại hình dịch vụ, việc đánh dấu lại điểm mã đơn giản đến chính sách phức tạp các hoạt động định... phù hợp 1.4.2.2 Điểm mã dịch vụ phân biệt DSCP (DiffServ code point) Các đặc tính kỹ thuật trước đây, IP đã dự trữ một số bit trong header cho việc hỗ trợ các chất lượng dịch vụ QoS Đối với IPv4 octet thứ hai của header là octet ToS (Type of Service) còn đối với IPv6 thì đó là octet lớp lưu lượng (Traffic Class) Các giá trị của trường DS đó chính là điểm mã dịch vụ phân biệt DSCP Các node dịch vụ DiffServ. .. thể thiếu trong cuộc sống của chúng ta Internet đã mở ra một chân trời mới đối với nhân loại Khi mạng Internet phát triển mở rộng, lưu lượng Internet bùng nổ thì việc đáp ứng nhu cầu cho người sử dụng về chất lượng dịch vụ ngày càng cao, đòi hỏi các nhà cung cấp dịch vụ ISP luôn đứng trước thử thách làm sao luôn làm hài lòng các “thượng đế” của mình Do đó việc cung cấp chất lượng dịch vụ QoS là... áp dụng một tập hợp đối xử BA Nó mô tả các đặc tính về chất lượng dịch vụ như độ trễ, độ trượt hay mất gói của gói tin khi đi qua node dịch vụ DiffServ Các node dịch vụ DiffServ sẽ ánh xạ các gói tin đến các chặn PHB tương ứng với các giá trị DSCP của nó Bảng 1.2 biểu diễn việc ánh xạ giữa PHB DSCP DiffServ không hoàn toàn có chức năng ánh xạ PHB đến DSCP mà nó chỉ thực hiện công việc này khi được

Ngày đăng: 01/05/2014, 08:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan