22
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Ố 1 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Ố 8 Nguyễn Hữu Quang ĐT12 - K54 20092085 Đặng Văn Quân ĐT2 - K54 20092109 Trần Ngọc Quân ĐT3 - K54 20092150 Bùi Xuân Quyết ĐT9 - K54 20092165 Phạm Hồng Sơn ĐT10 - K54 20092268 Đào Đức Tân ĐT7 - K54 20092325 HÀ NỘI 11/2012

155752604-117741890-Bao-Cao-Nhom-8-Final

  • Upload
    ky-idol

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    TRNG I HC BCH KHOA H NI

    VIN IN T - VIN THNG

    BO CO BI TP LN

    MN C S TRUYN S LIU

    BI S 1

    GING VIN HNG DN: TS. PHM VN TIN

    NHM SINH VIN THC HIN: NHM S 8

    Nguyn Hu Quang T12 - K54 20092085

    ng Vn Qun T2 - K54 20092109

    Trn Ngc Qun T3 - K54 20092150

    Bi Xun Quyt T9 - K54 20092165

    Phm Hng Sn T10 - K54 20092268

    o c Tn T7 - K54 20092325

    H NI 11/2012

  • 2

    MC LC

    I. bi v yu cu .. 3

    II. Phn tch yu cu.. 4

    1. Phn tch yu cu... 4

    2. Thc hin yu cu.. 4

    III. Lp k hoch v phn cng cng vic. 5

    1. Lp k hoch.. 5

    2. Phn cng cng vic . 5

    IV. Qu trnh thc hin6

    1. Giao thc truyn dn UDP...6

    2. Cc phng thc nh tuyn6

    3. Theo di s kin trn h thng v cng c Xgraph7

    4. Thc hin cc yu cu.9

    a. T l chim dng b m...9

    b. Phn b Poisson...10

    c. Gim gi tin.10

    d. Bng thng ca tng lung..12

    e. Tr mi lung...12

    5. Thc hin m phng..13

    a. Kch bn m phng13

    b. Kt qu m phng..14

    Kt lun..21

    Ti liu tham kho.22

  • 3

    I. bi v yu cu

    Cho mng thng tin vi cu hnh nh Hnh 1 di y. Nt s1 pht ra lung gi gi

    ti u cui d1, trong khi nt s2 to ra hai lung gi gi ti nt d1 v ti nt d2. C 3

    lung thng tin ni trn u s dng giao thc truyn UDP. Kch thc gi do s1 v s2

    pht ra tng ng l 1300 byte v 1000 byte; s lng gi pht ra trn mi lung tun

    theo phn b Poisson, tc ln lt l 1000 gi/s, 1500 gi/s v 2000 gi/s.

    1. Dng kch bn m phng h thng thng tin ni trn vi thi gian m phng di

    hn 5 pht.

    2. Thu thp s liu m phng v v th t l chim dng cc b m tt c cc

    b nh tuyn.

    3. Trong mt phin chy m phng, tc pht sinh gi ca mi lung gim i 50

    gi/s sau mi khong thi gian 30s, thng k v v th hiu sut s dng bng

    thng ca cc lin kt trong mi khong thi gian .

    4. Thay i tham s chiu di gi v tc pht sinh gi, v th biu din tr

    truyn thng ca cc lung. Nhn xt kt qu thu c.

  • 4

    II. Phn tch yu cu

    1. Phn tch yu cu

    Yu cu chung : ci t ubuntu , ci t ns2 , tm hiu cc thao tc c bn trn h

    iu hnh m ngun m, cc m phng c bn ca ns2 .

    Yu cu bi :

    - To c m hnh mng thng tin trn ns2

    - Tm hiu v nh tuyn

    - Thit lp c s lng gi pht sinh theo phn b Poisson

    - Tm hiu v cc giao thc truyn thng UDP

    - Cc hm, th tc thay i s lng gi pht sinh

    - Tm hiu v cng c x l s liu v v th trn ns2

    2. Thc hin yu cu

    a. T l chim dng cc b m c tnh nh sau:

    50 100%

    Vi queueLength l chiu di hng i tc thi.

    Chiu di hng i tc thi bng s gi n tr s gi i v s gi b rt

    b. Gim tc gi v hiu sut s dng bng thng

    - gim tc gi : dng 1 th tc v c sau 30s th th tc c gi li 1

    ln.

    - Tnh hiu sut s dng bng thng : Tnh bng thng ca tng lung bng cch

    s dng Agent LossMonitor lu li nhng gi truyn, sau khi tnh c

    bng thng trong 1 chu k th lm sch Agent v thc hin li chu k tip

    theo.

    c. Tnh tr truyn thng ca cc lung

    Xy dng hm trch xut d liu trong trace-file .tr. tr c tnh bng

    thi im nhn c gi tin tr i thi im pht gi tin.

  • 5

    III. Lp k hoch v phn cng cng vic

    1. Lp k hoch

    Bi tp ln thc hin trong vng 7 tun (bt u t tun 5 v kt thc vo tun 12)

    - Tun 1: Ci t ubuntu v ns2, tm hiu cc thao tc lm vic n gin trn

    ubuntu, bu trng nhm, tm hiu yu cu v xy dng k hoch thc hin bi

    tp ln.

    - Tun 2: Tm hiu giao thc UDP, pht gi tin theo phn b Poisson. Thc hin

    m phng 1 s h thng thng tin n gin trn ns2

    - Tun 3: Code m hnh mng thng tin ca bi s 1

    - Tun 4: Tm cch gn cc ngun d liu vo cc node v truyn nh yu cu

    bi

    - Tun 5, 6: Thu thp v tnh ton s liu v hiu sut s dng hng i, bng

    thng, tr truyn thng ca mng v v th t s liu thu thp c.

    - Tun 7: Hon thin v kim tra li code, vit bo co v chun b bo v.

    2. Phn cng cng vic

    Cng vic chung: tt c cc thnh vin trong nhm u phi ci t ubuntu v

    ns2, m phng c cc h thng mng n gin; tm hiu giao thc truyn UDP,

    bo co cng vic mnh lm c hng tun i vi cc bn cn li trong nhm,

    hp nhm nh k 2ln/tun vo cui mi bui hc v chiu th 7.

    Cng vic tng thnh vin

    STT H v Tn Cng vic Trng thi

    1 Nguyn Hu Quang

    o c Tn

    Tm hiu cng c xgraph v

    AWK. Tnh ton t l chim dng

    b m v v th.

    Hon thnh

    2 ng Vn Qun

    Bi Xun Quyt

    Gim tc pht sinh gi ca

    mi lung i 50 gi/s sau mi

    khong thi gian 30s, thng k v

    v th hiu sut s dng bng

    Hon thnh

  • 6

    thng ca cc lin kt trong mi

    khong thi gian .

    3 Trn Ngc Qun

    Phm Hng Sn

    Xy dng tin trnh Poisson, v

    th biu din tr truyn

    thng ca cc lung.

    Hon thnh

    IV. Qu trnh thc hin

    1. Giao thc truyn dn UDP

    Giao thc UDP (User Datagram Protocol) hay cn gi l giao thc gi ngi dng

    l mt trong hai giao thc ct li ca giao thc TCP/IP, cho php ngi dng c th

    gi nhng d liu ngn c gi l datagram t my tnh ny n my tnh khc.

    UDP khng m bo s tin cy v th t truyn nhn, cc gi d liu c th n

    khng ng th t hoc b mt m khng c thng bo. Tuy nhin, UDP nhanh v

    hiu qu hn i vi nhng mc tiu nh kch thc nh v yu cu kht khe v thi

    gian, giao thc ny hu dng i vi vic tr li cc truy vn vi s lng ln ngi

    yu cu.

    Nhng ng dng ph bin s dng UDP nh DNS (Domain Name System), ng

    dng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP), v game

    trc tuyn.

    2. Cc phng thc nh tuyn

    NS2 thc thi ba chnh sch nh tuyn: static routing (nh tuyn tnh), session

    routing (nh tuyn phin), DV routing (nh tuyn vc t khong cch) v Link-state

    (trng thi lin kt).

    Dng phng thc rtproto trong lp Simulator xc nh chnh sch nh tuyn

    c dng.

    o $ns rtproto

    o type: Static, Session, DV, cost, multicast-path, LS.

  • 7

    - Link-state : s dng thut ton SPF (shortest path first) cp nht cc thng tin

    v c ch nh tuyn cho cc node trn h thng mng. Mi node s gi bng

    m t trng thi ca cc lin kt ring ca mnh ln mng. Ch cc thay i mi

    c gi i. u im l tc cao, khng chim dng bng thng nhiu nh

    thut ton DV tuy nhin thc hin phc tp. i vi m hnh ln thut ton

    ny c th lm tng tr truyn gi tin.

    - Distance vector : (cn gi l thut ton Bellman-Ford) gi bng nh tuyn ti

    cc node ln cn theo mt chu k nht nh. u im l d thc hin, d kim

    tra. Tuy nhin thi gian cp nht lu, chim dng bng thng ln trn mng.

    - Static routing : Phng thc tnh ton nh tuyn Static l phng thc tnh

    ton ng truyn mc nh trong NS-2. Phng thc ny s dng thut ton

    SPF. Thut ton tnh ng truyn chy chnh xc mt ln ti lc khi ng

    m phng. Khi cu trc mng thay i phi cp nht li, do ch thch hp

    trong h thng n gin, c kt ni n v ng truyn d liu c xc

    nh trc.

    - Session: S dng thut ton SPF tnh ton ti u ng truyn, bng nh

    tuyn s c cp nht ngay lp tc khi topo mng c s thay i.

    3. Theo di s kin trn h thng v cng c Xgraph

    a. Cc lnh c bn dng theo di cc s kin trn h thng

    - Cn bng cp pht b m cho tt c cc file theo di: $ns flush-trace

    - To mt i tng theo di:

    Cu trc: create-trace {type filename scr dst}

    V d : $ns create-trace Drop $tf $n0 $n2

    - Theo di tt c cc s kin trn h thng:

    $ns trace-all $trace_file

    b. Cu trc file trace

  • 8

    Mi mt lnh theo di trong cc lnh trn s c cc cu trc u ra khc nhau.

    y chng ta ch xt n cu trc file u ra ca lnh trace-all. Vi cc cng c

    phn tch file d liu c sn nh awk, grep, perl,. Chng ta c th c c tt c cc

    thng tin mong mun trong qu trnh h thng mng c m phng bng cch phn

    tch file trace-all.

    File trace c t chc trong 12 trng nh trong hnh di

    - Trng u tin m t loi s kin, c cho bi mt trong 4 k t r, +, -, d

    tng ng vi cc trng hp nhn ( u ra ca link), xp vo trong

    hng i (enqueued), ri khi hng i (dequeued), b hy (dropped)

    - Trng th hai biu din thi gian s kin xut hin.

    - Thng bo node input ca link ni s kin xy ra.

    - Thng bo node ouput ca link ni s kin xy ra.

    - Loi gi tin ( v d TCP, CBR, tn loi tng ng vi tn ca application m

    chng ta t, v d trong phn trc th application TCP c gi l tcp).

    - Kch c gi tin.

    - Mt vi loi c. Chng ta s xt phn sau.

    - Flow id (fid) ca Ipv6 m ngi dng thit lp cho mi lung (flow) ti u

    vo OTcl cript. Ta c th dng trng ny phn tch kt qu, cng nh

    thit lp mu sc cho cc lung trong m phng NAM.

    - a ch ca ngun, ni pht gi tin, c cho di dng node.port.

    - a ch ca ngun ch, ni nhn gi tin, c cho vi cng dng nh trn.

    - S chui cc gi tin ca mt lp giao thc mng. Mc d thnh phn UDP

    trong mng thc t khng c s cc chui nhng ns vn gi li cc vt (track)

    phn tch kt qu.

  • 9

    - Trng cui cng ghi ch s id ca gi tin (unique id of packet).

    c. Xgraph

    Xgrap l mt cng c v th c cung cp bi ns. Xgraph cho php chng

    ta to ra cc file postcript , nh , v 1 s nh dng khc bng cch n vo

    Hdcpy. cu lnh gi Xgraph c th c khai bo trong kch bn TCL do c

    th xut ra ngay th khi kt thc m phng .

    u vo ca Xgraph l 1 hoc nhiu file cha mi cp gi tr x-y trn 1 dng

    (mi dng s cha ta ca 1 im trn th ) . V d lnh : Xgraph f1 f2 s

    v ra trn cng 1 th ca file f1,f2

    Mt s la chn khi s dng Xgraph :

    - Title : -t ten_do_thi

    - Kch thc : -geometry xsize x ysize

    - Tiu cho cc trc : -x xtitle y ytitle

    - Mu ca ch v li v

    - Mu nn bg

    4. Thc hin cc yu cu

    a. T l chim dng b m

    T l chim dng cc b m c tnh nh sau:

    50 100%

    Vi queueLength l chiu di hng i tc thi, c tnh bng s gi n tr

    s gi i v s gi b rt.

    Code:

    Vi hng i ca lin kt gia node 3 v node 4, t l chim dng hng i

    c lu trong file queuesize.tr

    set qfile [$ns monitor-queue $node_3 $node_4 [open queue.tr w] 0.5]

    [$ns link $node_3 $node_4] queue-sample-timeout;

    proc QueueLength {} {

    global ns qsize qfile node_3 node_4

  • 10

    # thoi gian lay mau la 0.5s

    set time 0.5

    set now [$ns now]

    $qfile instvar parrivals_ pdepartures_ pdrops_

    # ty le chiem dung bo dem: queueLength/50 *100% =

    queueLength*2 %

    puts $qsize "$now [expr 2.0*[expr $parrivals_-$pdepartures_-

    $pdrops_]]"

    set bdepartures_ 0

    $ns at [expr $now + $time] "QueueLength"

    }

    Sau khi c file queuesize.tr ta v c th t l theo cu lnh:

    exec xgraph queuesize.tr -geometry 800x400 -t "Queue occupancy rate" -

    x "secs" -y "percentage(%)" &

    Hng i ca lin kt gia cc node khc c tnh tng t.

    b. Phn b Poisson

    Ta xy dng tin trnh Poisson qua mt i tng ExponentialOn/Off vi cc

    thnh phn tham s:

    . packetsize_ dung lng c nh ca gi d liu

    . burst_ time_ thi gian bt khi to

    . idle_ time_ thi gian tt khi to

    . rate_ tc ca gi

    to ra tin trnh Poisson ta cho tham s burst_time_ v 0 v idle_time bng

    1

    ca tin trnh Poisson.

    c. Gim gi tin

    - Ngun s1 pht cc gi tin vi tc l 1.3 MBps

    - Ngun s2 pht ra 2 lung vi cc gi tin tc l 1.5MBps v 2MBps

    - C sau 30s ngun s1 v s2 gim tc gi l 50 gi/s nn ta c lng gim

    sau 30s l

  • 11

    s1: 50 * 1300 = 65000 bytes

    s2: 50 * 1000 = 50000 bytes (2 lung)

    - Khi thay i s gi () s dn n idle_time_ v rate_ thay i. Cch tnh

    idle_time_ nh sau:

    1

    __ = , vy sau khi gim th

    idle_time_ = 1

    50

    - Rate c tnh nh sau:

    s1: rate_ = rate_ 65000 (bytes)

    s2: rate_ = rate_ 50000 (bytes)

    Sau khi tnh c rate_ v idle_time ca 3 lung ta lu trong cc file

    trafficfile1.tr trafficfile2.tr trafficfile3.tr

    Code:

    set time30 30

    proc PackageDecrease {} {

    global ns traffic1 traffic2 traffic3 time30 TrafficFile1 TrafficFile2

    TrafficFile3

    set now [$ns now]

    set idle1 [$traffic1 set idle_time_]

    set idle2 [$traffic2 set idle_time_]

    set idle3 [$traffic3 set idle_time_]

    set rate1 [$traffic1 set rate_]

    set rate2 [$traffic2 set rate_]

    set rate3 [$traffic3 set rate_]

    $traffic1 set idle_time_ [expr 1.0/[expr 1.0/$idle1 - 50]]

    $traffic2 set idle_time_ [expr 1.0/[expr 1.0/$idle2 - 50]]

    $traffic3 set idle_time_ [expr 1.0/[expr 1.0/$idle3 - 50]]

    $traffic1 set rate_ [expr $rate1 - 65000]

    $traffic2 set rate_ [expr $rate2 - 50000]

    $traffic3 set rate_ [expr $rate3 - 50000]

    # luu cac gia tri rate va idle_time vao file

    puts $TrafficFile1 "$now [$traffic1 set rate_] [$traffic1 set idle_time_]"

    puts $TrafficFile2 "$now [$traffic2 set rate_] [$traffic2 set idle_time_]"

    puts $TrafficFile3 "$now [$traffic3 set rate_] [$traffic3 set idle_time_]"

  • 12

    $ns at [expr $now + $time30] "PackageDecrease"

    }

    d. Tnh bng thng ca tng lung

    S dng Agent LossMonitor lu li nhng gi truyn, sau khi tnh c

    bng thng trong 1 chu k th lm sch Agent v thc hin li chu k tip theo.

    Code

    proc BandWidth {} {

    global ns sink1 sink2 sink3 BwFile1 BwFile2 BwFile3

    set time 3

    set bw1 [$sink1 set bytes_]

    set bw2 [$sink2 set bytes_]

    set bw3 [$sink3 set bytes_]

    set now [$ns now]

    puts $BwFile1 "$now [expr $bw1/$time*8/1000]"

    puts $BwFile2 "$now [expr $bw2/$time*8/1000]"

    puts $BwFile3 "$now [expr $bw3/$time*8/1000]"

    $sink1 set bytes_ 0

    $sink2 set bytes_ 0

    $sink3 set bytes_ 0

    $ns at [expr $now+$time] "BandWidth"

    }

    e. Tnh tr ca mi lung

    - Da vo nh dng ca file trace ta thu thp c s liu tnh tr xy ra

    trn ng truyn.

    - Tr ca cc gi tin c tnh nh sau: thi im gi tin n node ch tr i

    thi im gi tin node gi.

    - Vic ny c thc hin bng hm vit trong file .awk. Hm c vit nh

    sau(vi lung 1 t node 0 ti node 8)

    BEGIN {TimeSend[50000];TimeReceive[50000];Delay[50000]}

    {

    # doc gia tri trace-file theo cot

    action = $1;

    time = $2;

    from = $3;

  • 13

    to = $4;

    type = $5;

    pktsize = $6;

    flow_id = $8;

    src = $9;

    dst = $10;

    seq_no = $11;

    packet_id = $12;

    if((action=="+")&&(from == "0"))

    TimeSend[packet_id] = time;

    if((action=="r")&&(to == "8"))

    {

    Timereceive[packet_id]=time;

    Delay[packet_id] = Timereceive[packet_id]-

    TimeSend[packet_id];

    print packet_id" "Delay[packet_id];

    }

    }

    END {}

    - xut d liu ra file phc v vic v th ta dng cu lnh sau

    exec awk f >

    V. Thc hin m phng

    1. Kch bn m phng

    Thi im(s) Mc ch

    0.0 Bt u thc hin:

    - Tnh bng thng

    - Tnh t l chim dng hng i

    - Lung 1,2,3 truyn d liu

    30.0 Bt u gim tc gi 50 gi/s sau chu k 30s

  • 14

    300.0 Lung 1,2,3 kt thc truyn d liu

    301.0 ng cc file trace v data

    V th t l chim dng b m, hiu sut s dng bng

    thng v tr ng truyn

    Kt thc m phng

    2 Kt qu m phng

    a. Mng cc lin kt

    b. T l chim dng b m ca cc lin kt

  • 15

    Lin kt gia node 1 v node 3

    Lin kt gia node 2 v node 3

  • 16

    Lin kt gia node 1 v node 4

    Lin kt gia node 2 v node 6

  • 17

    Lin kt gia node 3 v node 4

    Lin kt gia node 4 v node 5

  • 18

    Lin kt gia node 4 v node 6

    c. Hiu sut s dng bng thng

    ng mu , xanh dng v xanh l cy tng ng vi cc lung 1,

    lung 2 v lung 3.

  • 19

    d. Tr ng truyn

    Tr trn lung 1

    Tr trn lung 2

  • 20

    Tr trn lung 3.

  • 21

    KT LUN

    Mn c s truyn s liu l mt mn hc chuyn ngnh quan trng v hu

    ch. N cung cp nhng kin thc c bn nht cho sinh vin c nh hng theo

    chuyn ngnh in t vin thng. Theo quan im hc phi i i vi hnh, em

    thy vic nh trng v cc Thy c to iu kin chng em c c hi c lm

    bi tp ln l mt vic rt c ngha. bi chng em c giao cng rt ph hp

    vi trnh hin ti ca chng em. Sau khi hon thnh bi tp ny chng em

    hc hi v tch ly c rt nhiu kin thc. Trc tin phi k n l kin thc

    v mng thng tin, cc giao thc truyn v gi gi tin,.. Th hai phi k n l

    bit cch s dng phn mm m ngun m v cng c h tr thit k mng rt hu

    hiu l NS2.

    Mc d c gng ht sc nhng chc chn bi lm ca chng em cn

    nhiu thiu st, mong Thy gp cho chng em nhng nhn xt qu bu bi tp

    ln ny c hon thin hn.

    Li cui, nhm chng em xin knh chc Thy sc khe, cng tc tt, v gt

    hi c nhiu thnh cng hn na trong o to cng nh nghin cu!

    Nhm chng em xin chn thnh cm n!

  • 22

    Ti liu tham kho

    1. Slide bi ging C s mng thng tin ca Thy Phm Vn Tin

    2. Ti liu tham kho NS2 (Ns2_manual, Introduction to Network Simulator NS2

    Teerawat Issariyakul)

    3. Ti liu hng dn NS2 http://www.isi.edu/nsnam/ns/tutorial/