rip_1.test 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. %description:
  2. Testing RIP routing
  3. Backbone only with n routers
  4. UDP communications through entire backbone
  5. RIP routing works until the diameter of the network exceeds 15
  6. %#--------------------------------------------------------------------------------------------------------------
  7. %file: test.ned
  8. import inet.linklayer.ethernet.EtherHub;
  9. import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator;
  10. import inet.node.inet.StandardHost;
  11. import inet.node.rip.RIPRouter;
  12. import inet.common.misc.ThruputMeteringChannel;
  13. network Test1
  14. {
  15. parameters:
  16. int numIRouters = default(0);
  17. @display("p=10,10;b=712,152");
  18. types:
  19. channel C extends ThruputMeteringChannel
  20. {
  21. delay = 0.1us;
  22. datarate = 100Mbps;
  23. thruputDisplayFormat = "#N";
  24. }
  25. submodules:
  26. H1: StandardHost {
  27. parameters:
  28. @display("p=56,92;i=device/laptop");
  29. gates:
  30. ethg[1];
  31. }
  32. N1: EtherHub {
  33. parameters:
  34. @display("p=184,182");
  35. gates:
  36. ethg[2];
  37. }
  38. R1: RIPRouter {
  39. parameters:
  40. @display("p=296,92");
  41. gates:
  42. ethg[2];
  43. }
  44. RI[numIRouters]: RIPRouter {
  45. gates:
  46. ethg[2];
  47. }
  48. R2: RIPRouter {
  49. parameters:
  50. @display("p=416,92");
  51. gates:
  52. ethg[2];
  53. }
  54. N2: EtherHub {
  55. parameters:
  56. @display("p=532,182");
  57. gates:
  58. ethg[2];
  59. }
  60. H2: StandardHost {
  61. parameters:
  62. @display("p=660,92;i=device/laptop");
  63. gates:
  64. ethg[1];
  65. }
  66. configurator: IPv4NetworkConfigurator {
  67. parameters:
  68. config = xml("<config>"+
  69. "<interface among='H1 R1' address='192.168.1.x' netmask='255.255.255.0' />"+
  70. "<interface among='H2 R2' address='192.168.2.x' netmask='255.255.255.0' />"+
  71. "<interface among='R1 RI[*] R2' address='192.168.60.x' netmask='255.255.255.x' />"+
  72. "<route hosts='H1 H2' destination='*' netmask='0.0.0.0' interface='eth0' />"+
  73. "</config>");
  74. addStaticRoutes = false;
  75. addDefaultRoutes = false;
  76. @display("p=75,43");
  77. }
  78. connections:
  79. H1.ethg[0] <--> C <--> N1.ethg[0];
  80. N1.ethg[1] <--> C <--> R1.ethg[0];
  81. R1.ethg[1] <--> C <--> R2.ethg[0] if numIRouters == 0;
  82. R1.ethg[1] <--> C <--> RI[0].ethg[0] if numIRouters > 0;
  83. for i = 1..numIRouters-1 {
  84. RI[i-1].ethg[1] <--> C <--> RI[i].ethg[0];
  85. }
  86. RI[numIRouters-1].ethg[1] <--> C <--> R2.ethg[0] if numIRouters > 0;
  87. R2.ethg[1] <--> C <--> N2.ethg[0];
  88. N2.ethg[1] <--> C <--> H2.ethg[0];
  89. }
  90. %#--------------------------------------------------------------------------------------------------------------
  91. %inifile: omnetpp.ini
  92. [General]
  93. description = "Simple test"
  94. network = Test1
  95. ned-path = .;../../../../src;../../lib
  96. tkenv-plugin-path = ../../../etc/plugins
  97. sim-time-limit = 250s
  98. #omnetpp 5.0 - 5.1 compatibility:
  99. eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
  100. output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
  101. output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
  102. snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"
  103. **.rip.ripConfig = xmldoc("RIPConfig.xml")
  104. **.numUdpApps = 2
  105. **.udpApp[0].typename = "UDPBasicApp"
  106. **.udpApp[0].destPort = 1234
  107. **.udpApp[0].messageLength = 32 bytes
  108. **.udpApp[0].sendInterval = 1s
  109. **.udpApp[0].startTime = 11s+5*${n}s
  110. **.udpApp[0].stopTime = this.startTime + 99.9s
  111. **.H2.udpApp[0].destAddresses = "H1"
  112. **.H1.udpApp[0].destAddresses = "H2"
  113. **.udpApp[1].typename = "UDPEchoApp"
  114. **.udpApp[1].localPort = 1234
  115. **.arp.cacheTimeout = 1s
  116. **.numIRouters = ${n=0,1,2,5,13,14,25} # n=14: there is 16 hop from R1 to H2 and from R2 to H1
  117. %#--------------------------------------------------------------------------------------------------------------
  118. %file: RIPConfig.xml
  119. <?xml version="1.0"?>
  120. <RIPConfig>
  121. <!-- Interfaces -->
  122. <interface among="R*" metric="1"/>
  123. </RIPConfig>
  124. %#--------------------------------------------------------------------------------------------------------------
  125. %contains: results/General-0.sca
  126. scalar Test1.H1.udpApp[0] sentPk:count 100
  127. %contains: results/General-0.sca
  128. scalar Test1.H1.udpApp[0] rcvdPk:count 100
  129. %contains: results/General-0.sca
  130. scalar Test1.H1.udpApp[1] echoedPk:count 100
  131. %contains: results/General-0.sca
  132. scalar Test1.H2.udpApp[0] sentPk:count 100
  133. %contains: results/General-0.sca
  134. scalar Test1.H2.udpApp[0] rcvdPk:count 100
  135. %contains: results/General-0.sca
  136. scalar Test1.H2.udpApp[1] echoedPk:count 100
  137. %contains: results/General-1.sca
  138. scalar Test1.H1.udpApp[0] sentPk:count 100
  139. %contains: results/General-1.sca
  140. scalar Test1.H1.udpApp[0] rcvdPk:count 100
  141. %contains: results/General-1.sca
  142. scalar Test1.H1.udpApp[1] echoedPk:count 100
  143. %contains: results/General-1.sca
  144. scalar Test1.H2.udpApp[0] sentPk:count 100
  145. %contains: results/General-1.sca
  146. scalar Test1.H2.udpApp[0] rcvdPk:count 100
  147. %contains: results/General-1.sca
  148. scalar Test1.H2.udpApp[1] echoedPk:count 100
  149. %contains: results/General-2.sca
  150. scalar Test1.H1.udpApp[0] sentPk:count 100
  151. %contains: results/General-2.sca
  152. scalar Test1.H1.udpApp[0] rcvdPk:count 100
  153. %contains: results/General-2.sca
  154. scalar Test1.H1.udpApp[1] echoedPk:count 100
  155. %contains: results/General-2.sca
  156. scalar Test1.H2.udpApp[0] sentPk:count 100
  157. %contains: results/General-2.sca
  158. scalar Test1.H2.udpApp[0] rcvdPk:count 100
  159. %contains: results/General-2.sca
  160. scalar Test1.H2.udpApp[1] echoedPk:count 100
  161. %contains: results/General-3.sca
  162. scalar Test1.H1.udpApp[0] sentPk:count 100
  163. %contains: results/General-3.sca
  164. scalar Test1.H1.udpApp[0] rcvdPk:count 100
  165. %contains: results/General-3.sca
  166. scalar Test1.H1.udpApp[1] echoedPk:count 100
  167. %contains: results/General-3.sca
  168. scalar Test1.H2.udpApp[0] sentPk:count 100
  169. %contains: results/General-3.sca
  170. scalar Test1.H2.udpApp[0] rcvdPk:count 100
  171. %contains: results/General-3.sca
  172. scalar Test1.H2.udpApp[1] echoedPk:count 100
  173. %contains: results/General-4.sca
  174. scalar Test1.H1.udpApp[0] sentPk:count 100
  175. %contains: results/General-4.sca
  176. scalar Test1.H1.udpApp[0] rcvdPk:count 100
  177. %contains: results/General-4.sca
  178. scalar Test1.H1.udpApp[1] echoedPk:count 100
  179. %contains: results/General-4.sca
  180. scalar Test1.H2.udpApp[0] sentPk:count 100
  181. %contains: results/General-4.sca
  182. scalar Test1.H2.udpApp[0] rcvdPk:count 100
  183. %contains: results/General-4.sca
  184. scalar Test1.H2.udpApp[1] echoedPk:count 100
  185. %contains: results/General-5.sca
  186. scalar Test1.H1.udpApp[0] sentPk:count 100
  187. %contains: results/General-5.sca
  188. scalar Test1.H1.udpApp[0] rcvdPk:count 0
  189. %contains: results/General-5.sca
  190. scalar Test1.H1.udpApp[1] echoedPk:count 0
  191. %contains: results/General-5.sca
  192. scalar Test1.H2.udpApp[0] sentPk:count 100
  193. %contains: results/General-5.sca
  194. scalar Test1.H2.udpApp[0] rcvdPk:count 0
  195. %contains: results/General-5.sca
  196. scalar Test1.H2.udpApp[1] echoedPk:count 0
  197. %contains: results/General-6.sca
  198. scalar Test1.H1.udpApp[0] sentPk:count 100
  199. %contains: results/General-6.sca
  200. scalar Test1.H1.udpApp[0] rcvdPk:count 0
  201. %contains: results/General-6.sca
  202. scalar Test1.H1.udpApp[1] echoedPk:count 0
  203. %contains: results/General-6.sca
  204. scalar Test1.H2.udpApp[0] sentPk:count 100
  205. %contains: results/General-6.sca
  206. scalar Test1.H2.udpApp[0] rcvdPk:count 0
  207. %contains: results/General-6.sca
  208. scalar Test1.H2.udpApp[1] echoedPk:count 0
  209. %#--------------------------------------------------------------------------------------------------------------