Fussgaengerzonenproblem-Anhang-A.page 12 KB

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