1 / 20

Tech Topic: Link State

Tech Topic: Link State. Paul Bowden Program Manager Exchange Server Product Unit. What do we have today?. GWART Consolidated map of the Organization Costs associated with connectors Updated on a schedule What’s missing from the GWART? Downstream link intelligence Intelligent routing

virote
Download Presentation

Tech Topic: Link State

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tech Topic:Link State Paul Bowden Program Manager Exchange Server Product Unit

  2. What do we have today? • GWART • Consolidated map of the Organization • Costs associated with connectors • Updated on a schedule • What’s missing from the GWART? • Downstream link intelligence • Intelligent routing • Loop free routing • Dynamic updates

  3. Link State • Background • Algorithm developed by “Dijkstra” in 1959 • Used in OSPF at the network layer • In use on the Internet today • Exchange 2000’s implementation • In memory database held on all 2000 servers • Immediate propagation of new link data • Master for each Routing Group

  4. RG Master • The RID for the Routing Group • Only one master per Routing Group • Can be manually set through Sys. Man. • Responsibilities • Incrementing the major routing version • Propagating new data to member servers

  5. RG Members • Responsibilities for bridgeheads • Telling the master about link failures • Acting upon new information from other Routing Groups • Telling other members about new external information when the master is down

  6. Protocol Communication • Inside the Routing Group • All servers listen on port 3044 (691 for RC1+) • Plain text information update • Between Routing Groups • RGC = X-LINK2STATE SMTP command verb • X.400 = Dummy message with link state payload • New link information is published immediately to the entire Organization • For scheduled connections, the broadcast is dropped • Link state messages do not appear in queues

  7. Looking at Link State • NETMON • Good for understanding at a low-level • Plain text • Tools -> Monitors • View basic status information • Web Management • Like Tools -> Monitors (PT-SHOWCASE) • WinRoute • Admin tool for troubleshooting (PT-SHOWCASE)

  8. What causes a state change? • Member OR Master initiated • Link UP or link DOWN • Master initiated • Changing the cost on a connector • Changing Address Spaces • Adding/removing connectors • Master gets a notification from the AD when changes are made in Routing Group configuration • System Manager only updates AD

  9. In-memory database • Not persisted to disk • Reboot and learn • Contains RG GUIDs, Connector GUIDs, Costs Address Spaces, Bridgehead GUIDs, and link state (UP/DOWN) • Connector definition and configuration is held in the Active Directory (Configuration NC) • Size of database • 32 bytes for every server, connector and Routing Group in the Organization • Example: • 250 Routing Groups = 8Kb • 150 Exchange Servers = 4.8Kb • 800 Connectors = 25.6Kb 38.4Kb total

  10. Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN RG1 = 5 RG2 = B RG1 = 5 RG2 = B Simple Scenario RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 RG2 RGC Cost: 10 Cost: 10 X RG1 = 5 RG2 = A RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 = 5 RG2 = A Member RG Master RG3 Routing Group Connector

  11. What does it look like? • Port 3044/691 Netmon trace • Bytes remaining • GUID of connector affected • GUID of bridgehead that noticed change • Status of connection 00000030                    7B 30 30 30 30 30 30 35 31 7D       {00000051}00000040  20 56 53 5F 43 4F 4E 4E 20 37 66 65 31 32 65 66 .VS_CONN.7fe12ef00000050  65 65 38 66 31 36 35 34 64 62 63 32 37 31 37 35 ee8f1654dbc2717500000060  38 35 35 64 37 66 37 64 31 20 63 33 38 30 61 62 855d7f7d1.c380ab00000070  30 66 37 62 37 62 66 66 34 33 38 65 66 62 38 37 0f7b7bff438efb8700000080  30 37 35 36 38 63 66 38 62 39 20 44 4F 57 4E 20 07568cf8b9.DOWN.00000090  20                                             

  12. What does it look like? • Link State query (check knowledge) Port 25 00000000 00 08 C7 33 D7 56 00 08 C7 33 3B 65 08 00 45 00 ...3.V...3;e..E. 00000010 01 14 1F 37 40 00 80 06 5D 0D 9D 3A 21 79 9D 3A ...7@...]..:!y.: 00000020 21 B2 86 A4 00 19 43 24 96 B7 F8 F0 97 63 50 18 !.....C$.....cP. 00000030 42 DB E9 AE 00 00 58 2D 4C 49 4E 4B 32 53 54 41 B.....X-LINK2STA 00000040 54 45 20 4C 41 53 54 20 43 48 55 4E 4B 3D 7B 30 TE.LAST.CHUNK={0 00000050 30 30 30 30 30 63 38 7D 20 4D 55 4C 54 49 20 28 00000c8}.MULTI.( 00000060 31 20 32 29 20 28 7B 30 30 30 30 30 30 35 31 7D 1.2).({00000051} 00000070 20 44 49 47 45 53 54 5F 51 55 45 52 59 20 33 61 .DIGEST_QUERY.3a 00000080 66 32 37 36 31 35 39 38 61 38 32 61 34 62 61 35 f2761598a82a4ba5 00000090 65 63 37 66 63 61 35 65 66 65 32 35 63 65 20 66 ec7fca5efe25ce.f 000000A0 37 66 65 31 62 32 37 37 31 63 30 36 35 33 31 37 7fe1b2771c065317 000000B0 62 39 64 32 38 37 37 65 34 33 63 61 31 32 63 20 b9d2877e43ca12c. 000000C0 20 20 7B 30 30 30 30 30 30 35 31 7D 20 44 49 47 ..{00000051}.DIG 000000D0 45 53 54 5F 51 55 45 52 59 20 33 61 66 32 37 36 EST_QUERY.3af276 000000E0 31 35 39 38 61 38 32 61 34 62 61 35 65 63 37 66 1598a82a4ba5ec7f 000000F0 63 61 35 65 66 65 32 35 63 65 20 66 37 66 65 31 ca5efe25ce.f7fe1 00000100 62 32 37 37 31 63 30 36 35 33 31 37 62 39 64 32 b2771c065317b9d2 00000110 38 37 37 65 34 33 63 61 31 32 63 20 20 29 20 20 877e43ca12c..).. 00000120 0D 0A ..

  13. Link State Update: RG2 to RG3 Link DOWN Master Down Scenario #1 RG1 = 5 RG2 = A RG1 = 5 RG2 = A RG1 RG2 X RGC Cost: 10 Cost: 10 X RG1 = 5 RG2 = A RG1 = 5 RG2 = A RG1 = 5 RG2 = A RG1 = 5 RG2 = A Member RG Master RG3 Routing Group Connector

  14. Master Down – Local change • RG Master is the only one that can increment the version number of the local Routing Group • Re-broadcast of this new information is not possible • Changed member drops the broadcast

  15. Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN Link State Update: RG2 to RG3 Link DOWN RG1 = 5 RG2 = B RG1 = 5 RG2 = B Master Down Scenario #2 RG1 = 5 RG2 = A RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 RG2 X RGC Cost: 10 Cost: 10 X RG1 = 5 RG2 = A RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 = 5 RG2 = B RG1 = 5 RG2 = A RG1 = 5 RG2 = A Member RG Master RG3 Routing Group Connector

  16. Master Down – Remote change • Members can act upon information received from other Routing Groups • Members can update each other with new remote information as they perform a link state swap for every SMTP session

  17. Glitch Retry Open Poll Link Down Link Down Link Down Open Poll Link Down Glitch Retry Complex Routing Walkthrough RG1 RG2 10 X New messages wait here 10 20 RG3 X RG5 20 10 RG4 Member Infinite Cost? Wait in queue RG Master Routing Group Connector

  18. State Down State Down RG2 to RG1 BH1: CONN_NOT_AVAIL BH2: CONN_NOT_AVAIL State: STATE DOWN RG2 to RG1 BH1: CONN_NOT_AVAIL BH2: CONN_NOT_AVAIL State: STATE UP RG2 to RG1 BH1: CONN_NOT_AVAIL BH2: CONN_AVAIL State: STATE UP State: STATE DOWN Multiple Bridgehead Scenario GetNextHop = BH2 GetNextHop = BH2 GetNextHop = BH1 RG1 RG2 X BH1 RGC X BH2 RG2 to RG1 BH1: CONN_AVAIL BH2: CONN_AVAIL State: STATE UP

  19. Caveats • New information is broadcast everywhere and immediately • EDK-based connectors are always UP

More Related