Fussgaengerzonenproblem-Anhang-A.page 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. ---
  2. format: DocBook
  3. title: Anhang: Berechnung des Routingverlaufs einer einfachen IGP-Kopplung zur Veranschaulichung des counting-to-infinity Problems
  4. ...
  5. <article>
  6. <articleinfo>
  7. <title>Anhang: Berechnung des Routingverlaufs einer einfachen IGP-Kopplung zur Veranschaulichung des counting-to-infinity Problems</title>
  8. </articleinfo>
  9. <simpara>Dieses Dokument ist ein Anhang des Dokuments <ulink url="Fussgaengerzonenproblem">Fußgängerzonenproblem</ulink>.
  10. <simpara>Im Folgenden wird die Dynamik des Routings in einer IGP-Kopplung als eine Folge von Zustandstabellen veranschaulicht. In diesem Beispiel erfolgt eine Partitionierung der Router { S } und { A B C }, was zum Kreislauf einer von S stammenden Route führt. Wie man beim Vergleich der Zustände T=5 und T=8 sieht, entsteht ein counting-to-infinity Kreislauf, der bei jedem Durchgang die Metrik der Route um 3 erhöht.</simpara>
  11. <table>
  12. <tgroup cols="2">
  13. <colspec align="left" />
  14. <colspec align="left" />
  15. <thead>
  16. <row>
  17. <entry>
  18. Notation
  19. </entry>
  20. </row>
  21. </thead>
  22. <tbody>
  23. <row>
  24. <entry>
  25. T=0, T=1, ...
  26. </entry>
  27. <entry>
  28. Nr. des Routingzyklus. Ein Routingszyklus umfasst den Transport einer Route durch eine IGP-Instanz und ihre Verarbeitung im Router. Das läuft in allen IGPs und Routern parallel ab, sodass zum "Zeitpunkt" T=n+1 im gesamten Diagramm der Folgezustand von T=n erreicht ist.
  29. </entry>
  30. </row>
  31. <row>
  32. <entry>
  33. S
  34. </entry>
  35. <entry>
  36. Quellrouter für den Präfix der betrachteten Route. Der Präfix wird nicht mitnotiert, da er sich nicht ändert.
  37. </entry>
  38. </row>
  39. <row>
  40. <entry>
  41. A, B, C
  42. </entry>
  43. <entry>
  44. Grenzrouter der betrachteten IGP-Kopplung.
  45. </entry>
  46. </row>
  47. <row>
  48. <entry>
  49. a, b, c, d
  50. </entry>
  51. <entry>
  52. IGP-Instanzen der betrachteten IGP-Kopplung.
  53. </entry>
  54. </row>
  55. <row>
  56. <entry>
  57. 1, 2, 3, ...
  58. </entry>
  59. <entry>
  60. Metrikwerte einer einfachen hop count Metrik. Diese Metrik wird global verwendet, d.h. gilt in allen betrachteten IGPs.
  61. </entry>
  62. </row>
  63. <row>
  64. <entry>
  65. A(a) &lt;- S:1
  66. </entry>
  67. <entry>
  68. Die Routingtabelle für das IGP a im Router A erhält aus dem IGP a eine Route für den betrachteten Präfix mit next hop S und Metrik 1.
  69. </entry>
  70. </row>
  71. <row>
  72. <entry>
  73. —————————<br />
  74. B = A:2&lt;C:3
  75. </entry>
  76. <entry>
  77. Die zentrale Routingtabelle des Routers B enthält für den betrachteten Präfix eine Route über A mit Metrik 2, sowie eine Route über C mit Metrik 3. Tie-breaker bei gleicher Metrik ist die Router ID. "&lt;" ist das Symbol der so entstehenden totalen Ordnungsrelation auf den Routen der zentralen Tabelle des Routers.
  78. </entry>
  79. </row>
  80. <row>
  81. <entry>
  82. => A:1 -> b
  83. </entry>
  84. <entry>
  85. Die Route zum betrachteten Präfix mit der Metrik 1 wird weiterhin vom Router A mit next hop self ins IGP b redistribuiert.
  86. </entry>
  87. </row>
  88. <row>
  89. <entry>
  90. => retract A:1 -> b
  91. </entry>
  92. <entry>
  93. Die Route zum betrachteten Präfix mit der Metrik 1 wird vom Router A aus dem IGP b zurückgezogen.
  94. </entry>
  95. </row>
  96. <row>
  97. <entry>
  98. => new B:3 -> b
  99. </entry>
  100. <entry>
  101. Die Route zum betrachteten Präfix mit der Metrik 1 wird vom Router B mit next hop self ins IGP b exportiert, wohin sie im vorigen Zyklus noch nicht exportiert wurde.
  102. </entry>
  103. </row>
  104. <row>
  105. <entry>
  106. ... *
  107. </entry>
  108. <entry>
  109. Dieser Eintrag wurde im aktuellen Routingzyklus verändert.
  110. </entry>
  111. </row>
  112. </tbody>
  113. </tgroup>
  114. </table>
  115. <informaltable>
  116. <tgroup cols="2">
  117. <colspec align="center" />
  118. <colspec align="center" />
  119. <thead>
  120. <row>
  121. <entry>
  122. Ausgangssituation <br />
  123. (T=0)
  124. </entry>
  125. <entry>
  126. A hat die direkte<br />
  127. Route von S<br />
  128. verloren<br />
  129. (T=1)
  130. </entry>
  131. <entry>
  132. </entry>
  133. </row>
  134. </thead>
  135. <tbody>
  136. <row>
  137. <entry>
  138. S <br />
  139. |a <br />
  140. A <br />
  141. b / \ c <br />
  142. B—C <br />
  143. d
  144. </entry>
  145. <entry>
  146. S<br />
  147. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a <br />
  148. A <br />
  149. b / \ c<br />
  150. B—C<br />
  151. d<br />
  152. </entry>
  153. </row>
  154. </tbody>
  155. </tgroup>
  156. </informaltable>
  157. <table frame="all">
  158. <tgroup cols="9", align='left'>
  159. <thead>
  160. <row>
  161. <entry>
  162. T=0
  163. </entry>
  164. <entry>
  165. T=1
  166. </entry>
  167. <entry>
  168. T=2
  169. </entry>
  170. <entry>
  171. T=3
  172. </entry>
  173. <entry>
  174. T=4
  175. </entry>
  176. <entry>
  177. T=5
  178. </entry>
  179. <entry>
  180. T=6
  181. </entry>
  182. <entry>
  183. T=7
  184. </entry>
  185. <entry>
  186. T=8
  187. </entry>
  188. </row>
  189. </thead>
  190. <tbody>
  191. <row>
  192. <entry>
  193. A(a) &lt;- S:1 <br />
  194. A(b) &lt;- <br />
  195. A(c) &lt;- <br />
  196. ————————— <br />
  197. A = S:1
  198. </entry>
  199. <entry>
  200. A(a) &lt;- * <br />
  201. A(b) &lt;- <br />
  202. A(c) &lt;- <br />
  203. ————————— <br />
  204. A= *
  205. </entry>
  206. <entry>
  207. A(a) &lt;- <br />
  208. A(b) &lt;- <br />
  209. A(c) &lt;- <br />
  210. ————————— <br />
  211. A =
  212. </entry>
  213. <entry>
  214. A(a) &lt;- <br />
  215. A(b) &lt;- B4 * <br />
  216. A(c) &lt;- C4 * <br />
  217. ————————— <br />
  218. A = B:4&lt;C:4 *
  219. </entry>
  220. <entry>
  221. A(a) &lt;- <br />
  222. A(b) &lt;- *<br />
  223. A(c) &lt;- *<br />
  224. ————————— <br />
  225. A = *
  226. </entry>
  227. <entry>
  228. A(a) &lt;- <br />
  229. A(b) &lt;- <br />
  230. A(c) &lt;- <br />
  231. ————————— <br />
  232. A =
  233. </entry>
  234. <entry>
  235. A(a) &lt;- <br />
  236. A(b) &lt;- B:7 *<br />
  237. A(c) &lt;- <br />
  238. ————————— <br />
  239. A = B:7 *
  240. </entry>
  241. <entry>
  242. A(a) &lt;- <br />
  243. A(b) &lt;- *<br />
  244. A(c) &lt;- <br />
  245. ————————— <br />
  246. A = *
  247. </entry>
  248. <entry>
  249. A(a) &lt;- <br />
  250. A(b) &lt;- <br />
  251. A(c) &lt;- <br />
  252. ————————— <br />
  253. A =
  254. </entry>
  255. </row>
  256. <row>
  257. <entry>
  258. =&gt; A:1 -&gt; b <br />
  259. =&gt; A:1 -&gt; c
  260. </entry>
  261. <entry>
  262. =&gt; retract A:1 -&gt; b * <br />
  263. =&gt; retract A:1 -&gt; c *
  264. </entry>
  265. <entry>
  266. </entry>
  267. <entry>
  268. =&gt; new A:4 -&gt; c *
  269. </entry>
  270. <entry>
  271. =&gt; retract A:4 -&gt; c *
  272. </entry>
  273. <entry>
  274. </entry>
  275. <entry>
  276. =&gt; new A:7 -&gt; c *
  277. </entry>
  278. <entry>
  279. =&gt; retract A:7 -&gt; c *
  280. </entry>
  281. <entry>
  282. </entry>
  283. </row>
  284. <row>
  285. <entry>
  286. </entry>
  287. </row>
  288. <row>
  289. <entry>
  290. B(b) &lt;- A:2<br />
  291. B(d) &lt;- C:3<br />
  292. ————————— <br />
  293. B = A:2&lt;C:3
  294. </entry>
  295. <entry>
  296. B(b) &lt;- A:2<br />
  297. B(d) &lt;- C:3<br />
  298. ————————— <br />
  299. B = A:2&lt;C:3
  300. </entry>
  301. <entry>
  302. B(b) &lt;- *<br />
  303. B(d) &lt;- C:3<br />
  304. ————————— <br />
  305. B = C:3 *
  306. </entry>
  307. <entry>
  308. B(b) &lt;- <br />
  309. B(d) &lt;- *<br />
  310. ————————— <br />
  311. B =
  312. </entry>
  313. <entry>
  314. B(b) &lt;- <br />
  315. B(d) &lt;- <br />
  316. ————————— <br />
  317. B =
  318. </entry>
  319. <entry>
  320. B(b) &lt;- <br />
  321. B(d) &lt;- C:6 *<br />
  322. ————————— <br />
  323. B = C:6 *
  324. </entry>
  325. <entry>
  326. B(b) &lt;- <br />
  327. B(d) &lt;- *<br />
  328. ————————— <br />
  329. B = *
  330. </entry>
  331. <entry>
  332. B(b) &lt;- <br />
  333. B(d) &lt;- <br />
  334. ————————— <br />
  335. B =
  336. </entry>
  337. <entry>
  338. B(b) &lt;- <br />
  339. B(d) &lt;- C:9 *<br />
  340. ————————— <br />
  341. B = C:9 *
  342. </entry>
  343. </row>
  344. <row>
  345. <entry>
  346. =&gt; B:2 -&gt; d
  347. </entry>
  348. <entry>
  349. =&gt; B:2 -&gt; d
  350. </entry>
  351. <entry>
  352. =&gt; retract B:2 -&gt; d * <br />
  353. =&gt; new B:3 -&gt; b
  354. </entry>
  355. <entry>
  356. =&gt; retract B:3 -&gt; b
  357. </entry>
  358. <entry>
  359. </entry>
  360. <entry>
  361. =&gt; new B:6 -&gt; b
  362. </entry>
  363. <entry>
  364. =&gt; retract B:6 -&gt; b *
  365. </entry>
  366. <entry>
  367. </entry>
  368. <entry>
  369. =&gt; new B:9 -&gt; b *
  370. </entry>
  371. </row>
  372. <row>
  373. <entry>
  374. </entry>
  375. </row>
  376. <row>
  377. <entry>
  378. C(c) &lt;- A:2 <br />
  379. C(d) &lt;- B:3 <br />
  380. ————————— <br />
  381. C = A:2&lt;B:3
  382. </entry>
  383. <entry>
  384. C(c) &lt;- A:2 <br />
  385. C(d) &lt;- B:3 <br />
  386. ————————— <br />
  387. C = A:2&lt;B:3
  388. </entry>
  389. <entry>
  390. C(c) &lt;- * <br />
  391. C(d) &lt;- B:3 <br />
  392. ————————— <br />
  393. C = B:3 *
  394. </entry>
  395. <entry>
  396. C(c) &lt;- <br />
  397. C(d) &lt;- *<br />
  398. ————————— <br />
  399. C =
  400. </entry>
  401. <entry>
  402. C(c) &lt;-A:5 * <br />
  403. C(d) &lt;- *<br />
  404. ————————— <br />
  405. C = A:5
  406. </entry>
  407. <entry>
  408. C(c) &lt;- * <br />
  409. C(d) &lt;- <br />
  410. ————————— <br />
  411. C = *
  412. </entry>
  413. <entry>
  414. C(c) &lt;- <br />
  415. C(d) &lt;- <br />
  416. ————————— <br />
  417. C =
  418. </entry>
  419. <entry>
  420. C(c) &lt;- A:8 *<br />
  421. C(d) &lt;- <br />
  422. ————————— <br />
  423. C = A:8
  424. </entry>
  425. <entry>
  426. C(c) &lt;- *<br />
  427. C(d) &lt;- <br />
  428. ————————— <br />
  429. C = *
  430. </entry>
  431. </row>
  432. <row>
  433. <entry>
  434. =&gt; C:2 -&gt; d
  435. </entry>
  436. <entry>
  437. =&gt; C:2 -&gt; d
  438. </entry>
  439. <entry>
  440. =&gt; retract C:2 -&gt; d * <br />
  441. =&gt; new C:3 -&gt; c *
  442. </entry>
  443. <entry>
  444. =&gt; retract C:3 -&gt; c
  445. </entry>
  446. <entry>
  447. =&gt; new c:5 -&gt; d *
  448. </entry>
  449. <entry>
  450. =&gt; retract C:5 -&gt; d *
  451. </entry>
  452. <entry>
  453. </entry>
  454. <entry>
  455. =&gt; new C:8 -&gt; d *
  456. </entry>
  457. <entry>
  458. =&gt; retract C:8 -&gt; d *
  459. </entry>
  460. </row>
  461. </tbody>
  462. </tgroup>
  463. </informaltable>
  464. </article>