Hello everyone,

I am a student doing my project about routing with different address scheme.
Now I have encountered some problems when I try to implement DV routing
protocol in a network with hierarchical addresses:

 

1.       The protocol can only be implemented on some nodes, rather than the
whole network. If implemented to all nodes, it will report the following
error info:

 

--- Classfier::no-slot{} default handler (tcl/lib/ns-lib

.tcl) ---

        _o19: no target for slot 0

        _o19 type: Classifier/Addr

content dump:

classifier _o19

        0 offset

        11 shift

        2047 mask

        1 slots

                slot 0: _o20 (Classifier/Addr)

---------- Finished standard no-slot{} default handler –

 

2.       When implement the protocol on some nodes, the routing table size
of these nodes did change. However, there’s no trace of the type “rtprotoDV”
in the trace file. So I am really confused. If there’s no rtprotoDV packet,
how could the table size changes?

 

3.    The chapter of hierarchical routing in the ns2 manual says the table
size would be smaller when hierarchical addresses are used, but the results
seem to be the same.

Since I am running out of time, it is very urgent. So I hope someone could
help me a little. Thank you all in advance.

Below is my ns2 script. Thank you very much for spending your time on my
problems.

--------------------------------
set ns [new Simulator]

$ns set-address-format hierarchical

$ns namtrace-all [open ./ownegs/dkh/nHIER.nam w]
$ns trace-all [open ./ownegs/dkh/tHIER.tr w]

#topology
#############################################
AddrParams set domain_num_ 2
lappend cluster_num 3 3
AddrParams set cluster_num_ $cluster_num
lappend eilastlevel 1 3 3 1 3 3
AddrParams set nodes_num_ $eilastlevel

set naddr { 0.0.0  
                        
                        0.1.0 
                        0.1.1 
                        0.1.2
                        
                        0.2.0 
                        0.2.1 
                        0.2.2
                        
                        1.0.0
                        
                        1.1.0 
                        1.1.1 
                        1.1.2 
                        
                        1.2.0 
                        1.2.1 
                        1.2.2 }

for {set i 0} {$i < 14} {incr i} {
     set n($i) [$ns node [lindex $naddr $i]]
     #lappend nodelist $n($i)
}

lappend nodelist $n(0) $n(8)
###########################
$ns rtproto DV $nodelist
###########################

$ns duplex-link $n(0) $n(1) 5Mb 2ms DropTail
$ns duplex-link $n(0) $n(4) 5Mb 2ms DropTail

$ns duplex-link $n(1) $n(2) 5Mb 2ms DropTail
$ns duplex-link $n(1) $n(3) 5Mb 2ms DropTail

#$ns duplex-link $n(3) $n(4) 5Mb 2ms DropTail

$ns duplex-link $n(4) $n(5) 5Mb 2ms DropTail
$ns duplex-link $n(4) $n(6) 5Mb 2ms DropTail
####################
$ns duplex-link $n(0) $n(7) 5Mb 2ms DropTail
#####################

$ns duplex-link $n(7) $n(8) 5Mb 2ms DropTail
$ns duplex-link $n(7) $n(11) 5Mb 2ms DropTail

$ns duplex-link $n(8) $n(9) 5Mb 2ms DropTail
$ns duplex-link $n(8) $n(10) 5Mb 2ms DropTail

$ns duplex-link $n(11) $n(12) 5Mb 2ms DropTail
$ns duplex-link $n(11) $n(13) 5Mb 2ms DropTail

###############################################


#label routing table size in the nam
##############################################
$ns at 1.0 {$n(0) label [$n(0) set rtsize_]}
$ns at 1.0 {$n(1) label [$n(1) set rtsize_]}
$ns at 1.0 {$n(2) label [$n(2) set rtsize_]}
$ns at 1.0 {$n(3) label [$n(3) set rtsize_]}
$ns at 1.0 {$n(4) label [$n(4) set rtsize_]}
$ns at 1.0 {$n(5) label [$n(5) set rtsize_]}
$ns at 1.0 {$n(6) label [$n(6) set rtsize_]}
$ns at 1.0 {$n(7) label [$n(7) set rtsize_]}
$ns at 1.0 {$n(8) label [$n(8) set rtsize_]}
$ns at 1.0 {$n(9) label [$n(9) set rtsize_]}
$ns at 1.0 {$n(10) label [$n(10) set rtsize_]}
$ns at 1.0 {$n(11) label [$n(11) set rtsize_]}
$ns at 1.0 {$n(12) label [$n(12) set rtsize_]}
$ns at 1.0 {$n(13) label [$n(13) set rtsize_]}
##############################################


$ns at 3.5 "finish"

proc finish {} {
        global ns n
        $ns flush-trace
        ##puts "running nam..."
        #exec nam ./ownegs/dkh/nHIER.nam &
        exit 0
}

$ns run



-- 
View this message in context: 
http://www.nabble.com/please-help-me-about-hierarchical-routing-tf4075384.html#a11582603
Sent from the ns-users mailing list archive at Nabble.com.


Reply via email to