《NS与网络模拟》分组头检测示例

《NS与网络模拟》5.5.5节有一测试分组头的示例,稍微修改如下,以便于更好地理解:
proc show {} {
     PacketHeaderManager instvar tab_
     set strhdr1 ""
     set strhdr2 ""
     set i 0
     foreach cl [PacketHeader info subclass] {
         if {![info exist tab_($cl)]} {
  set strhdr1 "$strhdr1\t$cl"
         } else {
                set i [expr $i+1]
  if {$i>=3} {
     set i 0
     set strhdr2 "$strhdr2\n"
  }
  set strhdr2 "$strhdr2\t$cl"
         }
     }
     puts "不存在的分组头:\n$strhdr1"
     puts "存在的分组头:\n$strhdr2"
}
show    
puts "======移除TCP IP分组头=================="
remove-packet-header TCP IP
show    
puts "======添加TCP分组头====================="
add-packet-header TCP
show
 
运行:
$ ns ex5-5-5.tcl
不存在的分组头:
        PacketHeader/Lms
存在的分组头:
        PacketHeader/PBC        PacketHeader/LRWPAN
        PacketHeader/XCP        PacketHeader/PGM        PacketHeader/PGM_SPM
        PacketHeader/PGM_NAK    PacketHeader/Pushback   PacketHeader/NV
        PacketHeader/LDP        PacketHeader/MPLS       PacketHeader/rtProtoLS
        PacketHeader/Ping       PacketHeader/TFRC       PacketHeader/TFRC_ACK
        PacketHeader/Diffusion  PacketHeader/RAP        PacketHeader/AOMDV
        PacketHeader/AODV       PacketHeader/SR PacketHeader/TORA
        PacketHeader/IMEP       PacketHeader/ARP        PacketHeader/MIP
        PacketHeader/IPinIP     PacketHeader/LL PacketHeader/Mac
        PacketHeader/Encap      PacketHeader/HttpInval  PacketHeader/SRMEXT
        PacketHeader/SRM        PacketHeader/aSRM       PacketHeader/mcastCtrl
        PacketHeader/CtrMcast   PacketHeader/rtProtoDV  PacketHeader/GAF
        PacketHeader/Snoop      PacketHeader/SCTP       PacketHeader/TCPA
        PacketHeader/TCP        PacketHeader/IVS        PacketHeader/RTP
        PacketHeader/Message    PacketHeader/Resv       PacketHeader/QS
        PacketHeader/UMP        PacketHeader/Src_rt     PacketHeader/IP
        PacketHeader/Common     PacketHeader/Flags
======移除TCP IP分组头==================
不存在的分组头:
        PacketHeader/Lms        PacketHeader/TCP        PacketHeader/IP
存在的分组头:
        PacketHeader/PBC        PacketHeader/LRWPAN
        PacketHeader/XCP        PacketHeader/PGM        PacketHeader/PGM_SPM
        PacketHeader/PGM_NAK    PacketHeader/Pushback   PacketHeader/NV
        PacketHeader/LDP        PacketHeader/MPLS       PacketHeader/rtProtoLS
        PacketHeader/Ping       PacketHeader/TFRC       PacketHeader/TFRC_ACK
        PacketHeader/Diffusion  PacketHeader/RAP        PacketHeader/AOMDV
        PacketHeader/AODV       PacketHeader/SR PacketHeader/TORA
        PacketHeader/IMEP       PacketHeader/ARP        PacketHeader/MIP
        PacketHeader/IPinIP     PacketHeader/LL PacketHeader/Mac
        PacketHeader/Encap      PacketHeader/HttpInval  PacketHeader/SRMEXT
        PacketHeader/SRM        PacketHeader/aSRM       PacketHeader/mcastCtrl
        PacketHeader/CtrMcast   PacketHeader/rtProtoDV  PacketHeader/GAF
        PacketHeader/Snoop      PacketHeader/SCTP       PacketHeader/TCPA
        PacketHeader/IVS        PacketHeader/RTP        PacketHeader/Message
        PacketHeader/Resv       PacketHeader/QS PacketHeader/UMP
        PacketHeader/Src_rt     PacketHeader/Common     PacketHeader/Flags
======添加TCP分组头=====================
不存在的分组头:
        PacketHeader/Lms        PacketHeader/IP
存在的分组头:
        PacketHeader/PBC        PacketHeader/LRWPAN
        PacketHeader/XCP        PacketHeader/PGM        PacketHeader/PGM_SPM
        PacketHeader/PGM_NAK    PacketHeader/Pushback   PacketHeader/NV
        PacketHeader/LDP        PacketHeader/MPLS       PacketHeader/rtProtoLS
        PacketHeader/Ping       PacketHeader/TFRC       PacketHeader/TFRC_ACK
        PacketHeader/Diffusion  PacketHeader/RAP        PacketHeader/AOMDV
        PacketHeader/AODV       PacketHeader/SR PacketHeader/TORA
        PacketHeader/IMEP       PacketHeader/ARP        PacketHeader/MIP
        PacketHeader/IPinIP     PacketHeader/LL PacketHeader/Mac
        PacketHeader/Encap      PacketHeader/HttpInval  PacketHeader/SRMEXT
        PacketHeader/SRM        PacketHeader/aSRM       PacketHeader/mcastCtrl
        PacketHeader/CtrMcast   PacketHeader/rtProtoDV  PacketHeader/GAF
        PacketHeader/Snoop      PacketHeader/SCTP       PacketHeader/TCPA
        PacketHeader/TCP        PacketHeader/IVS        PacketHeader/RTP
        PacketHeader/Message    PacketHeader/Resv       PacketHeader/QS
        PacketHeader/UMP        PacketHeader/Src_rt     PacketHeader/Common
        PacketHeader/Flags
 

你可能感兴趣的:(职场,示例,休闲,《NS与网络模拟》,分组头)