⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sat-repeater.tcl

📁 跑leach需要的
💻 TCL
字号:
## Copyright (c) 1999 Regents of the University of California.# All rights reserved.## Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:# 1. Redistributions of source code must retain the above copyright#    notice, this list of conditions and the following disclaimer.# 2. Redistributions in binary form must reproduce the above copyright#    notice, this list of conditions and the following disclaimer in the#    documentation and/or other materials provided with the distribution.# 3. All advertising materials mentioning features or use of this software#    must display the following acknowledgement:#       This product includes software developed by the MASH Research#       Group at the University of California Berkeley.# 4. Neither the name of the University nor of the Research Group may be#    used to endorse or promote products derived from this software without#    specific prior written permission.## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF# SUCH DAMAGE.## Contributed by Tom Henderson, UCB Daedalus Research Group, June 1999## $Header: /nfs/jade/vint/CVSROOT/ns-2/tcl/ex/sat-repeater.tcl,v 1.5 2002/07/10 02:29:50 tomh Exp $## Simple script with a geostationary satellite and two terminals# and an error module on the receiving terminal.  The traffic consists of# a FTP source and a CBR stream  # global nsset ns [new Simulator]# Global configuration parameters# We'll set these global options for the satellite terminalsglobal optset opt(chan)           Channel/Satset opt(bw_up)		2Mbset opt(bw_down)	2Mbset opt(phy)            Phy/Satset opt(mac)            Mac/Satset opt(ifq)            Queue/DropTailset opt(qlim)		50set opt(ll)             LL/Satset opt(wiredRouting)   OFF# XXX This tracing enabling must precede link and node creation set outfile [open out.tr w]$ns trace-all $outfile# Set up satellite and terrestrial nodes# Configure the node generator for bent-pipe satellite# geo-repeater uses type Phy/Repeater$ns node-config -satNodeType geo-repeater \		-phyType Phy/Repeater \		-channelType $opt(chan) \		-downlinkBW $opt(bw_down)  \		-wiredRouting $opt(wiredRouting)# GEO satellite at 95 degrees longitude Westset n1 [$ns node]$n1 set-position -95# Configure the node generator for satellite terminals$ns node-config -satNodeType terminal \                -llType $opt(ll) \                -ifqType $opt(ifq) \                -ifqLen $opt(qlim) \                -macType $opt(mac) \                -phyType $opt(phy) \                -channelType $opt(chan) \                -downlinkBW $opt(bw_down) \                -wiredRouting $opt(wiredRouting)# Two terminals: one in NY and one in SF set n2 [$ns node]$n2 set-position 40.9 -73.9; # NYset n3 [$ns node]$n3 set-position 37.8 -122.4; # SF# Add GSLs to geo satellites$n2 add-gsl geo $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \    $opt(phy) [$n1 set downlink_] [$n1 set uplink_]$n3 add-gsl geo $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \    $opt(phy) [$n1 set downlink_] [$n1 set uplink_]# Add an error model to the receiving terminal nodeset em_ [new ErrorModel]$em_ unit pkt$em_ set rate_ 0.02$em_ ranvar [new RandomVariable/Uniform]$n3 interface-errormodel $em_ $ns trace-all-satlinks $outfile# Attach agents for CBR traffic generator set udp0 [new Agent/UDP]$ns attach-agent $n2 $udp0set cbr0 [new Application/Traffic/CBR]$cbr0 attach-agent $udp0$cbr0 set interval_ 6set null0 [new Agent/Null]$ns attach-agent $n3 $null0$ns connect $udp0 $null0# Attach agents for FTP  set tcp1 [$ns create-connection TCP $n2 TCPSink $n3 0]set ftp1 [$tcp1 attach-app FTP]$ns at 7.0 "$ftp1 produce 100"# We use centralized routingset satrouteobject_ [new SatRouteObject]$satrouteobject_ compute_routes$ns at 1.0 "$cbr0 start"$ns at 100.0 "finish"proc finish {} {	global ns outfile	$ns flush-trace	close $outfile	exit 0}$ns run

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -